Preface

DeepSeek Harness (dsh) runs agents locally: information retrieval, code modification, and file processing all happen on your own computer. The official summary of this concept is “Everything is a plugin” — models, tools, sessions, sandboxes, and interfaces can all be split into plugins and combined. The developer preview version is still evolving, and the community is adding capabilities to the external access channels.

After getting the local setup working, a common follow-up need arises: when you’re out and only have your WeChat on your phone, can you use the same DSH setup as a mobile terminal? Common solutions involve setting up an additional gateway, public network entry, or bringing in the full OpenClaw suite, which increases maintenance costs. What you actually usually need is just a simple pipeline: send messages via WeChat, have the machine at home or the office that already runs dsh web handle the work, and send the results back to WeChat.

That is exactly what dsh-wechat-bridge does. It uses Tencent’s official iLink bot channel (the same “ClawBot / Lobster” channel available in WeChat). After scanning the QR code to pair, it uses long polling to receive messages, then calls the local DSH to send back replies. It is categorized under the “Sessions and Messaging” category in the community plugin directory deepseek-harness-plugin.com. Note that this directory is an independent site with no official affiliation to DeepSeek / Fangxin, and is not an official app store.

This article is collated after checking against the directory detail page, the GitHub repository README / package.json / LICENSE, and the official DeepSeek Harness repository.

What is this

dsh-wechat-bridge is a transport plugin that connects DeepSeek Harness to WeChat, maintained by gtaifu, hosted on the GitHub repository gtaifu/dsh-wechat-bridge, licensed under MIT. The current version in package.json is 1.1.0, requiring Node.js >= 18. As of August 18, 2026, the repository has 7 stars.

It solves a very specific problem: turning WeChat into a mobile terminal for DSH. The repository README diagrams the data path as:

Mobile WeChat ──► Tencent iLink Official Channel (ilinkai.weixin.qq.com) ──► weixin-bot.mjs ──► Local DSH
    ▲                                                              │
    └────────────────────────── Reply ──────────────────────────────┘

The protocol follows Tencent’s official open source SDK @tencent-weixin/openclaw-weixin 2.4.6. The official OpenClaw WeChat plugin itself is just a client for this protocol, and the AI backend can be chosen freely; according to the repository, Tencent only acts as a pipeline. Therefore, there is no need for an OpenClaw runtime, public network server, or additional gateway here.

It is suitable for people who already know how to install DSH and want to use their private assistant “anytime in WeChat”. The verification baseline stated by the repository is: Node.js >= 18, dsh@0.1.0-rc.6 (npm), iLink matching SDK 2.4.6, with operating system support covering Windows / macOS / Linux. The last verification date is August 14, 2026. New versions of DSH are generally backward compatible (the bridge only calls the dsh headless subcommand), but after upgrading DSH or the official SDK, the README requires running a local closed-loop test before connecting to real WeChat.

Core Features

Zero runtime dependencies, scan to use

The implementation only uses Node.js built-in modules, no npm runtime dependencies are required, and no independent daemon is started. No application for a personal WeChat account or whitelisting is needed: the terminal will print a QR code link, which you can open and confirm on your mobile WeChat to pair. Login credentials will be automatically renewed; when receiving Tencent’s errcode -14 (token expired), it will automatically re-scan the QR code. The credential validity period is determined by Tencent’s server, and community tests show it lasts about 24 hours, with no official commitment to a specific duration.

You need to add the “ClawBot / Lobster” plugin in WeChat under “Me → Settings → Plugins”. This is an official Tencent channel, and is not the same category of solution as reverse-engineering personal WeChat protocols.

One person one context, sessions can be named

Each WeChat contact (from_user_id) has an independent DSH conversation memory and working directory, which defaults to the data/workspaces/ folder. Cross-turn file operation results will be retained; the memory will be cropped by rolling based on both the number of messages and character count limits.

You can also have multiple named sessions for the same contact: the default session is called main. Switch sessions using slash commands in WeChat:

Command Function
/help List of commands
/status Remaining connection time, current session and number of memory messages
/time Remaining time for this connection
/sessions List sessions (number of memory rounds + current marker)
/new <name> Create a new named session and switch to it
/switch <name> Switch sessions
/clear [name] Clear the conversation memory of the current or specified session (working directory files are retained)
/reconnect Manually reconnect
/send <file path> [description] Send a file from your computer to WeChat

