前言¶
在 DSH web 会话中,git diff 常以 markdown 代码块或 bash 工具行出现。如果只在聊天窗口里查看,逐行检查、复制原始 diff、把行级意见写回 composer 都不够顺。yangzhe1991/dsh-code-review 是一个 DSH Web 插件:在出现 git diff 时,提供一个 open in new tab 按钮,把 diff 打开到独立浏览器标签页中做评审。
这是什么¶
仓库为 yangzhe1991/dsh-code-review,许可证为 MIT。它解决的是一个具体流程:会话里出现 git diff 后,用独立页面查看双列 diff,进行语法高亮、行内评论,并把评论以约定格式写入 DSH composer。
核心能力¶
打开与展示¶
- 将
git diff输出在独立浏览器标签页中打开为代码评审页。 - 按钮可出现在 markdown diff 代码块和 bash 工具行上,包括折叠行。
- 评审页通过 Blob URL 打开,不依赖服务器路由。
- 流式输出时,按钮在内容稳定约 1 秒后才出现,避免半流式 diff 产生损坏页面。
双列查看与高亮¶
- 双列并排查看旧文件与新文件,各自带行号。
- 新增行绿色、删除行红色,连续删除后添加的块会逐行配对。
- 支持行内字符级高亮。
- 支持基础语法高亮,覆盖关键字、字符串、注释和数字。
- 保留
@@hunk 分隔,并将多文件 diff 分成按文件区块,带状态徽章。
导航与查看辅助¶
- 文件导航侧边栏,点击文件跳转。
- 顶部统计栏显示
+N −M · F files,并提供复制原始 diff 与可折叠原始文本。 - 页面继承 DSH 主题颜色,浅色/深色模式保持一致。
- 整页自然滚动,长行换行。
- 跟随 DSH 界面语言显示中文或英文 UI。
行内评论¶
- 可以在行号处添加行内评论。
- 评论可以以
Looks Good To Me或普通评论提交。 - 提交后,评论以
file:line — comment行写入 DSH composer。
安装与启用¶
先安装插件:
dsh plugin --profile web add @yangzhe1991/dsh-code-review
安装后需要重启 Web GUI:Ctrl+C 停掉 dsh web 进程并重新运行,然后刷新浏览器标签页。dsh plugin 会运行 pnpm add,并自动把 bundle 追加到 dsh.profile.bundles。
本地开发也可以用链接方式安装:
dsh plugin --profile web add link:/path/to/@yangzhe1991/dsh-code-review
使用 link: spec 时,需要重新构建并重启 dsh web。
典型用法¶
1、在会话中出现 git diff 后,点击 markdown diff 代码块或 bash 工具行上的 open in new tab 按钮,打开独立评审页。
2、在评审页中查看双列 diff、行号、新增/删除颜色、字符级高亮、语法高亮、文件侧边栏和顶部统计栏。
3、悬停任意行号并点击,添加行内评论;完成所有评论后,选择 Looks Good To Me 或普通评论提交。
4、提交后,评论会写成 file:line — comment 行进入 DSH composer,可直接发送给 agent。
兼容与运行要求¶
- 兼容
dsh >= 0.1.2-alpha.4,自0.1.5起完全支持;dsh 0.1.0-rc.x仍通过 legacy snapshot path 支持。 peerDependencies要求react ^18.2.0,以及@deepseek-ai/dsh-client-runtime、@deepseek-ai/dsh-client-ui-conversation、@deepseek-ai/dsh-client-ui-layout、@deepseek-ai/dsh-client-ui-slots均为^0.1.0-rc.6。- 插件以 DSH Web 插件形式运行,安装前建议先检查仓库源码和 MIT 许可证。它会在 DSH 客户端界面中运行,并按当前 DSH 进程权限对待。
适用场景¶
适合在 DSH web 中查看 git diff、做人工检查、并把行级意见写回 composer 的场景。它在出现 diff 的代码块或工具行上增加一个打开按钮,适合需要比聊天窗口更完整评审视图的流程。
链接¶
- GitHub:
https://github.com/yangzhe1991/dsh-code-review - 目录页:已核实事实中未提供可确认的 URL,本文不给出目录页地址。