Bridges Feishu, WeCom aibot, DingTalk Stream and QQ Gateway chats into dsh agents over outbound long connections, with an im_status tool. Ships with an empty user allowlist, which means EVERYONE can drive your agent — set allowedUserIds before exposing a bot; IM input can run tools on the host.
Install
# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)
dsh plugin --profile web add github:173787247/dsh-wsl-im
Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).
README
DeepSeek Harness plugin: chat with dsh from Feishu / WeCom / DingTalk / QQ.
Messages go: IM → this plugin → ctx.agents → reply.
Compatibility
| Field | Value |
|---|---|
| Plugin | dsh-wsl-im 0.2.4 |
| Minimum dsh | ≥ 0.1.2 |
| Latest verified | See dsh-wsl-kit Compatibility |
| Kit set | not in install.sh (optional) |
| Cloud Flash | deepseek-flash — not configured here |
Architecture
Not in install.sh. Wire behavior follows vendor docs.
flowchart TB
chats["Feishu / WeCom / DingTalk / QQ"] --> im["dsh-wsl-im"]
im --> ws["one workspace per IM"]
im --> agents["ctx.agents"]
agents --> reply["reply text back to that chat"]
Each IM gets ~/.dsh/im-workspace/{feishu,wecom,dingtalk,qq}, registered on plugin start. One session per chat, not one session for the whole platform. Suite diagram: dsh-wsl-kit. This plugin is 0.2.4 (optional, not in install.sh).
Adapters (v0.2 test set)
| Adapter | Mode | Creds |
|---|---|---|
feishu |
Long connection | FEISHU_APP_ID / FEISHU_APP_SECRET |
wecom |
智能机器人 WSS | WECOM_BOT_ID / WECOM_BOT_SECRET |
dingtalk |
Stream | DINGTALK_CLIENT_ID / DINGTALK_CLIENT_SECRET |
qq |
Official Gateway | QQ_APP_ID / QQ_APP_SECRET |
mock |
Local HTTP | DSH_IM_MOCK=1 → POST http://127.0.0.1:18999/mock |
Enable with DSH_IM_FEISHU=1 (etc.) or adapters.*.enabled: true in patch config.
Feishu peer dependency
# inside the dsh profile / plugin install tree
npm i @larksuiteoapi/node-sdk
WeCom proxy
openws.work.weixin.qq.com often needs HTTPS_PROXY/HTTP_PROXY. The adapter uses https-proxy-agent (ws ignores NODE_USE_ENV_PROXY). One Bot = one live WS — stop any other client on the same Bot while testing.
Install
# track default branch; do not pin 0.2.0
dsh plugin --profile web add github:173787247/dsh-wsl-im
Awesome: entry draft in docs/awesome-entry.yml — submit to awesome-dsh-plugin after the repo is ≥1 day old (CI gate).
Source env (see examples/dsh-wsl-im.env.example), restart web, new session. Tool: im_status.
Mock smoke (no real bot)
export DSH_IM_MOCK=1
# restart dsh web, then:
curl -s http://127.0.0.1:18999/mock -H 'content-type: application/json' \
-d '{"text":"/status","chatId":"t1"}'
Security
Empty allowedUserIds = everyone. Set a whitelist before exposing bots. IM input can drive tools on the host.
License
MIT
Links
More in this category
6Mikao9/dsh-wsl-workspace★ 51
Add a WSL workspace from the web GUI without needing to install dsh or related tools again inside WSL. Bash commands and file read/write operations run within the local WSL distribution on the host machine, while Windows files remain accessible.
173787247/dsh-wsl-open★ 3
Opens WSL Linux paths from DeepSeek Harness chat in the Windows default app or Explorer.
173787247/dsh-wsl-env★ 2
Injects WSL distro, Linux path mapping, /mnt/c CRLF and git caveats, and NODE_USE_ENV_PROXY into the system prompt.
173787247/dsh-wsl-net★ 2
Adds a net_doctor tool that reports proxy environment, NODE_USE_ENV_PROXY, and reachability of the DeepSeek API and the npm registry, and sets NODE_USE_ENV_PROXY on bash and npm child processes.
liyu34/dsh-wsl-tray★ 2
Windows desktop shortcut and system-tray launcher for DSH running in WSL, with fully hidden startup, tray open/restart/exit menu, and a plugin-configuration card to manage the shortcut.
173787247/dsh-wsl-browser★ 1
Opens http(s) URLs from WSL in the Windows default browser.
Community comments
Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.