dsh-wechat
Manifest valid★ 92WeChat channel for DeepSeek Harness
dsh-wechat-plugin
Control DeepSeek Harness from WeChat: chat on your phone, and the DSH agent on your computer does the work.
No OpenClaw, and no public IP required.
Runs on the current DSH desktop app — developed and tested against DSH 0.2.0-rc.2, and kept
current as the desktop app moves on. A lot of community plugins quietly stopped working when DSH
updated; this one is maintained alongside it, and every change is released through CI.
Features
- Text both ways. Your WeChat message becomes a DSH prompt; the reply comes back to WeChat.
- Photos, files, voice, video — both directions. Attachments are saved into the session workspace
and handed to the agent; the agent can send files back with
send_to_wechat. - One WeChat chat, many DSH sessions.
/new,/list,/switch,/current,/cancel— or just say "switch to the other one". - Answer permission prompts from your phone. Approvals and multiple-choice questions are sent to WeChat and answered with a number, so being away from the desk does not stall the agent.
- Settings page under Settings → WeChat.
Install
For the DSH desktop app. It needs DSH's workspace, tool and UI services — the standard desktop
composition — on a machine that stays on. Tested against 0.2.0-rc.2, and updated alongside the
desktop app.
Open the plugin entry in the sidebar and choose 添加插件 (add plugin). The field takes a package name, a Git URL, a tarball, or a local path.
The name to install is
dsh-wechat-pluginThe repository is called
dsh-wechat, but the package is not: copydsh-wechat-pluginrather than typing it, and mind the-plugin. There is an unrelated plugin by another author published asdsh-wechat, so installing that name gets you their work rather than this one.
From npm — nothing to configure
dsh-wechat-plugin
Add a version if you need one: dsh-wechat-plugin@0.35.2.
From GitHub — builds itself, for tracking a branch or a commit
https://github.com/xcisxc29/dsh-wechat
DSH clones the repository and builds it. pnpm will stop the build once and ask you to allow it —
that is expected, and it is how any Git-hosted plugin builds. DSH reports which key to add; it looks
like this, in ~/.dsh/profiles/desktop/pnpm-workspace.yaml:
allowBuilds:
dsh-wechat-workspace@git+file:///…/dsh-wechat#<commit>: true
Most people do not need this. Reach for it to pin a commit or follow a branch, or when npm is unreachable.
Wait for the install to finish, click 立即启用 (enable now), and restart DSH.
Install from a terminal instead
The app drives pnpm underneath, so the same thing headlessly:
dsh plugin --profile desktop add dsh-wechat-plugin
dsh plugin --profile desktop add https://github.com/xcisxc29/dsh-wechat
You then have to enable the bundle yourself — which is what 立即启用 does for you — in
~/.dsh/profiles/desktop/package.json:
{
"dsh": {
"profile": {
"bundles": [
"@deepseek-ai/dsh-base",
"@deepseek-ai/dsh-web-app",
"dsh-wechat-plugin"
]
}
}
}
Install from a locally built tarball
pnpm install && pnpm run dist && pnpm run pack
# → dsh-wechat-plugin-<version>.tgz
Paste the absolute path to that .tgz into 添加插件, or hand it to the command line:
dsh plugin --profile desktop add /absolute/path/to/dsh-wechat-plugin-<version>.tgz
Getting started
After restarting DSH, open Settings → WeChat, click 重新扫码 (rescan), and scan the QR code with
your phone. Send 你好 from WeChat and you should get a reply.
Optional: voice to text
WeChat voice notes are SILK. Install this codec to transcribe them to WAV locally:
dsh plugin --profile desktop add silk-wasm
Without it voice still works: the raw SILK file is saved and handed to the agent along with the service's own transcription.
Usage
Just send a message and it reaches the agent:
你好
Type these to control which DSH conversation you are talking to:
| Command | What it does |
|---|---|
/new | Start a fresh conversation. Anything after it becomes the title: /new 修复登录 starts a conversation called 「修复登录」. Without one, the conversation gets a name from your first message |
/list | Conversations in the WeChat workspace, newest first |
/list all | Every conversation, including other workspaces |
/switch 3 | Move to number 3 in that list |
/current | Which conversation you are in |
/cancel | Stop the task that is running |
/help | This list |
Spaces are optional: /switch3, /switch 3 and /switch:3 all work.
Plain language works too — "switch to the other one", "what conversations do I have", "stop". The agent judges the intent rather than matching fixed rules, and a switch tells you whether it succeeded or failed.
Read this before you start
Anyone who can message this bot can drive the computer it runs on. The agent can execute commands and read and write files, and the only credential involved is the WeChat message itself.
Conversations from WeChat run with full permissions by default — the agent does not ask before it
acts. That is deliberate: a permission prompt is delivered to WeChat and the task then waits there, so
on a phone every command would stall until you answered a conversation you had walked away from. Set
Permissions for WeChat conversations to Follow the DSH setting in the settings page if you want
the same guardrails you have at the desk.
Any session on this machine can push to your WeChat by default. That is what makes "tell me when it is done" work: the session doing the work is usually not the one your WeChat conversation is bound to, and without this it could not report its own result. Turn off Let other sessions push to WeChat to restore the stricter rule, where only the bound session may send.
So the bot's WeChat account, and who can reach it, are the security boundary. There is deliberately no allowlist, and none is planned: choosing to drive a computer over WeChat already means accepting that being able to message it is being able to operate it, and a second gate in front of the same decision would add nothing. If that is not a boundary you want, do not install it.
Put another way: being able to message your bot is the same as being able to operate your computer, without being asked.
Documentation
| docs/HANDBOOK-USER.md | User guide, from installing to troubleshooting (Chinese) |
| docs/HANDBOOK-DEV.md | Development handbook: what went wrong, how to release (Chinese) |
| SETTINGS.md | What each setting actually does (Chinese) |
| docs/INTERNALS.md | Protocol references, architecture, the two packages (Chinese) |
| docs/PROGRESS.md | Feature status and how each was verified (Chinese) |
| docs/POSTMORTEM.md | Every real failure met while building this (Chinese) |
| docs/RELEASING.md | How a version gets published (Chinese) |
| examples/ | Complete core-only examples: an echo bot, and sending a file |
Development
pnpm install
pnpm build # compiles only, leaving @dsh-wechat/core imports for pack to rewrite
pnpm run dist # build + inline core: the loadable form a Git install needs
pnpm typecheck
pnpm test # 192 tests
pnpm check # build + typecheck + test
pnpm run pack # run dist first
pnpm run verify-pack # unpack, check the manifest's files, mount it as DSH would
Two build outputs, on purpose. build is the compiling step alone, and it keeps
@dsh-wechat/core as a package import so pack can redirect it into the vendored dist/core.
dist runs that compile and then rewrites the import to a relative path instead, which is what a Git
install ends up with — it clones the repository and runs prepare, never pack.
Rebuild core after changing it. Tests resolve @dsh-wechat/core through node_modules to
lib/, so source edits without a rebuild test the old code — and pass.
Licence
MIT — see LICENSE.
Comments
Loading…
Similar plugins
by TtTRz
WeCom AI Bot channel for DeepSeek Harness — every chat runs a persistent, preset-backed agent with real tools.
★ 3
↓ 609/wk
MIT
TypeScript
Aug 25, 2026
dsh plugin --profile web add dsh-wecomby Jesse-njx
Chat with, monitor, and approve your DSH agents from WeChat — an iLink gateway + conversation node bundle for DeepSeek Harness
★ 6
MIT
TypeScript
Aug 28, 2026
dsh plugin --profile web add @dsh-cowork/chatnode-wechatby 1841220388zzzcccxxx-star
DeepSeek Harness WeChat plugin: scan QR with WeChat to chat with DSH
★ 0
MIT
JavaScript
Aug 16, 2026
dsh plugin --profile web add @xmanrui/dsh-weixinby dAI-aigc
Bridge WeChat contacts to DeepSeek Harness sessions over Tencent's official iLink bot channel
★ 0
MIT
TypeScript
Sep 17, 2026
dsh plugin --profile web add dsh-wechatby sliverp
WeCom AI Bot text and image bridge for DeepSeek Harness
★ 4
↓ 227/wk
MIT
TypeScript
Aug 19, 2026
dsh plugin --profile web add deepseek-harness-wecomby JinkaiLiu
Switch between Chat and Agent without leaving your DeepSeek Harness session.
★ 3
↓ 153/wk
MIT
TypeScript
Oct 6, 2026
dsh plugin --profile web add dsh-autonomy