前言¶
在 DSH 里和 Agent 聊久了,对话里会堆很多「说过但没落地」的句子:用户说「这个先放着,回头再说」,助手问「要不要我继续把剩下的改完?」却没人接话。它们通常不会变成工具调用、待办或日程,只是从上下文里滑过去。任务类插件管的是「已经结构化」的事;这类语义承诺若只靠人记或靠模型上下文,跨会话后很容易丢。
下面介绍社区插件 dsh-intent-debt-radar(维护者 nonefora11,GitHub:nonefora11/dsh-intent-debt-radar)。它在 DSH 分类里常被标为「记忆」相关能力:把推迟、未答问题、悬而未决的决定、助手口头承诺等记成一份可排序、跨会话的「意图债务」账本,而不是改写原话。
这是什么¶
插件全称 意图债务雷达 · Intent Debt Radar。README 的定位是:追踪对话里悄悄被放弃的承诺——deferrals、unanswered questions、shelved decisions、agent commitments——并以带优先级的账本形式保留。
抽取默认走正则与结构信号,不依赖模型即可运行;卡片上引用的是原句,便于核对与反驳。数据落在本地单个文件,插件只订阅会话事件,不写会话日志、不替你做待办系统。
追踪的四类「债务」¶
| 类型 | 含义 | 示例 |
|---|---|---|
defer |
明确搁置 | 「这个先放着,回头再说」 |
loop |
问了没人答 | 助手提问,用户接着聊别的 |
decision |
决定未做 | 「先不定,再看看」 |
agent-promise |
助手说了要做却没做 | 承诺「下一步补上测试」,当轮无工具调用 |
评分与优先级¶
债务用公式打分(README 原文):
score = base + 3·min(hits, 4) + min(ageDays, 14) + (有提醒 ? 3 : 0) − (被推迟 ? 6 : 0)
base:助手承诺 7、推后 6、未答 5、未决 4。hits 为同一事项重复出现次数;ageDays 封顶 14 天。档位:P0 ≥ 12、P1 ≥ 6,其余 P2。
界面与日常操作¶
安装并加入 profile bundle 后,侧边栏会出现「意图债务」入口,并显示未结数量角标。
账本页支持未结 / 已结清筛选。每张卡可:结清、重开、推迟一天、设提醒时间、转成待办(内容复制到剪贴板);「跳到对话」或点击引文可回到当初那句话所在的会话。
启动摘要:每次打开 DSH 时展示最重几笔,一次性,可关闭;同一进程内不会反复弹出。
桌面提醒:到点用浏览器 Notification,无原生 shell 依赖。
intent_debt 工具供 Agent 读取账本:list、stats、close、snooze、remind、convert,以及 mode(不切面板也能切换识别方式)。
两种识别模式¶
默认 rules:纯正则 + 结构信号,零模型调用、可离线。
可选 api:规则先跑,仅对拿不准的子句再问模型;复用当前会话的模型路由,不需要额外 API key。采用闸门、按 turn 批量、上下文裁剪、调用与 token 日限额等策略;超限额静默退回 rules。面板上会显示当日用量,例如「今日 2/60 次 · 1874 token · 缓存 3 · 跳过 9」。
rules 模式下内容不离开本机;api 模式下外发的仅为规则不确定的子句及前后各约 60 字上下文。
安装与启用¶
在 DSH profile 目录执行(README 给出的三种方式之一):
cd ~/.dsh/profiles/desktop
# 方式一:从 release 附件装
npm install https://github.com/nonefora11/dsh-intent-debt-radar/releases/download/v0.2.4/dsh-intent-debt-radar-0.2.4.tgz
# 方式二:指向 GitHub 仓库(需本机可 git clone)
npm install github:nonefora11/dsh-intent-debt-radar
# 方式三:npm 包名(发布后)
npm install dsh-intent-debt-radar
将该包写入该 profile 的 package.json 中 dsh.profile.bundles,例如:
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"…",
"dsh-intent-debt-radar"
]
}
}
重启 DSH 后,侧边栏全局面板会出现「意图债务」。若环境已配置 DSH 插件市场,也可从市场安装(README 说明)。
当前 package 版本 0.2.4;Release 附件约 16 个文件、约 60 KB,不含安装脚本。
配置(可选)¶
在 profile 的 cordis.patch.yml 里为本插件条目追加字段,例如:
- id: intent-debt-radar
name: dsh-intent-debt-radar
config:
enabled: true
minConfidence: 0.5
trackAssistantPromises: true
maxCardsPerSession: 80
retentionDays: 120
retentionSweep: true
startupPopupGapHours: 0
api 模式相关示例:
- id: intent-debt-radar
name: dsh-intent-debt-radar
config:
mode: api
maxClausesPerCall: 6
maxCallsPerHour: 6
maxCallsPerDay: 60
maxTokensPerDay: 40000
llmProvider: ''
llmModel: ''
留空的 llmProvider / llmModel 表示复用会话路由。
数据存储¶
账本文件:$DSH_HOME/intent-debt-radar/ledger.json(未设置 DSH_HOME 时为 ~/.dsh/…)。写入采用临时文件再 rename;卡片 id 由债务身份哈希生成,同一句再次出现会累加 hits。文件损坏时保留为 ledger.json.corrupt-<时间戳>,不静默覆盖。
兼容性与环境¶
- DSH:
>=0.2.0-rc.2 <0.3.0 - Node:
>=22 - 客户端:Web
- 许可证:MIT
- 可选 peer:
@deepseek-ai/dsh-llm(仅api模式;rules不需要)
README 记载在本机 DSH 0.2.1-rc.5、Node v24.16.0、Windows 上做过界面走查;自动化测试 107 项,CI 在 Node 22/24 × Ubuntu/Windows 上运行。其他 DSH 版本未在文档中声明已验证。
适用场景与注意¶
适合:长对话、多会话协作开发或运维讨论中,需要把「口头推迟」和「助手未兑现承诺」从聊天里抽出来、按优先级跟进,而不是依赖人脑或单次上下文窗口。
安装前建议自行查看仓库源码与 MIT 许可证。插件以当前 DSH 进程权限运行,只读 session/event 并维护上述 ledger 文件;它不替代你的任务系统,「转待办」只是复制到剪贴板。
排查加载或命中问题时,README 建议带上 DSH 版本、mode 配置,以及面板顶部「已观察 N 条消息 · 抓到 M 次迹象」一行。
结尾¶
dsh-intent-debt-radar 把对话里未兑现的语义承诺当成会「生息」的债务来记账:本地规则默认可离线,需要时可开漏斗式 api 补漏;侧边栏、启动摘要与 Agent 工具共用同一份账本。
- 社区目录页:https://www.skillhub.cn/plugins/nonefora11/dsh-intent-debt-radar
- 源码与文档:https://github.com/nonefora11/dsh-intent-debt-radar
DeepSeek Harness 生态强调「一切皆插件」;SkillHub 等社区目录为独立站点,与 DeepSeek / 幻方无官方从属关系。