Plugin directory / Developer / dsh-openclaw-acp
dsh-openclaw-acp
Verified · install-tested on dsh BeAChanger
What it does
DeepSeek Harness bundle for OpenClaw and WeChat over ACP
Works — verified, early-stage project
DeepSeek Harness bundle for OpenClaw and WeChat over ACP It installs cleanly and boots without issues in our testing. It's early-stage but functional.
“Verified” means our automated CI actually ran dsh plugin add in a clean profile and it booted — nothing more. Feature descriptions and version compatibility are the author’s claims. This is not a security audit and not an endorsement of third-party code.
README
dsh-openclaw-acp
A native DeepSeek Harness bundle that exposes a Harness profile to OpenClaw through the official Agent Client Protocol (ACP) transport.
The integration deliberately has three owners:
- DeepSeek Harness owns the agent, model, tools, workspace sandbox, and session log.
- OpenClaw ACPX owns ACP process lifecycle, dispatch, and conversation routing.
- The OpenClaw channel plugin owns WeChat or any other messaging transport.
This package does not embed a WeChat SDK and does not duplicate Harness. It installs as a dsh.bundle and mounts the official @deepseek-ai/dsh-acp plugin.
Prerequisites
- pnpm 10 and a Node.js release supported by OpenClaw; stable OpenClaw
2026.7.1-2requires Node.js 22.22.3+, 24.15.0+, or 25.9.0+ - DeepSeek Harness
0.1.0-rc.6 - OpenClaw
2026.7.1-2or newer with the official@openclaw/acpxplugin DEEPSEEK_API_KEYavailable to the OpenClaw Gateway process- A configured OpenClaw channel, such as Tencent's
@tencent-weixin/openclaw-weixin
1. Install the Harness bundle
npm install -g @deepseek-ai/[email protected]
dsh plugin --profile openclaw add https://github.com/BeAChanger/dsh-openclaw-acp/releases/download/v0.1.3/dsh-openclaw-acp-0.1.3.tgz
dsh --profile openclaw --dump-config
The command uses the prebuilt release artifact, so installation does not execute a repository build. The release page publishes a SHA-256 checksum asset.
The default route is deepseek-official/deepseek-v4-flash, with thinking enabled, max reasoning effort, a 1,000,000-token context window, and a 384,000-token output cap. Override the model in the Gateway environment when needed:
export DSH_OPENCLAW_PROVIDER=deepseek-official
export DSH_OPENCLAW_MODEL=deepseek-v4-pro
2. Register Harness in OpenClaw
Install and enable OpenClaw's official ACP runtime:
openclaw plugins install @openclaw/[email protected]
openclaw config set plugins.entries.acpx.enabled true
For WeChat, install the Tencent channel version verified with this stack. The final login command displays a QR code and must be completed by the operator:
openclaw plugins install @tencent-weixin/[email protected]
openclaw config set plugins.entries.openclaw-weixin.enabled true
openclaw channels login --channel openclaw-weixin
Add this configuration to the OpenClaw config:
{
acp: {
enabled: true,
backend: "acpx",
defaultAgent: "deepseek-harness",
allowedAgents: ["deepseek-harness"]
},
plugins: {
entries: {
acpx: {
enabled: true,
config: {
agents: {
"deepseek-harness": {
command: "dsh",
args: ["--profile", "openclaw"]
}
}
}
},
"openclaw-weixin": {
enabled: true
}
}
}
}
Restart the Gateway, then verify the boundary before testing a channel:
/acp doctor
/acp spawn deepseek-harness --cwd /absolute/path/to/workspace
On channels that support conversation binding, add --bind here. If a channel does not advertise ACP binding, use the unbound one-shot flow and let OpenClaw relay completion to the parent conversation.
3. Call it from WeChat
Once a WeChat channel is connected to the same Gateway, the message path is:
WeChat -> OpenClaw channel -> ACPX -> dsh --profile openclaw -> DeepSeek Harness
For multiple logged-in WeChat accounts, isolate direct-message sessions by account, channel, and sender:
openclaw config set session.dmScope per-account-channel-peer
No WeChat token or user identifier crosses the ACP boundary. OpenClaw resolves the channel sender and session; Harness receives only the selected workspace and prompt content.
Security defaults
- OpenClaw's sandbox does not wrap external ACP processes. Harness enforces its own boundary through
DSH_PERMISSION_MODE. - Keep the Harness default
workspace-writemode unless the deployment explicitly requires more access. - Do not enable OpenClaw's ACPX MCP tool bridges for this target yet. Harness ACP
0.1.0-rc.6rejects non-emptymcpServers. - Run the Gateway and Harness under a dedicated OS account and restrict the allowed workspace roots.
- Treat
danger-full-accessas a break-glass mode, not a production default.
Known limitations
- Harness ACP currently supports new sessions only; it does not advertise load, resume, fork, or session listing.
- It returns committed assistant text, not live reasoning or tool events.
- Channel-level persistent binding depends on the OpenClaw channel adapter. Use one-shot parent relay where binding is unavailable.
- OpenClaw plugin tools are not injected into Harness because the current Harness ACP transport rejects non-empty
mcpServers.
Verification
npm install
npm test
npm run test:acp
npm run pack:check
test:acp installs the bundle into an isolated profile and runs two protocol checks: a direct real-dsh ACP negotiation with JSON-RPC-only stdout, then a custom-agent launch through the published [email protected] runtime used by OpenClaw's official ACPX plugin. Both checks complete initialize and session/new. They do not call a model and do not require a real API key.
License
MIT
Install
Install the catalog once, then DeepSeek Harness can find and install any plugin from this site automatically:
dsh plugin add dshbase-catalog Then say "install dsh-openclaw-acp for me" — your agent finds it in the directory and installs it. Docs: dshbase-catalog · verified packs.
This plugin is GitHub source (not published to npm) — install it straight from the repo:
Web profile:
dsh plugin --profile web add github:BeAChanger/dsh-openclaw-acp Headless (CLI) profile:
dsh plugin --profile headless add github:BeAChanger/dsh-openclaw-acp Test report
Verified: L1 install + L2 load + L3 runtime from GitHub source on dsh 0.1.0-rc.6.
When to use it
Extend the agent's coding surface — give it a new tool, workflow, or integration so it handles a dev task it couldn't before.
Who it's for
Developers who want dsh to behave like a teammate on real codebases — editing, running, and verifying changes rather than just answering.
For developers — extending it
The tool/command surface is the seam: expose more of the SDK, add smarter context wiring, or tighten the loop between code changes and verification.