前言¶
在 DeepSeek Harness(DSH)桌面端里,模型或工具可能在本轮成功保存图片、视频,但默认对话区未必在回合末尾直接给出可点的预览。官方交付卡会承担部分同路径文件的展示;其余「本轮产物」往往要你自己记路径、用文件接口或外部程序打开。对日常写代码、跑生成类工具的智能体开发者来说,少一层「回合内可见的媒体摘要」会拖慢确认节奏。
下面介绍的 zhanshi(仓库 yueyexiayu/dsh-zhanshi)是社区维护的客户端类 DSH 桌面插件:把本轮成功保存或明确交付、且没有官方同路径交付卡的图片和视频,显示在回合末尾;不写进模型上下文,也不负责生成媒体。读取旧图片(例如 read_image 只看历史文件)不算本轮产物,不会进预览区。
这是什么¶
- 名称:zhanshi(npm 包名
zhanshi,当前版本 0.1.3,见仓库package.json) - 维护者:yueyexiayu
- 分类:客户端(Host + Client 协作,不修改官方 DSH 源码,不替换官方对话渲染器)
- 目录页:skillhub.cn/plugins/yueyexiayu/dsh-zhanshi
- 一句话:DSH desktop plugin — show this-turn images and videos inline in the conversation.
预览以 id: zhanshi 注册到 conversation.chat.turnTail 列表,与官方交付卡同层,不会折进工具调用列表。没有媒体时不渲染。
核心功能¶
展示位置与交互¶
- 图片、视频出现在当前回合尾部,与官方交付卡同一层级。
- 图片可点击打开;视频使用原生播放控件。
- 图片、视频加载失败时仍保留可见文件卡,提供重试和打开操作;视频使用
preload="metadata",不主动预加载全部内容。
收集规则(什么会进预览)¶
- 只收集本轮明确成功且无结构化错误的
present、write、edit、以及插件支持的媒体生成/截图工具结果。 read_image只表示查看旧文件,不进入产物区。- 若官方
deliverables.presented已承担同路径文件卡,本插件会按 cwd 规范化并去重;只抑制当前 closing seq 之前的官方卡,不抑制尚未 materialize 的 present、独立生成图、其他目录同名媒体。官方 produced 仍可作为真实本轮产物来源。 - 支持
shengcheng_result的结构化路径(优先保留空格、引号及 Unicode);结构化记录损坏时不以模糊文本兜底伪装成功;兼容旧的独立saved …行。 - bash 非零退出、超时、终止、取消或仍在后台运行时不当作完成;不把复合命令最后出现的旧文件当作目标,不解析会话日志里的示例。
- 相对路径按会话 cwd 解析后规范化、去重;不同目录同名文件仍分别展示;同路径保留最新序号。
- 每回合最多显示 16 项:优先明确交付的成品,再显示较新的其他媒体;超过上限时显示剩余数量。此限制只影响本插件预览,不删除官方交付记录。
- 忽略
node_modules、.git、父目录跳转、glob 和不支持的扩展名(产品过滤规则,不替代官方文件权限控制)。
文件读取与视频预览边界¶
- 图片:通过官方相对 URL
/api/file读取(兼容桌面dsh-app://);认证由 DSH connection 处理,插件不绕开认证。 - 视频:通过
/api/zhanshi/file;路径解析与有界读取经 composedctx.fs的resolve、processPath、stat、readByteRange完成,禁止用本机 Node fs 或整文件快照绕过 provider。 - 视频 GET/Range 按 demand 读取最多 64 KiB 窗口;64 MiB 是预览产品上限(不是生成上限)。
shengcheng可保存至 256 MiB 视频;超过预览上限时 HEAD/GET 返回 413,并带X-Zhanshi-Preview: open-file/X-Zhanshi-File-Size;客户端用 HEAD 区分大文件,显示实际 MiB 与「打开文件」,不提高内存上限。
Host 依赖 connection、fs;Client 依赖 slots、uiConversation。
安装与启用¶
社区插件按 DSH「一切皆插件」的方式手动接入;不要凭仓库名自行拼接未在文档中出现的 dsh plugin add 命令。README 给出的步骤如下。
- 将插件包放到
$DSH_HOME/plugins/zhanshi(与 README 中「包位于」描述一致;具体获取方式以 GitHub 仓库 与目录页说明为准)。 - 编辑
$DSH_HOME/profiles/desktop/cordis.patch.yml,在insert中加入:
- id: zhanshi
name: ../../plugins/zhanshi/lib/index.js
- 完全退出 DeepSeek Harness(macOS:⌘Q)再打开;仅刷新页面不会重新加载 Host。重启后历史回合可从事件重新构建预览。
- 卸载:去掉上述
insert项,再完全退出并重开。
安装前请自行查看仓库源码与许可证,并理解插件在当前 DSH 进程权限下运行。
典型用法¶
本插件不负责生成图片或视频,也没有单独的 CLI。典型流程是:
- 在已启用 zhanshi 的 DSH 桌面会话中,让智能体通过
write/edit/present或 README 列出的受支持媒体工具,在本轮成功保存图片或视频。 - 回合结束后,在对话区回合末尾查看 zhanshi 预览区:图片可点开展开,视频用控件播放。
- 若官方已在同路径展示交付卡,插件会去重,避免重复卡片;独立路径或独立生成图仍会显示。
- 超大视频(超过 64 MiB 预览上限但可能已保存至 256 MiB)会提示通过「打开文件」等方式处理,而非在页内整段预加载。
README 注明:待运行态验收 — 单元测试或独立浏览器夹具不等于桌面重启后的真实验收;完全退出并重开后,仍需在实际会话中确认新插件已加载,以及图片、视频展示是否符合预期。
适用场景与注意¶
适合谁
- 经常在 DSH 桌面里跑图像/视频生成或截图工具,希望在同一回合末尾快速核对产物、少记路径的开发者。
- 需要与官方交付卡并存、且希望「非官方卡覆盖的同路径重复展示」被去重的场景。
注意事项
- 插件只展示它判定为本轮成功产出的媒体;误报/漏报与工具输出格式、bash 完成态、结构化字段是否完整有关,详见 README「收集和展示规则」。
- 视频预览有大小与分窗读取策略;大文件依赖 Host 的
openFile等能力,缺少时仍保留路径与普通文件链接。 - 社区目录 skillhub.cn 与 DeepSeek / 幻方无官方从属关系,安装与审计责任在用户侧。
结尾¶
zhanshi 把「本轮成功保存或交付的图片、视频」收到回合末尾的内联预览里,与官方交付卡同层,且不写入模型上下文。若你在桌面 DSH 里频繁产出媒体文件,可按 README patch 安装并在完全重启后于真实会话中验证。
- 目录页:https://www.skillhub.cn/plugins/yueyexiayu/dsh-zhanshi
- GitHub:https://github.com/yueyexiayu/dsh-zhanshi