Introduction

When running agents using dsh (DeepSeek Harness), the entry point is usually in the Web interface. If you leave your computer, you have to go back specifically to open the page to add an instruction to the agent or check task results. It would be much smoother if these conversations and notifications could go directly through WeChat.

super-wechat-bridge solves this problem: it integrates WeChat messages into dsh via the official WeChat iLink ClawBot protocol, making WeChat the remote entry point for dsh. Below introduces its positioning, core features, installation, and usage.

What is it

super-wechat-bridge is a WeChat iLink ClawBot remote bridge plugin by author Qshuai0213, licensed under MIT, current version 1.0.0. It does not use third-party robot protocols but connects directly via the official iLink protocol: long-polling to receive messages, sending with msg wrapper + text_item (official format). peerDependencies declares @deepseek-ai/dsh-agent ^0.1.0-rc.6, @deepseek-ai/dsh-tools ^0.1.0-rc.6, etc., both protocol and dsh API have been tested.

A notable tested detail: when sending, base_info.channel_version + from_user_id + client_id must be present; if missing, the server returns a message_id but does not deliver it. The plugin handles this.

Core Features

Sessions and Replies

  1. Each WeChat user has an independent dsh session, created via agents.create({ sessionId }), continued using agent.followup.

  2. Automatic reply forwarding: The agent’s final text reply for each WeChat session round is automatically sent back to WeChat. Implementation-wise, it listens to session/event and filters context snapshots based on the real source of user/message.

  3. The wechat_reply tool is used for proactive pushing (e.g., task completion notifications). If a tool has already been used to send within the same round, the automatic forwarding will skip it to avoid duplication.

  4. Session-level prompt: The agent in a WeChat session receives context indicating “Currently chatting via WeChat”, injected based on session ID conditions, without affecting other sessions.

Web Settings Interface

The WeChat feature has no independent entry; it is all integrated into the “Settings → WeChat Bridge” page in the dsh Web interface. It includes QR code login, model/preset/thinking intensity/permission configuration, session list (open/copy/delete), and credential status.

24h Auto Renewal

iLink session validity is about 24 hours (server-side limit, cannot be extended). The plugin includes built-in auto-renewal: about 2 hours before expiration, it pushes a new QR code link to WeChat (sent to the most recently active session). Scanning it seamlessly renews the session without disconnection; if not renewed in the last 30 minutes, it will remind again.

Other

  • The plugin comes with dsh.bundle.patch (cordis.patch.yml), auto-mounted after installation, no need to manually edit the profile’s cordis.patch.yml.
  • Errors are logged to stateDir/errors.log, allowing direct viewing when troubleshooting.

Installation and Enablement

Install the release version from GitHub:

dsh plugin --profile web add "github:Qshuai0213/super-wechat-bridge"

Install for local development:

dsh plugin --profile web add "file:D:/ai工作区/super-wechat-bridge"

After installation, the patch is auto-mounted. Configuration uses schema defaults: stateDir defaults to $DSH_HOME/channels/wechat (~/.dsh/channels/wechat when DSH_HOME is absent), dmPolicy: pairing.

When configuration override is needed, append config in the profile patch by id, for example, changing to allowlist mode and specifying allowed WeChat users:

- insert:
    - id: wechat-bridge
      config:
        dmPolicy: allowlist
        allowFrom: ['o9cq80wwZLaIrJEBTW3TCRCVVyt8@im.wechat']

Restart dsh web after changing.

Login

Choose any of three methods:

  1. Scan QR code via Web interface: Open “Settings → WeChat Bridge”, click “Get Login QR Code”, scan with WeChat on phone and confirm. Credentials are automatically written and message receiving starts.

  2. Click link in WeChat to renew (Recommended): Before expiration, the plugin automatically pushes a message “Login credentials will expire in approximately X hours” to WeChat. Click the link inside to scan and confirm.

  3. Command line:

node node_modules/super-wechat-bridge/login.mjs "<your stateDir>"

stateDir defaults to $DSH_HOME/channels/wechat (~/.dsh/channels/wechat when DSH_HOME is absent). Open the output link in WeChat on phone to scan and authorize; credentials are written to credentials.json.

Typical Usage

The usage process is straightforward: Send the first message to ClawBot in WeChat → dsh creates a wechat-* session → agent replies are automatically sent back to WeChat.

In the channel settings block of “Settings → WeChat Bridge”, adjustable and persistable configuration items include:

Setting Item Description
Model Provider / Model Model used for WeChat sessions; leave empty to follow global default
Thinking Intensity off / low / medium / high / max, leave empty to follow default
Permission Mode pairing (allow all) / allowlist (only allow list) / disabled (channel closed)
Allow List Effective in allowlist mode, one WeChat user ID per line

Effective timing differs: Permission mode and allow list take effect immediately; model/thinking intensity only affects newly created WeChat sessions, existing sessions remain unchanged. The page also displays credential status (login time, remaining validity, active session count). If remaining time is less than 2 hours, the plugin automatically pushes a renewal QR code to WeChat.

Applicable Scenarios and Notes

Target audience: Developers already running dsh who want to communicate with agents via WeChat on their phones anytime to issue commands and receive proactive notifications (e.g., task completion reminders).

You need to know these limitations before use:

  • Sessions do not reconnect after restart: The bridge creates sessions as wechat-<userId>-<timestamp>. After restarting dsh web, the same WeChat user will open a new session; the history of old sessions is retained in the sidebar, but the bridge no longer associates with them.
  • Non-text messages like images/voice are displayed as placeholder text [Non-text message]; the current channel does not receive media content.
  • After modifying plugin code, dsh web needs to be restarted to take effect (HMR does not reload modules in node_modules).
  • The ~24-hour validity of iLink sessions is a server-side limit; the plugin can only renew, not extend.

Also, a note: The plugin runs with the permissions of the current dsh process. It is recommended to check the source code before installation to ensure behavior matches expectations. This project uses the MIT license.

Conclusion

super-wechat-bridge connects the WeChat official iLink protocol with dsh’s session system. Together with the Web settings interface and 24h auto-renewal, it makes WeChat a low-maintenance cost remote entry for dsh. If you use WeChat often and are away from your computer for long periods, it is worth installing and trying.

  • Plugin directory page: https://www.skillhub.cn/plugins/Qshuai0213/super-wechat-bridge
  • GitHub repository: https://github.com/Qshuai0213/super-wechat-bridge

By the way, skillhub.cn is a community plugin directory site and has no official affiliation with DeepSeek / Hackverse; DSH itself is the philosophy of “Everything is a Plugin”, and such channel bridges are a common type of demand in the plugin ecosystem.