fan56/dsh-dcp

fan56★ 0JavaScript最后同步: 2026-08-20

在 GitHub 打开

README 摘要

dsh-dcp dsh(DeepSeek Harness)的确定性压缩后端: 上下文压缩不调 LLM ,开箱即用。 简体中文 · English 为什么做 dsh 默认的压缩( compaction-basic )每次压缩都要让模型把旧对话 重新总结一遍 ——费 token、慢、结果还不稳定。我们参考 opencode 社区的 opencode-dcp(去重、清错、"技术摘要代替散文"),做了一个纯代码版本: - 零 LLM 调用 :压缩本身不消耗任何额外 token - 输出稳定 :相同对话永远得到相同摘要 - 中文友好 :用户原话/路径/命令/报错逐字保留,按 CJK 真实密度计价 - 继承官方全部安全机制 :触发、保留尾巴、事务锁、tool-pairing 边界都复用 dsh 官方实现(只替换"摘要"这一环) 效果 与官方默认压缩的对比 官方 compaction-basic dsh-dcp 摘要方式 每次调 LLM 重写 确定性代码抽取 每次压缩的模型调用 1 次 0 次 输出稳定性 同对话多次可能不同 相同输入永远相同 摘要内容 语义归纳 逐字保硬信息(路径/命令/报错/待办/用户原话) 中文 依赖模型转写 原样保留 + CJK 计价 触发/保留/溢出/安全 官方 继承官方,完全相同 检查点格式 官方 兼容(可互相合并) 设计上还吸收了 opencode-dcp 的思路(去重、清错、 /dcp 命令、技术摘要),但按 dsh 的压缩接口重新实现——它服务于 opencode,dsh-dcp 服务于 dsh。 CJK 适配 内容逐字保留、不做英文转写;token 计价按 CJK 真实密度(中/日/韩/全角约 2 字符/token),不沿用宿主"4 字符/token"对中文的低估——中文会话的摘要预算反映真实成本,不会被饿死,信息更密集。 真实 dsh 会话实测 一段约 8 万 token 的历史压成约 700 token( 100x ),全程零 LLM 调用;缓存命中率几乎不变(压缩后总会有一个"冷请求",任何后端都一样)。 真实会话里压缩出的检查点(中文内容逐字保留): Not in scope - 不做语义归纳 :不"理解"代码,只保留"出现过的事实"。需要深度语义摘要的场景,请继续用官方 compaction-basic - dsh 已经有的我们不重复做 : - 工具结果剪枝( compaction-tool-result-pruner ,确定性按大小剪) - 触发策略、保留尾巴、溢出恢复(直接继承官方;本插件仅新增轮数触发,见上) - /compact 命令、UI 检查点卡片(dsh 自带) 安装 推荐:配合我们的 dsh-tui-pi 用 (tui 已依赖 dsh-dcp): 独立使用 : dsh-dcp 挂在 dsh 的压缩接口上,只对挂…

在 GitHub 查看完整 README →
工具/开发dsh-plugin

分类