DeepSeek Harness Hub
← 返回列表

icanfinish11/dsh-context-mode

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
未验证

| index.js | 插件模块name / inject / apply、引擎定位 + 注册 |

尚未跑自动兼容性验证,可查看页面内的依赖与入口分析。 · 最近上游提交 2026/9/9 · 已提供中文文档

DeepSeek Harness 智能体的上下文窗口优化。在进程内对工具输出进行沙箱隔离(只有你打印的内容才会进入对话),将会话记忆持久化到 FTS5 知识库中,并通过系统提示词中的路由部分强制执行路由。

综合分
29.9
GitHub 分
29.9
用户评分
★ Stars
1
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add icanfinish11/dsh-context-mode
该插件未发布到 npm,走 GitHub 源安装(pnpm 若拦截 prepare 脚本,按其提示在 pnpm-workspace.yaml 的 allowBuilds 中放行后重跑)
数据截至 2026/9/18(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-context-mode

Context Mode(将原始数据挡在上下文窗口之外的 MCP 服务器)以自包含的 DeepSeek Harness 插件包形式提供。此文件夹是它自己的 npm 包(package.json 声明了 dsh.bundle),因此它可以独立于 context-mode npm 包进行安装和发布。

该插件在进程内加载 context-mode 的引擎库(依赖项 context-mode 包的 build/server.js —— 与 OpenCode/Kilo 原生适配器导入的是同一个模块),并将 ctx_* 工具以其裸名称原生注册到 dsh 的 tools 注册表中——没有 MCP 子进程,没有 mcp__context-mode__ 前缀。引擎始终取自原作者发布的 npm 包;本仓库仅提供 dsh 适配器。

内容

| 路径 | 用途 |
|---|---|
| index.js | 插件模块(name / inject / apply)、引擎定位 + 注册 |
| cordis.patch.yml | dsh bundle 补丁(insert 行 id context-mode) |
| package.json | npm 元数据 + dsh.bundle.patch 清单,依赖 context-mode |
| scripts/dev-harness.mjs | 引擎级测试:模拟 ctx、工具注册 + FTS5 往返 |
| scripts/dev-boot-probe.mjs | 真实 dsh profile 启动探测(dsh-app-boot)、工具目录检查 |

你将获得

| context-mode 界面 | dsh 界面 |
|---|---|
| ctx_execute / ctx_execute_file / ctx_batch_execute | 原生 dsh 工具(沙箱子进程,只有打印输出进入对话) |
| ctx_index / ctx_search / ctx_fetch_and_index | 原生 dsh 工具(持久化 FTS5 知识库,BM25 搜索) |
| ctx_stats / ctx_doctor / ctx_purge / ctx_insight | 原生 dsh 工具 |
| SessionStart 路由块钩子 | context-mode:routing 系统提示词区段(dsh 没有钩子通道;该区段加上工具 schema 就是强制执行面) |
| 会话连续性(PreCompact/PostToolUse 捕获) | 未接线——dsh 有自己的会话/压缩层;如需持久记忆请显式使用 ctx_index |

所有工具都运行完全相同的 context-mode 实现,包括安全路由(curl/wget/内联 fetch 拦截)、执行器的语言矩阵以及 FTS5 内容存储。存储默认使用 dsh 自己的主目录($DSH_HOME/context-mode,即 ~/.dsh/context-mode),因此知识库按 harness 隔离,绝不会写入其他 harness 的配置树;设置插件的 storageDir(或 CONTEXT_MODE_DIR/config)可覆盖。

安装

要求:Node.js ≥ 22.5 以及正在运行的 dsh profile。context-mode 引擎包是常规依赖项,会自动安装;此插件无需构建步骤(纯 JS)。

从 GitHub 安装(标准安装方式):

dsh plugin --profile web add icanfinish11/dsh-context-mode

从 npm 安装(一旦 dsh-context-mode 包发布):

dsh plugin --profile web add dsh-context-mode

从本仓库的本地检出安装:

npm install                              # installs the context-mode engine dependencybash
dsh plugin --profile web add link:/path/to/dsh-context-mode

如果你是在一个检出到 context-mode 仓库克隆内部的文件夹中进行开发
(dsh/ 与引擎根目录同级),请先构建引擎
(在引擎根目录运行 npm run build),以便同级布局能够解析;正常安装
永远不需要这样做。

重启 dsh web。在会话中用 ctx stats 验证,或者:
bash
node scripts/dev-boot-probe.mjs          # 需要 DSH_HOME + DSH_PROFILE 环境变量

引擎位置顺序

1. config.enginePath(插件配置)
2. CONTEXT_MODE_ENGINE 环境变量
3. 通过 Node 解析依赖 context-mode 包 —— 当上游提供时使用
context-mode/package.json 子路径导出,
否则从其主入口向上查找到 context-mode 包根目录下的 package.json
(自 1.0.169 起适用于已发布的包,在 npm 扁平/嵌套以及 pnpm store 布局下均可工作)
4. 同级布局(../build/server.js —— 仅在 context-mode 仓库内部开发时使用)

如果以上都无法解析,插件会降级为仅路由模式并记录一条警告;它
永远不会导致 dsh profile 启动失败。

配置

插件行 id 为 context-mode(参见 cordis.patch.yml)。在
$DSH_HOME/profiles//cordis.patch.yml 中按 profile 覆盖:
yaml
- id: context-mode
config:
storageDir: ~/.dsh/context-mode        # 隔离 FTS5 存储
routing: true                          # 注入路由部分
tools:
purge: false                         # 隐藏破坏性工具
upgrade: false                       # 宿主钩子更新器(默认关闭)

开发

- index.js 首先通过 Node 解析来解析引擎(依赖
context-mode),然后才是同级布局 —— 同一份代码在已发布和
仓库内均可工作。
- 在导入引擎前后设置了 CONTEXT_MODE_EMBEDDED_PLUGIN_TOOLS=1,以便
context-mode 跳过其 stdio 传输启动和进程级处理器
(与 OpenCode/Kilo 进程内契约一致)。
- scripts/dev-harness.mjs 针对模拟 ctx 运行插件,并验证
FTS5 ctx_index → ctx_search 往返;scripts/dev-boot-probe.mjs
启动一个真实的 dsh profile 并检查已注册的工具目录。

致谢

本插件是由 icanfinish11 开发的独立 dsh 适配器。它所
加载的引擎是 Mert Koseoğlu
(mksglu) 开发的 Context Mode:,以
context-mode 为名在 npm 上分发,采用 Elastic License 2.0 许可。该引擎作为
运行时依赖从原作者的已发布包中消费 —— 它并未在此处被内嵌或重新发布,
且本仓库不包含任何引擎代码。

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

同作者(icanfinish11)的其他插件

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群