Introduction

DSHACP is a plugin for DeepSeek Harness (DSH). Its goal is to integrate DeepSeek into Zed’s external agent system, allowing developers to interact directly with DeepSeek in the Zed panel and enable DeepSeek to perform operations like reading files, writing code, and running commands.

If DSH already has the conditions to connect to DeepSeek, DSHACP primarily completes the interaction chain on the Zed side: Zed initiates a request, DSHACP handles it in the DSH profile, and then presents DeepSeek’s responses, tool calls, and approval requests to the Zed interface.

The following introduces DSHACP’s positioning, core capabilities, installation and activation methods, update methods, and common configurations.

What is this

In one sentence: DSHACP is the “translator” between Zed and DeepSeek.

Verified basic information is as follows:

  • Repository name: ECHOUniverse/dshacp
  • npm package name: @hanxu131/dshacp
  • License: MIT
  • Node requirement: >=22
  • Usage: Only used with Zed
  • Dependency prerequisites: DSH must be installed, check via dsh --version
  • DeepSeek API Key: Must be configured on the DSH side
  • Plugin profile: Uses an independent dshacp profile, do not mix with the official acp profile

Core Features

DSHACP provides the following verified capabilities:

  1. Chat directly with DeepSeek in Zed, with character-by-character streaming output.
  2. Allow DeepSeek to read files, write code, and run commands, and view each step of the operation in the interface.
  3. For risky operations (e.g., changing files), pop up a permission request first. Approval supports request_permission, allowing allow once or always.
  4. Automatically save conversations for resumption upon reopening.
  5. Support token-level assistant/chunk, reasoning, and tool I/O.
  6. Support session lifecycle operations, including list, load, resume, delete, close.
  7. Selectable model, thinking, permission, mode in the Zed panel.
  8. Support slash commands, plan, ask_user_question (elicitation), and HTTP MCP forwarding.
  9. Support optional hybrid write file mode, where file changes can be presented as diffs.
  10. Sessions are saved to .sessions in the current project directory by default, or the save directory can be modified via DSH_SESSIONS_ROOT.
  11. Can be installed as a standalone dshacp command.

Installation and Activation

The following introduces two activation methods: the plugin method and the standalone command method.

Prerequisites Check

First, confirm DSH is installed:

dsh --version

Confirm the Zed editor is available. DSHACP is only used with Zed.

Confirm the Node environment meets requirements:

node --version

DSHACP requires Node >=22.

Confirm the DeepSeek API Key is configured on the DSH side. This key is not configured within the DSHACP plugin.

Method 1: Install as a DSH Plugin

Execute the installation command in the terminal:

dsh plugin --profile dshacp add @hanxu131/dshacp

This step installs @hanxu131/dshacp into DSH’s dshacp profile.

Then, add a custom agent in Zed’s AI -> External Agents. According to verified facts, fill command with dsh and args with --profile dshacp. The configuration example is as follows:

{
  "agent_servers": {
    "DSH": {
      "type": "custom",
      "command": "dsh",
      "args": ["--profile", "dshacp"],
      "env": {}
    }
  }
}

This step allows Zed to launch DSHACP via dsh --profile dshacp.

After completion, open the Zed agent panel, select DSH, and type a question to start the conversation.

Method 2: Install as a Standalone dshacp Command

If you don’t want to install via the DSH profile, you can also install the package as a standalone command:

npm install -g @hanxu131/dshacp

Then, in Zed’s custom agent configuration, change command to dshacp and leave args empty.

This method’s functional positioning is consistent with the plugin method, but the entry point changes from dsh --profile dshacp to directly executing dshacp.

Updates and Common Configurations

Update Plugin

add might not upgrade to the new version due to pnpm lock or minimum release age. The verified recommended approach is: close the release age gate first, then use update.

First, edit the pnpm workspace file under the profile directory:

~/.dsh/profiles/dshacp/pnpm-workspace.yaml

Add the following inside:

minimumReleaseAge: 0

Then execute the update command:

dsh plugin --profile dshacp update @hanxu131/dshacp

After upgrading, you need to restart the DSH session in Zed or restart the dsh --profile dshacp process for new code to be loaded.

Session Save Directory

Sessions are saved to the .sessions folder in the current project directory by default.

If you want to modify the session save directory uniformly, you can set the environment variable DSH_SESSIONS_ROOT. For example:

export DSH_SESSIONS_ROOT=/path/to/dshacp-sessions

This is used to migrate session data from the current project directory to the specified directory.

Permission Mode

You can set the environment variable DSH_PERMISSION_MODE, with optional values workspace-write or danger-full-access.

Verified behavior is as follows:

  • workspace-write: Default permissions, will pop up a confirmation dialog.
  • danger-full-access: No sandbox restrictions, and no confirmation dialog.

Configuration example:

export DSH_PERMISSION_MODE=workspace-write

Or:

export DSH_PERMISSION_MODE=danger-full-access

danger-full-access skips the confirmation popup and should only be used in trusted environments.

Hybrid Write File Mode

You can set the environment variable DSHACP_HYBRID=1 to enable hybrid mode. Once enabled, file changes will be presented in diff format.

export DSHACP_HYBRID=1

This mode is suitable for reviewing DeepSeek’s file changes in Zed.

Applicable Scenarios and Notes

DSHACP is suitable for scenarios in Zed using DeepSeek that require the following capabilities:

  • Need to chat directly in the Zed agent panel
  • Need to see token-level streaming output
  • Need DeepSeek to call tools and display the operation process
  • Need approval for risky operations
  • Need session save, restore, and lifecycle management
  • Need to select model, thinking, permission, mode in the Zed panel

Pre-use notes:

  1. DSHACP is only used with Zed.
  2. Need to install DSH first and configure the DeepSeek API Key on the DSH side.
  3. Use the independent dshacp profile, do not mix it with the official acp profile.
  4. DSHACP will run as a DSH plugin or standalone command that you launch, possessing corresponding local process permissions. Please check the source code, dependencies, and MIT license before installing.
  5. After enabling danger-full-access, no confirmation box will pop up, and the risk is higher, so it should only be used in trusted environments.

Conclusion

The value of DSHACP lies in integrating DeepSeek into Zed’s external agent chain while retaining interaction capabilities like streaming output, tool calls, approval, and session management. It fits scenarios where you need to use DeepSeek’s capabilities from DSH for interactive development within Zed.

Related links:

  • GitHub repository: https://github.com/ECHOUniverse/dshacp
  • Plugin directory clue: https://www.skillhub.cn/plugins/ECHOUniverse/dshacp (URL from clue, not independently verified)