DeepSeek Harness Hub
← 返回列表

cindyguyuehu123/dsh-webchatlike

DeepSeek Harnessspec-screened在 GitHub 查看 ↗
⚠ 装前注意

把 DeepSeek 网页版 / App 的聊天体验带进 DeepSeek…

基本兼容但装前注意:未发布到 npm registry,仅可从源码安装 · 最近上游提交 2026/8/16 · 已提供中文文档

Web-chat style message actions for DeepSeek Harness: edit your prompt, regenerate answers, and flip versions with a deepseek.com-style <i/N> pager. Deepseek网页版/app聊天体验插件

综合分
31.6
GitHub 分
31.6
用户评分
★ Stars
7
周下载量
安装插件(需先安装 dsh CLI 引擎:npm install -g @deepseek-ai/dsh)
dsh plugin --profile web add cindyguyuehu123/dsh-webchatlike
未发布到 npm registry,仅可从源码安装,改用 GitHub 源安装
数据截至 2026/9/17(元数据每日更新 · 实装验证按队列轮转,单条结论的验证时间见上方)
安装兼容性检查⚠ 装前注意

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

npm 包dsh-webchatlike(未发布到 npm,仅可源码安装)
Node 引擎未声明 engines.node
dsh CLI 依赖未声明 dsh 版本约束
入口文件main/exports/bin 已声明

未发布到 npm registry,仅可从源码安装

验证方式:npm registry 存在性 + package.json 静态校验 · 最后验证 2026/9/19 01:13:25

依赖的 DSH / Cordis 模块
@deepseek-ai/cordis@deepseek-ai/dsh-client-locale@deepseek-ai/dsh-client-runtime@deepseek-ai/dsh-client-ui-conversation@deepseek-ai/dsh-client-ui-primitives@deepseek-ai/dsh-client-ui-slots@deepseek-ai/dsh-invariants
用户评分
还没有人投票,来当第一个
订阅周报,不错过优质插件更新
每周一封 · 高评分插件 + 新用户活动

README

dsh-webchatlike

把 DeepSeek 网页版 / App 的聊天体验带进 DeepSeek Harness:编辑提问、重新生成回复、在消息上直接翻版本——就像在 deepseek.com 上聊天一样。

MIT DSH plugin

一个面向 DeepSeek Harness Web GUI 的客户端插件,让对话行为和 deepseek.com 网页版 / App 一致:原位编辑、一键重新生成、逐条消息的版本翻页器。

- ✏️ 编辑重发——悬停自己的消息,在原消息位置就地打开编辑框(预填原提问,无弹窗、不新建对话),改完重发。fork 点选在提问回合之前,新会话是干净的 历史 + 修改后的提问 + 新回答。
- 🔄 重新生成——悬停任意 assistant 回复,从该回合之前分叉重新生成。旧提问不会重复塞进上下文。
-  版本翻页——每条被重新生成 / 编辑重发过的消息旁都会出现 deepseek.com 风格的  翻页器(树状模型:每条消息的版本独立计数)。左右箭头切换版本,自动定位到同一轮。每个对话记住你最后查看的版本——切去别的对话再回来,不会跳回第 1 版。
- 🌳 分叉整棵树——「在新对话中分支」(对话内或边栏)会把整棵树复制成一份完全独立的副本:新根 + 每个版本的副本,新树自带完整版本体系( 可翻),从此与原树互不影响。副本根标题带 (副本) / (副本 2) 递增,分叉后自动定位到你 fork 时所在的版本。任意侧边栏 / 对话内分叉出来的独立副本(包括非版本族会话的单会话分叉)都带 (副本) 标记——它是边栏区分"独立副本"与"regenerate/编辑版本"的记号,保证新副本一定以独立行出现,不会被折叠隐藏。
- 🗑️ 删除会话(需补丁)——从左侧会话菜单彻底删除会话,连同硬盘上的会话日志。

边栏保持干净:版本 fork 折叠进原始对话(一个对话一行),在任意版本里的活动都会照常把该对话浮到顶部。家族根行上的重命名、归档、删除作用于整棵树(所有 regenerate/编辑版本);分叉副本是完全独立的对话,只作用于自身。

⚠ 依赖 2 个源码补丁

与纯插件不同,本插件扩展了两个 harness 没有公开扩展点的源码文件:

