压缩只缩窗口,原文逐字归档随时检索找回
30.7/100
综合分
1
GitHub 星标
—
npm 周下载
—/5
用户评分
数据截至 2026/11/2 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。
安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add AkviliAR26710/dsh-lossless-context该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)
状态速览
判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态信任档位:仅索引
是什么
dsh 原生插件 · search
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 0 天前
档位由哪些信号合成
本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码v2.7.0⚪ 扫描:无法判定尚无人工评估展开查看扫描说明与证据 ↓
安全扫描自动 · 静态分析源码
v2.7.0已尝试扫描但取不到可分析的源码:仓库或包不存在、已删除,或为非 JS/TS 实现、未随包发布源码。无法判定,不代表安全。
- · 包内无可扫 JS
- · TS 源码(可能为非 JS 实现或未发布源码),无法判定
扫描于 2026/11/2(0 天前) · 范围 全包扫描(包内未声明入口) · 来源 GitHub 仓库
静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个
README
由 DeepSeek 最新模型翻译生成dsh-lossless-context
给 DeepSeek Harness 的无损上下文方案:压缩只腾窗口,细节留在本地硬盘里,需要时能逐字找回。
In English — Lossless context management for DeepSeek Harness (a DSH plugin / config pack). Every message is archived verbatim into local SQLite with FTS5; compaction only shrinks what is sent to the model, while lcm_grep / lcm_expand pull the original text back word for word.
Keywords: DeepSeek Harness, DSH plugin, context compaction, context window management, lossless memory, long conversation, token cost, SQLite FTS5, retrieval, LCM.
长会话有两个死结,这套配置各自对付一个:
| 死结 | 怎么解 |
展开完整文档(README 剩余 1 节)
dsh-lossless-context 给 DeepSeek Harness 的无损上下文方案:压缩只腾窗口,细节留在本地硬盘里,需要时能逐字找回。 In English — Lossless context management for DeepSeek Harness (a DSH plugin / config pack). Every message is archived verbatim into local SQLite with FTS5; compaction only shrinks what is sent to the model, while lcm_grep / lcm_expand pull the original text back word for word. Keywords: DeepSeek Harness, DSH plugin, context compaction, context window management, lossless memory, long conversation, token cost, SQLite FTS5, retrieval, LCM. 长会话有两个死结,这套配置各自对付一个: | 死结 | 怎么解 | | 每轮重发全部历史,token 烧光 | 到水位才压缩 + DeepSeek 上下文硬盘缓存(命中价是未命中的 1/50) | | 摘要压缩必然丢细节,多轮后设计理由和被否方案彻底消失 | 原文逐字归档进本地 SQLite(FTS5 全文索引),压缩不碰归档,lcm_grep 按需取回原文 | 结论先行:摘要不能当记忆。 摘要是有损的,压缩率越高丢得越多,而且压缩会反复发生(旧摘要被再次合并),细节会一层层变淡。 能证明「原文没丢」的只有一种机制:原文归档 + 按需精确回溯。 它做什么 会话事件 ──capture──▶ 本地 SQLite ──FTS5──▶ 检索 (DSH 会话日志) (messages / │ 摘要树 / artifact) ▼ lcm_grep / lcm_expand │ ┌─────────────────────────────────────────────┘ │ ▼ 压缩(compaction-basic)只改「发给模型的上下文」 ── 摘要 + 最近 N 万 token 逐字原文 ── 被折掉的段落?原文还在归档里 三个组件,各管一件事: 1. openseek-lcm(第三方插件,MIT)— 把每条消息逐字归档,提供 lcm_grep / lcm_expand / lcm_artifact 等回溯工具。压缩后第一轮会注入一条确定性的「压缩指针 + resume note」,告诉模型去哪找原文。 2. dsh-compaction-basic(DSH 自带)— 到水位才把较早历史折成检查点。这套配置做两件事:把水位和逐字尾部调到你需要的档位,以及让摘要走便宜模型(deepseek-flash),主对话模型不受影响。 3. dsh-compaction-tool-result-pruner(DSH 自带,默认开)— 它的默认值会把长工具结果的中段整段砍掉(8192/4096/1024 字符),而端口号、文件路径、报错字符串经常正好在中段。本方案把它放宽到 32000/24000/8000。 快速开始 前提 - DeepSeek Harness(桌面版或命令行均可) - DeepSeek 官方 API key(本方案只针对 deepseek-official) 0. 拿到仓库 git clone https://github.com/AkviliAR26710/dsh-lossless-context.git cd dsh-lossless-context 1. 装归档插件 先完全退出 DSH,然后: dsh plugin --profile desktop add openseek-lcm desktop 是桌面版配置档名。命令行用户换成 web / tui / 你自己的配置档。 2. 合并配置 Windows: ./scripts/install.ps1 # 省 token 档 ./scripts/install.ps1 -Mode memory-heavy # 记忆敏感档 macOS / Linux: chmod +x scripts/*.sh ./scripts/install.sh # 省 token 档 ./scripts/install.sh memory-heavy # 记忆敏感档 脚本会:找到 <DSH_HOME>/profiles/<profile>/cordis.patch.yml → 备份 → 检查是否已有同名 id → 没有冲突才追加。 幂等:重复跑不会重复追加;有冲突时只报告、不动文件。 3. 重启并确认 完全退出并重新打开 DSH,然后在任意会话输入: /lcm status 看到 capture_failures=0 和 message_count 在涨就成功了。 4. 验证「压缩后还能找到原文」 node tests/acceptance.mjs 脚本会加载你机器上真实的插件、造一份会话日志、模拟三次压缩直到上下文里什么都不剩,然后逐字比对 11 条细节。 期望输出: 细节召回:工作流 6/6,记忆敏感 5/5 17/17 项通过结论:✓ 压缩后细节仍可逐字找回,不是靠摘要"记得大概"。 两档参数,选一个 | | balanced(默认) | memory-heavy | | 适用 | 长期写代码、长工作流 | 角色扮演、长期陪伴、长篇小说、心理咨询 | | thresholdRatio | 0.75 | 0.60 | | retainRatio | 0.15 | 0.35 | | 触发水位 | 768,000 token(约 73%) | 629,145 token(约 60%) | | 逐字保留 | ≈118,886 token(约 4 万字中文) | ≈277,401 token(约 9 万字中文) | | 压缩后每轮固定携带 | ≈12 万 token | ≈28 万 token | 水位怎么算的(来自 dsh-compaction-basic 源码): 阈值 = floor(min(W × thresholdRatio, (W − O) − headroomTokens)) 逐字保留 = floor((W − O) × retainRatio) W = 1,048,576 deepseek-flash 上下文窗口(官方定价页) O = 256,000 请求输出预留(dsh-llm-deepseek 默认 maxTokens) 为什么要给中文留缓冲:DSH 的 token meter 按「每 token 4 字符」估算,而官方 README 明确写着「CJK 文本与 JSON schema 在每 token 四字符下严重低估」。中文约 1 字 = 1 token,所以「估算到 60%」时真实占用可能已经高得多。水位压低是留缓冲。 成本 node tests/cost-model.mjs deepseek-flash 高峰价(¥2/M 未命中,¥0.04/M 命中): | 会话长度 | A 全量重发·无缓存 | B 全量重发·有缓存 | C 本方案 | C 相对 A | | 150 轮 | 33.70M / ¥67.41 | 33.70M / ¥31.27 | 33.70M / ¥31.27 | 费用 −54%(全来自缓存) | | 400 轮 | 239.88M / ¥479.76 | 239.88M / ¥221.69 | 146.98M / ¥137.70 | 输入 −39%,费用 −71% | | 1000 轮 | 1499.70M / ¥2999.40 | 1499.70M / ¥1384.02 | 412.15M / ¥387.97 | 输入 −73%,费用 −87% | 别被这张表骗了: - 「输入 token 变少」来自压缩;「钱变少」的大头来自缓存。 150 轮以内压缩一点忙都帮不上——根本没到水位。 - 每省 1M 未命中 token 省 ¥2(Flash 高峰)/ ¥9(Pro 高峰);每省 1M 命中 token 只省 ¥0.04 / ¥0.30。 - 想让缓存持续命中:系统提示和工具表在所有轮次保持一致(本方案只暴露 5 个 lcm 工具,就是为此),不要做「按需增删工具」。 - 压缩会让「第一个被替换的 token 之后」的缓存失效,所以稀疏压缩 >> 频繁小压缩。 配置里那两个反直觉的决策 摘要走 Flash,主对话可以走 Pro - id: compaction-basic config: summarizationProvider: deepseek-official summarizationModel: deepseek-flash 压缩请求只产出一段 Markdown 检查点,用 ¥2/M 的模型足够,没必要用 ¥9/M 的 Pro。 代价:官方 README 写明「把摘要器路由到不同模型会放弃热前缀缓存复用」——压缩那一次的输入按未命中价计费。但整次压缩从 Pro 价降到 Flash 价,净划算。 工具白名单只留 5 个 tools: expose: [lcm_status, lcm_resume, lcm_grep, lcm_expand, lcm_artifact] 18 个工具全开,意味着每次请求都要多带 18 份 schema。砍到 5 个既省钱又让前缀更稳定(缓存友好)。 需要 lcm_doctor / lcm_retention_prune / lcm_blob_gc 时,删掉 expose 整段即可。 备份(可选,但强烈建议) 原文只有一份,在 <DSH_HOME>/sessions/。归档可以重建,会话日志不行。 手动 ./scripts/dsh-backup.ps1 注册「空闲感知」计划任务:只在你离开电脑时才跑 ./scripts/install-tasks.ps1 备份内容:会话日志 + lcm.db 的 VACUUM INTO 一致快照 + cordis.patch.yml(不含 .credentials.yaml)。 调度器(dsh-backup-idle.ps1)四个条件全满足才动手: 1. 键鼠空闲 ≥ 10 分钟(Windows 工作站空闲时钟) 2. DSH 不在跑 AI 回合(备份目录里没有 ACTIVE.lock) 3. 会话日志已安静 ≥ 30 分钟 4. 距上次成功 ≥ 设定间隔 拷贝前后各采样一次会话日志修改时间,中途有写入就丢弃本次快照重来——不会留下半个会话。 计划任务完全静默:任务调 wscript.exe 跑一个自动生成的 .vbs,VBS 用 Run(cmd, 0, False) 以隐藏窗口启动 PowerShell。不会闪控制台。 想连「AI 回合期间」也避让,可以装 pwsh hook(见 scripts/dsh-pwsh-hook.ps1 头部说明)。这一步的安装语法随 DSH 版本可能不同,装之前先测。 工作区记忆文件被编辑器塞了 base64? Typora / Obsidian / 部分网页编辑器粘图时会写成 。那串东西如果进了 AGENTS.md,每个新会话都会把它当提示词读一遍——白烧几千 token。 ./scripts/clean-agents.ps1 -Path "D:\你的工作区\AGENTS.md" # 先看报告 ./scripts/clean-agents.ps1 -Path "D:\你的工作区\AGENTS.md" -Apply # 真清(自动备份)它会把 alt 换成 alt,保留 alt 文字和文档结构,并告诉你省了多少 token。 排查与深挖 node tools/lcm-inspect.mjs # 体检:完整性/计数/每会话统计/摘要树 node tools/lcm-inspect.mjs --show "某个关键词" # 绕过 FTS 直接搜原文(判断是"没归档"还是"索引坏了") node tools/lcm-inspect.mjs --sql "select ..." # 只读 SQL 完整的运维手册(诊断树、升级清单、参数公式、自己写插件的实现思路)见 docs/给C开发者的维护指南.md。 局限(请务必读完) 1. 模型不会自动去查硬盘。 它只在判断「需要回忆」时才调 lcm_grep。检索是按需的,不是自动的。 想让它在特定话题上稳定触发检索,最有效的办法是在工作区 AGENTS.md 里写死触发规则(见 templates/AGENTS.md.example)。 2. 摘要仍然是摘要。 被折进检查点的那段历史,模型当下看到的是摘要。归档能找回原文,但不会自动回到上下文里。 3. 它不能替代「全量在上下文里」的体验。 如果你的场景对「在场感」要求极高(长期陪伴类),必须配合 AGENTS.md 里的原文片段——光靠检索永远差一层。 4. 归档体积是实打实的。 实测约 500 条消息 ≈ 3–8 MB(FTS 索引占大头)。定期 /lcm compact apply。 5. openseek-lcm 是社区项目(1 位作者,MIT,可商用)。它挂了不会丢原文——原文在 sessions/ 里,禁用插件即可回退。 6. token 水位是估算的。 中文被低估,所以别把 thresholdRatio 调到 0.9。 7. 本方案不改变隐私边界。 你的对话照样发到 api.deepseek.com;它只保证「本地多一份可检索的原文」,不保证「内容不出本机」。想要后者只能上本地模型。 目录结构 dsh-lossless-context/ ├── patches/ │ ├── cordis.balanced.yml # 省 token 档 │ └── cordis.memory-heavy.yml # 记忆敏感档 ├── scripts/ │ ├── install.ps1 # Windows 安装器 │ ├── install.sh # macOS/Linux 安装器 │ ├── dsh-backup.ps1 # 备份(会话+归档+配置) │ ├── dsh-backup-idle.ps1 # 空闲感知调度器 │ ├── dsh-pwsh-hook.ps1 # AI 回合忙锁(可选) │ ├── clean-agents.ps1 # 清除记忆文件里的 base64 图片垃圾 │ ├── doctor.ps1 # 一键自检(DSH 更新后 / 出问题时定位坏在哪一环) │ ├── auto-snapshot.ps1 # 自动存档调度器(静默) │ ├── install-snapshot-task.ps1 # 注册「自动存档」计划任务 │ └── install-tasks.ps1 # 注册静默计划任务(wscript + VBS 包装) ├── tests/ │ ├── acceptance.mjs # 验收:压缩后逐字召回 │ └── cost-model.mjs # 成本对比 ├── tools/ │ ├── lcm-inspect.mjs # 归档体检 / 只读查询(DSH 运行中可用) │ ├── resume-pack.mjs # 会话被内容策略拒收后,从归档生成「接着聊」的恢复包 │ └── auto-snapshot.mjs # 定期自动存档 + 助手腔抽风检测 ├── templates/ │ └── AGENTS.md.example # 工作区记忆模板(含强制检索规则) ├── docs/ │ ├── 深入原理.md # 摘要为什么有损、归档为什么无损、缓存为什么省钱 │ └── 给C开发者的维护指南.md # 运维检查、诊断树、参数调优、自己写插件的实现思路 └── README.md 卸载 1. 从 patch 里删掉 dsh-lossless-context 那一段(installer 会在文件里留标记注释) 2. 移除插件 dsh plugin --profile desktop remove openseek-lcm 3. 删归档(可选;会话日志不受影响) Remove-Item -Recurse "$env:USERPROFILE\.dsh\storages\dsh-plugin-lcm" 4. 删计划任务 ./scripts/install-tasks.ps1 -Remove 原文永远在 <DSH_HOME>/sessions/,卸载不会丢。 出处 - 模型/价格/上下文窗口:DeepSeek《模型 & 价格》 - 缓存落盘与命中规则:DeepSeek《上下文硬盘缓存》 - 压缩公式、summarizationProvider、摘要提示词:DSH 内 @deepseek-ai/dsh-compaction-basic 的 README 与源码 - 修剪器默认值:@deepseek-ai/dsh-compaction-tool-result-pruner 的 README - 「CJK 被低估」:@deepseek-ai/dsh-token-meter 的 README - maxTokens 默认 256,000:@deepseek-ai/dsh-llm-deepseek 的 README - 归档插件:<https://github.com/Pub-Polaris/openseek-lcm> 许可 MIT。见 LICENSE;第三方声明见 NOTICE。 本项目是配置与工具层,不分发任何第三方源码。openseek-lcm 是独立项目(MIT),DeepSeek Harness 及其组件版权归 DeepSeek, Inc.。本项目与二者均无隶属关系,也未获其背书。
预览分享卡片长什么样 ↓
分享 · DeepSeek Harness Hub
AkviliAR26710/dsh-lossless-context
压缩只缩窗口,原文逐字归档随时检索找回
相关插件 · 搜索 / 抓取
LLM 知识平台Tencent/WeKnora
概览 ·快速开始 ·新特性 ·功能 ·客户端 ·文档 ·开发
★ 36,161已汉化DSH
72.1
智能体记忆系统MemTensor/MemOS
MemOS 2.0 Stardust星尘
★ 12,195已汉化DSH
71.2
跨代理记忆库zilliztech/memsearch
跨平台语义记忆,专为 AI 编程智能体打造。
★ 2,799已汉化DSH
70.9
技能语料库EverMind-AI/SkillCorpus
SkillCorpus 能给你什么
★ 694已汉化DSH
69.7
代码图谱记忆syncable-dev/memtrace-public
你的智能体值得拥有结构化记忆。
★ 509已汉化MCP
67.9
AnySearch 搜索插件anysearch-team/anysearch-dsh
AnySearch 网页搜索服务商,为 DeepSeek Harness(DSH)提供高级搜索工具
★ 457已汉化DSH
66.6