DeepSeek Harness Plugin Hub

发布与管理完整 Harness Profiles,发现适合你的插件。

探索

插件目录环境预设文档中心动态

社区

发布插件联系我们报告问题

相关链接

Plugin Hub GitHubDeepSeek Harness 官方项目系统状态隐私说明
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

独立、非官方社区项目,与 DeepSeek 官方无隶属、授权或背书关系。

Silverhand Dsh Pet — DeepSeek Harness 插件(DSH Plugin)
DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
S

silverhand-dsh-pet

Silverhand Dsh Pet

适用于 DeepSeek Harness Web GUI 的 Silverhand 桌面宠物——拖动即可移动,会朝拖动方向行走,并根据代理状态做出反应。

插件会安装到这里;不确定时保持 web。

npx -y @deepseek-ai/dsh plugin --profile web add github:Qiao-NEYC/silverhand-dsh-pet#dfad6fbf4c4a694c3a9072d50f5ae2e8ef4c6188
README兼容性版本
Silverhand desktop pet demo

兼容性与来源证明

Silverhand Dsh Pet 以 silverhand-dsh-pet 发布,当前版本为 1.0.2。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

DSH 兼容范围
*
运行环境
web
发布来源
github
Registry 更新时间
2026/8/20

版本

1.0.2stable
2026/8/20

相关插件

正在加载相关插件…

最新版
1.0.2
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 1
周下载
0
最近提交
2026/8/20
查看源码 ↗
README Badge

点击下方 Badge 复制 Markdown,粘贴到 README 即可。

这是你的 Plugin?认领权益 · 优先安全扫描

验证 package.json 声明的 GitHub 仓库,即可管理这个公开页面。认领后,Hub 会优先安排当前版本的安全扫描,并在通过后公开展示结果。

认领这个 Plugin →
报告问题

相关插件

继续浏览 ui-customization 分类下经过校验的插件。

Web App@deepseek-ai/dsh-web-appdsh 浏览器界面捆绑包:位于 dsh-base 之上的 Web 补丁层,加上运行时粘合插件(提供前端 dist、Web 界面提示符、bash 运行时变量和 URL 行)Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profile用于 Agent Teams Remote 和 UI 插件的实验性 Web 配置层Remote Web Ui@linxin666/dsh-remote-web-ui通过扫码配对访问 dsh Web GUI,共享一个官方界面:设置按钮旁的二维码可将手机和 PC 配对到同一个 Web GUI(手机采用竖屏触控适配层,PC 使用完整桌面界面),通过一次性令牌和 rClient Ui Git Graph@linxin666/dsh-client-ui-git-graph外部 dsh Web GUI 插件:空会话 Git 分支选择器和 Git 图,包含实际的主机端 Git 操作与防护,作为 dsh 配置文件包

README

Silverhand — DSH Desktop Pet

Silverhand desktop pet demo

A desktop pet for the DeepSeek Harness Web GUI. Silverhand (a cyberpunk mercenary with a silver cybernetic arm) lives in the bottom-right corner and reacts to what the agent is doing — idle breathing, active work, reviewing output, waving hello, celebrating a finished turn, sulking on an error, and waiting for your approval.

The character artwork is migrated as-is from the Codex pet format — no redesign, just the original spritesheet.webp + pet.json.

Features

  • Renders in the frame-wide shell.overlay layer, fixed to the bottom-right.
  • Click-through by default (only the pet itself is interactive).
  • Reacts to real agent state, driven by DSH host events:
    • idle / running from agent/status
    • review from tools/result
    • failed from agent/error
    • waving from agent/created / agent/session-start
    • jumping when a turn finishes (running → idle)
    • waiting while an approval request is open (approval/request)
  • Drag the pet to move it — it walks left/right in the drag direction.
  • Hover to see the current state; click (no movement) to make it jump.

Install

This is a standard DSH plugin package. Two ways to install:

