dsh-clean-chat:DSH 侧栏「闲聊」面板,直连模型、零工具

前言

在 DeepSeek Harness(DSH)里做开发时,随手问一句「这个函数名怎么念」并不罕见。若走「侧边对话」或「创建分支」,主会话历史会被带过去,工具描述也会一并继承——README 中写明,即便 minimal 预设,工具描述实测仍约 16K token 起步。代价与问题不匹配。

维护者 ZIye1208 的客户端插件 dsh-clean-chat 走的是另一条路:在 DSH 自带右侧栏增加一格「闲聊」,宿主直接发 messages,不带 tools 字段,不写会话文件,首轮上下文接近「一句系统提示 + 你的问题」。下面介绍它的定位、安装与用法;事实以 GitHub 仓库 README 与 package.json 为准。

这是什么

  • 名称:dsh-clean-chat(npm 包名相同)
  • 分类:客户端(走 DSH 原生右侧栏 @deepseek-ai/dsh-client-ui-sidebar-right 的 ctx.sidebarRightTabs 与 sidebar.right.pane.tab 席位)
  • 许可证:MIT
  • 当前发布版本(package.json):1.0.0
  • 兼容说明:README 标注 DSH 0.2.2-rc.1 桌面端实测可用;要求宿主暴露 webServer 与 llm 服务。模型由宿主 llm 服务提供,插件本身不带密钥。

与「侧边对话」「创建分支」的对比如下(摘自 README 表格):

侧边对话(better-sidebar) 创建分支 闲聊(本插件)
带上主会话历史 全量原文(上行被压缩) 全量原文 不带
带工具描述 是(继承预设) 是 不带
写会话文件 是 是 不写
进会话列表 否 是 否
首轮 token 量级 十几 K 起 十几 K 起 一句话系统提示 + 你的问题

核心功能

对话面板

右侧栏 + 菜单 → 闲聊。

  • 左上角下拉选模型,按 provider 分组;默认「默认模型」(即设置里的默认模型)
  • 「提示」可改系统提示(默认 You are a helpful assistant.,留空则完全不带系统提示)
  • 「清空」丢弃这段对话;Enter 发送,Shift+Enter 换行;生成中可「停止」
  • 回复支持轻量 Markdown;每条回复下有「用量」胶囊,可查看提供方、模型、未缓存输入、输出等(路由返回缓存统计时还会显示缓存相关字段)
  • 思考过程默认折叠,可展开查看

对话历史只在内存里:关掉面板或重启 DSH 即消失。系统提示与模型选择会写入宿主磁盘 ~/.dsh/storages/clean-chat/settings.json(system、provider、model 三个字段),重启后仍保留。

刻意不带的能力

  • 不带工具:不能读文件、搜索或执行命令(需要上下文时请自行粘贴)
  • 不带主会话上下文
  • 不写会话日志,不会多出会话列表或上下文报表条目

宿主 HTTP 接口(供本机脚本)

插件在宿主 webServer 上注册路由,例如:

方法 路径 说明
GET /clean-chat/api/ping 探活
GET /clean-chat/api/models 可用 provider/model 列表 + 当前默认
GET/POST /clean-chat/api/settings 读写存盘设置
POST /clean-chat/api/chat SSE 流式对话,messages 必填,无 tools 字段

README 给出 PowerShell 调用示例(回环地址,端口随 DSH 启动变化):

$body = @{ messages = @(@{ role = 'user'; content = '你好' }) } | ConvertTo-Json -Depth 5
Invoke-RestMethod "http://127.0.0.1:<端口>/clean-chat/api/chat" -Method Post `
  -ContentType 'application/json; charset=utf-8' -Body $body

安全与限流(插件侧)

宿主路由挂在 127.0.0.1:<随机端口>,README 说明:回环来源与外链 Origin 的 CSRF 由插件拦截;同机其它程序与脚本无法靠 HTTP 头完全区分,README 明确「同机即同权」。此外对 /chat 有模型白名单(llm.listModels)、频率与体量上限(如每分钟 20 次、单条 4 万字等),超限返回 429 / 413。

安装与启用

前置:不需要先装其它侧栏插件;已装 dsh-better-sidebar 也不冲突。

方式一:npm(README 推荐)

装最新版:

dsh plugin --profile desktop add dsh-clean-chat

钉住版本:

dsh plugin --profile desktop add dsh-clean-chat@1.0.0 --save-exact

方式二:DSH 设置界面

  1. DSH 桌面端 → 左下角设置 → 插件
  2. 右上角添加,可填:dsh-clean-chat、github:ZIye1208/dsh-clean-chat,或本地目录路径
  3. 安装完成后完全退出 DSH 再打开(启动时加载,热重载不生效)

方式三:命令行(与上等价)

dsh plugin --profile desktop add dsh-clean-chat --save-exact
dsh plugin --profile desktop add github:ZIye1208/dsh-clean-chat

装完后同样需完全重启 DSH。验证是否写入 profile:

Select-String -Path "$env:USERPROFILE\.dsh\profiles\desktop\package.json" -Pattern "dsh-clean-chat"

README 要求 dependencies 与 dsh.profile.bundles 两处都出现该包名,否则插件不会激活。

典型用法

日常开发中最常见的路径:

  1. 按上文任一方式安装并重启 DSH
  2. 右侧栏 + → 选 闲聊
  3. 如需固定模型或系统提示,在面板中设置(会落到 settings.json)
  4. 输入问题,Enter 发送;轻量问答、念读函数名、解释概念等,无需把主会话「分叉」出去

若要从脚本自动化调用,先用 GET /clean-chat/api/models 确认 provider/model,再 POST /clean-chat/api/chat;端口在 DSH 运行时可从宿主获知。

适用场景与注意

适合:需要「像网页版聊天」那样干净的一问一答;希望避免工具描述与主会话历史占满首轮 token;临时请教、润色一句话,且不需要插件读仓库或跑命令。

不适合:要让模型看项目文件、调工具链、或把对话纳入 DSH 会话体系——应继续使用主会话或其它带工具的侧栏能力。

安装前建议:插件以当前 DSH 进程用户权限运行,本机脚本理论上可访问 ~/.dsh 与 settings.json;安装前可在 GitHub 浏览源码与 MIT 许可证。社区目录 skillhub.cn 插件页 为社区收录站点,与 DeepSeek / 幻方无 README 所称的官方从属关系。

生态上 DSH 奉行「一切皆插件」;dsh-clean-chat 用最小补丁占右侧栏一格,把「重会话 + 重工具」与「轻闲聊」拆开,降低随手提问的 token 与心智负担。

  • 目录页:https://www.skillhub.cn/plugins/ZIye1208/dsh-clean-chat
  • 源码与文档:https://github.com/ZIye1208/dsh-clean-chat
羽毛球分组比赛记分
小程序二维码

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

Xiaoye