dsh-im-gateway
An IM gateway for the DeepSeek Harness: bridge WeChat (iLink) and other messengers into harness agent sessions, with slash-command controls (/new, /sessions, /status, /model, ...).
安装
npx -p @deepseek-ai/dsh dsh plugin --profile web add github:jelech/dsh-im-gateway说明文档
阅读完整 README ↗dsh-im-gateway
An IM gateway for the DeepSeek Harness: bridge messengers into harness agent sessions and control them with slash commands.
- WeChat via Tencent's official iLink Bot transport (the same one OpenClaw's
@tencent-weixin/openclaw-weixinuses) — QR login, long-poll, no public endpoint/ngrok required. - Slash commands modeled on Hermes Agent's messaging interface:
/new,/sessions,/status,/model, … - One agent session per peer: every IM contact gets its own harness agent (same model, tools, workspace), so conversations have memory and stay isolated.
Architecture
IM (WeChat iLink)
│ QR login + long-poll (native fetch)
▼
dsh-im-gateway (host plugin, one per process)
├── channel registry lib/channels/wechat-ilink.js ← transport adapters
├── peer → session map lib/gateway.js ← agent lifecycle
├── slash commands lib/commands.js
└── HTTP bridge lib/http.js ← browser panel
│
▼
harness agents service → agent session → model/tools/workspace
Two halves, per the harness convention:
- Host (
index.js,lib/): the gateway. Runs once per process because the channel token and peer→session map must be shared, not per-session. - Client (
client.js): an optional browser "IM 网关" settings section (QR login, status, test). Discovered automatically via the package'sdsh.clientdeclaration.
Commands
| Command | Action |
|---|---|
/help | List commands |
/new (or /reset) | Archive the current session and start a fresh one |
/sessions | List current + archived sessions for this peer |
/status | Show connection, model, and current session |
/model [provider:model] | Show current model, or switch (provider:model) into a new session |
Roadmap: , , , , , (interrupt), and skill invocation.