DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

Shiningstar521 /

Shiningstar521/dsh-chat-mode

Verified

Chat / work mode switch: new conversations start in chat mode with no tools, work mode keeps the conversation's workspace

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@43c9ac3b

dsh-chat-mode · 聊天 / 工作模式

给 DeepSeek Harness 增加一个「聊天 / 工作」模式开关,用来区分两种完全不同的对话。

两种模式

  • 聊天模式:像 DeepSeek 网页版一样只做对话。模型看不到也无法调用任何工具,不能读写文件、不能执行命令;system prompt 换成网页助手的身份,运行时上下文(工作目录、沙箱、审批策略)一并关闭。输入框、上传图片/文件、历史记录全部照常。
  • 工作模式:Harness 原本的能力。切换时不询问任何目录,直接沿用这条对话当前所属的工作区;之后模型就能在该目录里读写文件、跑命令。

使用

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

  • 点 聊天 → 当前对话进入聊天模式。
  • 点 工作 → 当前对话进入工作模式,工作目录就是它现在的工作区;不弹窗、不选目录,来回切换都是一键。

也可以直接敲斜杠命令:

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

行为细节

  • 新建对话默认聊天:空白对话在第一次创建 Agent 时记录为聊天模式。
  • 已有对话不重写:已经产生过消息、但没显式记过模式的对话保持工作模式,不会因为升级插件突然失去工具。
  • 切换只影响当前对话:点「工作」不会改变之后新建对话的默认值;新对话永远从聊天开始,除非你在里面点「工作」。
  • 模式持久化在会话日志里:由 /chat、/work 命令事件折叠得到,刷新、重启、多标签页、resume 之后都一致。
  • 聊天模式真的没有工具:对该 Agent 的 scope 执行 tools.restrict({ allow: [] }),连预设挂载的工具也一并隐藏;同时把 persona 换成网页助手并关闭运行时上下文。切回工作模式时这些注册会被移除。
  • 历史工具痕迹会被声明为失效:从工作模式切到聊天模式后,历史里的 tool-call / tool-result 仍在上下文里。聊天人设会明确告诉模型「那些只是历史记录,这些工具现在不存在」,避免它假装还能读文件、或把过期结果当成新结果。
  • 上传文件:聊天模式没有文件工具,所以文本文件的内容会直接内联进消息;二进制文件保留只读句柄,图片照常作为图片输入。
  • 切换在下一步生效:模式切换发生在两次模型请求之间,当前这一步的上下文不会被改坏。

缓存与额度

  • 切换会失效一次缓存:system prompt 和工具清单都变了,切换后的第一次请求要重建前缀;之后恢复正常命中。成本按「带新模式发出的请求」计,不是按点击次数计——连着点很多次但没发消息,不产生任何 miss。
  • 聊天模式通常更省:没有工具声明、system prompt 只有一百来 token、也没有工具往返(工作模式一个任务可能要多次模型请求)。
  • 插件本身不消耗额度:模式记录、投影、命令事件都在本地会话日志里,不触发模型调用。
  • 单纯想省额度时,控制输出长度和大文件上传比切模式更有效。

安装

从 GitHub 安装:

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

本地开发目录安装(已在本机完成):

plugin_manager install_bundle  目标:<本目录>

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

开发

  • index.js:Host 半边(模式投影、工具/persona 约束、/chat、/work、上传文件内联)。不依赖任何 dsh 内部包,只用 zod。
  • client.js:浏览器半边(输入框工具栏的分段控件)。
  • test/chat-mode.test.mjs:离线回归测试,用假 context 驱动 apply(),覆盖模式继承、切换、工具约束、上传内联等 38 项断言。
npm install
npm test
—/ 5

No ratings yet

Verified DSH bundle

Commit 43c9ac3b5c43

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout