DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

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

@nkj/dsh-ui-pet

Ui Pet

一个跟随指针的 Canvas 精灵表宠物,渲染在 dsh Web 的 shell.overlay 插槽中。

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

npx -y @deepseek-ai/dsh plugin --profile web add github:Nkjv2/dsh-ui-pet#038a6d232225b9705f1e2b034fbb91103aeac149
README兼容性版本

兼容性与来源证明

Ui Pet 以 @nkj/dsh-ui-pet 发布,当前版本为 0.1.0。Plugin Hub 会校验它的 manifest,并保存精确安装来源,便于复现安装结果。

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

版本

0.1.0stable
2026/8/23

相关插件

正在加载相关插件…

最新版
0.1.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/8/23
查看源码 ↗
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 配置层Client Ui Task Board@linxin666/dsh-client-ui-task-board面向 DSH Web GUI 的主机权威任务面板,支持实际会话执行、主机 cron 调度以及可选的跨平台空闲睡眠保护;以挂载方式提供,无需修改 DSH 源代码。Pet@linxin666/dsh-pet适用于 dsh Web GUI 的多宠物伴侣插件:由注册表驱动的浮动宠物,可响应模型活动,支持为每只宠物命名、抚摸/喂食互动以及亲密度评分

README

@nkj/dsh-ui-pet

A canvas pet for the DeepSeek Harness web GUI. It follows the pointer and is styled as a subtle background decoration in the shell.overlay layer: position:fixed (no layout impact), fully click-through (pointer-events:none), a low z-index (below other overlay entries and dialogs), and < 1 opacity so the page content shows through — visible without covering or blocking the real UI. v1 is presentation-only (pointer follow) with a procedurally-drawn vector mascot; a later version reacts to session / agent activity.

How it plugs in

The package is a dsh bundle (dsh.bundle → cordis.patch.yml) that is also a client plugin (dsh.client). Installing it into a profile with dsh plugin --profile web add <pkg> auto-registers it (the CLI reconciles installed dependencies that declare dsh.bundle into dsh.profile.bundles), then the client module system serves /plugins/@nkj/dsh-ui-pet/client.js on the next boot. No manual cordis.yml edit.

Built-in dev loop

# once: install build deps
pnpm install

# build both artifacts (lib/index.js host half + lib/client.js browser bundle)
pnpm run build

# iterate: rebuild the browser bundle on source change (the dsh host stat-polls
# the served bundle and broadcasts a reload, so the browser refreshes on write)
pnpm exec tsdown --watch

Verify locally (before publishing)

dsh plugin --profile web add /absolute/path/to/dsh-ui-pet
pnpm dsh web          # bind http://127.0.0.1:3080

In the browser at http://127.0.0.1:3080, confirm:

  1. In the tree — dsh --profile web --dump-config contains the ui-pet row.
  2. Bundle served — DevTools → Network shows /plugins/@nkj/dsh-ui-pet/client.js (200); or curl http://127.0.0.1:3080/plugins/@nkj/dsh-ui-pet/client.js.
  3. Rendered, and visible — DevTools → Elements: the <canvas> is inside the shell.overlay layer, position:fixed, pointer-events:none, low z-index, and opacity < 1. Move the pointer; the pet follows it, and the page content remains visible through the semi-transparent pet (it never blocks or covers the UI).
  4. Behavior — move the pointer; the pet follows it. The overlay does not block clicks (the layer and canvas are pointer-events:none).

While SPRITE is empty in src/client/sprite.ts, the pet draws a colorful placeholder blob, so step 4 is verifiable without any asset.

Publish

pnpm run build
npm pack            # confirm lib/, cordis.patch.yml, and src are in the tarball
npm publish --access public

After publishing, a user installs it with:

dsh plugin --profile web add @nkj/dsh-ui-pet

Customizing the pet

  • Make a sprite sheet, then set SPRITE (asset path or URL) and tune FRAME_COLS/FRAME_ROWS/FRAME_W/FRAME_H/FPS in src/client/sprite.ts. Set SIZE/scale in src/client/Pet.tsx to match.

Model Experience

None. The pet manages browser-only presentation; nothing reaches a model request.

KV Cache effect

None; this package neither assembles nor sends a provider request.

Target version

Runtime-compatible with dsh 0.1.1-rc.2 (the web profile). The host dsh install supplies the runtime react, @deepseek-ai/cordis, and the slots service.

The published package is intentionally build-dependency-free: the source uses no @deepseek-ai/* imports (the DSH-specific types are left structural/untyped), so the standalone build needs only react + tsdown + typescript. The DSH integration is by convention: apply receives a ctx with a slots service, and the bundle is the standard window.__ModuleLoader__.load closure factory.

Known Limitations and Deferred Work

  • v1 is pointer-follow only. Reacting to session / agent streaming (the asset/activity animation) is deferred: the pet can read the active session through the standing runtime hooks the shell.overlay slot provides.
  • The pet lives in the shell.overlay floating layer, so it paints above the app content (it is deliberately semi-transparent and small so it does not obscure it). Rendering it genuinely behind the content is impossible from a plugin without DSH source changes: the conversation/details/sidebar surfaces are opaque and would fully cover a behind-content canvas.
  • The ctx / slot types are structural and untyped to keep the standalone build self-contained. When developing inside the dsh monorepo, restore the real ClientContext / PropsRuntime<'shell.overlay'> types for full checking.
  • The bundle format (closure factory + React externalization) is reproduced from the dsh clientBundle preset; iterate against a live dsh web to confirm exact output.