前言¶
DeepSeek Harness(DSH)默认面向「能写代码、能调工具」的智能体工作流:Shell、文件读写、子代理等能力都常驻会话里。若你只想像 ChatGPT 的 Chat 模式一样长对话、偶尔查资料,却不想误触本地执行或改仓库,就需要一个仅作用于选定会话的预设,而不是把整个客户端改成另一种形态。dsh-chat-mode 由维护者 TongenShen 发布,归类为客户端侧插件,用 Cordis 补丁注册名为 Chat 的 Agent 预设,在选中的会话里只加载 AGENTS.md、只保留联网搜索,其余工具一律屏蔽。
这是什么¶
dsh-chat-mode 是 DSH 的 Chat 模式 Agent 预设(不是全局改行为的「万能插件」):新建会话时在预设列表里选 Chat,该会话即按纯聊天策略运行。仓库见 GitHub,社区目录页见 SkillHub。当前 package 版本为 1.0.0,许可证 MIT。
核心功能¶
下面按 README 已写明的行为归纳,均可在仓库 cordis.patch.yml 与 index.js 中对应。
预设范围与 AGENTS 载入¶
- 只影响选择 Chat 预设的新建会话;已开始的其他会话保持原预设不变。
- 通过
agent-instructions载入用户全局与项目目录下的AGENTS.md,人格与项目约定仍可生效。
工具面:仅联网搜索¶
- 注册并暴露
web_search、web_fetch。 - 在预设作用域内调用
ctx.tools.restrict({ deny: ['working_directory'] }),屏蔽 Harness 自带全局工具;index.js中另有HOST_GLOBAL_TOOLS_TO_HIDE名单,用于隐藏 shell、文件读写、子代理、todo、插件管理等其余工具。
长对话与压缩¶
- 保留自动上下文压缩,避免长对话撑爆上下文。
- 支持会话内
/compact命令。
预设元数据¶
预设 id 为 chat,显示名 Chat,order: 0(列表靠前)。需改显示名或排序时,直接编辑 cordis.patch.yml 里的 name、order。
安装与启用¶
需要 DeepSeek Harness 0.2.1-rc.1 或更高(package.json 中 engines.dsh 要求一致)。Node 需满足 ^22.19.0 || >=24.0.0。
方式一:从 GitHub 安装(README 推荐)¶
在 Harness 里执行,或通过插件管理界面安装:
https://github.com/TongenShen/dsh-chat-mode
方式二:本地目录¶
<本仓库的绝对路径>
安装后重启 DSH。新建会话时,在预设选择里选 Chat。
典型用法¶
- 确认本机 DSH 版本不低于 0.2.1-rc.1,并完成上述任一安装方式。
- 重启 DSH,新建会话,预设选 Chat。
- 正常对话;需要时事或网页事实时,模型会按
persona与工具配置调用web_search/web_fetch。 - 对话过长时可依赖自动压缩,或手动发送
/compact。
联网搜索依赖 DEEPSEEK_API_KEY,或使用已登录 DeepSeek 账号的模型;缺 key 时工具调用会返回相应错误。
适用场景与注意¶
适合:希望 DSH 里有一条「纯聊天」线,保留 AGENTS 说明与联网查证,但不想在该会话里使用 Shell、改文件、开子代理等能力。
注意:
- 插件在当前 dsh 进程权限下运行;安装前应自行查看仓库源码与 MIT 许可证,确认是否符合你的安全策略。
- Chat 仅对新建会话生效。
- 若 Harness 日后新增全局工具,需把工具名加入
index.js的HOST_GLOBAL_TOOLS_TO_HIDE才会在 Chat 预设下被屏蔽。 ctx.tools.restrict()的deny只能写真实存在的全局工具名;误写其他预设专有工具名会导致预设加载失败。
卸载时,在终端或 CMD 执行:
dsh plugin --profile web remove dsh-chat-mode
然后重启 DSH。
结尾¶
dsh-chat-mode 用最小工具面把某一类会话收成「Chat」:AGENTS.md 仍在,联网仍在,其余 Harness 能力在该预设下不可见。需要安装说明与配置表细节时,以 GitHub README 为准;在社区里检索同一插件可使用 SkillHub 目录页。