快速了解
它能做什么
在 DSH 网页聊天中,将智能体的编辑和写入调用显示为始终展开的并排差异。
本站提供的是中文说明,不代表该项目或 Plugin 自身提供中文界面;语言支持请以上游文档为准。
Web Profile
Not declared in supplied evidence
证据已验证
核对日期 2026/9/11 UTC 14:01
有代码证据的贡献
它为 DSH 增加什么
将折叠的编辑和写入行替换为并排差异视图,提供改单词高亮、每个文件的行数摘要和可配置显示设置。
机制证据 ↗选择前先看
此 DSH 网页配置插件会把折叠的文件编辑行转换为内联的 Git 风格差异卡片。它并排显示旧代码和新代码、增删内容、改单词强调、文件变更行数,并提供可选语法着色、行号和缩进控制。设置会跟随 GUI 的语言与主题令牌。
适合谁
希望直接在对话中查看智能体文件改动的 DeepSeek Harness 网页 GUI 用户。
常见任务
- 无需打开折叠的编辑行即可审阅每个文件改动。
- 将改单词高亮切换为仅行级高亮,以减少视觉干扰。
- 为差异卡片开关行号、缩进裁剪或语法高亮。
权限与数据
提供的证据将其描述为浏览器中的差异渲染器,未说明权限模型。
权限- 在 DSH 网页 GUI 中渲染编辑和写入工具调用内容。
- 使用对话中已显示的编辑和写入内容来渲染差异。
- 文档称设置选项保存在 DSH 设置中,并在重启后保留。
局限
- 提供的证据未声明 Harness 版本范围。
- 无法可靠定位的差异块会使用窗口相对行号,可能不等于文件真实行号。
- 未知扩展名的文件不会进行语法着色。
DSHub 已核对
- 已验证固定 Git 源、包清单和 bundle patch 结构。
- 包声明了 web 客户端平台,README 记录了内联差异行为。
- 已验证 1.6.1 版本的注册表身份,但未审计包内容。
DSHub 未核对
- 未根据提供的证据实际执行安装或运行行为。
- 未验证其与某个特定 Harness 版本的实际兼容性。
固定版本安装
安装 dsh-inline-diff
这个Plugin Bundle没有 DSH Plugin 安装操作,请根据源码文档使用真实交付方式。
维护者原文
项目 README
dsh-inline-diff
English | 简体中文
See every file your agent edits, right in the chat. No clicking required.
By default the DeepSeek Harness web GUI collapses each file edit into a tiny one-line row. This plugin replaces those rows with an always-open, side-by-side diff: old code on the left, new code on the right, additions in green, deletions in red, a colored edge bar on every changed row, a hover highlight that tracks the row under your cursor, and a +N −N summary for every file.
| Without | collapsed rows, one click per file to see what changed |
| With | the full diff right there, in the conversation |
What it looks like
A typical edit: changed lines paired side by side, with the exact words that changed highlighted. Pairs are matched by similarity, so an insertion placed above an edited line (a comment, a blank line) does not steal the changed line's counterpart — unmatched lines simply render as plain additions or removals:

