🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

会话瘦身工具 Zyu-23/dsh-session-slim

DeepSeek Harness
Zyu-239 天前有提交已提供中文文档扫描:含敏感能力

离线裁剪会话日志,只留摘要与最近几轮

30/100
综合分
0
GitHub 星标
—
npm 周下载
—/5
用户评分

数据截至 2026/10/26 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add Zyu-23/dsh-session-slim
该包不可直接 npm 安装,改从 GitHub 源安装(明细见下方安装检查)

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么[目录]—
dsh 原生插件 · other
暂无时间戳·判据 →
装得上吗[实装验证]—
本站尚未做安装检查
暂无时间戳·判据 →
安全吗[自动扫描]—
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
数据截至 2026/11/04·判据 →
还在维护吗[仓库]✓
活跃:最近一次提交在 9 天前
暂无时间戳·判据 →
图例:✓ 通过! 需注意— 未判定 / 无数据· 「未判定」= 本站尚无数据,不代表插件有问题
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →

可信度证据

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件
查看扫描证据(共 15 处,展示前 15 条)
  • 读取本地文件
    analyze.cjs:6
    const buf = fs.readFileSync(FILE);
  • 读取本地文件
    byday.cjs:3
    const buf = fs.readFileSync(process.argv[2]);
  • 读取本地文件
    codec-check.cjs:9
    const buf = fs.readFileSync(file);
  • 读取本地文件
    codec-check.cjs:36
    const buf = fs.readFileSync(file);
  • 读取本地文件
    derive-check.cjs:5
    const buf = fs.readFileSync(file);
  • 读取本地文件
    keptstats.cjs:3
    const buf = fs.readFileSync(process.argv[2]);
  • 读取本地文件
    overview.cjs:4
    const buf = fs.readFileSync(FILE);
  • 读取本地文件
    refcheck.cjs:3
    const buf = fs.readFileSync(process.argv[2]);
  • 读取本地文件
    samples.cjs:3
    const buf = fs.readFileSync(process.argv[2]);
  • 读取本地文件
    slim-session.cjs:19
    const buf = fs.readFileSync(file);
  • 写入本地文件
    slim-session.cjs:149
    fs.writeFileSync(OUT, Buffer.concat(parts));
  • 读取本地文件
    slim-session.cjs:156
    const stats = { inBytes: fs.statSync(IN).size, outBytes: fs.statSync(OUT).size, events: out.length, turns: K };
  • 读取本地文件
    stateevents.cjs:3
    const buf = fs.readFileSync(process.argv[2]);
  • 读取本地文件
    tail.cjs:3
    const buf = fs.readFileSync(process.argv[2]);
  • 读取本地文件
    turnstats.cjs:3
    const buf = fs.readFileSync(process.argv[2]);
扫描于 2026/11/4(1 天前) · 范围 全包扫描 · 来源 GitHub 仓库

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

社区实装还没有人打卡 · 装过的第一个就是你
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DSH 会话上下文物理瘦身工具与完整原理报告

README

由 DeepSeek 最新模型翻译生成
DSH 会话上下文瘦身工具包(Session Slim Kit) 注意:这套工具只解决上下文问题。记忆插件需要另外安装,否则上下文消失后,还是会忘掉所有东西。 这是一套离线工具集,对 DeepSeek Harness(DSH)desktop 的会话日志做物理瘦身:删掉旧历史,只保留摘要和最近 N 轮。 完整原理文档见仓库/发行包内的《DSH 会话上下文瘦身完整报告》。 ⚠️ 这是一套「离线手术刀」,不是日常工具。日常长会话优先用官方 /compact;只有会话文件过大、想彻底瘦身时才用它。 1. 环境要求 - Windows(脚本以 Windows 为例,Linux/macOS 思路相同,命令需要替换) - 已安装 DSH desktop - Node.js 24(直接用 DSH 自带的 Electron 跑,无需另装) 运行方式(PowerShell): $env:ELECTRON_RUN_AS_NODE = '1' & "<DSH安装目录>\DeepSeek Harness.exe" --expose-internals .\rewrite.cjs <in.zstd> <out.zstd> <K> 脚本通过 asar 加载 DSH 自己的校验模块:
展开完整文档(README 剩余 1 节)
DSH 会话上下文瘦身工具包(Session Slim Kit)

注意:这套工具只解决上下文问题。记忆插件需要另外安装,否则上下文消失后,还是会忘掉所有东西。

这是一套离线工具集,对 DeepSeek Harness(DSH)desktop 的会话日志做物理瘦身:删掉旧历史,只保留摘要和最近 N 轮。

完整原理文档见仓库/发行包内的《DSH 会话上下文瘦身完整报告》。

⚠️ 这是一套「离线手术刀」,不是日常工具。日常长会话优先用官方 /compact;只有会话文件过大、想彻底瘦身时才用它。

1. 环境要求

- Windows(脚本以 Windows 为例,Linux/macOS 思路相同,命令需要替换)
- 已安装 DSH desktop
- Node.js 24(直接用 DSH 自带的 Electron 跑,无需另装)

运行方式(PowerShell):

$env:ELECTRON_RUN_AS_NODE = '1'
& "<DSH安装目录>\DeepSeek Harness.exe" --expose-internals .\rewrite.cjs <in.zstd> <out.zstd> <K>

脚本通过 asar 加载 DSH 自己的校验模块:
- 默认路径:%LOCALAPPDATA%\Programs\DeepSeek Harness\resources\app.asar\dsh\node_modules
- 可用环境变量覆盖:$env:DSH_ASAR = "<自定义 app.asar 下 node_modules 路径>"