Absolute paths for /send are used directly; relative paths are calculated based on the current session’s working directory. Images and videos are sent as media, others are sent as files. Images, files, and videos sent via WeChat will be automatically downloaded and decrypted, saved to data/media/. Voice messages are saved as the official original .silk format, and the current repository does not perform transcoding.

Auditable, and working directories can be specified

Chat logs, full DSH running traces, and running logs can be checked in three layers. The original conversation is stored in data/history/ (local plaintext JSON); DSH traces are still written by DSH itself to ~/.dsh/sessions/. Command entry points include:

node weixin-bot.mjs chats
node weixin-bot.mjs history --chat <ID> --last 20
node weixin-bot.mjs sessions --chat <ID>

<ID> can be the full chatId, user ID, or the hash key listed by chats.

If you want a certain session to run directly in the code repository root directory instead of the default data/workspaces/, you can place workspace-overrides.json in the data directory. The value can be a path string, or an object with permissions:

{
  "0bf36b275c23e653": {
    "dir": "D:\\path\\to\\your\\workspace",
    "permission": "danger-full-access"
  }
}

The key is the default working directory name for that session (the first 16 characters of safeKey(chatId), which can be viewed in the “Key” column of node weixin-bot.mjs chats). permission can optionally be read-only, workspace-write, or danger-full-access; if not set, it follows the DSH global settings. danger-full-access means no file read/write restrictions and no approval popups. After making changes, you need to restart dsh-weixin run for them to take effect.

There is also a general bridge bridge.mjs in the repository, which provides the serve subcommand (HTTP wrapper, default port 8317, bound to 127.0.0.1, optional --token authentication) for calls from external programs such as OpenClaw exec and wechaty. Daily connection to WeChat uses weixin-bot.mjs / dsh-weixin.

Repository-stated limitations

  • Single replies longer than --reply-max-chars (default 3800) will be truncated; the full result is available in the DSH working directory or terminal.
  • Group chats: the official plugin currently only states support for direct chats, group messages are not guaranteed.
  • Only one DSH task runs at the same time, and different contacts are queued sequentially.
  • Tencent may change protocol endpoints or fields; failures due to protocol drift can be fixed by upgrading this repository and re-verifying.

Installation and Enablement

The plugin runs with the permissions of the current dsh process, and may execute code during installation. Please check the source code repository and license before installing; if you need reproducible installation, pin the commit hash.

The installation command given on the community directory page is (as per the original page text):

dsh plugin add github:gtaifu/dsh-wechat-bridge

To pin to a specific commit:

dsh plugin add github:gtaifu/dsh-wechat-bridge#<commit>

Replace <commit> with the real hash from the repository.

The repository README bases daily usage on the global command dsh-weixin. The currently verified source code installation method is:

git clone https://github.com/gtaifu/dsh-wechat-bridge.git
cd dsh-wechat-bridge
npm install -g .

Domestic users can also use the Gitee mirror indicated in the README: https://gitee.com/gtaifu/dsh-wechat-bridge. On Windows, you can run the dsh-weixin.cmd in the repository directly without installing, or run node weixin-bot.mjs <subcommand>.

The README also mentions an npm install -g dsh-wechat-bridge method, noting that it is “available after npm publishing”; in the repository verification checklist, the package name installation item is still marked as pending re-test. Therefore, do not treat npm package name installation as a proven path for now.

The uninstall command, steps to clear credentials, and delete the local data/ folder are available in the repository README. DSH’s own running traces are in ~/.dsh/sessions/, which is independent of this plugin’s data directory.

Typical Usage

Environment: Node 18+; DSH is installed locally, and dsh web can run normally.

Connect to real WeChat

dsh-weixin login
dsh-weixin run
  1. When running login, the terminal will print a QR code link. Open this link on your mobile WeChat and confirm.
  2. Add the “ClawBot / Lobster” plugin in WeChat under “Me → Settings → Plugins”.
  3. After pairing is successful, send messages to the Bot. run needs to keep the terminal open.

It is strongly recommended to add the --allow-from flag to only respond to specified user IDs (comma-separated). The repository makes it clear that anyone who can send messages to your WeChat can trigger DSH tasks on your local machine, with permissions equivalent to your local account. The login credential is stored in --auth-file (default weixin-auth.json), which contains the bot token — do not commit it to version control or share it publicly.

