插件目录 / Developer / dsh-traebao
dsh-traebao
未验证 susirial
功能简介
Conversation-aware TRAE Bao digital pet for DeepSeek Harness Desktop
未验证 — 尚未实测
Conversation-aware TRAE Bao digital pet for DeepSeek Harness Desktop 尚未验证——请自行安装测试。
「未验证」表示我们的自动化 CI 尚未安装过该插件。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。
README
TRAE Bao for DeepSeek Harness
A conversation-aware digital pet that lives inside DSH Desktop.
TRAE 宝不是循环播放的 GIF。它会跟随 Agent 的思考、工具调用、完成与失败状态实时行动。
Click the screenshot to play the trailer. This is an independent community plugin and is not an official TRAE or DeepSeek product.
Why TRAE Bao?
Coding agents already have a lifecycle. TRAE Bao makes it visible:
- Conversation-aware — nine animations follow new sessions, queued prompts, reasoning, tool execution, success, and failure.
- Native to DSH Desktop — uses the official
shell.overlayandsettings.sectionslots without replacing the product layout. - Made to be yours — replace every action with a WebP and map built-in or custom sounds to all nine states plus left- and right-click.
- Safe local storage — user assets stay under
$DSH_HOME/pet-assets/dsh-juan-pet/; imports are size-, extension-, MIME-, and magic-byte checked. - Desktop-quality file picking — the Host owns the native dialog, including a macOS sheet that avoids the white flash caused by renderer file inputs.
- Headless-safe engineering — strict TypeScript, 44 unit tests, and a Loader/export/assets smoke test.
See it in action
| Conversation companion | Configure every state |
|---|---|
![]() |
![]() |
| Replace one action | Choose built-in or custom audio |
|---|---|
![]() |
![]() |
Quick start
Requirements
- DSH Desktop with an active
desktopprofile - Node.js
^22.19.0or>=24.0.0
The pet runs inside DSH Desktop. Installing, updating, and removing it uses Desktop's own dsh CLI, not a second app. Desktop does not put dsh on your system PATH, so open the tray command Open DSH Terminal first. That launches a system terminal with a private, profile-aware dsh for the current Desktop profile.
Install from GitHub
- From the DSH Desktop tray, choose Open DSH Terminal.
- In that terminal, run:
dsh plugin --profile desktop add github:susirial/dsh-traebao
- Quit DSH Desktop from the tray and reopen it. Closing only the window does not restart the Host or reload the Client bundle.
Open Settings → TRAE 宝 to enable, position, resize, mute, preview, or customize your companion.
Install from a local checkout
git clone https://github.com/susirial/dsh-traebao.git
cd dsh-traebao
corepack pnpm install --frozen-lockfile
corepack pnpm run check
# Run in the tray-opened Desktop terminal; "." is anchored to this checkout.
dsh plugin --profile desktop add .
The GitHub repository keeps verified lib/ artifacts checked in, so direct GitHub installation does not need to execute an install-time build script.
Update, verify, or remove
# Update the Git dependency
dsh plugin --profile desktop update dsh-plugin-juan-pet
# Confirm the bundle is present in the composed profile
dsh --profile desktop --dump-config
# Remove it
dsh plugin --profile desktop remove dsh-plugin-juan-pet
Restart Desktop after update or removal.
What if dsh is not on PATH?
This is expected in a normal terminal. From the Desktop tray, choose Open DSH Terminal; it adds a profile-aware dsh only to that terminal session.
If you have a DSH Desktop source checkout, you can also call its pinned CLI directly:
/path/to/su-dsh-desktop/dsh-plugin-desktop/node_modules/.bin/dsh \
plugin --profile desktop add github:susirial/dsh-traebao
As a last resort, npx -y --package @deepseek-ai/dsh dsh ... works, but it may fetch a CLI version different from your Desktop installation.
Agent lifecycle → pet behavior
| DSH activity | TRAE Bao state |
|---|---|
| New conversation | waving |
| Prompt queued / turn starts | jumping |
| Tool running | waiting |
| Reasoning or partial output | review |
| Turn completes successfully | happy |
| New tool or turn error | failed |
| Drag left / right | running-left / running-right |
| Everything else | idle |
Edge-triggered states have priorities and hold times, so a repeated snapshot does not restart the same reaction. Errors outrank success, and active tools outrank ordinary reasoning.
Customize TRAE Bao
In Settings → TRAE 宝 you can:
- turn the pet, bubble, or audio on and off;
- choose a size from 64–320 px and set its saved position;
- preview any state;
- choose a sound for each state and mouse interaction;
- replace one action image, restore its default, or batch import all actions;
- import and delete MP3, WAV, OGG, or M4A sounds.
For batch image import, use these case-insensitive filenames:
idle.webp
waving.webp
running-left.webp
running-right.webp
waiting.webp
review.webp
jumping.webp
happy.webp
failed.webp
You can select files through the system picker, drag them onto the target row, or paste them. WebP files are limited to 10 MB; audio files are limited to 20 MB.
Architecture
TRAE Bao is one installable package with two independently built halves:
cordis.patch.yml
│
├── Host (ESM / Node)
│ ├── SettingsScope source
│ ├── static and user-asset routes
│ ├── validated asset store under $DSH_HOME
│ └── optional Electron-native file picker
│
└── Client (CJS / browser Loader row)
├── shell.overlay → draggable animated pet
├── settings.section → preview and asset library
└── CurrentConversation → PetStateController
The overlay is additive and supports both Desktop compatibility and advanced shells. In browser-only DSH deployments, the Electron picker is absent and the UI falls back to drag-and-drop or paste.
Development
corepack pnpm install --frozen-lockfile
corepack pnpm run build
corepack pnpm run typecheck
corepack pnpm run test
corepack pnpm run verify:loader
# Build + typecheck + all tests + Loader smoke
corepack pnpm run check
The source of truth is src/; lib/ is committed because DSH installs Git-hosted plugins as ready-to-load packages.
Compatibility and limitations
- Tested against the DSH
0.1.1-rc.2package family and Cordis4.0.1. - Audio starts only after the first user gesture because browser autoplay policies still apply.
- Position is stored in window pixels and is not automatically rewritten when the window shrinks.
- The bundled character is TRAE Bao; character selection is intentionally out of scope.
- The Desktop profile must provide WebServer, settings, slots, sessions, and SettingsScope.
Security and privacy
TRAE Bao has no telemetry and sends no pet data to an external service. Mutation routes require same-origin requests. Static routes reject traversal, uploaded data is magic-byte checked, and user files are atomically written with private permissions. See SECURITY.md for reporting.
Contributing
Bug reports, platform verification, new tests, and carefully licensed pet assets are welcome. Read CONTRIBUTING.md before opening a pull request.
License and credits
The plugin code is available under the MIT License. Bundled visual and audio media have separate provenance and are not automatically covered by the code license; read ASSETS.md before redistributing them.
TRAE, DeepSeek, and related marks belong to their respective owners. This community project is not endorsed by or affiliated with those owners.
安装
装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:
dsh plugin add dshbase-catalog 然后对 agent 说「帮我装 dsh-traebao」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。
该插件是 GitHub 源码(未发 npm)——直接从仓库装:
Web profile:
dsh plugin --profile web add github:susirial/dsh-traebao Headless(CLI)profile:
dsh plugin --profile headless add github:susirial/dsh-traebao 实测报告
尚未 L3 验证——若已跑过,见下方失败备注。
2026-08-27 · 标记 webonly 备注:验证: web-only;待 L4 web CDP;L4 web CDP runtime-fail on dsh 0.1.0-rc.8. 浏览全部待验证失败 →



