dshbase

插件目录 / Developer / dsh-file-changes

dsh-file-changes

已验证 · 实测可装 mixin-ai

✓ 持续维护 基于 7 个官方 DSH 包

查看 GitHub ↗ ← 返回插件目录

0Stars
0Forks
0未关闭 issue
JavaScript语言
2026-08-14最近推送
跨平台平台

功能简介

DeepSeek Harness Web插件:每轮文件更改面板,带差异查看和文件系统显示。

✅
我们的评价
可用 — 实测通过,早期项目

DeepSeek Harness Web插件:每轮文件更改面板,带差异查看和文件系统显示。 实测能干净安装、正常启动。早期项目,但功能可用。

「已验证」表示我们的自动化 CI 在干净 profile 里实际执行了 dsh plugin add 并启动成功——仅此而已。功能描述与版本兼容性均为作者声明。这不是安全审计,也不代表对第三方代码的背书。

README

dsh-file-changes

A DeepSeek Harness Web plugin that
shows a file-change panel at the end of every answer. When a turn creates or
modifies files, the panel lists each one under the closing message with three actions:

  • Open 锟斤拷 click the file name to open it with the OS default application;
  • View diff 锟斤拷 a modal renders the turn's actual applied changes (whole-file
    content for new files) using the harness DiffBlock primitive;
  • Reveal 锟斤拷 locate and select the file in the OS file manager
    (macOS open -R, Windows explorer /select,, desktop Linux opens the
    containing directory). The action appears only on loopback access with a
    native opener available.

The panel complements the built-in "Produced" row: it adds created/modified
badges, per-file diffs, and per-file filesystem reveal.

Install

# from GitHub
dsh plugin --profile web add git+https://github.com/mixin-ai/dsh-file-changes

# from a local checkout
dsh plugin --profile web add link:/path/to/dsh-file-changes

Restart dsh web, then refresh the browser page.

How it works

  • Native mode 锟斤拷 the client half registers a conversation definition (like
    @deepseek-ai/dsh-client-ui-deliverables) that accumulates successful mutation
    tool calls from their presentation views (card: 'diff' hunks, or generic
    kind: 'edit' locations) into turn-scoped data published under the
    fileChanges key, and renders it through the chat view's
    conversation.chat.turnTail slot chain.
  • Code Mode (run_code) 锟斤拷 nested dispatches carry no presentation views
    on the wire, so the host half listens to tools/execute / tools/result
    for executions with a parent (Code Mode sub-calls), rebuilds change
    records from the write / edit / str_replace_editor arguments, and
    serves them over /api/file-changes/changes. The panel merges both
    sources, deduplicated by path.
  • Reveal 锟斤拷 POST /api/file-changes/reveal validates a JSON payload,
    loopback origin, and an absolute existing path before handing it to the
    platform opener.

Structure

File Role
lib/index.js Host half: nested-dispatch tap + the two HTTP routes
lib/client.js Browser bundle: turn accumulator + panel/diff/reveal UI
cordis.patch.yml Bundle patch mounting the dual-half row
smoke.test.mjs / client.test.mjs Host and client logic tests

Run the tests with:

node smoke.test.mjs && node client.test.mjs

Limitations

  • Files created indirectly by terminal commands (e.g. bash) are not
    detected 锟斤拷 the same vocabulary limit as the official produced-files row.
  • Host-side Code Mode records live in memory (2-hour / 2000-per-session ring);
    a server restart clears them.
  • The reveal endpoint trusts loopback same-origin JSON requests only.

License

MIT

安装

🧩 让 Agent 自动装(推荐)

装一次目录插件,之后本站所有插件都能让 DeepSeek Harness 自动找、自动装:

dsh plugin add dshbase-catalog

然后对 agent 说「帮我装 dsh-file-changes」,它会在目录里找到并自动安装。文档:dshbase-catalog · 已验证场景包。

该插件是 GitHub 源码(未发 npm)——直接从仓库装:

Web profile:

dsh plugin --profile web add github:mixin-ai/dsh-file-changes

Headless(CLI)profile:

dsh plugin --profile headless add github:mixin-ai/dsh-file-changes

实测报告

验证通过:从 GitHub 源码完成 L1 安装 + L2 加载 + L3 运行(dsh 0.1.0-rc.6)。

使用场景

扩展 agent 的编码能力面——给它一个新工具、工作流或集成,让它接手以前做不了的开发任务。

适合谁

想让 dsh 在真实代码库上像队友一样干活的开发者——能改、能跑、能验证,而不只是回答问题。

二次开发建议

工具/命令面就是缝:暴露更多 SDK 能力、加更聪明的上下文接线,或收紧改代码与验证之间的循环。

安全:尚未扫描——我们的每日静态扫描将很快覆盖它。

分享徽章

Developer 里更多

浏览全部 7797 个插件 →