前言¶
在 DeepSeek Harness(DSH)里同时开多个项目时,主窗口往往被编辑器或浏览器盖住,很难一眼看出:当前哪条会话在跑、哪条在等你确认、子任务是否还在后台。单独做一个桌宠应用,又要自己维护启动、退出和状态来源,和 DSH 生命周期也容易脱节。
下面介绍社区插件 dsh-assistant(仓库 vianvio/dsh-assistant)。它由 DSH 插件机制拉起,跟着 DSH 一起启动和退出;展示层是 macOS 上的原生透明悬浮窗,状态只来自 DSH 会话事件,不读屏幕、也不根据模型名猜测进度。
这是什么¶
DSH 小助手是 DSH 的客户端类插件,维护者为 vianvio。npm 包名 dsh-assistant,当前资料中版本为 0.2.2,许可证 MIT,平台要求 macOS 13+(Apple Silicon / Intel 通用二进制)。
分工可以概括为:原生 Swift 负责桌面窗口与交互;Node 宿主插件负责接入 DSH 会话状态,并包含素材管线与「今天干了什么」日报能力。包里自带编译好的 helper 与素材包(README 称约 44MB,已知边界里 assets/pack 约 46MB),装完即可使用,不需要 Xcode。
目录页:https://www.skillhub.cn/plugins/vianvio/dsh-assistant
状态从哪里来、页面上看到什么¶
插件不单独作为桌宠进程常驻,而是由 DSH 拉起。窗口为透明、无边框、始终置顶,切到 VS Code、浏览器或全屏应用后,仍能看到 DSH 当前是在思考、执行、等你确认还是已完成。
状态映射为七个耐久状态(待机、思考、执行、等你确认、完成、出错等),同一状态会随机换姿势。多项目并行时,气泡只给两行关键信息:谁在跑、谁在等你。子 Agent 或后台任务仍在进行时,对应项目仍显示为进行中;设置里打开「含子 Agent」(includeSubagents)后,子会话单独占一格,父项目不再重复显示同一份工作。
完成、出错、等你确认会另起独立通知,钉在宠物上方;点击可将 DSH 窗口带到最前并切到对应会话(macOS 上通过激活 DeepSeek Harness 本体)。
安装与启用¶
安装命令须使用 README 原文,--profile 填你实际使用的 profile(桌面端为 desktop,Web 端为 web):
dsh plugin --profile desktop add dsh-assistant
命令背后是 pnpm;装完包后会自动把声明了 dsh.bundle 的依赖写入 profile 的 dsh.profile.bundles,无需手改 package.json。
重启 DSH 后,桌面右下角会出现宠物,设置左侧导航多一页「DSH小助手」。
升级:
dsh plugin --profile desktop update dsh-assistant
若希望跟踪 GitHub main 最新提交(npm 为发版快照):
dsh plugin --profile desktop add github:vianvio/dsh-assistant
本地改插件源码时,README 建议 clone 后使用 link(资料中的示例路径可按你的目录调整):
git clone https://github.com/vianvio/dsh-assistant.git ~/dsh-assistant
dsh plugin --profile desktop add link:$HOME/dsh-assistant
peer 依赖:@deepseek-ai/dsh 版本范围 >=0.1.5-rc.2 <0.3.0-0;Node 引擎 >=22。
设置与日常互动¶
设置页「DSH小助手」集中了开关。资料中列出的字段与默认值如下:
| 设置 | 默认 | 说明 |
|---|---|---|
enabled |
开 | 关闭后立即收起桌面窗口 |
scale |
0.4 | 0.15 – 2.0;右键菜单有 40% / 55% / 70% / 100% |
bubbleEnabled |
开 | 是否显示气泡 |
bubbleTheme |
light |
浅色气泡配黑字,深色配白字 |
reducedMotion |
关 | 减少动效 |
soundEnabled |
关 | 完成 / 出错时响一声 |
includeSubagents |
关 | 允许子 Agent 抢占宠物状态 |
backgroundSummary |
关 | 任务后台总结(见日报一节) |
autoInteract |
开 | 状态停留够久则随机互动 |
autoInteractSeconds |
10 | 判定间隔 5 – 300 秒,每隔该时长有 30% 概率触发 |
宠物位置保存在本机 $DSH_HOME/dsh-assistant/layout.json;上述偏好由 DSH 存储,自 0.2 起写在 profile 补丁 $DSH_HOME/profiles/<profile>/cordis.patch.yml 的 dsh-assistant 段。
右键菜单含投喂点心、戳一下、夸夸它、摸摸头、回到原位、今天干了什么;左键点身体也会摸头。
今天干了什么(日报)¶
右键宠物 →「今天干了什么」,或在设置里点「生成日报」:按项目聚合回顾当天会话,产出「今天做了什么 + 待办」的 Markdown,长度有硬性上限,写不下会自动重写一轮。
生成完成后在宠物上方弹通知,点一下打开弹窗,可用「复制 Markdown」复制原文。生成过程使用隐藏会话,不出现在左侧列表,也不弹系统通知。
打开 backgroundSummary(任务后台总结)后,会话每次压缩时在后台提炼已完成内容,点日报时只补增量再汇总;该开关默认关(关着则每次重读当天所有会话)。关着时弹窗底部会提示如何开启;提示不进复制出来的正文。
素材与实现边界¶
默认 88 段角色素材来自 Sutera-Diffusus/dsh-whale-musume(MIT);本项目对高度、WebP 烘焙与部分微动作序列做了加工,角色形象版权仍归上游。原生悬浮窗路线参考 QCYTSN/dsh-dafeiyu(MIT)。
README 已知边界(安装前宜知晓):
- 平台:原生 helper 目前仅 macOS(AppKit);Windows / Linux 需重写面板或退回 Electron 子窗口(会失去「全屏应用之上」能力)。
- 分发:
.app为 ad-hoc 签名,浏览器下载可能遭 Gatekeeper 拦截。 - 素材体积:
assets/pack约 46MB;源码仓内assets/motion另有大量源 MP4 且已 gitignore。
仅在你修改原生端或更换素材时才需要本地构建,例如:
npm run build:helper # 需 Xcode 命令行工具
npm run build:pack # 重新生成素材包
npm run verify # 自检素材 / helper / 模块 / 握手 / 状态归约
换角色:把图放入目录,改 scripts/build_pack.py 顶部 STATE_ASSETS / ACTION_ASSETS,再执行 npm run build:pack。
适用场景与安装注意¶
适合:在 macOS 桌面端长期使用 DSH、希望不切换窗口也能看到真实会话状态,并需要按项目汇总当日工作的开发者。
注意:DSH 插件与 DSH 主进程同一权限运行;安装前应阅读 仓库源码 与 THIRD_PARTY_NOTICES.md,确认许可证与第三方素材署名符合你的要求。社区目录 SkillHub 为独立站点,与 DeepSeek / 幻方无官方从属关系,不宜当作官方应用商店。
经过上面的步骤,你可以在 DSH 生命周期内获得一块始终可见、由会话事件驱动的桌面伴侣,并在需要时用日报把多项目进展收成一份 Markdown。