← 返回列表
需源码安装
DSH 原生 Cordis…
暂不能直接安装(需源码编译或环境不满足):engines.node 要求 >=24,不满足 Node 22.19.0。 · 最近上游提交 2026/8/26 · 已提供中文文档
DSH 原生 Cordis 插件:知识库(FTS5)、路由强制、会话记忆、沙箱执行(Think-in-Code)——context-window 减负
综合分
29.5
GitHub 分
29.5
用户评分
—
★ Stars
3
周下载量
—
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add pharaohnie/dsh-context-modeengines.node 要求 >=24,不满足 Node 22.19.0,改用 GitHub 源安装
信任档位:需留意静态安装检查未通过
- 是什么
- dsh 原生插件 · chat
- 装得上吗
- 静态安装检查未通过,可能需要源码安装
- 安全吗
- 本站尚未对该插件做风险分级(暂未覆盖,不等同于无风险)
- 还在维护吗
- 活跃:最近一次提交在 30 天前
档位由下列信号合成:本站实装验证(真实安装,当前最高到 L4)· 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。下方各区块是它的证据明细。 验证判据与等级说明 →
数据截至 2026/9/21(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查需源码安装
以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。
✓npm 包dsh-context-mode @ 0.5.3
✗Node 引擎要求 >=24 · 基线 Node 22.19 不满足
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明
engines.node 要求 >=24,不满足 Node 22.19.0
验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/22 08:28:01
依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-agent@deepseek-ai/dsh-llm@deepseek-ai/dsh-tools@deepseek-ai/schemastery用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动
README
由 DeepSeek 最新模型翻译生成dsh-context-mode
这是给 DeepSeek Harness(DSH)的一个小插件。核心只有一句话:让进上下文的原始数据越少越好。
它不做花哨的事,只干三件实在的:把大文件和网页索引进本地知识库、把会把窗口撑爆的洪水工具拦下来改道、把数据处理丢进沙箱只带回答案。
它到底做什么?
1. 知识库:索引 + 检索
- ctx_index:把文件或整个目录切成小块,存进本地 SQLite 知识库(FTS5,支持中文模糊和英文词根)。
- ctx_search:只返回命中的小片段,不是整本书。默认每次最多回 12000 字节。
- ctx_fetch_and_index:抓网页转成 markdown 后同样入库,原网页字节不进上下文。
- ctx_purge:清空知识库(不可逆,想清楚再用)。
2. 路由拦截:洪水别进来
挂在工具执行前,直接挡掉或引导:
- 硬拦:curl、wget、inline-fetch 这类确定会拉大文件进上下文的命令,直接拒绝。
- 软引导:文件超过约 50KB 且不是精确分段读(没有 offset/limit),拒绝并告诉你该用 ctx_index 或 ctx_search。
- 白名单:pwd、echo、ls、whoami 这些无害命令,零摩擦放行。
3. 沙箱执行:只带答案回来
- ctx_execute:写一段代码在隔离沙箱里跑,只把 console.log 的结论带回来。原始数据留在沙箱,不进上下文。
- ctx_execute_file:把一个文件的内容当作输入数据(FILE_SRC),跑分析、统计、过滤,只返回结论。
- ctx_batch_execute:并行跑多段分析,结果自动入库,同一轮还能直接检索。
沙箱规则简单记住:代码里不能写 require("node:fs") 或 import(沙箱没有模块系统);FILE_SRC 已经是文件完整内容,直接处理,不要再去读文件路径。
安装(一步到位)
cd "$HOME/.dsh/plugins/dsh-context-mode"
git clone https://github.com/pharaohnie/dsh-context-mode.git . # 如果还没克隆
dsh plugin --profile web add "$HOME/.dsh/plugins/dsh-context-mode"
./relink-dsh-context-mode.sh
然后重启 DSH(UI 点重启,或重启服务进程)。
验证:跑 ctx_doctor,关键项应全是 ✓(记忆捕获、安全基线、子代理守卫默认关闭,显示 ✗ 是正常的,不是故障)。
工具一览
| 工具 | 一句话作用 |
|---|---|
| ctx_index | 文件/目录 → 知识库 |
| ctx_search | 检索,只回片段 |
| ctx_fetch_and_index | 抓网页 → 知识库 |
| ctx_purge | 清空知识库 |
| ctx_execute | 沙箱跑代码,带答案回来 |
| ctx_execute_file | 文件内容做数据分析 |
| ctx_batch_execute | 并行分析 + 同轮检索 |
| ctx_doctor | 自检状态 |
| ctx_stats | 看节省了多少上下文字节 |
常用配置(简单版)
大部分开关可用 CONTEXT_MODE_* 环境变量覆盖。几个常用的:
| 开关 | 默认 | 说明 |
|---|---|---|
| routingEnabled | true | 总开关 |
| maxReadBytesBeforeAsk | 51200 | 文件超过这个大小会被引导用检索 |
| executeAllowShell | true | 沙箱里允许用 shell 语言 |
| memoryCapture | false | 会话记忆捕获(隐私考虑默认关) |
| securityEnabled | false | 安全基线(默认关,避免打扰) |
完整键值看 src/config.ts,每个都有注释。
快速验证
1. 安装后重启 DSH。
2. 运行 ctx_doctor:关键项(tools、systemPrompt、FTS5、知识库、门禁)应为 ✓。
3. 运行 node scripts/smoke.ts:纯逻辑回归,不需要 DSH 运行时,直接跑。
4. 检查 curl http://127.0.0.1:3080/dsh-market/installed,dsh-context-mode 应显示 live True。
常见问题(简洁版)
| 现象 | 原因 | 修复 |
|---|---|---|
| not installed | 插件目录的 node_modules 链接坏了 | 重新执行 dsh plugin --profile web add |
| duplicate loader entry | 同时在 bundles 和 cordis.patch.yml 注册了插件 | 保留 bundles 登记,删除 cordis.patch.yml 里的手动 insert 行 |
| ERR_MODULE_NOT_FOUND | node_modules 指向了旧的 DSH npx 缓存 | 跑 ./relink-dsh-context-mode.sh |
这插件不做什么
- 不压缩已在上下文里的内容(只在入口引导)。
- 不声称省了 98% 字节(ctx_stats 把两个口径并列:精确测量 + 估算下界,不混着报)。
- 不是数据沙箱(沙箱是资源隔离,不承诺程序绝对读不到宿主文件)。
运行要求
- Node ≥ 24(node:sqlite 自带 FTS5,直接加载 .ts,不需要预构建)。
- DSH v0.1.1-rc.2(或兼容版本)。
- 知识库默认在 ~/.context-mode/content,多进程共享时用 WAL 模式防写锁。
许可证
MIT。源码即入口:package.json 的 main 指向 src/index.ts,无构建产物(dist/ 已移除)。发布到 npm 前需要预构建并切换入口(pnpm run build 已就绪,发布路线待定)。