前言¶
在 DeepSeek Harness(DSH)里做 Agent 开发,工具调用、媒体展示和 Markdown 文件往往会堆在对话流里:默认卡片信息密度高,本地路径的文件还要切到外部编辑器才能看。社区维护者 vb2250158 的 dsh-chat-enhancement(界面显示为「聊天增强」)面向 Web 客户端,在官方 UI 槽位上叠加预览、折叠、语言与恢复等能力;package.json 将其描述为对聊天工具结果的页内预览(Inline previews for DSH chat tool results)。当前版本 0.3.72,许可证 MIT。SkillHub 目录页标注来源 GitHub、约一周前更新;仓库星标为 0,目录暂无公开简介,细节以 README 为准。
这是什么¶
dsh-chat-enhancement 是 DSH 的公开客户端插件,通过 Cordis bundle 注入多个 @deepseek-ai/dsh-client-ui-* 模块,并导出 Host 侧能力(如 ./typert、会话标题提供器等)。它不改变「一切皆插件」的架构,而是在现有聊天流、侧栏预览器和 Host 服务之上扩展:媒体与 Markdown 内联展示、工具行与思考行折叠、思考/回复语言分区、中断会话恢复、选区批注、目标耗时统计等。部分能力依赖仓库内 host-patches 或 patches 对 Harness 源码的手工打补丁与重建,与 pnpm dsh plugin add 的安装流程相互独立。
核心功能¶
下面按 README「范围」与近期版本说明,只列资料中已写明的项。
媒体与 Markdown 内联预览¶
show_image:经 DSH 文件系统后端(含已挂载 NAS)保存为受管附件,聊天内显示缩略图;可全屏预览、下载、按会话内顺序翻页,并支持固定比例悬浮窗(约 20%–78% 屏高可调)。show_video/show_audio:在 DSH 进程内暂存媒体,以会话绑定令牌供浏览器播放;不暴露原始路径。支持格式见 README(如 MP4/WebM、MP3/WAV 等)。默认单文件上限 50 MiB(maxVideoBytes/maxAudioBytes可配)。- Markdown:聊天内
.md/.markdown芯片点击后页内预览;支持本机绝对路径、相对会话工作区及上级目录路径,须为 UTF-8 常规文件,默认读取上限 2 MiB(maxMarkdownBytes)。无工作目录的会话仍可预览绝对路径。 - 浏览器经会话授权的
readAttachment取字节;不读file://,不直连 NAS。PDF 仍须独立受管协议。
对话流展示与语言¶
- 连续三项及以上工具调用或思考可折叠为摘要行;最新一项始终留在摘要外。媒体展示卡不参与折叠。
- 助手回复操作行可显示该轮实际模型名(来自该条
requestConfig);运行状态槽可显示当前轮实际请求的模型与提供商(需宿主提供对应扩展槽)。 - 思考与回复语言:在插件配置中选择语言后,Host 在系统提示末尾注入语言分区;默认「跟随对话」不注入。与「通用设置」界面语言无关。
- 推理中自动展开、语言漂移提醒、工具行显示模型自述的本次调用说明 等开关均在「插件 → 聊天增强 → 配置」中;工具行说明显示需应用
patches/2026-09-16-tool-row-description.patch并重建官方ui-tool包,未打补丁时模型仍可填description,界面不显示。
批注、代码引用与目标¶
- 选区批注:在聊天流或 Markdown 预览中选文,经「添加为附件」写入
批注-<序号或时间>.json,不自动发送;优先使用addAttachmentFiles,旧版 DSH 回退文件选择器入口。 - 正文代码定位链接:Agent 可使用
[73–74 行](<路径#L73-L74>)等形式,点击打开右侧代码预览并短暂高亮;配置项chat-enhancement.codeReferenceHighlightMs默认 1600 毫秒(100–10000)。需配合 Markdown 增强插件渲染正文链接(README 提及 0.1.5)。 - 目标栏:显示自创建起的墙钟耗时;完成轮次末尾展示累计 token 与总耗时。0.3.72 起会话统计单独计入「上下文压缩用时」。
中断恢复与会话管理¶
- 宿主启动后可自动扫描并续跑意外中断的会话(
recoveryAutoResume默认true),不投递恢复提示;需配套host-patches/prompt-free-recovery.patch等 Host 能力。 - 配置项(均为正整数毫秒):
recoveryLookbackMs默认 86400000、recoveryPollIntervalMs默认 1500、recoveryReadTimeoutMs默认 30000;0.3.61 起还有recoveryScanConcurrency(1–16)。 - 运维 CLI(需本机 DSH 地址与
DSH_HOME):
node <plugin>/scripts/recover-sessions.mjs check --base-url <本机DSH地址> --dsh-home <DSH_HOME>
node <plugin>/scripts/recover-sessions.mjs recover --base-url <本机DSH地址> --dsh-home <DSH_HOME>
- 额度耗尽续作:
recover-quota --targets <JSON 文件>,目标格式[{"id":"原会话 ID","startSeq":原轮次序号}],需额外应用host-patches/quota-failure-continuation.patch。 - 自动重命名(0.3.64):会话菜单从已有用户消息重生成标题,经 Host 标题服务持久化,不发起新对话轮次。
- 聊天列表分批加载、工作区文件夹吸顶、Desktop 提问图片 等见 README 对应版本与
docs/文档;多数字段要求 DSH 0.2.1-alpha.1 或兼容的 0.2 发行版。
安装与启用¶
SkillHub 与 README 给出的 Web 配置安装命令如下(<commit> 应固定为具体提交,勿用浮动分支):
pnpm dsh plugin --profile web add github:vb2250158/dsh-chat-enhancement#<commit>
安装后 重启 DSH。若启用恢复、压缩统计、会话列表加速等 Host 侧能力,还须按 README 应用相应 host-patches 或 patches,在 Harness 根目录重建对应包并再次重启 Host;补丁与 pin/Import 无关,每台机器需自行构建。
插件列表中点击本插件进入详情页即可配置;设置菜单不再重复该入口。
典型用法¶
1、安装并重启后,在「聊天增强」配置中按需打开媒体自动播放、语言、推理展开、恢复窗口等选项;含 Host 服务的项修改后需重启 DSH 并刷新网页。
2、恢复中断会话:网页底部恢复行确认续作,或使用上述 recover-sessions.mjs;关闭自动恢复可设 recoveryAutoResume: false。
3、Agent 展示本地 Markdown(相对工作区)时,用户点击文件芯片即可页内预览,受 maxMarkdownBytes 限制。
4、配合主动提问插件(README Unreleased 示例)可在问题说明中使用 Markdown 图片语法;Desktop 0.3.67 起绝对本地路径经 /api/file 读取。
5、开发者验证(README「验证」节):
npm run build:client
npm test
node --check lib/client.js
npm pack --dry-run
源码变更后须 npm run build:client 再刷新浏览器;DOM 测试需配置 DSH_TEST_DEPENDENCY_ROOT 等变量,未配置时会跳过。
适用场景与注意¶
适合:长期在 DSH Web 界面调试 Agent、需要工具结果内联看图/听音/读 Markdown、希望折叠长工具链与思考块、需要中断续跑与会话标题整理,且愿意按需打官方补丁的开发者。
注意:
- 插件在 当前 DSH 进程权限 下运行,可经 Host 读取会话附件与本机文件(在 README 声明的边界内);安装前应阅读 GitHub 仓库 源码与 MIT 许可证,勿在共享配置中写入本机路径、NAS 路径或凭据。
- 多项能力(恢复、额度续作、压缩统计、会话列表、工作区吸顶等)不能仅靠
plugin add完成,必须核对补丁与 Harness 版本是否匹配;不匹配时 README 明确提示需更新并重启。 - 与 dsh-proactive-questioning、Markdown 增强 等插件存在版本配套关系(如 0.1.6、0.1.7),升级时应一并核对 README 版本说明。
- SkillHub(目录页)为社区插件索引,与 DeepSeek / 幻方无官方从属关系。
结尾¶
dsh-chat-enhancement 把 DSH 聊天里的工具输出、媒体和 Markdown 收到同一套页内预览与折叠规则里,并叠加语言、恢复、批注与统计等运维向能力;安装命令固定 commit 后重启即可启用基础客户端功能,Host 级补丁则按文档逐步应用。更多版本细节与补丁步骤见 GitHub:vb2250158/dsh-chat-enhancement 与 SkillHub 目录页。