dsh-chat-mode:在 DeepSeek Harness 里切换聊天与工作模式

前言

DeepSeek Harness(DSH)默认给每条对话挂上工具、工作区和运行时上下文,适合改代码、跑命令。但很多时候你只想像网页版一样聊几句,不希望模型去读文件或执行 shell。反过来,真要干活时又希望一键回到完整 Harness 能力,且不要每次切换都重新选目录。

下面介绍的 dsh-chat-mode 插件,就是在同一条对话里用分段控件或斜杠命令,在「只对话」和「带工作区的工作模式」之间切换。

这是什么

  • 插件名称:dsh-chat-mode(仓库 Shiningstar521/dsh-chat-mode)
  • 维护者:Shiningstar521
  • 分类:工作流(社区目录 SkillHub 条目)
  • 定位:给 DSH 增加「聊天 / 工作」模式开关,区分两种完全不同的对话体验

两种模式在做什么

聊天模式

行为接近 DeepSeek 网页助手:

  • 模型看不到也无法调用任何工具,不能读写文件、不能执行命令
  • system prompt 换成网页助手身份;工作目录、沙箱、审批策略等运行时上下文一并关闭
  • 输入框、上传图片/文件、历史记录仍可用

实现上会对当前 Agent 的 scope 执行 tools.restrict({ allow: [] }),连预设挂载的工具也会隐藏;切回工作模式时移除这些约束。

工作模式

即 Harness 原本能力:

  • 切换时不询问目录,直接沿用这条对话当前所属的工作区
  • 之后模型可在该目录读写文件、运行命令

核心功能与行为细节

  1. 新建对话默认聊天:空白对话在第一次创建 Agent 时记录为聊天模式。
  2. 已有对话不重写:已经有过消息、但没显式记过模式的对话保持工作模式,避免升级插件后突然失去工具。
  3. 切换只影响当前对话:点「工作」不会改变之后新建对话的默认值;新对话仍从聊天开始,除非你在里面点「工作」。
  4. 模式持久化在会话日志里:由 /chat、/work 命令事件折叠得到,刷新、重启、多标签页、resume 后一致。
  5. 从历史工作模式切到聊天时:上下文里仍可能有旧的 tool-call / tool-result;聊天人设会声明这些只是历史、工具现已不存在,减少模型误用过期结果。
  6. 上传文件:聊天模式无文件工具时,文本文件内容内联进消息;二进制保留只读句柄,图片仍作为图片输入。
  7. 切换在下一步生效:模式切换发生在两次模型请求之间,不破坏当前这一步的上下文。

缓存与额度(README 说明)

  • 切换会使 system prompt 和工具清单变化,切换后第一次请求需重建前缀;之后缓存命中恢复正常。计费按「带新模式发出的请求」计,连续点切换但没发消息不产生 miss。
  • 聊天模式通常更省:无工具声明、较短 system prompt、无工具往返。
  • 插件本身的模式记录、投影、命令事件在本地会话日志,不触发模型调用。

安装与启用

从 GitHub 安装(命令以仓库 README 为准):

dsh plugin add <owner>/dsh-chat-mode

将 <owner> 换为仓库所有者,例如维护者账号对应的 Shiningstar521。

卸载:在「设置 → 插件」里停用或移除 dsh-chat-mode。

插件以当前 DSH 进程的权限运行。安装前建议自行查看 GitHub 源码 与许可证(package.json 中为 MIT,当前资料中的版本为 1.0.0)。社区目录 SkillHub 为独立站点,与 DeepSeek / 幻方无官方从属关系。

典型用法

界面切换

打开任意对话,在输入框工具栏左侧找到 聊天 / 工作 分段控件:

  • 点 聊天 → 当前对话进入聊天模式
  • 点 工作 → 进入工作模式,工作目录为当前工作区;不弹窗、不选目录

斜杠命令

命令 作用
/chat 切换到聊天模式(只对话,不使用工具)
/work 切换到工作模式;工作目录 = 当前工作区
/work <目录> 把这条对话挪到指定目录,并登记为项目(Workspace)

适用场景与注意

适合谁

  • 经常在 DSH 里「问问题」和「改项目」混用,希望默认新对话偏轻量、需要时再开工具
  • 希望工作模式切换时沿用已有工作区,而不是反复选目录

注意

  • 聊天模式是严格无工具,不能指望模型在当前轮次读仓库或跑命令;要干活请切到工作模式或对新对话点「工作」
  • 从工作模式切到聊天后,历史里的工具记录仍在上下文中,模型会被提示勿当作当前能力
  • 单纯省额度时,控制输出长度和大文件上传往往比频繁切模式更有效

结尾

dsh-chat-mode 用本地会话日志持久化模式,在「网页式纯对话」与「带工作区的 Harness 工作流」之间一键切换,并照顾旧对话兼容与缓存行为。需要安装说明与行为细节时,可看社区目录与仓库 README。

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

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

Xiaoye