| 补丁 | 文件数 | 作用 |
|---|---|---|
| ui-conversation user-actions 插槽 | 5 | 用户消息下方的 ✏️ 按钮座位 + 原位编辑锚点(position: relative)+ 对话内「分支」复制整棵树 |
| ui-workspace 版本折叠 | 4 | 边栏永远隐藏版本 fork、当前版本映射回原始行、版本内活动折算进对话排序、恢复最后查看的版本、家族级行操作、边栏分叉复制整棵树 |

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

安装

1. 打源码补丁

cd deepseek-harness
/path/to/dsh-webchatlike/apply-patches.sh   # 逐个复制,冲突时提示
pnpm install
pnpm run build:lib:client && pnpm run build:web

2. 安装插件

方式一:作为 bundle 安装(已声明 dsh.bundle):

dsh plugin --profile web add

方式二:手动在 ~/.dsh/profiles/web/cordis.patch.yml 注册:

- insert:
- id: chat-actions
name: 'dsh-webchatlike'

手动安装时,请把包加入 ~/.dsh/profiles/web/package.json 的 dependencies 并在 profile 目录执行 pnpm install,让加载器能解析到它。

3. 重启

终端 Ctrl+C,重新 pnpm dsh web,刷新页面。

使用

- 悬停任意 assistant 回复 → 🔄 重新生成
- 悬停任意 用户消息 → ✏️ 原位编辑重发
- 对同一回合多次 🔄 / ✏️ 后,回复旁出现 ,点左右箭头切换版本
- 左侧会话列表行尾 ⋯ 菜单 → 删除会话(带确认框;正在运行的会话拒绝删除)

工作原理

- 每个版本都是一个真实的 fork 会话。fork 点选在目标回合之前,新会话 = 历史 + 提问 + 新回答——与 deepseek.com 的树状模型一致。
- 插件把 fork 记录在 localStorage 版本树(dsh-webchatlike:version-tree,按家族根命名空间:每棵树一个命名空间,分叉副本与原树互不干扰)和「最后查看版本」映射(dsh-webchatlike:last-version)里。所有读取都是防御式的:没有插件时,边栏行为与原生完全一致。
- 版本翻页器渲染在每条版本化消息上;切换打开兄弟 fork 并滚动定位到同一轮。不依赖 seedLength——版本功能不需要任何 host 改动。

FAQ

为什么对话的第一条消息没有按钮? 第一回合之前没有干净的 fork 边界(harness 的 fork 需要一个已完成的回合作为锚点),所以第一条消息不能重新生成 / 编辑——和大多数网页版聊天一致。

与上游的关系

- 插件本身只用 harness 公开扩展点(conversation.chat.assistant-actions / conversation.chat.user-actions 插槽、ctx.sessions.fork、session.prompt、ctx.sessions.open)。
- 两个补丁是小而自洽的核心改动(共 9 个文件)。上游更新后重新应用即可——apply-patches.sh 会先对比再覆盖。

License

MIT

dsh-webchatlike
将 DeepSeek 网页 / 应用聊天体验 带到 DeepSeek Harness:编辑你的问题、重新生成回答,并在版本之间切换——就在消息上操作,就像在 deepseek.com 上聊天一样。

MIT DSH plugin

一个用于 DeepSeek Harness Web GUI 的客户端插件,让对话表现得像 deepseek.com 网页/应用聊天一样——就地编辑、一键重新生成,以及每条消息的版本分页器。

- ✏️ 编辑并重新发送——悬停在你自己的消息上,就地编辑它(没有弹窗,没有新聊天),然后重新发送。一个干净的分叉会从你的问题之前的那一轮重新开始:history + edited question + new answer。
- 🔄 重新生成——悬停任意助手回复,并从之前的那一轮重新生成它。旧问题不会被重复加入上下文。
-  版本分页器——每一条其轮次被重新生成或编辑过的消息都会获得一个 deepseek.com 风格的  分页器(树模型:每条消息的版本独立计数)。使用尖括号按钮在版本之间切换;同一轮次会被滚动到视图中。你当时正在查看的版本会按对话记住,因此切换聊天再回来时不会把你丢回版本 1。
- 🌳 分叉整棵树——“在新对话中分支”(聊天内或侧边栏)会把整棵树复制成一个完全独立的副本:一个新的根节点加上每个版本的副本,拥有自己完整的版本系统( 分页器可用),之后再也不与源对话交互。副本根节点标题为 base (副本) / (副本 2) 等,并且新树会打开在你分叉来源的那个版本。由侧边栏或聊天内分叉操作创建的每一个独立副本(包括任何版本家族之外的普通单会话分叉)都会带有 (副本) 标记——这是侧边栏用来区分独立副本与重新生成/编辑版本的标志,因此新副本总是会作为自己的一行出现,绝不会被折叠隐藏。
- 🗑️ 删除会话(补丁)——从侧边栏上下文菜单中删除会话,包括其磁盘上的日志。

