前言¶
DeepSeek Harness(DSH)采用「一切皆插件」的架构,允许开发者通过插件扩展能力。在多对话场景下,不同对话往往需要不同的系统提示、采样参数或上下文策略。如果全部修改全局设置,会影响其他对话;如果为每个对话新建会话,又会增加管理成本。DSH 提供了对话级自定义能力,但需要插件来落地。
下面介绍 FallnStrelitzia 开发的 dsh-chat-settings 插件,它允许为单个对话配置独立的系统提示词、控制上下文轮数、覆盖采样参数,并开启低 token 的纯聊天模式——所有改动不影响全局设置。
插件定位¶
dsh-chat-settings 是一个 DeepSeek Harness 插件,为单个对话提供独立的配置入口。它不是通用聊天客户端,不是主题,也不替代 DSH 原生的会话管理,只负责在调用模型前组装对话内容。
插件数据存储在 $DSH_HOME/chat-settings/settings.json,通过 cordis.patch.yml 注入预设和 UI 组件。
核心功能¶
插件提供以下能力:
- 对话级系统提示词:每个对话拥有独立的系统提示词,互不干扰。
- 上下文折叠:保留最新 N 轮对话,旧轮次折叠为单条通知,控制 token 消耗。
- 采样参数覆盖:可为单个对话调整采样参数。
- 纯聊天模式:切换到 persona-only preset,不给模型提供任何工具和运行时上下文,只保留人设,大幅降低 token 消耗。
- 工作区选择性启用:在设置中勾选需要暴露该功能的工作区,其他工作区不显示设置按钮。
安装与启用¶
从 npm 安装¶
插件发布在 npm 包 @fallnstrelitzia/dsh-chat-settings。安装命令如下:
dsh plugin --profile <profile> add @fallnstrelitzia/dsh-chat-settings
也可以直接使用 npm 安装:
npm i @fallnstrelitzia/dsh-chat-settings
从本地目录安装¶
如果从本地目录安装,修改 profile 的 package.json 依赖:
{
"dependencies": {
"@fallnstrelitzia/dsh-chat-settings": "link:<this-dir>"
},
"dsh.profile.bundles": [
"@fallnstrelitzia/dsh-chat-settings"
]
}
启用功能¶
安装后,打开 设置 → 对话设置,勾选需要启用该功能的工作区。
使用步骤¶
- 开启设置入口:在对话设置中勾选工作区后,对话标题旁、新会话行会出现 对话设置 按钮。
- 填写配置:点击按钮,填写系统提示词、上下文条数、可选采样参数,保存。
- 切换纯聊天模式:勾选 纯聊天模式,对话切换到
chat-settings-pure-chatpreset,该模式只挂一个人设,不提供任何工具,并在 agent 作用域内拒绝所有全局工具。系统提示只有一句人设加你的指令,指令通过提示词变量在渲染时填入。取消勾选可切回标准模式。
卸载注意事项¶
纯聊天会话会在日志头记录 preset id。卸载插件前,建议先在插件详情页点击 迁移纯聊天会话,或逐个打开对话取消纯聊天模式。卸载时未打开的会话会自动改回标准模式。
适用场景¶
- 需要为不同对话配置不同系统提示词的场景。
- 需要控制上下文长度、降低 token 消耗的场景。
- 需要在某些对话中禁用工具、只使用人设的场景。
- 希望在全局设置不变的情况下,为特定工作区提供定制化能力的场景。
插件以当前 DSH 进程权限运行,安装前建议检查源码与许可证(MIT)。
小结¶
dsh-chat-settings 通过对话级配置和纯聊天模式,为 DSH 用户提供了细粒度的控制能力。它不改变全局设置,而是让每个对话独立管理自己的提示词、上下文和工具调用策略。适合需要在同一 DSH 实例中处理多种对话风格的开发者使用。