Words or whole lines
By default a changed line gets double highlighting: the row is tinted green/red, and on top of that the exact words that changed get a stronger highlight. Prefer it calmer? Open Settings → Plugins → Inline diff and pick Lines only. You keep the row tint but lose the word chips. The choice is saved in your DSH settings and survives restarts.
Line numbers
Every row carries a 1-based line number in a muted gutter, on both the old and the new side. The numbers come from the harness itself: when an edit settles, the plugin anchors each served hunk to its true position, and for hunks without an anchor the card reads the file through a fenced workspace route and locates the changed block verbatim. A hunk that cannot be located (a block appearing more than once, a drifted file, no host half) falls back to window-relative numbering from the hunk's first row, so a number always renders — but it may not be the file's true line. Prefer it cleaner? Pick Off under Settings → Plugins → Inline diff → Line numbers and the gutter disappears entirely. Like the other choices, this is saved and survives restarts.
Indentation
Edits often arrive indented with their surrounding code, which pushes the actual change toward the middle of the card. By default the diff strips the leading whitespace every non-empty line shares, so changes sit closer to the gutter; a small ⇤ N badge on the file header shows how many characters were removed. Prefer seeing the code as written? Pick Keep under Settings → Plugins → Inline diff and the original indentation stays. Like the highlighting choice, this is saved and survives restarts.
Syntax highlighting
Code rows are colored by a bundled highlight.js (the same language set the Solution Explorer sidebar uses), so edits read like an editor: keywords in your accent color, strings green, comments muted, and so on. The tokens read the same --shiki-token-* variables your GUI's code blocks render with, and the language is detected from the file's extension; unknown extensions stay plain. Prefer plain text? Pick Off under Settings → Plugins → Inline diff → Syntax highlighting. Like the other choices, this is saved and survives restarts.
dsh-stylevault compatible: its Colors panel overrides exactly those --shiki-token-* variables, so restyling your theme there restyles the diff cards too.
Themes
Every color on the card, from surfaces and text to borders and the green/red diff tints, is derived from your GUI's theme tokens (Settings → Appearance). The card follows light mode, dark mode, and any custom accent colors instead of a fixed palette. The syntax token colors ride the same system (the GUI's shiki code palette); before any theme variables exist they simply render as the card's plain text color.
The same compact edit under a custom theme — dsh-stylevault overrides exactly those token variables, so a restyle there restyles every diff card:

Language
The settings card comes with English and Simplified Chinese text. It follows the GUI language picked under Settings → General → Language; when nothing is stored it follows your browser. A missing translation falls back to English.
Install
With the dsh CLI (easiest):
dsh plugin --profile web add github:JanEickholt/dsh-inline-diff
From GitHub (manual, same result):
Add the plugin to your profile's
package.json:"dsh-inline-diff": "github:JanEickholt/dsh-inline-diff"then run
pnpm installin the profile directory.Add it to your profile's
cordis.patch.yml:- insert: - id: inline-diff name: 'dsh-inline-diff'Refresh the GUI page. Done. Every edit and file write now renders as an inline diff.
Manual: copy this repository into <profile>/node_modules/dsh-inline-diff/ and add the same patch row.
Contributing
Contributions of any kind are welcome: code, bug reports, docs, design ideas, screenshots, or just telling us what confused you. Open an issue or a pull request; nothing is too small.
Layout
The client ships as a single self-contained file because DSH loads it as one module. Its source of truth is src/, split per concern (line-diff.js, render.js, style.js, i18n.js, …). pnpm build (or pnpm test, which builds first) concatenates those blocks into lib/client.js. Edit files under src/, never lib/client.js directly. The two-tab indentation on code lines mirrors the module-loader wrapper the generated file is wrapped in; blank-line placement between blocks is added by the build.
About this project
This plugin was written by an AI coding agent (with a human steering it).
License
MIT
有意识地管理
安装与管理
前置条件与目标 Profile
目标: Web Profile
交付方式: Git Bundle — JanEickholt/dsh-inline-diff#281abd71f9afc66b199c7ca7f8828d4ebd002a56。
验证、更新与移除
显示生命周期命令
dsh plugin --profile web list兼容性与访问范围
Web client bundle; peer dependencies declared: Not declared in supplied evidence。
风险事实
证据与编辑审查Manifest、Bundle patch、分发与新鲜度
不可变证据
审查状态与源码活动
建议使用固定 Git 源进行可审查的安装,并在自己的 web 配置中评估运行行为。
AI 审查于 2026/9/11 UTC 14:01。GitHub 事实核对日期: 2026/9/11 UTC 14:01。
自当前证据基线以来,没有记录到重要源码变化。