前言¶
用 DSH 跑 agent 的人大多会遇到同一个问题:事项散落在各个 Session 和 Workspace 里。审批、提问、计划审阅、受阻 goal、自主运行轮的待验收结果,有的在其他 Session 里等,有的已经中断几个钟头没人看。原生界面能给的是当前窗口内的对象,跨 Session 汇总要自己翻日志。
下面介绍的 qingj01/dsh-attention-inbox 就是在补这一层。它把个人 DSH 环境中「等待你处理」的事项投影到一个侧栏队列,分类后统一展示,并提供处置、忽略、静音和统计。需要说明的是,当前版本是发布候选,npm 包尚未发布,市集分发和完整验收也尚未完成。
这是什么¶
qingj01/dsh-attention-inbox 是面向个人的 DeepSeek Harness 插件,维护者为 QingJ01。分类属于记忆。它解决的问题单一:把跨 Session、跨 Workspace 的待处理事项集中到一个队列,包括审批、问题、计划审阅、受阻 goal、自主运行待验收、最终轮次失败和账户登录失效。
当前为 v1.0.0-rc.2 发布候选。独立测试使用的 DSH Desktop 版本是 0.2.1-rc.5。这个版本号不能理解为全部验收已通过,完整验收记录在仓库的 008 验收表。包名 dsh-attention-inbox,仓库为 QingJ01/dsh-attention-inbox,采用 MIT 许可证。星标数目前为 0。
核心功能¶
三类关注项¶
收件箱按「需要你做什么」分成三类:
- Agent 在等你:审批、问题、计划审阅。允许一次、拒绝和回答使用 DSH 原生交互对象,不绕过权限策略;原生能力不可用时打开来源 Session。计划批准使用原生 intent 中的指定选项。
- 待你决定下一步:受阻 goal、来源明确的自主完成轮、最终失败或中断轮次。软事项可以忽略当前 revision,或设置一小时后再次提醒;人工自己完成 goal 不会额外制造一条自主验收事项。
- 系统:DeepSeek 登录失效。完成登录后由账户事实撤回该条目。
只有 hard 和 system 两类事项计入徽标,而且不能通过忽略或静音隐藏。原生界面里「已作答」不等于已处理:调用返回不等于完成,只有原生决定或结算事实确认后才算已处理。按钮失败时显示错误并保留条目,不会静默丢弃。
设置与统计¶
与原生设置一致的地方提供 review 开关、账本保留天数(1–3650 天)、Session/Workspace 静音规则管理。静音只作用于软事项,Workspace 静音使用实际 Workspace id。关闭 review 不会影响原生审批或原生提问。
页脚展示可核对的 L1/L2 丢弃、显示计数、硬阻塞响应时长、原地处理率和按来源统计的噪音率。没有确认样本时显示无数据,不把点击成功、请求发送或测试样本当作真实处置。
数据与恢复¶
义务事实来自 Session 日志投影、DSH 自带的 userQuestions 投影和原生 Client 交互对象。处置、设置、静音、外部插件提交以及账本保存在插件自己的 attention_inbox storage domain,提交必须等待持久化成功才返回,不写入用户 Session 或 preset。
冷启动只读观察最近七天可读取的历史 Session,保留仍有效的受阻 goal、continued 问题、48 小时内失败和来源明确的自主 review。冷回填与实时推导使用相同的事实和规则,部分读取失败时会给出提示。Host 暂时不可达时,原生交互继续实时更新,最近一次 Host 结果会标记为可能过时。
扩展能力¶
插件给 Host 侧提供 ctx.attention,给 Client 侧提供 ctx.attentionClient,两者的 apiVersion 都是 1。建议以可选依赖方式接入。Cordis contextual 服务自动追踪实际调用方,注册返回 disposer,调用方卸载时清理注册及其义务。
raise / withdraw:显式提交;producer可省略,由实际调用方推导。保存返回的规范 key 用于撤回。registerProducer / invalidate:从真实业务事实推导;显式提交和推导出的义务共同受调用方数量预算约束,默认最多 50 个。registerSubjectType / registerKind / registerAction:主体说明、类型和 Host 动作,或供 Client 执行器使用的动作元数据。attentionClient.registerAction:注册同 id 的 Client 执行器,保留 revision、权限与破坏性确认边界。attention.subjectkeyed Slot:按主体类型提供富渲染,未提供时回退通用说明;内部导航使用panelId,外部使用url。registerChannel:默认只选hard/system;按 key/revision 去重,失败指数退避到 60 秒上限,关闭或卸载时取消重试并清理异步投递。defaultAction:通用行展示本地化动作标签,不暴露 input,不会因到期自动执行;执行仍由提交方负责。
仓库里的 hello-producer 是 28 行按需接入示例,演示 raise、withdraw 和 Host action,挂载时不会制造业务事项。扩展 API 给出实际接口与 Client/Slot 用法。公开类型可以通过下面这行引入:
import type { AttentionService } from 'dsh-attention-inbox/api'
安装与启用¶
候选阶段只能通过 DSH 的 Plugin Manager 安装仓库绝对目录,或由维护者提供的候选归档:
{ "action": "install_bundle", "target": "/absolute/path/to/dsh-inbox" }
README 同时给出了 npm 形式的目标,但明确说明仅在发行后可用,现在不要执行:
{ "action": "install_bundle", "target": "dsh-attention-inbox@1.0.0-rc.2" }
若只是把包下载到普通开发项目,发行后的 npm 命令为:
npm install dsh-attention-inbox@1.0.0-rc.2
npm 下载本身不会激活 DSH bundle。要在 DSH 中使用,走上面的 Plugin Manager 安装入口,不手工改 profile 配置。安装后在当前 DSH 界面侧栏打开「注意力收件箱」。如果页面仍使用旧模块,刷新现有页面即可,不需要另外启动服务器。
典型用法¶
安装完成后的日常使用其实就是读队列和做决定。下面按 README 描述的顺序列出每类事项的处置方式。
- 打开侧栏的「注意力收件箱」,查看
Agent 在等我下的审批、问题和计划审阅。审批用原生对象允许一次或拒绝,提问用原生对象回答,计划审阅在原生 intent 的指定选项里批准。 - 在
待你决定下一步里分辨受阻 goal、自主完成轮和失败/中断轮次。想稍后再处理的软事项,选择忽略当前 revision,或设置一小时后提醒。 - 看到系统类的 DeepSeek 登录失效,去完成登录;登录完成后系统会依据账户事实撤回该条目。
- 想减少打扰时,进 DSH 原生设置配置 review 开关、账本保留天数和静音规则。静音只影响软事项,
hard与system不受影响。 - 需要第三方接入时,先读
docs/004-extension-api.md,照 hello-producer 的写法用raise提交事项,拿返回的规范 key 做withdraw。
开发与验证¶
仓库用 pnpm 管理,测试用 Node 内置 runner:
pnpm install --ignore-scripts
pnpm check
check 脚本依次执行 node --check index.js、node --check client.js 和 node --test tests/*.test.mjs。Host 使用 ESM,Client 使用 DSH ModuleLoader,当前不需要单独打包构建。TypeScript 5.9.3 实际编译公开 API 的正反例。
完整原生 runtime 测试需要指向一份已有的 DSH 安装或提取产物:
DSH_TEST_RUNTIME=/path/to/dsh/node_modules/@deepseek-ai node --test tests/*.test.mjs
本轮独立完整复核结果为 90 通过、0 失败、0 跳过,覆盖真实 Cordis caller 生命周期、Channel 重试与取消、Client 执行器与 Slot、公开类型编译和匿名结构录制回放。需要提醒的是,测试不能替代 GUI 或市集验收;最新真实界面、全新安装与卸载的证据以 008 验收表 为准,候选实现范围见 007。
适用场景与注意¶
适合管理个人 DSH 环境、希望把散落在多个 Session 里的事项统一看的人。它只服务个人,不提供团队共享或指派。
使用前留意这些边界:插件不自动放权、不改 preset、不切换异步提问模式,也不提供权限规则建议。没有内置飞书、邮件或桌面通知 Channel 提供方;Channel 重试状态当前在进程内,外部投递需要提供方自己的幂等设计,不承诺跨进程 exactly-once。原生审批和提问对象仍属于 DSH 实现接口,升级后能力检测失败时回退为打开来源 Session。
插件以当前 dsh 进程的权限运行,安装前应先检查源码与许可证。仓库采用 MIT 许可证,配置里还带一个 cordis.patch.yml,change 前值得通读一遍。目录页在 SkillHub,该站点与 DeepSeek / 幻方无官方从属关系。
结尾¶
这个插件的价值在于把「还有哪些事在等你」这个问题收敛到一个队列里,并且用事实来源而非界面状态判断是否已处理。当前仍是候选版本,npm 安装入口不可用,装之前按候选方式走 Plugin Manager。
- 目录页:https://www.skillhub.cn/plugins/QingJ01/dsh-attention-inbox
- 源码仓库:https://github.com/QingJ01/dsh-attention-inbox