dsh-mcp-diff

在 DSH Web 中把 filesystem MCP 与内置 edit/write 的文件修改统一渲染为可折叠的逐行差异卡片。

快速判断

安装前先看这几项

配置资料
配置资料完整
配置难度
简单
适合新手
可以尝试
兼容状态
声明兼容,尚未实测
验证状态
源码已审阅,未标记运行实测
本页目录(9)
中文教程

按照固定来源完成安装、配置与验证

教程包含独立 Profile、精确安装目标、配置证据、最小验证任务、回退和数据清理。

查看 dsh-mcp-diff 安装与配置教程 →
功能

这个插件能做什么

在 DSH Web 中把 filesystem MCP 与内置 edit/write 的文件修改统一渲染为可折叠的逐行差异卡片。

适合谁

需要代码审查、代码评审、Git能力的用户

准备

安装前准备

  • DSH Web Profile(必需)插件只提供 Web 客户端文件差异视图。
  • filesystem MCP serverName(必需)默认必须命名为 filesystem 才能匹配 MCP 工具键。
安装

如何安装 dsh-mcp-diff

下面的命令使用本站核验的 DSH 基线,并锁定插件版本或 Git commit,避免默认分支变化导致安装内容漂移。本站已核对安装目标,但尚未在你的系统和 Profile 中实际执行。

安装到
web Profile
DSH 基线
0.1.1-rc.2
安装来源
GitHub 源码(锁定提交)
固定目标
github:Fakek0f3sT/dsh-mcp-diff#b024c987a91c
  1. 01
    检查 Node.js 与 pnpm

    DSH 当前基线需要 Node.js 22.19 或 Node.js 24 及以上,并且 pnpm 必须已在 PATH 中。先运行:

    环境检查
    node --version && pnpm --version
  2. 02
    安装到 Web Profile

    这条命令会把插件加入 web Profile,并在插件声明 DSH Bundle 时自动加入配置层。

    GitHub 源码(锁定提交)
    npx --yes @deepseek-ai/dsh@0.1.1-rc.2 plugin --profile web add github:Fakek0f3sT/dsh-mcp-diff#b024c987a91c
  3. 03
    如遇构建脚本拦截

    GitHub 源码插件可能通过 prepare 构建。pnpm 10 及以上会先阻止未授权构建;只把终端明确提示的包名加入该 Profile 的 pnpm-workspace.yamlallowBuilds,审阅脚本后再重复上一步,不要使用全局放行。

  4. 04
    确认 Bundle 已进入配置

    安装成功后先导出组合配置,不启动 Agent。输出中应能找到包名 dsh-mcp-diff或对应 Bundle 层。

    检查配置
    npx --yes @deepseek-ai/dsh@0.1.1-rc.2 --profile web --dump-config
  5. 05
    启动并完成最小验证

    启动 Web Profile 后,只测试一个与插件功能直接相关的最小任务,并检查日志、文件、网络和凭据访问是否符合预期。

    启动 DSH Web
    npx --yes @deepseek-ai/dsh@0.1.1-rc.2 web
卸载与回退

测试不通过时先停止 DSH,再从同一 Profile 移除插件。移除后重新运行配置检查,确认对应 Bundle 层已经消失;插件自己创建的数据和外部账号配置可能需要另行清理。

从 Web Profile 移除
npx --yes @deepseek-ai/dsh@0.1.1-rc.2 plugin --profile web remove dsh-mcp-diff
配置

插件专属配置

MCP serverName
默认匹配 mcp__filesystem__edit_file 和 write_file;其他名称需改源码重建。

Bundle 自动插入的客户端行 · yaml。示例中的账号、路径和凭据占位符必须替换,不要提交真实密钥。

复制 Bundle 自动插入的客户端行 配置
- insert:
    - id: mcp-diff
      name: dsh-mcp-diff

核对配置证据外部链接,在新标签页打开

  1. 重启 dsh web 并硬刷新浏览器。
  2. 先确认 MCP serverName 正好是 filesystem;不要误以为插件会修改 MCP 配置。
验证

配置检查与成功结果

  1. 01
    在可丢弃文件上分别触发内置 edit 与 filesystem MCP edit_file。

    期望结果:两类调用都显示可折叠 Diff,标题含路径和增删行数。

  2. 02
    检查折叠卡片中的文件内容。

    期望结果:只显示当前会话已有的工具参数或结果,没有额外网络请求。

使用

第一次使用建议这样验证

  • 修改一个只有三行的测试文本,比较 MCP edit_file 与内置 edit 的差异卡片。
权限

它可能接触哪些数据和能力

源码审阅未见高权限能力

不新增文件写入或网络能力,但会读取当前会话里 edit/write 工具的路径、参数和结果并在浏览器中展开显示,可能暴露原本已进入会话的文件内容

数据存储:未发现独立持久化;差异来自当前浏览器会话内已有的工具调用数据。

请注意:源码已审阅”说明本站检查到的证据范围,不等于安全认证。重要工作区应锁定版本、备份数据并在最小权限下测试。

排查

故障排查与数据清理

MCP 修改仍是普通工具卡
核对 serverName 是否为 filesystem;其他名称需要修改 TOOL_KEYS 并重新构建。
安装后没有变化
重启 DSH Web,确认 /plugins/dsh-mcp-diff/client.js 可以加载,再硬刷新页面。
卸载后的清理步骤
  1. 从 web Profile 移除插件并重启。
  2. 确认内置 edit/write 恢复为 DSH 原生渲染;测试文件是否保留由用户自行决定。
深入审计:兼容性、数据流与来源
证据

兼容性与审阅记录

兼容性说明

0.1.1 作者声明在 DSH 0.1.1-rc.2 测试,未声明 0.1.2-alpha.1;52DSH 完成固定提交静态审阅,未安装或加载客户端 Bundle

数据流

当前会话的 MCP 或内置文件工具调用参数与结果 → 浏览器内差异解析与 LCS → 可折叠 diff 卡片;没有独立服务端路由或外发请求。

源码审阅结论

已审阅客户端注册、工具名匹配、参数解析、服务端 unified diff 解析和渲染。插件只消费 DSH 页面已有数据,不执行文件操作;默认仅识别 serverName=filesystem,其他 MCP serverName 需要改源码重新构建,且覆盖内置 edit/write 渲染可能受上游客户端 API 变化影响。

来源与维护信息

本页根据固定提交的仓库、包清单和本站审阅资料生成。版本变化后,请重新核对作者说明。

来源快照
GitHub Topic 采集记录
固定提交
b024c987a91c
许可证
MIT
主要语言
TypeScript
中文资料
有完整中文配置资料