dsh-chat-first: Align the Direction First, Then Let the Agent Act

前言

在 DeepSeek Harness(DSH)里用智能体写代码、改配置时,常见情况是:任务还没说清楚,模型已经开始读文件、跑命令。方向一旦偏了,后面往往是返工,而不是少几步对话就能省下来的 token。

也有人会在「纯聊天」和「开工具执行」之间来回切,但换模式往往意味着上下文要重新对齐。下面介绍的是维护者 kankanfs 在工作流分类下发布的 dsh-chat-first(界面名 先聊后做 / Chat First):在同一条 DSH 会话里,默认先讨论、再执行,讨论与执行共用上下文,而不是两套对话各说各的。

这是什么

dsh-chat-first 是 DSH 的第三方插件,npm 包名 dsh-chat-first,当前为早期预览 0.0.1-alpha.1,许可证 MIT。简介可概括为:不确定时先聊,目标清楚后再做,减少走错路和返工。

它使用独立预设 chat-first 与独立服务 chatFirstMode,不占用宿主自带的 qa 或 standard 预设身份。安装插件不会改你的默认预设,也不会把已有普通会话自动转成 Chat First;只有新建会话并选择 先聊后做 / Chat First 时才会进入该工作流。

核心功能

讨论模式与执行模式

新会话默认处于 讨论模式:可以正常对话,但工具目录被移除,并在准入与分发阶段阻止工具调用。这不是简单加一句「请不要用工具」的提示,而是从机制上限制调用。

讨论阶段的指令要求模型给出简洁判断:理解的目标、可行性与关键限制、建议的下一步。简单问题可以直接回答。

当你点击 Start working(开始工作) 后,再发送已对齐的任务,进入 执行模式。执行时模型会先简要说明打算做什么,再按 agreed 的任务推进。按钮本身不会替你发消息或自动开工。

需要暂停执行、继续商量时,点击 Discuss again(再讨论)。切换前应先停止当前进行中的 turn。回到讨论不会撤销已完成的工作,也不会停止已在后台独立运行的任务。

会话状态持久化

每个会话的模式保存在 $DSH_HOME/plugins/dsh-chat-first/sessions/(默认 ~/.dsh/plugins/dsh-chat-first/sessions/)。文件里只有数据版本与模式,文件名编码会话标识。卸载插件会保留这些文件;缺失或损坏时默认回到讨论模式,写入失败也不会谎报切换成功。

插件不新增外部服务、监听端口或遥测;执行仍使用 DSH 里已配置的模型与工具。主机侧的权限、审批与操作系统访问规则在执行模式下依然生效。

界面与指令语言

主状态标签、按钮与提示随浏览器语言显示中文或英文;部分错误信息仍为中文。模型侧指令目前为中文,你可以用习惯的语言对话。

安装与启用

兼容性:插件在 package.json 中声明仅兼容 DSH 0.2.1-rc.5。不要用覆盖桌面 profile 或安装其他全局 DSH 版本的方式绕过版本约束。

DSH Desktop(推荐路径):

  1. 打开 Plugins → Add plugin → Install third-party plugin。
  2. npm 源填写 dsh-chat-first@0.0.1-alpha.1。
  3. 若镜像尚未同步该 release,自定义源使用 https://registry.npmjs.org/。
  4. 按提示安装;若要求重启 DSH,重启一次即可。

GitHub Releases 与更细的安装说明见仓库 Installation 文档;不要用未在资料中出现的 dsh plugin add github:... 形式代替 Desktop 流程。

独立 CLI Web profile(安装到 web,而非 Desktop;Desktop 有自己的安装流程):

dsh plugin --profile web add /absolute/path/to/dsh-chat-first

若以链接方式安装,需保持本地源码目录存在;从网盘解压的包应放到固定目录后再 add。

维护者在资料中说明:Windows 与 macOS 各有一台机器做过有限验收(含真实工具调用与完整退出重开);Linux 仅检查平台条件,物理验收尚待完成。这不等于 1.0 稳定版,细节见仓库 Validation。

典型用法

经过上面的安装步骤后,可按 README 中的 Use 流程操作:

  1. 在 DSH Desktop 安装插件并按需重启。
  2. 新建会话,选择 先聊后做 / Chat First。
  3. 默认即讨论模式:像平时一样聊天,此时无法调用工具。
  4. 方向对齐后点击 Start working,再发送你要执行的任务(按钮不会代发消息)。
  5. 执行过程中若要再商量,先停掉当前 turn,再点 Discuss again 回到讨论。

已有会话会恢复上次选择的模式(含执行模式);重启 DSH 不会把这类会话强制重置为讨论。适合在动手前问「是否可行、有没有更好做法」,或在 brief 不完整时先澄清,避免智能体在错误假设上继续搭建。

对目标清晰、体量很小的任务,资料也建议可以直接开工具做完,不必为了形式走长讨论。

适用场景与注意

适合:需要在同一 Harness 会话里先可行性讨论、再无缝切到工具执行;任务中途想暂停讨论又保留上下文的情况。

注意:

  • 插件以当前 DSH 进程的权限运行;安装前请自行查看 GitHub 源码 与 MIT 许可证,确认符合你的安全与合规要求。
  • 讨论同样消耗 token;资料明确不承诺固定 token 节省,潜在收益来自少做错误工作与返工。
  • 工具门控不能保证模型每次的可行性判断或表述都正确。
  • 禁用或卸载插件不会停止已在跑的后台任务;切换或卸载前应先停止相关工作。
  • 社区目录页 skillhub.cn/plugins/kankanfs/dsh-chat-first 与 GitHub 仓库由社区维护,与 DeepSeek / 幻方无官方从属关系;DSH 生态本身是「一切皆插件」的思路,第三方插件需自行评估版本与验收范围。

结尾

dsh-chat-first 把「先对齐方向」和「再独立执行」放进同一条 DSH 对话:讨论时真正关掉工具,清楚后再 Start working,需要时 Discuss again 回到讨论,并 per-conversation 记住模式。

  • 目录页:https://www.skillhub.cn/plugins/kankanfs/dsh-chat-first
  • 仓库:https://github.com/kankanfs/dsh-chat-first
羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye