前言¶
用 DeepSeek Harness(命令名 dsh)在网页里跑长任务时,主会话很快会堆出工具输出、代码片段和解释。真正卡住的往往只是其中一小段:某次报错、某一段实现说明、智能体弹出来的一道选择题。如果直接在主输入框追问,新问题会混进当前任务的上下文;另开一个会话,又丢掉刚才那一轮的工作目录和工具配置。
DeepSeek Harness 由 DeepSeek AI 开源,仓库是 deepseek-ai/deepseek-harness。官方页面把它的架构写成 Everything is a Plugin(一切皆插件):模型、工具、会话、沙箱、界面都可以用插件增删。目前仍是面向开发者的预览版,接口还会变。下面介绍的插件目录 deepseek-harness-plugin.com 是社区站点,和 DeepSeek / 幻方没有官方从属关系,不能当成官方应用商店。本文按该目录详情页、插件 GitHub 仓库(含中英文 README、package.json、dsh.plugin.json、MIT 许可证)交叉核对后整理。
社区目录里有一个 dsh-side-chat,由 heartmove 维护。它在网页右侧放一条按主会话隔离的侧边聊天:继承主会话的工具集、模型、思考难度与权限预设,选中对话内容就能提问,AI 回复还可以带回主会话。主会话弹出「问题弹框」时,也可以把题目和选项带进侧边,先想清楚再回答,不必打断当前流程。
这是什么¶
dsh-side-chat 是一款面向 DeepSeek Harness 网页界面的会话与消息插件,仓库为 heartmove/dsh-side-chat,许可证 MIT,主要语言 TypeScript。package.json 与 dsh.plugin.json 里的版本号都是 0.2.0。engines.dsh 要求 DSH ≥ 0.1.0-rc.6,Node.js ≥ 20。截至 2026-08-18,GitHub 与社区目录页都显示 8 星;目录收录日期是 2026-08-15,仓库最近一次推送是 2026-08-16。
它给自己的定位是「Codex 式侧边聊天的强化版本」。侧边聊天不是便签:每个侧边会话都是一个隐藏的普通 DSH 会话,通过 meta.parentSession 关联发起它的主会话,并被归档,因此不会出现在主会话列表里。默认继承主会话的工具集、模型、思考难度、权限预设和工作目录,可以作用于同一个工作区。
社区目录里还有另一条同名条目,由 AHGGG 维护,安装命令指向 github:AHGGG/dsh-side-chat。两份仓库、两条安装命令,不要混用。本文只写 heartmove 这一份,目录页地址是:
https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-side-chat-heartmove/
package.json 声明了 dsh.client.platform = "web",只作用于网页界面。纯 headless 跑任务看不到右侧面板。
核心功能¶
目录详情页与仓库 README 对能力的描述一致,可以分成下面几块。
1、选中内容,到侧边提问。 在主对话里选中任意消息文本,会浮出「在侧边聊天中提问」按钮,选中内容自动带入侧边。若当前主会话已经有侧边聊天,还会出现「继续在激活的侧边聊天中提问」。
2、按主会话隔离。 每个主会话各自拥有自己的侧边聊天。侧边会话是隐藏的普通 DSH 会话,不占用主会话列表。
3、继承主会话上下文,也可单独改档。 侧边聊天能感知发起它的主会话和所在工作目录,默认继承工具集、模型、思考难度与权限预设。面板里复刻了主会话的二级模型菜单(服务商 → 模型 → 思考难度)和权限菜单,每个侧边聊天可以独立调整。难任务可以交给更强的模型,不必改主会话。
4、「需要时从工作区 / 主会话查信息」开关,默认关闭。 打开后,侧边聊天在需要更多信息时,可以读取工作区文件和主会话内容。默认关着,避免一装上就把主会话记录和工作区暴露给侧边。
5、和主会话同一套对话能力。 Markdown 回复、思考过程展示、图片附件(粘贴 / 拖拽)、发送/停止按钮、思考时长显示,都复用主会话同款 UI 组件。
6、AI 回复可以带回主会话,而且不会立即发送。 侧边里的每条 AI 回复都能带回当前主会话:鼠标选中一部分,或一键带回整段。两种方式都可以选「直接带回」(原文)或「摘要后带回」(先用侧边继承的模型生成摘要)。落地方式在设置里选:写入输入框草稿,或注入为折叠提示行(作为上下文,不写草稿、不发送)。下次对话时模型能看到折叠行里的内容。
7、针对问题弹框答疑,不打断流程。 主会话智能体弹出「问题弹框」向你提问时,常规流程会停在原地等你回答。这个插件会在侧边面板自动列出问题和各个选项,不用手动选中文字。每个问题可以「带入全部」,每个选项可以「带入」,并且都支持继续已有侧边聊天或新建一条。面板关闭时,弹框标题旁会先出现浮动入口。列表可以折叠、展开,也可以删除单个或全部(删除后不再出现)。主会话继续等待弹框,你先在侧边分析,再把答案带回、回答弹框。
8、面板可拖、可收起,宽度会记住。 拖左边缘调整宽度,范围 280–720 px,并自动钳制在窗口大约 40% 以内,给主聊天区留空间。换显示器或改缩放时会重新适配。没有关闭按钮,只有收起/展开。界面语言跟随 DSH 的中文 / 英文设置。
9、侧边聊天可以删。 列表里每个条目有「×」,右上角「删除全部」会清掉当前主会话下的所有侧边聊天。
安装与启用¶
社区目录页给出的安装命令如下,在已经跑起来的 DeepSeek Harness 终端里执行即可:
dsh plugin add github:heartmove/dsh-side-chat
这条命令以目录页原文为准,不要凭插件名称自己拼接。dsh CLI 会从 GitHub 解析插件并装进当前 profile。来自 GitHub 的插件安装时可能执行代码,插件也会以当前 dsh 进程的权限运行。安装前应先看仓库源码和 MIT 许可证;只装自己信任的来源。
若要可复现安装,可以固定 commit 哈希。本文核对仓库时,main 分支最新提交是 9dda48d72d3b51589096e8b130d3dd83740531f7(2026-08-16,提交说明为 bump to 0.2.0),可以写成:
dsh plugin add github:heartmove/dsh-side-chat#9dda48d72d3b51589096e8b130d3dd83740531f7
哈希会随仓库更新变化,安装前到 GitHub 再确认一次更稳妥。目录页上的占位写法是 github:heartmove/dsh-side-chat#commit。
仓库 README 还给出了一条带 profile 的写法,效果是装进网页 profile:
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:heartmove/dsh-side-chat
这是一个 bundle 包:package.json 声明了 dsh.bundle.patch → cordis.patch.yml,dsh plugin add 会同时完成安装和激活。git 安装拉的是源码,pnpm 会在 checkout 之后跑包里的 prepare 脚本(tsdown),从 src/ 构建出 lib/。
pnpm ≥ 10 在把 git 依赖加入白名单之前,会拒绝运行它的 prepare 脚本,因此第一次 add 可能失败,并提示 Ignored build scripts。把 pnpm 打印的确切包名键写进该 profile 的 pnpm-workspace.yaml(路径形如 ~/.dsh/profiles/web/pnpm-workspace.yaml):
allowBuilds:
dsh-side-chat: true
然后重新执行 add。白名单的意思是「允许这个包的代码在安装时于本机运行」——只放行你信任其源码的包,并尽量固定到某个 commit,避免之后的推送悄悄改变实际跑起来的代码。
装好后重启 dsh web,浏览器里强制刷新(Ctrl/Cmd+Shift+R)。
如果已经把仓库 clone 到本地,也可以从 checkout 目录的上一级安装:
npx -p @deepseek-ai/dsh dsh plugin --profile web add ./dsh-side-chat
典型用法¶
仓库 README 给出的操作顺序如下。
- 在主对话中选中某条消息的部分文本。
- 点击浮出的「在侧边聊天中提问」。若已有侧边聊天,也可以选「继续在激活的侧边聊天中提问」。
- 右侧面板打开(或展开),选中的文本已经带入输入框。
- 按需调整模型 / 思考难度、权限,以及「需要时从工作区 / 主会话查信息」开关。
- 发送。回复会流式返回,带 Markdown 渲染;需要时会显示「思考」折叠行。
- 拖动面板左边缘调整宽度,或使用收起/展开控件。
发送行为。 默认 sendImmediately 开启:选中内容会立即发送,并自动附加你配置的默认提示词。关掉之后,选中内容会先作为附件放进输入框,确认、编辑后再发。
带回主会话。 侧边里的 AI 回复可以带回当前主会话,但不会立刻发出去:
- 选中回复的一部分,在浮出菜单里选「直接带回」或「摘要后带回」。
- 或者点回复正文下方的两个同名按钮,一键带回整段(或其摘要)。
- 根据设置里的「带回内容的方式」,内容要么追加进主会话输入框草稿(可再编辑后发送),要么注入为一条带源标记的折叠提示行(不写草稿,下次对话时模型可见)。
针对问题弹框。 主会话弹出问题弹框时:
- 面板若是收起的,先点弹框标题旁的浮动入口打开面板。
- 对整个问题用「带入全部」,或对单个选项用「带入」;两者都可以继续已有侧边聊天或新建一条。
- 先在侧边把选项和上下文问清楚,再把结论带回,最后去回答弹框。主会话会一直等,流程不会被插件直接替你点掉。
打开 DSH 设置 → 侧边聊天(Side chat),可改这几项,偏好保存在设置命名空间 dsh-side-chat 下:
| 设置项 | 默认值 | 说明 |
|---|---|---|
lookupDefault |
关 | 新建侧边聊天时,「需要时从工作区 / 主会话查信息」是否默认开启 |
sendImmediately |
开 | 选中内容后立即发送,还是先作为附件放入输入框 |
defaultPrompt |
空 | 「立即发送」开启时,附加在选中内容后的额外提示词 |
bringMode |
draft |
带回落地方式:draft 写入输入框草稿,context 注入为折叠提示行 |
适用场景与注意事项¶
比较适合已经在用 dsh web、主会话里经常需要针对某一段输出单独追问,又不想把追问混进主任务上下文的人。侧边聊天继承同一套工具和工作目录,适合拿去核对报错、比较方案、帮你看智能体弹出来的选项;看完可以把摘要或原文交回主会话。
使用时有几点需要注意。
第一,这是 Web UI 插件。dsh.client.platform 为 web,无界面的 headless 运行方式下没有右侧面板。
第二,DSH 版本要满足 >= 0.1.0-rc.6。预览版接口还在变,装之前对照仓库 peerDependencies 和自己的 dsh 版本。
第三,侧边聊天默认继承主会话的权限预设,打开「查信息」开关后还可以读工作区文件和主会话记录。权限开太大,侧边会话就能对同一工作区动手。不需要读文件时,把开关保持默认关闭更稳妥。
第四,社区目录里存在同名的另一份插件(AHGGG 维护)。安装命令必须写成目录页上的 github:heartmove/dsh-side-chat,不要装成另一家的仓库。
第五,插件以当前 dsh 进程权限运行,安装时可能执行来自 GitHub 的代码(包括 pnpm prepare / tsdown 构建)。安装前检查源码仓库和许可证;需要可复现环境时固定 commit。社区目录不是官方应用商店,收录不等于官方背书。
第六,LICENSE 文件抬头写的是 Copyright (c) 2026 dsh-sub-chats contributors,与当前仓库名不完全相同。以仓库里这份 MIT 文本为准即可,不必额外脑补项目沿革。
小结¶
heartmove 维护的 dsh-side-chat 在 DeepSeek Harness 网页主会话右侧加一条真正的智能体会话:按主会话隔离、继承工具与权限、选中文字即可提问,回复可以原文或摘要交回主会话;主会话弹出问题弹框时,也可以先在侧边把选项问清楚再作答。安装命令以目录页为准:
dsh plugin add github:heartmove/dsh-side-chat
目录详情页:https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-side-chat-heartmove/
GitHub 仓库:https://github.com/heartmove/dsh-side-chat