Introduction¶
DeepSeek Harness (DSH) uses a plugin-based architecture. When debugging agents or performing long-running coding tasks, developers usually need to observe the AI’s actions in real time or have a fully featured code editor in the browser. The dsh-vsceditor plugin is designed to solve this problem by embedding code-server in the DSH Web UI, providing a complete VS Code environment.
Basic Information¶
- Plugin Name: dsh-vsceditor
- Maintainer: k-ying
- License: MIT
- Category: Client
- GitHub: k-ying/dsh-vsceditor
Core Features¶
The plugin mainly addresses the limitations of browser-side editors, the inability to monitor AI code changes in real time, and process management issues.
-
Three mutually exclusive backend modes
- Embedded: The default mode, which embeds code-server inside the DSH interface.
- Local: Syncs AI changes to a local desktop VS Code instance.
- Off: Disconnects all editor connections.
-
An authentic VS Code environment
- Uses code-server 4.x with the full kernel.
- Supports extensions, themes, keyboard shortcuts, and the Git panel.
-
Follow mode and change view
- When the agent calls the
writeoredittool, the editor displays a red/green diff view and scrolls to the first changed line. - DSH renders its own read-only Diff tab, making it easy to view from either side.
- Diffs accumulate until the next conversation turn begins editing, when they are cleared.
- When the agent calls the
-
File locking mechanism
- While the agent is writing a file, the file becomes read-only in the editor to prevent conflicts between manual and AI overwrites.
- It is automatically unlocked after writing completes.
-
No orphan processes
- code-server runs under a Watchdog process that periodically sends heartbeats to the DSH host.
- If the DSH host crashes, is force-quit, or upgraded, the Watchdog terminates the entire editor process tree to ensure no residual processes remain.
-
Workspace follows session
- When the workspace of the current session changes, the editor automatically switches to the corresponding directory and restarts code-server.
-
Persistent Iframe
- The editor page remains attached to
<body>; switching tabs only hides/shows it and does not recreate the session.
- The editor page remains attached to
-
Settings page integration
- A configuration card is provided under Settings → Plugins → Plugin Configuration, allowing control of the Follow toggle, auto-start, port, and code-server path.
-
Zero dependencies
- Both the host and client are hand-written in native JavaScript, without relying on npm packages.
Installation and Enablement¶
- Install the plugin
Install it via the command line:
dsh plugin --profile web add github:k-ying/dsh-vsceditor
-
Configure embedded mode (required)
The plugin does not bundle the code-server runtime (about 100MB). To use the default Embedded mode, you need to install code-server.- Option 1: One-click installation
Open the Editor tab and click the Install code-server in one click button in the toolbar. Follow the prompts in the dialog to download and install it. - Option 2: Global CLI installation
- Option 1: One-click installation
sh ~/.dsh/profiles/web/node_modules/dsh-vsceditor/scripts/install-code-server.sh ~/.dsh-editor
If you want to use it separately in the current workspace, run the script directly (without parameters) to install it into the `.dsh-editor` directory.
Typical Usage¶
- Monitor AI work: During a conversation, whenever the AI modifies a file, the editor immediately displays a Diff view, allowing you to intuitively see which lines were modified.
- Switch to local editor: Click the toggle in the editor toolbar to switch the sync mode to Local. The Follow/Diff/locking features then transfer to your local desktop VS Code.
- Disconnect: If you do not need editor features, click the toggle to set it to Off. The system will release the related resources.
Notes¶
- System limitations: Currently, only macOS or Linux is supported. Windows has not been tested (code-server officially does not have a Windows build).
- Runtime location: The editor’s runtime data (user data, configuration, logs) is not stored in the workspace directory, but in the global directory
~/.dsh-editor/workspaces/<hash>-<workspace-name>/. - Process guarding: Because the Watchdog is used, if the DSH host process terminates unexpectedly, the editor processes are also automatically cleaned up.
Summary¶
dsh-vsceditor provides DeepSeek Harness with the ability to perform professional-level code editing without leaving the Web interface. Combined with Follow mode and the Diff view, it can effectively improve controllability when collaborating with AI for development.