ThreeBody6666/dsh-im-hub
Multi-platform IM gateway for DeepSeek Harness: Feishu (Lark), WeCom (WeChat Wor
Multi-platform IM gateway plugin: connects the dsh agent to Feishu (Lark), WeCom (WeChat Work), and Telegram so you can chat from the messaging apps you already use. Feishu uses the official WebSocket long connection (client-driven ping keepalive, 3s event ACK, message-id dedup) or webhook mode, and serves international Lark too; WeCom does full WXBizMsgCrypt AES-256-CBC decryption + SHA1 signature verification with active replies; Telegram uses Bot API long polling with automatic 4096-char message splitting. Per-chat agent sessions with serialized turns and idle disposal, whitelist enforcement (allowedUserIds) on every adapter, Slack-style commands (/help, /reset, /status, /model), and a mock adapter for testing without real credentials.
Install
dsh plugin --profile im add dsh-im-hubnpm package dsh-im-hub 0.2.3 (registry-verified 2026-08-26). dsh plugin --profile im add dsh-im-hub creates a headless im profile (bundles @deepseek-ai/dsh-base + dsh-im-hub); boot with dsh --profile im. Dev install: dsh plugin --profile im add link:D:/projects/dsh-im-hub. For Web GUI usage, a settings card appears at Settings → Plugins → Configurable plugins → IM Gateway.
Compatibility
DeepSeek Harness (headless im profile or web profile). One agent per chat; multi-turn context; whitelist access control; idle reaping. No public endpoint required (Feishu long connection / Telegram long polling; WeCom HTTP callback).
Details
- Repo: ThreeBody6666/dsh-im-hub
- Category: Messaging & Communication
- Stars: 3
- Version: npm dsh-im-hub 0.2.3 (registry-verified 2026-08-26)
- Last push: 2026-08-21
- First seen: 2026-08-14
Recent updates
v0.2.3: Feishu/Lark + WeCom + Telegram adapters; per-chat sessions; whitelist; idle reaping; mock adapter; web settings card.
FAQ
- Do I need a public URL?
- No — Feishu uses its WebSocket long connection and Telegram uses long polling; only WeCom uses an HTTP callback.
- How is access controlled?
- allowedUserIds whitelist is enforced on every adapter; empty means everyone, so set it in production.
- Can multiple people talk to one agent?
- Each chat gets its own agent session with retained context; turns are serialized so messages never interleave.
Alternatives
imetn/dsh-lark-bridge · sliverp/DeepSeek-harness-wecom · happyren/dsh-agent-messaging