SipengXie2024/dsh-memory-hermes ↗★ 0
dsh-memory-hermes
Hermes-style bounded curated memory for DeepSeek Harness (out-of-tree plugin)
安装
$
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:SipengXie2024/dsh-memory-hermes说明文档
阅读完整 README ↗配置
v2 起配置走 dsh settings 服务:插件注册 memory-hermes 命名空间,bundle patch 的 entry config 作为 base(组合层打底),$DSH_HOME/settings.yaml 文档里的同名 section 作为用户层覆盖,热生效(settings/updated 驱动,限额/扫描/review 策略即时切换;已冻结的会话快照不变)。没有 settings 服务的 profile 退化为只用 entry config。
注意(rc.6 边界):dsh web 的设置 GUI 只暴露白名单内的命名空间(apiproxy 硬编码;「插件自暴露」在官方 deferred work 清单里),所以本插件的配置通道是 settings.yaml 文档——在文档里加:
memory-hermes:
memoryCharLimit: 3000 # 只写要覆盖的字段,其余回 base/默认
保存即生效,无需重启(已实测:外部编辑 → chokidar 监视 → 热发布)。
全部配置项(schema 默认兜底;写在 profile 用户层 patch $DSH_HOME/profiles/web/cordis.patch.yml):
- id: memory-hermes
name: dsh-memory-hermes
config:
memoryCharLimit: 2200 # MEMORY.md 上限(codepoint 计),最小 200
userCharLimit: 1375 # USER.md 上限,最小 200
securityScan: true # 写入+注入双侧扫描
approval: false # true = 每次写弹审批(同时抑制后台 review)
backgroundReview: true # 后台自省总开关
reviewTrigger: token-delta # every-turn | token-delta | manual
reviewTokenDeltaTokens: 4000 # token-delta 触发阈值(tokenMeter 估算)
compactionHarvest: true # compaction/start 时做收割 review
reviewMaxTokens: 1000 # 单次 review 的输出 token 预算
reviewTimeoutMs: 60000 # 单次 review 超时(毫秒),最小 1000
reviewHistoryLimit: 200 # sidecar 保留的 review 记录条数
consolidateMaxTokens: 2000 # /memory compact 合并调用的输出预算
skillReview: true # v3:review 的 skill 路(技术经验进 skill 库)
reviewMaxSteps: 8 # fork 循环的最大 LLM 步数
skillMaxBytes: 65536 # 单个 skill 文件的字节上限
# skillRoot: C:/Users//.dsh/skills # skill 库根;默认就是 dsh 用户 skill 根
# reviewProvider: deepseek # review/compact 换模型用;默认跟主会话(吃前缀缓存)
# reviewModel: deepseek-chat
curatorEnabled: true # v4:库维护层总开关(遥测+标记+调度+LLM pass)
curatorConsolidate: true # LLM 归并 pass(有意与 Hermes 默认相反:开)
curatorIntervalHours: 168 # 两次 curator run 的最小间隔(Hermes 7 天)
curatorMinIdleHours: 2 # 触发前要求的用户空闲时长
curatorStaleAfterDays: 30 # stale 标记窗口(never-used 宽限同窗)
curatorMaxSteps: 16 # curator fork 循环的最大 LLM 步数
curatorMaxTokens: 4000 # 单步输出 token 预算
curatorTimeoutMs: 300000 # 整个 curator run 的超时(毫秒)
curatorMaxBackups: 5 # run 前快照保留份数(轮替删最老)
# curatorProvider: deepseek # curator 换模型用;缺省回落 reviewProvider/Model,再回落会话默认模型
# curatorModel: deepseek-chat
topicsEnabled: true # v5:主题文件细节层(关 = 动作运行时拒绝,schema 需重载插件才变)
topicMaxBytes: 32768 # 单个主题文件存储上限(字节),最小 4096
topicMaxFiles: 100 # 主题文件数量上限
topicReadLines: 400 # topic_read 默认(也是最大)行窗
topicReadMaxBytes: 8192 # topic_read 单次读出字节帽
# topicRoot: C:/Users//.dsh/memory/topics # 主题目录覆盖;默认 $DSH_HOME/memory/topics
注意:id 覆盖是整体替换 config,不深合并——要改就把想要的字段写全(未写的字段回 schema 默认,恰好也是安全的)。