From GitHub (recommended)

  1. Add it to your profile's dependencies and dsh.profile.bundles (in ~/.dsh/profiles/<profile>/package.json):

    {
      "dependencies": {
        "silverhand-dsh-pet": "github:Qiao-NEYC/silverhand-dsh-pet"
      },
      "dsh": {
        "profile": {
          "bundles": [
            "...your existing bundles...",
            "silverhand-dsh-pet"
          ]
        }
      }
    }
    
  2. Run pnpm install in the profile directory (or let the DSH desktop app install on launch).

  3. Restart DSH. The pet appears in the bottom-right.

From npm

Once published: npm i silverhand-dsh-pet, then add "silverhand-dsh-pet" to dsh.profile.bundles.

Layout

Silverhand/
├── README.md
├── LICENSE
├── .gitignore
├── package.json           # DSH plugin manifest (dsh.client, exports)
├── lib/
│   ├── index.js           # host half: reads the sprite, serves HTTP routes + state
│   └── client.js          # client half: renders the pet, polls state
├── assets/
│   ├── pet.json           # migrated Codex manifest
│   └── spritesheet.webp   # migrated sprite atlas (8×9, 192×208 cells)
├── scripts/
│   ├── make_demo_gif.py   # render docs/demo.gif (animated demo)
│   ├── analyze_frames.py  # measure per-row frame counts / diffs
│   └── contact_sheet.py   # render a labeled contact sheet
└── docs/
    ├── demo.gif           # animated demo (all animations)
    └── sprite-atlas.md    # atlas layout + state mapping

Anatomy

A DSH plugin is a Cordis plugin split into two halves:

  • Host (lib/index.js) runs in the DSH Node process. It reads the sprite from its own assets/ (via import.meta.url, so it works no matter where the package is installed) and registers two HTTP routes:
    • GET /silverhand-pet/spritesheet.webp — the sprite atlas.
    • GET /silverhand-pet/state — { "state": "..." } derived from agent events.
  • Client (lib/client.js) runs in the browser. It registers into shell.overlay, polls /silverhand-pet/state every 300 ms, and animates the matching atlas row from /silverhand-pet/spritesheet.webp.

The two halves communicate over plain same-origin HTTP routes.

Configuration

All tunables are constants at the top of each half:

  • lib/index.js — ROUTE_SPRITE / ROUTE_STATE, and the per-state transient durations in the event listeners.
  • lib/client.js — ANIMS (row / frame count / cadence per animation), STATE_ANIM (state → animation), PET_W / PET_H (display size), and the CSS block (position, shadow, hover).

Troubleshooting blank or missing pet artwork

  • Use package version 1.0.1 or newer. The client bundle now declares the layout dependency explicitly, so shell.overlay is available before the pet registers.
  • The client probes /silverhand-pet/spritesheet.webp and logs a route error in the browser console if the Host half is not serving the atlas. A 404 or 500 means the host package is not active; reinstall the bundle and restart DSH.
  • Animation frames are reset whenever the state changes. This prevents a stale frame index from selecting an empty atlas cell when switching back to the six-frame idle or waiting rows.
  • If the pet container exists but is transparent, inspect the browser Network panel for the sprite route and confirm its response is image/webp with a payload around 1 MB.

Asset provenance

The artwork was migrated from the local Codex pet directory (~/.codex/pets/silverhand/). It is your asset — before publishing this repo to GitHub, confirm you hold (or have) the right to redistribute the sprite and the Silverhand likeness. The code in this repository is MIT licensed; the sprite's licensing is yours to state.

Development helpers

# Regenerate docs/demo.gif
python scripts/make_demo_gif.py

# Report per-row opaque-cell counts and consecutive-frame deltas
python scripts/analyze_frames.py

# Render a labeled contact sheet (full + zoomed ambiguous rows)
python scripts/contact_sheet.py

analyze_frames.py / contact_sheet.py require Python 3 with Pillow and numpy.