FanetheDivine/dsh-plugin-om1

dsh-plugin-om

DSH插件,以Observational Memory方式管理上下文

包名
dsh-plugin-om
版本
0.0.19
许可证
MIT
最近更新
2026年8月31日

安装

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:FanetheDivine/dsh-plugin-om

生产使用

安装插件

dsh plugin --profile 
 add dsh-plugin-om

对于 pnpm11+ 添加脚本失败的说明: 插件的依赖 @huggingface/transformers 自带原生构建脚本,pnpm 11 默认禁止依赖构建脚本,并会抛出异常。 把 $DSH_HOME/profiles/ /pnpm-workspace.yamlallowBuilds 改为 true 即可 或者使用dsh plugin --profile add dsh-plugin-om --allow-build=onnxruntime-node --allow-build=protobufjs --allow-build=sharp

安装完成后,需要重启dsh

可以通过dsh --profile --dump-config审查配置是否正确

如果需要覆盖默认配置,打开 $DSH_HOME/profiles/ /cordis.patch.yml 删除里面的空数组,加入

- id: dsh-plugin-om
  config:
    thresholdRatio: 0.2
    # 其他配置参考下文

不需要重启 可以热更新

插件配置项

默认含义
thresholdRatio0.1观察阈值:未压缩消息 ≥ 窗口 × 该比例触发压缩
historyMergeRatio0.2反思阈值:全部 块总长 ≥ 窗口 × 该比例触发精简合并
compressMaxTokens10000单次摘要(观察/反思调用)生成上限
tailMessageCount10尾部保留的不压缩消息条数(不压缩、不被替换、不进摘要日志)
compressRetryCount10摘要调用失败后的最大重试次数(不含首次;总尝试次数 = 该值 + 1)
modelDir共享目录recall-semantic 嵌入模型目录(默认 $DSH_HOME/plugin-data/dsh-plugin-om/models/,跨插件版本共享;小文件随包分发并在缺失时自动补齐,onnx 缺失且启用语义召回时运行时自动下载到该目录;可指向自定义目录)
omEnabledtrue是否启用 OM 自动压缩(观察/反思);false 时关闭自动压缩,recall/recall-semantic 不受影响。omEnabled 替代原 summaryMode(见摘要方式
debugdev压缩流程步骤级(debug)日志开关:true 强制开启、false 强制关闭;缺省按 NODE_ENV !== 'production' 判定(dev/test 输出,生产隐藏)。失败日志不受此开关影响,始终输出
recallEnabledtrue是否注册 recall 工具(false 时禁用,不注册)
semanticRecallEnabledtrue是否注册 recall-semantic 工具(false 时禁用,不注册、不触发模型下载)

不建议将thresholdRatio设置的过高,越早OM收益越高,且当前的机制需要模型对消息计数,过多的消息会导致历史混乱

关于配置项变更的说明

配置键 omEnabled 替代了原 summaryMode:现在只能通过 omEnabled 开启或关闭 OM。

现在消息调用会固定新开会话,而取消了fork主会话的链路。fork 方式虽然能复用前缀缓存,但需要模型自行对消息计数,会导致严重的索引异常。

关于配置项变更的说明

配置键 omEnabled 替代了原 summaryMode:现在只能通过 omEnabled 开启或关闭 OM。

现在消息调用会固定新开会话,而取消了fork主会话的链路。fork 方式虽然能复用前缀缓存,但需要模型自行对消息计数,会导致严重的索引异常。