Introduction¶
The Web interface of DeepSeek Harness (DSH) typically displays a Diff view only for the built-in edit and write tools when handling file changes. When an agent modifies files through the @modelcontextprotocol/server-filesystem MCP server, or directly using Bash commands, the chat interface often shows only raw terminal output or generic blocks, lacking an intuitive change preview.
The fakek0f3st/dsh-mcp-diff plugin aims to solve this problem. It unifies the presentation of file changes from different sources, converting parseable file operations into structured Diff cards.
Plugin Overview¶
This is a client-side plugin for DeepSeek Harness (Web GUI). It currently has 4 stars, is maintained by Fakek0f3sT, and follows the MIT license.
The plugin overrides the default rendering logic to convert filesystem changes—whether from MCP calls or Bash commands—into unified Diff cards. By default, these cards are collapsed; clicking to expand them reveals line-by-line highlighted changes (green for additions, red for deletions).
Core Features¶
The plugin covers multiple file operation scenarios:
- MCP filesystem support: covers
edit_file,write_file,move_file, andcreate_directory. - Built-in tool unification: covers DSH’s built-in
editandwritetools, unifies context block handling, and avoids duplicate display of context lines. - Bash command parsing: can parse common file-changing Bash commands, including:
- Heredoc replacement (
.replace()scripts). - Inline editing such as
sed -i/perl -pi. - Write operations such as
cat > file <<EOF,tee, and redirection (>,>>).
- Heredoc replacement (
- Card rendering:
- Diff cards are collapsed by default, with the title showing the path and
+N -Mchange statistics. move_fileandcreate_directoryrender as compact information cards.
- Diff cards are collapsed by default, with the title showing the path and
- Interactivity: all paths displayed in cards are clickable links, opening the corresponding file in the IDE editor when clicked.
Installation and Activation¶
Install the plugin through the official CLI:
dsh plugin --profile web add dsh-mcp-diff
After installation, restart the dsh web service to load the plugin set, then refresh the Web GUI page for the changes to take effect.
Usage and Limitations¶
The plugin attempts to parse file-change commands issued by the agent. For Bash shapes it cannot confidently recognize (such as chmod, ln, rsync, dd, git state changes, etc.), it retains the plain terminal card, preferring omission over incorrect rendering.
Additionally, the plugin intentionally does not render dynamic paths ($VAR), wildcards, or unsupported shapes. This is to ensure display accuracy.
For explicit destructive commands (such as rm -rf, chmod 777, git reset --hard, etc.), the card includes a warning label indicating that the command is a destructive operation.
Compatibility and Feedback¶
The plugin has been tested and verified with DSH 0.1.1-rc.2. It depends only on platform modules (React, UI primitives, etc.) and does not rely on the internal structures of DSH’s UI utilities.
More details and source code are available at:
* GitHub repository
* Community directory page