Introduction

The DSH (DeepSeek Harness) plugin architecture allows users to customize their toolchains. During Agent interactions, output is usually limited to text and lacks visual feedback. The nattocb/dsh-plugin-petdex-market plugin solves this problem: it integrates the pet market into the DSH Settings interface, allowing users to browse, install, and render a native macOS desktop pet, making it a visual companion for the Agent.

Core Features

This plugin provides a complete set of pet management tools. Its core capabilities include:

  • Live Market: Connects directly to petdex.dev and provides a catalog of approximately 4,500 pets. It supports searching by name, species, or author, as well as pagination and multiple sorting options.
  • Pet Management: Supports installing, enabling, renaming, and deleting pets. The system uses a single active companion model; enabling one pet automatically disables other installed pets.
  • Same-origin Sprite Proxy: The server forwards sprite requests to avoid CORS issues in the WebView.
  • Native Desktop Pet: Builds a transparent window using Swift/AppKit. The pet can walk on its own, be dragged, and supports right-click menu operations.
  • Agent Status Awareness: Subscribes to DSH session/event events. When the Agent starts working, the pet runs; when the Agent finishes replying, the pet waves and displays a bubble.
  • Hot Configuration Reload: All settings are stored under the petdex-market namespace. Changes take effect immediately without restarting the service.

Installation and Enablement

The installation process consists of three steps:

  1. Install the plugin
    Use the official installation command to add the plugin to the web profile:
    dsh plugin --profile web add github:NattoCB/dsh-plugin-petdex-market
  1. Configure and enable
    Enable the plugin and desktop pet features in ~/.dsh/settings.yaml:
    petdex-market:
      enabled: true
      desktopEnabled: true
  1. Restart the service
    Restart dsh web. A Petdex tab will appear in the Settings interface. Choose a pet to start using it.

Notes

  • System dependencies: The desktop pet renderer is a native Swift/AppKit binary and only supports macOS.
  • Data flow: Catalog data is fetched directly from petdex.dev, while sprites are forwarded through a server-side same-origin proxy.
  • Process management: The renderer process is managed by the server. If the process crashes, the system automatically restarts it after 2 seconds.