dsh-webchatlike:在 DeepSeek Harness 中实现网页版聊天操作

前言

DSH 以插件方式扩展客户端能力,但 DeepSeek Harness 的 Web 界面里,有些常见聊天操作仍不一定方便使用:修改上一轮提问、重新生成回答、在同一轮里比较多个版本。dsh-webchatlike 是一个客户端插件,目标是把 DeepSeek 网页版 / App 的聊天体验带进 DeepSeek Harness:编辑提问、重新生成回复、在消息上直接翻版本——就像在 deepseek.com 上聊天一样。

这是什么

  • 插件名:dsh-webchatlike
  • 维护者:cindyguyuehu123
  • 类别:客户端
  • 许可证:MIT
  • package.json 声明版本:0.1.0
  • GitHub:https://github.com/cindyguyuehu123/dsh-webchatlike

它面向 DSH 的 Web 端,提供消息级操作入口和版本展示。

核心功能

原位编辑用户消息

悬停用户消息后,可以在原位编辑并重新发送。

重新生成 assistant 回复

悬停任意 assistant 回复后,可以重新生成。

版本翻页

在每条被重新生成或编辑重发过的消息上,会出现 deepseek.com 风格的 <i/N> 版本翻页。左右箭头切换版本,并自动定位到同一轮。每个对话会记住最后查看的版本。

分叉整棵树

可以将整棵树分叉为完全独立的副本。副本根标题带 (副本)(副本 2) 等标记。

边栏与删除会话

边栏将版本 fork 折叠进原始对话,一个对话一行。左侧会话菜单支持删除会话及硬盘上的会话日志;删除需要补丁,正在运行的会话拒绝删除。

安装与启用

1. 先打源码补丁

该插件需要 2 个源码补丁:

  • ui-conversation user-actions 插槽:5 个文件
  • ui-workspace 版本折叠:4 个文件

安装前需要执行补丁脚本、安装依赖并构建:

/path/to/dsh-webchatlike/apply-patches.sh
pnpm install
pnpm run build:lib:client && pnpm run build:web

不打补丁时插件能加载,但编辑按钮和边栏折叠不会出现。cordis.patch.yml 只负责加载插件本身。

2. 安装插件

作为 bundle 安装时,使用:

dsh plugin --profile web add <本仓库 git 地址或 npm 包名>

package.json 声明 dsh.bundle,patch 为 ./cordis.patch.yml。命令中的占位符需要替换为实际的 git 地址或 npm 包名。

手动安装时,需要把包加入 ~/.dsh/profiles/web/package.jsondependencies,并在 profile 目录执行:

pnpm install

3. 启用

完成补丁、构建和安装后,插件通过 cordis.patch.yml 加载。进入 Web 界面后,可在消息旁查看重新生成、编辑和版本翻页入口。

典型用法

  • 悬停任意 assistant 回复,触发重新生成。
  • 悬停任意用户消息,进行原位编辑并重新发送。
  • 对同一回合多次重新生成或编辑重发后,回复旁出现 <2/5>;用左右箭头切换版本。
  • 在左侧会话列表行尾菜单中删除会话。删除有确认框;正在运行的会话会被拒绝。

注意:第一条消息不能重新生成 / 编辑,因为第一回合之前没有干净的 fork 边界。

适用场景与注意

适合需要在 DSH Web 端反复修改提问、重新生成回答、比较多个版本的人。使用它时需要注意:

  • 需要 2 个源码补丁:ui-conversation user-actions 插槽(5 个文件)和 ui-workspace 版本折叠(4 个文件)。
  • 不打补丁时插件能加载,但编辑按钮和边栏折叠不会出现。
  • 删除会话需要补丁,且正在运行的会话拒绝删除。
  • 插件以当前 dsh 进程权限运行;安装前应检查源码与许可证。许可证为 MIT。

链接

GitHub:https://github.com/cindyguyuehu123/dsh-webchatlike

羽毛球分组比赛记分
小程序二维码

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

小夜