Install
Inside DeepSeek Harness, with dsh-market
dsh plugin --profile web add dshmarket
Or from the command line
dsh plugin --profile web add dsh-msg-hub
Installing runs third-party code with your own permissions — it can read your files, use your credentials and reach the network. Review the source first, and pin a commit (github:owner/repo#sha) when you can.
README
An IM channel bridge plugin for dsh (DeepSeek Harness): connects WeChat (ilinkai) / QQ (Open Platform) / Feishu (Open Platform) messages into dsh agent sessions, with proactive push support (wake the channel bot and deliver the AI reply back to your phone — for scheduled tasks etc.).
Features
- 📱 WeChat: ilinkai simulated protocol (QR login), text send/receive
- 💬 QQ: Tencent Open Platform official WebSocket channel, text send/receive (C2C / group)
- 📡 Feishu: Feishu Open Platform official API (app credentials), text send/receive (P2P / group)
- 🧩 Proactive push service (
dsh-channels-pushcordis service):push({channel, peerId, text}): send text directly to IMtask({channel, peerId, prompt}): wake the channel agent to run a task; the AI reply is delivered back to the IM automatically- Consumed by plugins like dsh-toolbox-web's scheduled heartbeat (channel push is unavailable without this plugin; everything else is unaffected)
- 📡 Remote monitoring (keep an eye on tasks away from the computer):
- Remote approval: when the bound session's agent requests approval, the request is pushed to IM (tool name / reason / command detail); reply "批准" or "拒绝" to answer; 5-minute timeout falls back to rejected (safe default)
- Turn push: task started / finished / errored / blocked notifications for the bound session
- Session commands:
/sessionslists the 5 most recent sessions (name+ID),/bind <sessionId>binds,/statusshows the binding
Requirements
- dsh runtime (cordis plugin, registered in the dsh web profile)
- Node.js ≥ 22.13
- Per-channel credentials: WeChat QR / QQ AppID+Secret / Feishu AppID+Secret
Installation
Installation
# Option 1: npm package (recommended)
dsh plugin --profile web add dsh-msg-hub
# Option 2: GitHub repository
dsh plugin --profile web add github:AbcdefgXW/dsh-msg-hub
# Option 3: manual
git clone https://github.com/AbcdefgXW/dsh-msg-hub.git
cd dsh-msg-hub && npm install
```bash
git clone https://github.com/USER/dsh-msg-hub.git
cd dsh-msg-hub && npm install
cd $DSH_HOME/profiles/web && pnpm link /path/to/dsh-msg-hub
Register in cordis.patch.yml:
- insert:
- id: dsh-msg-hub
name: dsh-msg-hub
Restart dsh web.
Channel connection guide
WeChat (ilinkai QR login)
node scripts/weixin-login.mjs login
- A QR code appears in the terminal — scan it with the WeChat app
- On success the token is saved to
state/weixin/; restart dsh to activate - A dedicated WeChat account is recommended (simulated protocol — see "Safety Notes" for risk-control warnings)
QQ (Open Platform official bot, two options)
First register a bot app on the QQ Open Platform to get AppID and AppSecret:
# Option A: credentials directly (recommended once the bot exists)
node scripts/qq-login.mjs --appid <AppID> --secret <AppSecret>
# Option B: QR binding (requires an existing bot under this QQ account)
node scripts/qq-login.mjs
Restart dsh after configuring. ⚠️ Proactive pushes additionally require applying for "proactive message permission" on the Open Platform, otherwise they fail silently (passive replies are unaffected).
Feishu (Open Platform enterprise self-built app)
- Create an "enterprise self-built app" on the Feishu Open Platform → enable the bot capability → publish the app
- Copy AppID and AppSecret from the app's "Credentials & Basic Info" page (needs app admin permission)
node scripts/feishu-login.mjs --appid <AppID> --secret <AppSecret>
Restart dsh after configuring.
Credentials are stored under the plugin
state/dir (gitignored, never committed); all three channels can run simultaneously.
Environment Variables
| Variable | Purpose | Default |
|---|---|---|
DSH_CHANNELS_STATE_DIR |
channel state dir (credentials/logs/data) | plugin state/ dir |
DSH_CHANNELS_CWD |
channel agent workspace root | /workspace |
Safety Notes
- WeChat (ilinkai) uses a simulated web protocol (not an official API) — frequent proactive messaging carries account risk-control risk; keep push frequency low (scheduled interval ≥ 15 minutes)
- QQ proactive messages require applying for "proactive message permission" on the Open Platform; without it, proactive pushes fail silently (passive replies are unaffected)
- Feishu uses the official API — compliant and safe
- Credentials live in
state/(excluded via.gitignore) — never commit them
License
MIT