侧边栏保持整洁:版本分叉会被折叠进它们的原始对话中(每个对话一行),而任何版本内的活动仍然会把该对话浮动到顶部。家族根行会对整棵树执行重命名/归档/删除操作(所有重新生成/编辑版本);分叉副本是完全独立的对话,只会对自身执行操作。

⚠ 需要 2 个源码补丁

与纯插件不同,这个插件扩展了两个没有公开扩展点的 harness 源文件:

| 补丁 | 文件 | 它添加了什么 |
|---|---|---|
| ui-conversation 用户操作槽位 | 5 个文件 | 用户消息下方的 ✏️ 按钮位置 + 就地编辑锚点(position: relative)+ 聊天内“分支”复制整棵树 |
| ui-workspace 版本分叉折叠 | 4 个文件 | 从侧边栏隐藏版本分叉(始终),将打开的分叉别名到其原始行,将分叉活动折叠到对话的最近记录中,恢复上次查看的版本,全家族行操作,侧边栏分叉复制整棵树 |

没有它们,插件会加载,但编辑按钮和侧边栏折叠会保持关闭。cordis.patch.yml 只加载插件本身。

安装

1. 应用源码补丁

cd deepseek-harness
/path/to/dsh-webchatlike/apply-patches.sh   # 复制文件,冲突时提示
pnpm install
pnpm run build:lib:client && pnpm run build:web

2. 安装插件

可以将其作为 bundle 安装(它声明了 dsh.bundle):

dsh plugin --profile web add

……或者在 ~/.dsh/profiles/web/cordis.patch.yml 中手动注册:

- insert:
- id: chat-actions
name: 'dsh-webchatlike'

如果手动安装,请使该包可从 profile 解析(例如将其添加到 ~/.dsh/profiles/web/package.json 的 dependencies 中,并在那里运行 pnpm install)。

3. 重启

按 Ctrl+C,再次运行 pnpm dsh web,然后刷新浏览器。

用法

- 悬停在助手回复上 → 🔄 重新生成。
- 悬停在用户消息上 → ✏️ 就地编辑并重新发送。
- 在同一轮上进行多次 🔄/✏️ 后,回复会显示 ;使用尖括号切换版本。
- 侧边栏行 ⋯ 菜单 → 删除会话(带确认;运行中的会话会被拒绝)。

工作原理

- 每个版本都是一个真实的分叉会话。分叉切点落在目标轮次之前,因此新会话是 history + question + new answer —— 与 deepseek.com 的树模型一致。
- 插件在 localStorage 版本树(dsh-webchatlike:version-tree,按家族 ROOT 命名空间划分——每棵树都有自己的命名空间,因此分叉副本永远不会与源冲突)以及“上次查看版本”映射(dsh-webchatlike:last-version)中记录分叉。读取完全防御性:没有插件时,侧边栏的行为与原生完全一致。
- 版本分页器渲染在每个有版本的消​​息上;切换会打开同级分叉并将同一轮次滚动到视图中。不使用 seedLength —— 版本控制无需更改宿主。

常见问题

为什么对话的第一条消息上没有按钮? 第一轮之前没有干净的分叉边界(harness 分叉需要一个已完成的轮次来锚定),因此那里无法使用重新生成/编辑——与大多数网页聊天中的第一条消息相同。

与上游的关系

- 插件本身仅使用 harness 的公共扩展点(conversation.chat.assistant-actions / conversation.chat.user-actions 插槽、ctx.sessions.fork、session.prompt、ctx.sessions.open)。
- 这两个补丁是小型、自包含的核心更改(共 9 个文件)。上游更新后请重新应用——apply-patches.sh 会在覆盖前进行差异比较并询问。

许可证

MIT

上游仓库有新提交时邮件通知你(每天最多一封,无更新不打扰),随时一键退订。

同作者(cindyguyuehu123)的其他插件

💬 加入 DPharness 群聊

插件用法、部署报错、新插件第一时间同步——群里问,比一个人翻文档快。

点击加入 QQ 群
DPharness 群聊二维码,手机 QQ 扫码进群
扫码进群