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

上下文抽屉 yue7ye/dsh-Context-Drawer

DeepSeek Harness
yue7ye5 天前有提交已提供中文文档扫描:未发现敏感能力

把旧对话归档到文件,为模型上下文腾出空间

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

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

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

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:仅索引
是什么
dsh 原生插件 · chat
装得上吗
本站尚未做安装检查
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 5 天前
档位由哪些信号合成

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

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安全扫描自动 · 静态分析源码
v2.7.0
🟢 扫描:未发现敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描未发现敏感能力:最多只发网络请求、读取自身元数据或只读文件,未发现执行命令、文件写入或敏感信息读取。

扫描于 2026/11/4(0 天前) · 范围 入口闭包 + 发布文件清单 · 来源 GitHub 仓库

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

给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

DeepSeek Harness 插件只做一件事:对话上下文达到阈值(默认 50%)时,把较早的消息移进与该对话关联的文件夹,再从模型可见的上下文里释放最早结束的轮次。对话记录和只追加的会话日志保持原样。

README

由 DeepSeek 最新模型翻译生成
dsh-Context-Drawer 一个 DeepSeek Harness(DSH)插件,只做一件事: 会话上下文到达阈值(默认占模型窗口的 50%)时,把更早的消息移进跟这个会话关联的文件夹,再把最旧的已结束轮次从模型可见的上下文里释放出去。 没有界面,没有按钮,没有路由,没有记忆桥接,没有提示词注入。聊天记录和只追加的会话日志永远不改——释放的部分只是对模型不可见,磁盘上的存档始终留着它。 行为 - 每一轮的第一步,插件估算上下文占用(服务商给了真实用量就用真实用量,否则按字符估算)。 - 占用达到模型窗口的 thresholdRatio(默认 0.5)时: 1. 把比上次存档水位更新的消息追加到 {archiveDir}/{sessionShort}/{date}.md,先 fsync; 2. 文件安全落盘之后,才用 replace 事件把最旧的已结束轮次从模型可见上下文里移除。 最近的 keepRecentTurns(默认 6)轮永远不动,单次最多释放 releaseMaxTurns(默认 40)轮,接近 releaseTargetRatio(默认 0.45)就停。 - 会话日志和聊天记录保持完整;存档文件是纯 Markdown,随时可以打开。
展开完整文档(README 剩余 1 节)
dsh-Context-Drawer

一个 DeepSeek Harness(DSH)插件,只做一件事:

会话上下文到达阈值(默认占模型窗口的 50%)时,把更早的消息移进跟这个会话关联的文件夹,再把最旧的已结束轮次从模型可见的上下文里释放出去。

没有界面,没有按钮,没有路由,没有记忆桥接,没有提示词注入。聊天记录和只追加的会话日志永远不改——释放的部分只是对模型不可见,磁盘上的存档始终留着它。

行为

- 每一轮的第一步,插件估算上下文占用(服务商给了真实用量就用真实用量,否则按字符估算)。
- 占用达到模型窗口的 thresholdRatio(默认 0.5)时:
1. 把比上次存档水位更新的消息追加到 {archiveDir}/{sessionShort}/{date}.md,先 fsync;
2. 文件安全落盘之后,才用 replace 事件把最旧的已结束轮次从模型可见上下文里移除。
最近的 keepRecentTurns(默认 6)轮永远不动,单次最多释放 releaseMaxTurns(默认 40)轮,接近 releaseTargetRatio(默认 0.45)就停。
- 会话日志和聊天记录保持完整;存档文件是纯 Markdown,随时可以打开。
- 状态存在 ~/.dsh/context-drawer/state/state.json(每个会话一个水位,防止重复)。

文件放在哪

默认:~/上下文存档/{sessionShort}/{YYYY-MM-DD}.md

sessionShort 是会话 id 去掉 session- 前缀后的前 8 个字符——一个会话一个子文件夹,随时能看出文件属于哪个会话。

配置(cordis.patch.yml)

- insert:
- id: context-drawer
name: dsh-context-drawer
config:
archiveDir: C:/deepseek/上下文存档 # optional; default ~/上下文存档 thresholdRatio: 0.5

其他可选字段:thresholdTokens(绝对 token 阈值)、modelWindow(默认 1048576)、 charsPerToken、baselineTokens、keepRecentTurns、releaseMaxTurns、releaseTargetRatio、 format(md | jsonl | txt)、includeRoles、minTextLength、maxEntryChars、 timeZone(默认 Asia/Shanghai)、stateDir。

安装

在 DSH 插件市场搜索 dsh-Context-Drawer 安装,或者:

dsh plugin --profile <profile> add dsh-context-drawer

测试

node test.mjs

离线模拟会话:10 个已结束轮次 → 触发阈值 → 20 条存档 + 8 个释放轮次 → 第二次触发只追加新消息 → 非第一步和低占用什么都不做。

中文说明

只做一件事:上下文占用到达阈值(默认 50%)时,把更早的对话追加进「跟这个会话关联的外部文件夹」,落盘之后再把最旧的已结束轮次从模型可见上下文里移走。没有界面、没有按钮、不写记忆、不碰聊天记录原文。

默认存档位置 ~/上下文存档/{会话短号}/{日期}.md,一个会话一个文件夹;状态在 ~/.dsh/context-drawer/state/state.json。最近 6 轮永远保留,单次最多释放 40 轮。

MIT License.
预览分享卡片长什么样 ↓yue7ye/dsh-Context-Drawer
分享 · DeepSeek Harness Hub
yue7ye/dsh-Context-Drawer

把旧对话归档到文件,为模型上下文腾出空间

这是你的仓库?认领条目

回到顶部