DeepSeek Harness Hub
← 返回列表

记忆分诊插件AtinyFurina/dsh-memory-triage

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

自动归档低价值记忆并路由到项目桶

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/8/29 · 已提供中文文档
综合分
28.9
GitHub 分
28.9
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add AtinyFurina/dsh-memory-triage
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/16(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-memory-triage

banner

DeepSeek Harness 记忆分诊插件:自动判断记忆保留 / 归档,并自动路由到项目桶或总体桶。

规则优先 + LLM 兜底。自动动作只做可恢复的归档,永不直接删除。

功能

- 每轮对话结束自动分诊(防抖 5s + 阈值触发:新增 3 条或 3000 字符)
- 全局条目(用户画像、沟通偏好、纪律等)留在总体记忆
- 项目条目(具体项目的状态与决策)自动迁入 project 桶
- 低价值条目(importance ≤ 2 且非全局豁免的 preference)归档
- 近义重复条目自动合并(标题 dice 相似度 ≥ 0.62 或内容包含),其余归档
- 规则拿不准的条目用 LLM 兜底判定(每批 ≤ 8 条,失败静默跳过)
- 镜像 Markdown 与 dsh-mneme 格式字节级兼容,人工编辑仍可合并回库

安装

插件文件放到 ~/.dsh/profiles/web/plugins/dsh-memory-triage,在
~/.dsh/profiles/web/cordis.patch.yml 挂载:

- insert:
- id: dsh-memory-triage
name: ./plugins/dsh-memory-triage/lib/index.js
config:
memoryDir: ~/.dsh/memory
enabled: true
debounceMs: 5000
triggerThresholdCount: 3
triggerThresholdChars: 3000
archiveLowImportance: true
llmFallback: true
llmBatchSize: 8
purgeDays: 30
purgeOnSchedule: false

重启宿主后生效。

命令

- /triage-run —— 立即全库分诊
- /triage-purge —— 彻底删除归档超过 purgeDays 天(默认 30)的条目(仅限已归档)
- /triage-persona  —— 切换当前人格:带旧人格标签的记忆自动隐去、通用记忆保持可见;/triage-persona none 清除标记恢复全部可见
- /triage-repersona  [新人设描述] —— 继承重写:把当前人格的带标签记忆按新人设改写一份副本(原文保留)并切换

人格标签(persona tagging)

- 记忆条目可通过标签 persona: 归属某个人格;无该标签的条目为通用记忆,所有人格可见
- 库中存有"当前人格"标记;注入、搜索、列表只显示"当前人格 + 通用"条目,其他人格的条目自动隐去
- 切换人格零 LLM 消耗、零删除;切换时插件会用 LLM 扫描未打标的偏好/决策条目,把人格专属的条目补上旧人格标签(失败静默跳过,不阻塞切换)
- 此过滤由 dsh-mneme 的本地补丁实现(inject/search/list 统一按当前人格过滤,实时生效无需重启)

配置

| 键 | 默认 | 说明 |
|----|------|------|
| memoryDir | ~/.dsh/memory | dsh-mneme 记忆目录(共用同一 SQLite) |
| enabled | true | 总开关 |
| debounceMs | 5000 | 回合结束防抖 |
| triggerThresholdCount | 3 | 触发阈值(新增条数) |
| triggerThresholdChars | 3000 | 触发阈值(新增字符) |
| archiveLowImportance | true | 低价值偏好自动归档 |
| minDice | 0.62 | 合并相似度阈值 |
| exemptKeywords | 内置清单 | 全局豁免词(命中保留总体记忆) |
| projectKeywords | 内置清单 | 项目词(命中迁入 project 桶) |
| llmFallback | true | LLM 兜底开关 |
| llmBatchSize | 8 | 兜底每批条数 |
| purgeDays | 30 | 归档超期天数 |
| purgeOnSchedule | false | 分诊时自动清理超期归档(默认关) |

安全设计

- 自动分诊只做三类软操作:保留、迁移类型、归档(archived=1,可恢复)
- 真删仅发生在 /triage-purge 或 purgeOnSchedule: true,且只作用于已归档条目
- LLM 兜底失败 / 余额不足时静默跳过,绝不影响记忆写入
- 与 dsh-mneme 多连接共用 WAL,busy_timeout 8000ms 串行化写入

测试

node --test test/triage.test.mjs

14 个单元测试覆盖分类规则、去重合并、LLM 决策解析。

License

GPL-3.0

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

同作者(AtinyFurina)的其他插件

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群