2. 脚本清单

| 脚本 | 用途 | 用法 |
| analyze.cjs | 帧数、事件类型分布、seq 范围 | analyze.cjs <session.v4.jsonl.zstd> |
| turnstats.cjs | 按 turn 分组的体积统计 | turnstats.cjs <file> <K> |
| keptstats.cjs | 观察「保留最近 K 轮」时区间内的事件分布 | keptstats.cjs <file> <K> |
| stateevents.cjs | 定位权限/沙箱/审批等状态事件 | stateevents.cjs <file> |
| refcheck.cjs | 检查 sourceEventSeqs/messageSeqs/headerSeq 引用是否悬空 | refcheck.cjs <file> <K> |
| samples.cjs | 抽样各类事件的完整 JSON 结构 | samples.cjs <file> |
| byday.cjs | user/message 按天分布(估算删减影响) | byday.cjs <file> |
| overview.cjs | 头部/尾部/surfaceOp/compaction 概览 | overview.cjs <file> |
| tail.cjs | 尾部事件、最近 turn 边界 | tail.cjs <file> |
| rewrite.cjs | 核心:裁剪 + 重排 + 校验 + 写回 | rewrite.cjs <in.zstd> <out.zstd> <K> |
| derive-check.cjs | 模拟 surface 折叠,看模型实际会收到的消息 | derive-check.cjs <file> |
| codec-check.cjs | 用 DSH 自己的 restoreReleasedV4Artifact 做完整校验 | codec-check.cjs <file> |

3. 标准工作流(六步)

第一步:备份(永远先做)

Copy-Item <session.v4.jsonl.zstd> .\backup\session.v4.jsonl.zstd.orig
Copy-Item <session_projcache.json> .\backup\session_projcache.json.orig
Copy-Item <retired-sessions.json> .\backup\retired-sessions.json.orig
(Get-FileHash <session.v4.jsonl.zstd> -Algorithm SHA256).Hash

第二步:分析

analyze.cjs <file> # 类型分布、seq 是否连续 turnstats.cjs <file> 60 # 最近 60 轮占多大 stateevents.cjs <file> # 权限状态事件在哪(后面要抢救) refcheck.cjs <file> 60 # 保留区间引用是否完整

第三步:生成

rewrite.cjs <in.zstd> <out.zstd> 60

脚本会:按 turn 边界裁剪 → 删运行时日志(spliced/job)→ 抢救状态事件 → 插入 system+摘要 → 重排 turn/seq → 重映射引用 → 内置校验 → 写回。

第四步:校验(双重)

codec-check.cjs <out.zstd> # restoreReleasedV4Artifact 完整校验 derive-check.cjs <out.zstd> # 看模型将看到的消息序列

两者都 PASS 才算格式有效。

第五步:释放写入窗口 + 替换

会话文件被插件常驻持有,直接替换会被覆盖。二选一:

A. /new 切走(DSH 不重启)
1. 在聊天端发 /new(让插件释放旧会话,旧会话进「可切换」列表);
2. 替换文件 + 移走投影缓存;
3. 发 /session <序号> 切回(插件重新读瘦身版)。

B. 重启 DSH
1. 退出 DSH → 替换文件 + 移走投影缓存 → 重新打开。

⚠️ 两种方式都要移走 session_projcache/sessions/<id>.json,否则旧水位会让投影跳过事件。
⚠️ 若 /session 切回失败,会话会被 hard-retire,需要修 retired-sessions.json + 重启(详见完整报告坑 6)。

第六步:验证 + 回滚

验证:投影缓存已重建、permissions 值正确、inbox 为空、sessionStats.turns 正确。
回滚:把备份的 .orig 复制回去 + 移走新缓存 + 重启 DSH。

4. 必读注意事项(浓缩版)

1. 只按整段 turn 裁剪,绝不单独删 step/start 等结构事件;
2. agent/inbox/spliced 必须整类删光(有状态日志,重放会报 invalid inbox splice);
3. 抢救最新一条 permission/preset、sandbox/mode、approval/policy,否则权限回退默认;
4. 必须移走投影缓存(session_projcache),否则状态错乱;
5. 替换前确认会话没有活跃写入(用 /new 或重启);
6. 备份先行,留足回滚点;
7. 不同 DSH 版本的会话格式/校验规则可能变化,操作前确认 SESSION_FORMAT_VERSION。

完整原理与 9 个坑的详细说明见配套报告。

5. 为什么不用官方 /compact?

- 官方 compression 是替换(replace):遮蔽旧历史,但不删除原事件,文件只增不减;
- 本工具是物理裁剪:删除旧事件、重排 seq、重写文件,文件真正变小;
- 日常长会话用 /compact 更安全;本工具适用于"文件已经很大、想彻底瘦身"的场景。

6. 免责声明

本工具直接改写 DSH 会话日志,操作前必须备份。作者不对误操作导致的数据丢失负责;请先在备份副本上演练,确认 codec-check PASS 后再替换真实文件。

Session Slim Kit v1.0
预览分享卡片长什么样 ↓Zyu-23/dsh-session-slim
分享 · DeepSeek Harness Hub
Zyu-23/dsh-session-slim

离线裁剪会话日志,只留摘要与最近几轮

这个插件是你维护的吗?
作者本人可认领并核对本条目;认领通过后,详情页会显示「作者已认领」标记。
认领条目 →
回到顶部