DeepSeek Harness Plugin Hub

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

探索

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

社区

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

相关链接

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

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

DeepSeek Harness Plugin Hub
ProfilesPlugins分类动态文档登录管理 Profiles
ProfilesPlugins分类动态文档登录
← Plugins
D

dsh-deepy-pet

Deepy Pet

一个参考风格的双眼皇家蓝像素鲸鱼伴侣,适用于 DeepSeek Harness——具有富有表现力的实时状态、可感知输入的期待姿势、30 秒潜水巡游,以及可自定义的名称。

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

npx -y @deepseek-ai/dsh plugin --profile web add github:ChenWeiqi12345/dsh-deepy-pet#4722d6b847eb04626898bac534ba2d6d2329b7af
README兼容性版本

兼容性与来源证明

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

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

版本

1.0.0stable
2026/10/22

相关插件

正在加载相关插件…

最新版
1.0.0
DSH
*
HMR
重启进程
Tree shaking
未声明可安全裁剪
解包体积
未提供
文件数
未提供
Surface
web
许可证
MIT
发布源
github
GitHub
★ 0
周下载
0
最近提交
2026/10/22
查看源码 ↗
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 Session Titles Bundle@deepseek-ai/dsh-experimental-session-titles-bundle新的用户提示到达时刷新会话标题。Personalized Recommendations@deepseek-ai/dsh-personalized-recommendations回答下方以卡片形式提供个性化页面和内置插件推荐Experimental Agent Team Web Profile@deepseek-ai/dsh-experimental-agent-team-web-profile用于 Agent Teams Remote 和 UI 插件的实验性 Web 配置层

README

Deepy, a royal-blue pixel whale

Deepy — pixel whale companion

A reference-style royal-blue pixel whale that perches on the top edge of the composer in DeepSeek Harness, mirrors the live agent state with different expressions, and goes for a short diving cruise every 30 seconds.

中文文档

What it does

Deepy reacts to the live session without owning any agent state:

StateTrigger
Idlea finished session with no pending work
Thinkingthe assistant is reasoning or running tools
Writingthe assistant is streaming answer text
Errorthe latest turn failed, or the prompt failed
Donea turn just finished successfully
Playfulyou poke Deepy, or a random idle mood
Waitingan approval or question is waiting for you
Expectingyou are typing in the composer; Deepy stops swimming and watches
Dazea random idle mood
Sleepingtwo minutes without activity, or a short random nap
Cruisingthe 30-second diving excursion

The whale keeps the reference silhouette: a compact head, a long body, a raised forked tail, and two small eyes and blush so its expression still changes with the state. The head stays compact instead of a large front-facing face.

Typing wins. As soon as the draft changes to non-empty text, Deepy cancels a swim and switches to the expectant face. It keeps watching for a few seconds after the last edit, then returns to the current agent state.

The 30-second cruise

Every 30 seconds, when no agent work or approval needs the status animation, Deepy leaves its perch:

  1. It turns side-on with a short squash-and-flip transition, not a hard cut.
  2. It glides smoothly to a random point along the way; the dive location changes every cruise.
  3. A large, deep-blue pixel water mound gathers at the surface, then bursts into a splash. Only after that does Deepy pitch into an angled head-first dive and sink below the composer edge. The composer top acts as the waterline: the body is clipped by it, not faded out.
  4. It returns underwater. The return leg takes exactly as long as the outbound leg (6 s each).
  5. It rises back through the same waterline at home, head and shoulders first, accompanied by a second water burst. No opacity fade is used in either direction.

While the agent is thinking, writing, waiting, showing an error, or while you are typing, the cruise is postponed so the status animation stays readable.

Between cruises, idle Deepy randomly dazes, plays, or takes a short nap, mixed with the live agent states. Each ordinary action runs for about two seconds, then rests for about two seconds before the next cycle. The canvas uses image-rendering: pixelated, so the whale stays crisp at every size.

Names and little announcements

Open ⚙ → Your name / Deepy's name to rename both characters. The names are saved locally. After a task finishes, Deepy picks one of several completion lines and shows it in the speech bubble, for example:

{pet} has finished helping {user}!

Failures, waiting states, typing, poking, dozing, sleeping, swimming, and resurfacing each have their own small set of randomized lines. The lines use the names currently saved in settings.

Install

Deepy is a Web UI client plugin. It ships as plain ESM and canvas code — there is no build step and nothing to compile.

Requirements: DeepSeek Harness >= 0.2.0 < 0.3.0 with the Web UI (dsh web, or the Desktop app). CLI examples below use the web profile; the Desktop app manages its own desktop profile from Settings → Plugins.

From GitHub

dsh plugin --profile web add github:ChenWeiqi12345/dsh-deepy-pet

In the Desktop app: open Settings → Plugins → Install and paste the repository URL.

From a local checkout

Useful while developing:

git clone https://github.com/ChenWeiqi12345/dsh-deepy-pet.git
dsh plugin --profile web add link:/absolute/path/to/dsh-deepy-pet

From a tarball

pnpm pack
dsh plugin --profile web add ./dsh-deepy-pet-1.0.0.tgz

After installing, reload the Web UI page. To remove it:

dsh plugin --profile web remove dsh-deepy-pet

Controls

  • Drag Deepy left or right to move it along the composer edge. Grabbing it during the visible outbound leg stops the swim at its current position.
  • Click / tap Deepy to make it playful.
  • ⚙ opens the settings panel: your name, Deepy's name, size, and position.
  • Arrow keys nudge position; + / - resize; R resets size and position while the whale is focused.

Names, size, and position are stored in the browser's local storage (deepy-pet.settings.v1) and restored on reload. Reset keeps the names.

How it works

  • Registers into conversation.input.dock at order 30, directly above the composer.
  • Reads useSession, useSessionStatus, and useChat from the slot's standard props, plus the owner-provided input snapshot.
  • Uses useChat only to distinguish a streaming reasoning block from streaming answer text.
  • Uses the owner-provided input draft plus a short idle window to detect typing; a non-empty draft cancels the cruise and shows the expectant expression.
  • The cruise is split into React-owned perch position and an imperative requestAnimationFrame layer. A second requestAnimationFrame loop draws the front/side turn, dive, underwater return, and resurface. Neither loop re-renders the conversation.
  • The whale is composed from the same pixel-mask profile as the reference. A short horizontal squash plus a CSS flip transition gives the turn, and a CSS pixel-splash layer animates the dive and resurface waterline separately from the moving canvas.
  • All UI chrome uses --dsw-* theme tokens; the artwork keeps its royal-blue palette.
  • The canvas is transparent and has no card or panel background, so it blends into the dark composer area.

Privacy

No network requests, no telemetry, no host-side services. The plugin only reads the session state the conversation slot already exposes.

License

MIT