CapyReporter:DSH Web 上的水豚任务汇报与桌面宠物

前言

在 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 上的会话轨迹收成页面宠物(及可选桌面窗)上的可读状态与明确结局,适合不想一直盯着聊天面板、又希望并行会话结果互不覆盖的场景。目录与文档:

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye