通过出站长连接把飞书、企微智能机器人、钉钉 Stream、QQ 官方 Gateway 的会话桥进 dsh agent,并提供 im_status 工具。用户白名单默认为空,即**任何人**都能驱动你的 agent——对外暴露机器人前请先设置 allowedUserIds;IM 输入可在宿主机上执行工具。
安装
# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)
dsh plugin --profile web add github:173787247/dsh-wsl-im
装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。
README
让 飞书 / 企微 / 钉钉 / QQ 直接和 dsh 对话。
链路:IM → 本插件 → ctx.agents → 回 IM。
在套件里的位置
不在 install.sh 里。行为以厂商协议文档为准。
flowchart TB
chats["飞书 / 企微 / 钉钉 / QQ"] --> im["dsh-wsl-im"]
im --> ws["每个 IM 一个工作区"]
im --> agents["ctx.agents"]
agents --> reply["回复回到该聊天"]
工作区是 ~/.dsh/im-workspace/{feishu,wecom,dingtalk,qq},插件启动时登记。一个聊天一条会话,不是整个平台共用一条。总图见 dsh-wsl-kit 中文说明。本插件是 0.2.4(可选,不在 install.sh)。
首批测试
| 适配器 | 模式 | 凭证 |
|---|---|---|
| 飞书 | 长连接 | FEISHU_APP_ID / FEISHU_APP_SECRET + DSH_IM_FEISHU=1 |
| 企微 | 智能机器人 WSS | WECOM_BOT_ID / WECOM_BOT_SECRET + DSH_IM_WECOM=1 |
| 钉钉 | Stream | DINGTALK_CLIENT_ID / DINGTALK_CLIENT_SECRET + DSH_IM_DINGTALK=1 |
| 官方 Gateway | QQ_APP_ID / QQ_APP_SECRET + DSH_IM_QQ=1 |
|
| mock | 本机 HTTP | DSH_IM_MOCK=1 |
飞书还需在 profile 里安装 @larksuiteoapi/node-sdk。
企微 WSS(openws.work.weixin.qq.com)在本机常需走 HTTPS_PROXY/HTTP_PROXY(ws 不吃 NODE_USE_ENV_PROXY)。同一 Bot 同时只能一条长连接——测 dsh 时请关掉挂着同一个 Bot 的其它客户端。
入站图片 / 文件(含 PDF)/ 语音 / 视频已与企微对齐:图片进视觉,PDF 用 pdftotext,语音只用平台转写(QQ asr_refer_text;飞书/钉钉没有转写就落盘并请改发文字),视频只落盘、不抽帧。群消息需 @ 机器人。本机 WSL 直连这三家会超时,长连接和下载在设置了 HTTPS_PROXY 时走同一条代理。
每个 IM 单独一个工作区:~/.dsh/im-workspace/feishu、wecom、dingtalk、qq。插件启动时会登记进 dsh 工作区列表,侧边栏显示为飞书、企微、钉钉、QQ,不用手动添加。同一工作区里仍是一条聊天一个会话。旧会话留在上一级 im-workspace。
安装
# 跟踪默认分支,不要钉死 0.2.0
dsh plugin --profile web add github:173787247/dsh-wsl-im
Awesome: 条目草稿见 docs/awesome-entry.yml;仓库满 ≥1 天后再向 awesome-dsh-plugin 提 PR(CI 会卡年龄)。
source 环境变量后 restart-dsh-web.sh,新开会话。可用工具 im_status。
License
MIT
链接
同类插件
6Mikao9/dsh-wsl-workspace★ 51
从 Web GUI 添加 WSL 工作区,无需在 WSL 之中再次安装 dsh 以及相关工具,bash 命令与文件读写运行在本机 WSL 发行版内,Windows 文件仍可访问。
173787247/dsh-wsl-open★ 3
把 DeepSeek Harness 聊天里的 WSL Linux 路径在 Windows 默认程序或资源管理器中打开。
173787247/dsh-wsl-env★ 2
向 system prompt 注入 WSL 发行版、Linux 路径映射、/mnt/c 的 CRLF 与 git 注意点,以及 NODE_USE_ENV_PROXY。
173787247/dsh-wsl-net★ 2
提供 net_doctor 工具,报告代理环境、NODE_USE_ENV_PROXY,以及 DeepSeek API 与 npm registry 的连通性,并为 bash 和 npm 子进程设置 NODE_USE_ENV_PROXY。
liyu34/dsh-wsl-tray★ 2
为运行在 WSL 的 DSH 提供 Windows 桌面快捷方式和系统托盘启动器:完全隐藏启动,托盘菜单支持打开/重启/退出,插件配置页可管理快捷方式。
173787247/dsh-wsl-browser★ 1
在 Windows 默认浏览器中打开来自 WSL 的 http(s) 链接。
社区评论
评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。