DSH 插件市场DeepSeek Harness 社区插件目录

dsh-inline-diff

未验证 开发与运维 ★ 3 1.3.0

Build workspace for the DSH Inline Diff plugin (inline diff cards, language detection, syntax highlighting).

一句话定位

Build workspace for the DSH Inline Diff plugin (inline diff cards, language detection, syntax highlighting).

安装方式

在 DSH 的 web profile 中执行下面的命令;装完刷新页面即可。

$ dsh plugin --profile web add 'git+https://github.com/Him666233/dsh-inline-diff.git#397b9d54737739943e01e045c1960d9a7858aa08'

兼容的 DSH 版本

未声明

作者与热度

Him666233 · ★ 3 · 更新于 2026-11-08

关于这个插件

DSH Inline Diff · 内联差异

中文(默认)| [English](README.en.md)

> 原创声明(重要):本项目是完全原创的作品,与 [JanEickholt/dsh-inline-diff](https://github.com/JanEickholt/dsh-inline-diff) 以及任何其他同名插件、仓库或项目没有任何关系。本项目没有参考、复制或移植上述项目;两者的实现方式、模块划分、代码组织与最终渲染效果完全不同。部分功能相似(对话内联差异展示)纯属雷同巧合——本项目是在完成实现之后搜索同类插件时,才发现存在同名/相似项目。本项目不是任何其他项目的衍生作品、复刻作品或分支,请勿混用或混淆。英文声明见 [README.en.md](README.en.md)。

在 [DeepSeek Harness](https://github.com/deepseek-ai) 的对话流里,为每一次文件修改就地渲染可展开的差异卡片,并提供左右对照、行内字符级高亮、移动块/被动行号说明和读取行范围展示;1.1.0 起还会自动识别被修改文件的语言,在内联卡片与放大弹窗中显示语言徽章并按语言做语法高亮(配色刻意避开红绿,避免与新增/删除标记混淆);1.2.0 起命令与工具卡片用 IN/OUT 两段独立色条分别表达输入与输出状态;1.2.5 起行号列带「旧 / 新」图例,放大弹窗的说明横幅与设置弹窗标题栏保持固定;1.2.6 起外壳与弹窗颜色严格跟随当前主题(官方原版主题与第三方皮肤均可正确切换);1.3.0 起提供完整的中英双语界面与文档,并可在设置页独立切换语言(默认中文)。命令、搜索、网页与通用工具调用还可切换为默认展开 IN/OUT 的「展开风格」。

作者:[Him666233](https://github.com/Him666233) · 仓库:[Him666233/dsh-inline-diff](https://github.com/Him666233/dsh-inline-diff) · npm:[@him666233/dsh-inline-diff](https://www.npmjs.com/package/@him666233/dsh-inline-diff) · License:[MIT](LICENSE)

> 中文为主;插件内部名称、设置项和 UI 全部使用中性描述,不包含第三方产品品牌字样。

> 本仓库的「展开风格」指展开式、平板式、类现代编码代理的透明输出效果。

截图

> 以下截图在关闭第三方主题、官方原版外观下生成(深色为主,另附浅色外观),示例内容仅用于展示插件行为,不包含第三方主题或桌宠素材;文件卡片为默认的「展开风格」,命令/工具行截图展示开启对应「展开风格」后的效果。截图流程:先关闭正在使用的第三方主题 → 切换界面语言 / 明暗外观 → 分中文、英文各截一套 → 再恢复原主题与外观。中文截图位于 [docs/](docs/),英文截图位于 [docs/en/](docs/en/),文件名一一对应。实际外壳颜色会跟随当前主题与明暗外观变化。

内联差异卡片

编辑/写入工具调用在原位置显示修改对比:绿色新增、红色删除、精确旧/新行号,行内变化只高亮真正改动的片段;每个修改点的行号列上方都有「旧 / 新」图例。

语言识别与语法高亮

按文件路径自动识别 57 种语言,在卡片头部文件路径旁与放大弹窗副标题显示语言徽章,并按识别结果做避开红绿的语法高亮;设置页内可展开查看支持的语言列表。

移动块与被动行号

完全相同的连续代码块纯粹移动时,删除侧标「移至 新 Lx–Ly」、新增侧标「移自 旧 Lx–Ly」;两个修改点之间的未改区段显示旧→新行号范围与「行号顺延 ±N」。

左右对照放大

点击「放大」打开全屏对照。变更块模式按修改点分组、每个修改点横条滚动时吸顶;顶部「全文对照」按修改前/后整份文件逐行对齐。

命令与工具行(展开风格)

命令执行与其它工具调用默认展开 IN/OUT,输入段与输出段各自独立滚动并各自显示状态;失败会区分输入侧与输出侧。搜索/网页工具行使用同一套行样式。

读取行范围

Read 工具行保留 DSH 原生卡片与展开行为;折叠时在文件名右侧显示本次读取的实际行范围,单行、连续范围与多个不连续范围均支持。

设置面板

界面语言切换、原创声明、四项展示风格、三类卡片各自的外壳/内部配色、语法高亮四项设置都在同一个面板;弹窗标题栏固定,内容区域独立滚动。

浅色外观

插件读取宿主实际解析出的明暗外观:浅色外观下外壳转为主题浅色、内部切换为官方浅色代码区,字色同步转深。

功能

  • 逐次内联差异:edit / write / str_replace_editor 每次调用单独一张卡片,不等待整轮结束。
  • 精确行号与「旧 / 新」图例:旧文件行号、新文件行号双栏显示;每个修改点的横条下方有一行与行号列对齐的「旧 / 新」图例(有精确行号时显示),删除行的旧行号、增加行的新行号分别用红/绿系轻微染色并加粗。只有一侧行号的修改点(新建文件或纯删除)只显示实际存在的那一侧图例,例如新建文件只显示「新」。多修改点各有独立表头,写明 旧 Lx–Ly → 新 Lm–Ln 与 +/− 统计。
  • 行内字符级高亮:替换行只把真正变化的 token 标深红/深绿,避免整行染色;同一处替换中两侧共享的空白与标点会并入改动区,连成一条连续高亮带,不会切成零散词块(真正共享的单词仍留白)。孤立的空白/标点差异不会被误标成改动。
  • 移动识别:完全相同的连续代码块纯粹移动时,删除侧标「移至 新 Lx–Ly」、新增侧标「移自 旧 Lx–Ly」,多行移动给出完整目标范围;边界空行不影响识别。单行移动按显示宽度判定(CJK/全角按 2 格计,≥12 格才标注),多行移动最多识别 120 行。
  • 被动行号位移:未改区段显示「N 行未修改」、旧→新行号范围与「行号顺延 ±N」,用于说明插入/删除/移动造成的被动换行。
  • 左右对照:变更块模式按修改点分组;全文对照模式对整份修改前/后文件逐行对齐,超过 4000 行时截断并提示。
  • 固定表头与说明横幅:内联卡片和放大弹窗里的文件/修改点横条滚动时吸顶;放大弹窗的说明横幅(历史回放、行号待定、全文对照不可用等)与「修改前/修改后」栏固定在标题下方,滚动条只属于对比内容区域,不会盖住它们。
  • 文件语言自动识别:按文件路径识别 57 种语言与标记格式;识别顺序为「复合扩展名 → 特殊文件名 → 普通扩展名 → 无扩展名脚本的 shebang 首行」。.d.ts / .min.js 等复合扩展名,Dockerfile(含 Dockerfile.dev)/ Makefile / CMakeLists.txt / nginx.conf / Jenkinsfile / Cargo.toml / .env / .editorconfig / Gemfile / .bashrc 等特殊文件名,以及 #!/usr/bin/env node 等脚本首行都会参与识别;.txt / .log / LICENSE / .gitignore / go.mod 等显式文本文件标记为纯文本并跳过高亮。
  • 语言徽章:卡片头部文件路径旁与放大弹窗副标题处显示中性小徽章,可设为短代码 / 全名 / 隐藏(「隐藏」隐藏全部徽章,含纯文本与未知语言);徽章可见时,识别不到语言按「未知语言」设置显示虚线徽章或完全不显示,纯文本文件显示「纯文本」标记。
  • 语法高亮:内联卡片与左右对照弹窗(变更块与全文对照)中的所有代码行按语言着色;配色被约束在蓝→紫区间(色相 180°–285°),红、绿、橙、黄、品红及其相近色一律不参与高亮——红绿只用于新增/删除语义,两类颜色不会混淆。每个前景色在官方深色/浅色代码底色上的对比度 ≥ 4.5:1,在增删行与行内改动底色上仍可读。关闭高亮、未知语言与纯文本时回退默认前景色,浅色/深色外观下都保证可读。
  • 字体强调:开启时关键词、类型、函数名与标签加粗,注释斜体,链接下划线;关闭后只保留颜色区分。
  • 紧凑行号栏:行号栏收窄、内容与边框留白,代码正文起点更靠左;新增/删除行的整行底色与左侧色条仍通栏延伸到卡片/弹窗边缘。
  • 读取范围外显:Read 行折叠时显示 L x – L y(单行 L x、未知结尾 L x 起,多范围用 · 分隔,最多 4 段后以 … 省略);展开时自动隐藏,不覆盖 DSH 原生展示。
  • 四项展示选项:文件修改卡片、命令执行行、其它工具调用可选「展开风格 / DSH 原生」;过程折叠可选「不折叠 / DSH 原生」。
  • 命令执行行:bash / pwsh / win_bash 使用终端图标、等宽标题与类终端布局,头部显示状态与非零退出码;IN/OUT 各自独立滚动(IN 限高更矮),滚动条贴卡片右边缘。
  • 搜索与网页工具行:grep / glob / web_search / web_fetch 也纳入「其它工具调用」的展开风格,显示类别图标、关键词/路径/URL 摘要、匹配数/文件数/来源数/HTTP 状态徽标,以及默认展开的 IN/OUT。
  • 工具行差异化:命令行使用终端图标、等宽标题和绿色强调;搜索类工具使用放大镜图标,网页类工具使用地球图标;通用工具调用带「工具调用」标签。所有展开风格工具行与内联差异卡片共用同一款「轨迹」胶囊按钮。
  • IN/OUT 分段状态:命令执行卡片与其它工具调用卡片的左侧色条按「输入 / 输出」两段独立显示状态——IN 段:准备参数 / 参数已提交等待输出=主题色(脉动)、输入侧完成=绿色、输入侧失败=红色;OUT 段:执行中=主题色(脉动,含「执行中…」占位)、输出成功=绿色、执行失败 / 非零退出码 / 被信号中止=红色、用户中止=警告色。错误会按 INVALID_ARGS / UNKNOWN_TOOL / ABORTED_BEFORE_DISPATCH(输入侧)与其余执行期错误(输出侧)分别归因,缺少错误码时若原始参数不是合法 JSON 对象也归为输入侧;输入输出互不干扰,输入侧失败时 OUT 段标为「跳过」并保持中性色。
  • 分段文字配色:输入侧失败时 IN 区代码为红字,输出侧失败时 OUT 区代码为红字;正常内容使用跟随内部配色与浅色/深色外观的默认前景色,浅色内部配色下不会出现浅底浅字。运行/准备中的分段色条按状态做明暗呼吸(脉动);标签与分隔线也使用内部配色 token。
  • 壳 / 内双色层(三类卡片统一支持):文件修改卡片、命令执行卡片、其它工具调用卡片都使用同一套「外壳 + 内部」结构。外壳、标题条、文件条与设置弹窗使用当前主题自身的外壳色(第三方主题会呈现它自己的色调);派生颜色在 body 层解析,因此官方主题(token 定义在 body)与皮肤主题(token 定义在 :root)都能正确跟随,切换官方/原版外观不会残留上一个主题的色调。内部差异行、命令执行与工具 IO 内容使用 DSH 官方外观的代码块底色(深色近黑偏灰、浅色近白),并配对应的明暗前景色。命令执行卡片不再出现整卡绿色蒙层;状态由头部状态点/标签、非零退出码与 IN/OUT 分段色条共同表达;失败文本只出现在对应的 IN / OUT 段内,卡片在 IO 面板处结束,不会在面板下方再追加重复错误行或额外外壳。
  • 每类卡片独立配色:设置里文件修改卡片、命令执行行、其它工具调用各自拥有「外壳配色 / 内部配色」选项——外壳可选自动(主题+外观)/ 浅色 / 深色,内部可选自动(官方外观)/ 浅色 / 深色 / 与外壳一致(即统一底色,不再拼色),三类互不影响。
  • 外观自适应(浅色 / 深色 / 跟随系统):插件读取宿主实际解析出的明暗外观(color-scheme):深色外观下外壳呈主题的深色色调、内部为官方深灰代码区;浅色外观下外壳变为主题的浅色/近白、内部变为官方浅色代码区,字色同步转为深色,避免浅底浅字或灰蒙蒙。
  • 不透明表面:第三方主题的卡片/弹层 token 常常是半透明的;插件在主题色之下垫了一层不透明底色,保证卡片、差异弹窗和设置窗口都可读,不会透出壁纸。设置弹窗的弹层表面取自主题分层 token(bg-layer-2)而不是遮罩用的 bg-overlay——官方深色主题下前者是 #2c2c2e 深灰、后者是中间灰,用后者会把整块面板冲成发白的灰色。
  • 外观细节对齐官方:卡片使用宿主圆角 token,IN/OUT 竖条为 2.5px 左描边并沿卡片底部圆角收尾,两段之间只保留一根细分隔线;放大弹窗与设置弹窗自身裁剪圆角,滚动条按区域分别贴边或内缩。
  • 大文件 / 历史回放降级:超出预算时退回工具元数据差异块并明确提示;历史回放无法全文对照或无法定位行号时,放大弹窗内说明原因并置灰「全文对照」。
  • 主题安全与配色安全:外壳、文字与边框默认取自宿主主题 token(--dsw-alias-*);语法高亮的前景色使用插件自带的受限调色板——蓝→紫、避开红绿、按深色/浅色分别校准对比度,其余颜色不写死;跟随 DSH 原生主题、第三方主题和明暗模式。配色安全由单元测试断言,任何引入红/绿高亮色的改动都会让测试失败。

兼容性

| 环境 | 支持情况 |

| --- | --- |

| DSH 桌面端(Desktop profile) | ✅ 已验证 |

| DSH Web UI(Web profile) | ✅ 代码兼容;需在该 profile 单独安装本插件 |

| 浏览器 / Electron 内

同分类对比

同一分类下 Star 最高的 5 个,便于横向比较。

插件作者 Star版本更新
brooks-lint hyhmrright 1.6K 1.9.1 2026-11-10
helm-d ADWMC 1.2K 0.0.0 2026-11-04
dsh-startup-screen 6shenhonghong9 814 1.3.0 2026-10-31
dsh-reverse-skill dhicoc 341 1.0.5 2026-10-08
dsh-startup-secret huzhengcai471-crypto 197 1.5.2 2026-10-29