DeepSeek Harness 插件:dsh-mcp-diff

前言

DeepSeek Harness (DSH) 的 Web 界面在处理文件变更时,通常只对内置的 edit 和 write 工具展示 Diff 视图。当智能体通过 @modelcontextprotocol/server-filesystem MCP 服务器,或者直接使用 Bash 命令修改文件时,聊天界面往往显示的是纯终端输出或通用块,缺乏直观的变更预览。

fakek0f3st/dsh-mcp-diff 插件旨在解决这一问题。它统一了不同来源的文件变更展示方式,将可解析的文件操作转化为结构化的 Diff 卡片。

插件介绍

这是一个为 DeepSeek Harness (Web GUI) 提供的客户端插件,目前有 4 个 Star,由 Fakek0f3sT 维护,遵循 MIT 许可证。

该插件通过覆盖默认的渲染逻辑,将文件系统的变更(无论是通过 MCP 调用还是 Bash 命令)转化为统一的 Diff 卡片。默认情况下,这些卡片是折叠的,点击展开后可查看逐行的高亮变更(绿色代表新增,红色代表删除)。

核心功能

插件覆盖了多种文件操作场景:

  1. MCP 文件系统支持:覆盖 edit_file、write_file、move_file 和 create_directory。
  2. 内置工具统一:覆盖 DSH 的内置 edit 和 write 工具,统一上下文块的处理,避免重复显示上下文行。
  3. Bash 命令解析:能够解析常见的文件变更 Bash 命令,包括:
    • Heredoc 替换(.replace() 脚本)。
    • sed -i / perl -pi 等行内编辑。
    • cat > file <<EOF、tee、重定向(>、>>)等写入操作。
  4. 卡片渲染:
    • Diff 卡片默认折叠,标题显示路径及 +N -M 变更统计。
    • move_file 和 create_directory 渲染为紧凑的信息卡片。
  5. 交互性:卡片中显示的路径均为可点击链接,点击即可在 IDE 编辑器中打开对应文件。

安装与启用

通过官方 CLI 安装插件:

dsh plugin --profile web add dsh-mcp-diff

安装完成后,需要重启 dsh web 服务以加载插件集,随后刷新 Web GUI 页面即可生效。

使用与限制

该插件会尝试解析智能体发出的文件变更命令。对于它无法自信识别的 Bash 形状(如 chmod、ln、rsync、dd、git 状态变更等),插件会保留纯终端卡片,宁可漏掉也不要产生错误的渲染。

此外,对于动态路径($VAR)和通配符,以及不支持的形状,插件有意不进行渲染。这是为了确保展示的准确性。

对于明确的破坏性命令(如 rm -rf、chmod 777、git reset --hard 等),卡片会附带一个警告标签,提示该命令为破坏性操作。

兼容性与反馈

该插件在 DSH 0.1.1-rc.2 版本上测试通过。它仅依赖平台模块(React、UI primitives 等),不依赖 DSH 内部的 UI 工具内部结构。

更多细节与源码,可访问:
* GitHub 仓库
* 社区目录页

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

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

小夜