Common command line options (all have equivalent environment variables DSH_WXBOT_* / DSH_BRIDGE_*):

Option Default Description
--base-url https://ilinkai.weixin.qq.com iLink endpoint
--data-dir ./data Root directory for credentials, memory, and working directories
--allow-from All users Only respond to specified user IDs
--reply-max-chars 3800 Single reply truncation limit
--dsh-bin Auto-resolved Specify the executable file when dsh cannot be found
--no-typing Off Do not send the “typing” status

Stop receiving messages: press Ctrl+C in the dsh-weixin run terminal. Clear local login credentials: dsh-weixin logout. Historical data is not deleted by default, and you can restore it by running login again.

Local closed-loop test (no real WeChat connection)

The repository provides a mock iLink server to verify the protocol header and send/receive flow, without consuming model resources:

# Terminal A
node test-mock-ilink.mjs --port 8899

# Terminal B (Linux / macOS)
export DSH_BRIDGE_MOCK_DSH=1
node weixin-bot.mjs login --base-url http://127.0.0.1:8899 --data-dir ./test-data
export DSH_WXBOT_MAX_MSGS=2
node weixin-bot.mjs run --base-url http://127.0.0.1:8899 --data-dir ./test-data

For Windows PowerShell, replace export with $env:DSH_BRIDGE_MOCK_DSH="1", the rest of the commands are consistent with the README.

Run a smoke test against the real Tencent endpoint (only get the real QR code, no login):

node weixin-bot.mjs probe

Applicable Scenarios and Notes

These scenarios are suitable:
- You are already running DSH locally and want to use your mobile WeChat to remotely assign tasks and receive replies.
- You do not want to deploy an additional public network server, ngrok, or OpenClaw.
- You need to isolate memory and working directories by contact, or switch multiple named sessions for the same person.
- You need to send local files to WeChat, or have images/files sent via WeChat saved locally before handing them over to DSH.

Treat these points as hard constraints before use:
1. Permissions. The plugin runs with the permissions of the current dsh process. WeChat messages will trigger DSH execution on your local machine. Use --allow-from to only allow yourself, and maintain DSH’s own sandbox and approval configurations. danger-full-access in workspace-overrides.json will turn off file restrictions and approval popups, only use it when you explicitly need it.
2. License and Source Code. This project is open source under the MIT license. You should read the repository source code and LICENSE before installing. The community directory is not an official DeepSeek app store.
3. Channel Terms. This is Tencent’s official iLink channel, subject to the “WeChat ClawBot Function Usage Terms”: Tencent may limit speed, filter, or terminate the service, and it shall not be used for marketing, customer service, or high-frequency mass messaging.
4. Credentials. weixin-auth.json is equivalent to “sending and receiving messages as your WeChat identity”. Per the README, network access scope is HTTPS requests to ilinkai.weixin.qq.com and Tencent CDN, and the closed-loop test points to the local mock server. Chat message originals are stored as plaintext JSON in data/history/.
5. Stability. Group chats are not guaranteed; tasks run sequentially; replies may be truncated; protocols may drift. If the QR code expires or scanning does not work, re-run dsh-weixin login and confirm that you opened the latest printed link. When you see dsh: command not found, first install DSH, or use --dsh-bin to specify the path.

Report security issues privately per the repository’s SECURITY.md (GitHub Security Advisory, or an issue titled with [SECURITY]), do not post tokens or reproduction details in public issues.

Summary

dsh-wechat-bridge connects the local DSH to WeChat’s official iLink channel: scan to log in, zero runtime dependencies, no OpenClaw required, one friend corresponds to a persistent session set. The directory page installation entry is dsh plugin add github:gtaifu/dsh-wechat-bridge; daily sending and receiving relies on dsh-weixin login and dsh-weixin run. First review the source code and license, add the --allow-from flag, and treat it as your pocket DSH terminal.

  • Directory page: https://deepseek-harness-plugin.com/zh-CN/plugins/dsh-wechat-bridge/
  • GitHub: https://github.com/gtaifu/dsh-wechat-bridge
  • DeepSeek Harness: https://github.com/deepseek-ai/deepseek-harness