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-marketnamespace. Changes take effect immediately without restarting the service.
Installation and Enablement¶
The installation process consists of three steps:
- Install the plugin
Use the official installation command to add the plugin to thewebprofile:
dsh plugin --profile web add github:NattoCB/dsh-plugin-petdex-market
- Configure and enable
Enable the plugin and desktop pet features in~/.dsh/settings.yaml:
petdex-market:
enabled: true
desktopEnabled: true
- Restart the service
Restartdsh 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.