Preface¶
DSH agent capabilities are typically accessed through the GUI. If you want to trigger the DSH agent from WeChat private chats, check status, or switch workspaces or sessions, you need an entry point that bridges WeChat messages to DSH.
Below, we introduce dsh-wechat. Its role is to bridge WeChat private chats to the DSH agent via the Tencent iLink bot protocol, making WeChat a second client for DeepSeek Harness (DSH).
What Is This¶
dsh-wechat, maintained by pan17, is a DSH plugin. It connects WeChat private chats to the DSH agent as a second client.
It primarily addresses these issues:
- Text, images, files, and voice messages from WeChat can be sent to the DSH agent.
- Text replies from the DSH agent can be sent back to WeChat.
- Slash commands within WeChat can handle common administrative actions.
- Both WeChat and the GUI can display consistent approval/question cards.
- The DSH settings page includes embedded QR code login, status viewing, and connection configuration.
The license is:
MIT
Core Features¶
Sending and Receiving¶
WeChat messages can be sent to the DSH agent, including text, images, files, and voice messages.
Media is first saved to a local path:
~/.dsh-wechat/tempfile/
After download and decryption, the local path is injected into the DSH agent as an attachment.
Text replies from the agent are sent back to WeChat.
The proactive push tool is:
send_wechat
It can be used to push text or files to WeChat.
In-WeChat Commands¶
The following slash commands are handled directly by the bridge:
/workspace
/session
/preset
/model
/perm
/silent
/notify
/next
/status
/stop
/rp
/rq
Approval/Question Cards¶
WeChat and the GUI will display consistent native approval/question cards.
The rule is: whoever responds first takes effect.
WeChat Channel Prompt¶
WeChat messages are injected with a “via WeChat” prompt.
When the message originates from the GUI, this prompt automatically disappears.
Silent and Busy Delivery¶
The silent mode command is:
/silent on
When enabled, only the final reply is sent each round. The settings page can also toggle this.
When busy, delivery follows the queuing or interruption setting below:
busyEnter
There is a corresponding command on the WeChat side:
/enter
Cross-Session Notifications¶
The cross-session notification command is:
/notify on|off|status
It is disabled by default.
Login, Settings, and Session Recovery¶
The QR code login URL is:
http://127.0.0.1:3080/wechat/qr
This login entry point is embedded in the settings page.
The settings page is located at:
DSH Settings → WeChat
The page displays status, QR code scanning, logout, connection configuration, and notification/silent toggles.
Resumable transfers persist the following:
sync-buf
Along with the WeChat session mapping. Sessions are automatically restored after restarting DSH.
In single-user mode, the plugin only serves the first WeChat user.
Installation and Activation¶
First, install the plugin to the specified DSH profile, then restart DSH, and finally scan the QR code to log in.
- Install the plugin:
npx @deepseek-ai/dsh plugin --profile <profile> add dsh-wechat
The plugin is installed from the official npm registry; dsh plugin add is equivalent to pnpm add dsh-wechat.
- Note the command name. Do not use:
npx dsh plugin
The reason is that the dsh name on npm is occupied by an unrelated JS shell package that does not expose a CLI bin. The DSH CLI is under the scoped package:
@deepseek-ai/dsh
Therefore, you must use the full name.
- After restarting DSH, enable it:
- Open DSH Settings → WeChat in your browser to scan the QR code, check status, and modify configuration.
- Or directly open:
http://127.0.0.1:3080/wechat/qr
to scan.
Upgrade command:
npx @deepseek-ai/dsh plugin --profile <profile> update dsh-wechat
After modifying code, you need to restart DSH for the changes to take effect.
Typical Usage¶
After installation and login, you can send commands directly in WeChat.
Check current status:
/status
List workspaces:
/workspace list
Switch workspace:
/workspace switch <number|path>
Add workspace:
/workspace add <path>
Create a new session:
/session new
Switch session:
/session switch <number>
List models:
/model list
Switch model:
/model switch <provider/model>
Enable silent mode:
/silent on
Continue sending messages cached due to WeChat limits:
/next
The agent side can also use:
send_wechat
to proactively push text or files to WeChat.
Applicable Scenarios and Notes¶
Suitable for single-user scenarios where you want to trigger the DSH agent from WeChat private chats. It is intended for users who need to check status, switch workspaces, switch sessions, switch models, and handle approval or question cards within WeChat.
Please note:
- In single-user mode, only the first WeChat user is served.
- If the bot token is missing or invalid, messages will not be pushed to WeChat, and the reason will be logged.
- The tool:
send_wechat
is visible to all agents; any session’s agent can call it.
- In single-user mode, tool pushes and assistant replies share the single WeChat rate limit budget of 10 messages per window.
- When the limit is exceeded or sending fails, messages automatically enter the:
/next
FIFO cache queue.
- The actual WeChat rate limit response is also recognized and cached:
HTTP 200 + ret: -2 / prepare failed
It is no longer mistakenly treated as a success.
- The plugin runs with the current dsh process’s permissions. You should review the source code and license before installation.
dsh-wechatcomes from the community directory. The directory site is an independent website and should not be understood as the official DeepSeek app store.
Conclusion¶
The value of dsh-wechat lies in turning WeChat private chat into a second client for DSH: WeChat messages can enter the agent, agent results can return to WeChat, and common administrative actions can also be completed within WeChat.
- GitHub:
https://github.com/pan17/dsh-wechat - Directory page lead, unverified:
https://www.skillhub.cn/plugins/pan17/dsh-wechat