前言¶
在 DeepSeek Harness(DSH)里跑智能体时,轨迹往往在后台推进:工具调用、会话切换、任务结束,浏览器标签页未必一直开着。若只靠切回 Web UI 看日志,容易错过「这一轮已经结束」或「并行会话里哪一条出了结果」。社区插件 CapyReporter(dsh-capyreporter)面向 DSH Web 客户端:在页面上提供一只可拖拽的页面宠物,用气泡简述当前工作区与会话状态;可选再挂一个透明、置顶的 Electron 桌面伴侣,让你在别的窗口工作时仍能看见汇报。下面按定位、能力、安装与操作说明如何使用。
这是什么¶
CapyReporter 由 linkbag 维护,分类为 DSH 客户端插件。一句话定位:面向 DeepSeek Harness Web UI 的本地任务汇报器——页面宠物 + 可选的 always-on-top 桌面窗口。
它不替代 DSH 本身的会话与鉴权界面,而是在客户端侧订阅 agent/session 相关事件,用受限预览(工作区与会话标签、工具名、有界助手文本预览)告诉你「现在在干什么、哪条会话刚结束」。推理全文、提示词、工具参数与工具输出 deliberately 不展示,以降低敏感信息在屏幕上的暴露面。
核心功能¶
实时汇报内容¶
- 展示 工作区 + 会话 标签、工具名称,以及有界的助手文本预览。
- 不显示:推理文本、prompt、工具参数、工具输出。
任务结果与并行会话¶
- 区分 已完成、已取消、失败、阻塞、中断、输出上限 等结局,依据 DSH 真实的
turn/end事件;仅 idle 不算成功。 - 并行会话各自保留未读结果:新开一条会话不会抹掉另一条的结果;内存中最多保留 20 条结果,保留约六小时。
交互与无障碍¶
- 紧凑标题行,以及 Details / Dismiss result / Hide bubble 等明确控件;支持键盘操作与 reduced-motion 友好样式。
- 可选「离开通知」:默认关闭,需同时打开插件开关与浏览器通知权限;页面处于焦点时不通知。多个 DSH 标签页可能各自触发通知。
可选桌面伴侣(Electron)¶
- 透明置顶小窗;页面宠物仅在桌面端成功解码图片、拉取活动并报告健康后才会隐藏,否则保留页面回退。
- 窗口空白区域可点击穿透;立绘与气泡区域可交互。部分独占全屏应用仍可能盖住置顶窗。
外观与偏好¶
- 设置 → 🐾 CapyReporter:可见性、桌面模式、尺寸、立绘、通知等。
- 立绘须为 PNG,单文件最多 4 MiB,边长 1–4096 px;拒绝 SVG、任意 data URL 及损坏容器。
- 图片、尺寸与开关原子写入
$DSH_HOME/capyreporter.json(默认~/.dsh)。无该文件时只读遗留homura-pet.json。页面位置存于当前浏览器 localStorage;桌面位置仅当次会话。
安全与诊断¶
- 插件 HTTP 处理与 DSH SPA 鉴权门分离;拒绝跨域/不透明浏览器请求、非 loopback 调用方与 Host、GET 类变更;不开放通配 CORS。
- 无遥测、无外连服务。通知与桌面窗可能在屏幕上显示会话标题与助手预览;共享屏幕环境请自行关闭。
更细的边界与限制见仓库内 architecture、troubleshooting。
安装与启用¶
DSH 需满足 package.json 中的 peer 依赖(^0.1.1-rc.2 || >=0.1.2-0)。资料记载 0.1.6 曾在 DeepSeek Harness 0.2.1-alpha.1 上复验(路由、插槽、客户端 bundle 与 agent/session 事件)。客户端更新后请刷新页面;宿主代码更新后需重新激活插件或重启 DSH——仅刷新页面无法替换已加载的 host 模块。
在 web profile 下安装:
dsh plugin --profile web add dsh-capyreporter
卸载(「隐藏宠物」不等于卸载):
dsh plugin --profile web remove dsh-capyreporter
亦可通过 DSH 插件管理器移除。
桌面伴侣相关环境变量¶
DSH_PET_ELECTRON_PATH或ELECTRON_PATH:指定已有 Electron 可执行文件。插件还会检查$DSH_HOME/electron/下二进制、用户 npm 安装及 Windows 遗留路径;不会自动下载二进制。macOS 建议使用显式可执行路径。- 宿主端口自动使用;
DSH_CAPYREP_BASE_URL可覆盖为精确的 loopback HTTP(S) origin(不可带凭据、路径或 auth token)。远程/反代 origin 不在本插件本地路由边界内支持。
典型操作¶
| 操作 | 效果 |
|---|---|
| 拖拽宠物 | 移动位置;拖拽不会关闭结果或打开 DSH |
| Ctrl / Cmd + 滚轮(悬停在宠物上) | 缩放 50%–250%;普通页面滚动不受影响 |
| 点击、右键或 Enter/Space 打开控件 | 进入控制区 |
| Details / Collapse | 展开或收起可滚动的会话详情 |
| Hide bubble / Dismiss result | 隐藏当前气泡直至活动变化 / 确认该条结果 |
| Restore bubble | 再次显示当前活动 |
| 双击桌面宠物 / Open DeepSeek Harness | 打开配置的 DSH origin |
| Escape | 关闭控件/详情 |
首次使用可在 DSH Settings → 🐾 CapyReporter 中打开可见性、按需启用桌面模式与通知,并上传符合尺寸限制的 PNG 立绘。
适用场景与注意¶
适合谁: 长时间在 DSH Web 上跑 agent、需要轻量「状态一眼可见」或离开标签页时仍想知道任务结局的开发者;愿意可选搭配本机 Electron 做置顶汇报的用户。
权限与信任: 插件随当前 DSH 进程权限运行,会读写 $DSH_HOME 下的配置并在本地提供 HTTP 处理。安装前请阅读 GitHub 源码 与 MIT 许可证,自行评估共享屏幕与通知带来的信息暴露。
生态说明: DSH 奉行「一切皆插件」;SkillHub 目录页 为社区收录站点,与 DeepSeek / 幻方无官方从属关系。
结尾¶
CapyReporter 把 DSH Web 上的会话轨迹收成页面宠物(及可选桌面窗)上的可读状态与明确结局,适合不想一直盯着聊天面板、又希望并行会话结果互不覆盖的场景。目录与文档: