在 DeepSeek Harness(Cordis 运行时)的插件生态中,为不同会话或模型实例注入固定的上下文信息(如系统提示词、角色设定)是一个常见需求。现有的方式往往需要手动编辑配置文件或修改代码。dsh-custom-context-injector 插件提供了可视化的配置入口,将这段上下文内容自动注入到模型的 systemPrompt 中,并支持跨会话的持久化存储。
插件简介¶
这是一个由 LiKanGame 维护的模型推理类插件。它通过在设置页提供“自定义上下文”配置项,解决“如何在 Harness 中统一管理并注入一段固定文本”的问题。插件将内容同步注入到系统提示词,并自动处理内存缓存与磁盘文件的落盘。
核心功能¶
-
自定义上下文设置页
在 Harness 的设置界面新增一页“自定义上下文”。该页面包含“启用注入”开关、一个多行文本输入框以及“保存”按钮。 -
自动注入
启用注入开关后,保存的文本内容会作为一个systemPromptsection 被注入到模型的每次调用装配中。开启后,当前会话以及之后通过“新对话”开启的会话都会携带这段内容。 -
跨会话持久化
插件在内存中维护一份缓存,供实时注入使用。同时,保存操作会将内容写入磁盘 JSON 文件。重启 Harness 后,该内容会自动恢复,实现跨重启保留。
安装与启用¶
当前该插件并非可独立安装的 npm 包,依赖 DSH 动态运行时注入的全局/服务,因此无法直接使用 dsh plugin add 命令安装。它需要作为动态插件集成。
-
获取源码
克隆仓库 dsh-custom-context-injector。 -
动态加载
将src/host.js和src/client.js按照 Cordis 动态插件流程define+run到当前运行实例。 -
配置入口
在 Harness 设置页找到新增的“自定义上下文”页面。
典型用法¶
- 在设置页打开“启用注入”开关。
- 在多行输入框中输入需要注入的上下文内容(例如特定的角色设定、开发规范或任务说明)。
- 点击“保存”。
- 此时当前会话以及之后通过“新对话”开启的会话,都会自动携带这段内容作为
systemPrompt的一部分。
注意事项与边界¶
- 依赖关系:客户端部分依赖 Harness 内部包(如
@deepseek-ai/dsh-*),在内部包未对外暴露解析机制前,无法作为独立 npm 包使用。它当前是动态运行的临时形态。 - 持久化路径:持久化文件默认位于宿主工作目录下的
.dsh-custom-context.json。该文件位于项目根目录,并已加入.gitignore。 - 作用域:注入作用域仅限于加载该插件的 realm,不会影响全局或加载其他插件的 realm。
- 降级处理:若磁盘写入不可用,内容将仅保留在内存中,并在设置页提示用户。
结语¶
该插件为需要在 Harness 中统一管理上下文信息的场景提供了一种轻量级的解决方案。更多细节请查阅 GitHub 仓库。