dsh-web
zhu1090093659/dsh-webDeepSeek Harness(DSH)Web 插件聚合生态包 · 一切皆插件,创意工坊分发(dsh-market.com)
dsh-chatops 是 DeepSeek Harness 的 IM 桥接插件:微信扫码绑定官方 ClawBot 机器人(腾讯 iLink 协议),或接入飞书自建应用,即可在手机 IM 里列出/切换/驱动所有 DSH 会话——发文字就是发 prompt,任务完成自动推送结果,危险操作推送审批(飞书支持卡片按钮一键批准)。多通道并行、纯官方接口、零公网部署
用微信、飞书、钉钉、企业微信远程操控 DeepSeek Harness——IM 机器人直连全部工作区与会话,任务完成推送,危险操作远程审批。
Drive DeepSeek Harness from WeChat, Feishu, DingTalk and WeCom — IM bots bridged to every workspace and session, with completion push and remote approval.
四通道并行的 IM 桥接插件:机器人和你私聊(或群 @)即可操作所有工作区和会话——发文字就是发 prompt,任务完成自动推送,危险操作推审批(飞书支持卡片按钮一键批准),生成的报告/图片/文件可直接回传到 IM。
bot_token 长效,重启免扫码/sessions(含 📦 冷会话自动唤醒)、/use、/status、/log(完整输出)、/send <路径>、/approve /rejectim_send_file 工具主动把成果文件发到 IM(图片内联显示,其他为文件卡片);/log 超长输出自动转 txt 文件# 从 GitHub 安装(推荐)
dsh plugin --profile web add github:ZhuoSir/dsh-chatops
# 或本地源码安装
dsh plugin --profile web add /path/to/dsh-chatops
# 重启生效
dsh web
然后打开 设置 → IM 通道,在面板上启用通道并填写凭据(微信无需凭据,直接面板内扫码)。
| 项 | 要求 |
|---|---|
| DSH profile | web(完整功能);headless profile 可跑通 Bot 收发,但无设置页/扫码页 |
| Node.js | ≥ 22(AbortSignal.any / fetch 依赖) |
| 操作系统 | macOS / Linux / Windows(wechaty 备选通道的 xp puppet 仅 Windows) |
| 网络 | 仅需主动出站 HTTPS/WebSocket,零公网回调、零端口转发 |
| DSH 版本 | 0.1.0-rc.x(peer: @deepseek-ai/cordis ^4、dsh-llm/dsh-tools rc.6) |
各通道官方 SDK 均为可选依赖(@larksuiteoapi/node-sdk / dingtalk-stream / @wecom/aibot-node-sdk / wechaty),随主包安装;未装时对应通道空转并在日志给出指引,不影响其他通道。
ilinkai.weixin.qq.com / open.feishu.cn / api.dingtalk.com / 企微 WS 网关);本机回环端口只暴露 /chatops/* 只读状态与配置端点(loopback 校验);bot_token 写入 DSH 凭据存储(ctx.credentials,文件兜底 0600 权限);飞书/钉钉/企微凭据保存在本机 profile 配置中,不上传任何第三方;storages/dsh-chatops/audit.jsonl);可用 security.allowContacts / allowRooms 收敛白名单;| 通道 | 平台准备 | 权限/能力 |
|---|---|---|
| 微信 ilink | 无(扫码即建机器人) | 无需配置权限 |
| 飞书 | 开发者后台建自建应用 + 机器人能力 | im:message、im:message:send_as_bot、im:resource(文件回传);事件订阅(长连接):im.message.receive_v1 + card.action.trigger(审批按钮必需);发版生效 |
| 钉钉 | 开放平台建企业内部应用 + 机器人 | 消息接收选 Stream 模式;机器人消息收发权限;文件回传需媒体上传权限 |
| 企业微信 | 管理后台建智能机器人 | 无额外权限项;仅企业内成员可见 |
⚠️ wechaty 备选通道(个人号协议)违反《微信软件许可及服务协议》,存在封号风险,仅限自用、务必小号,默认关闭。
设置 → IM 通道 → 微信卡片内扫码绑定(或打开 http://127.0.0.1:3080/chatops/qr),手机确认后机器人和你打招呼:
/help → 查看指令
/sessions → 1. 修复登录bug 💤空闲 2. 写周报 🔄运行中 …(📦=冷会话,自动唤醒)
/use 1 → ✅ 已绑定会话:修复登录bug
把 README 翻译成英文 → 🚀 已发送… →(完成后)✅ 任务完成:…
/send reports/a.md → 📤 文件发送中…
"把结果整理成报告发给我" → 模型自动调用 im_send_file 推文件给你
dsh web);/help——首个私聊用户自动成为管理员(审计留痕);security.allowRooms 填群 id(飞书 chat_id / 钉钉 conversationId / 企微 chatid),群里 @机器人 下指令。面板可配全部常用项;完整配置见 cordis.patch.yml(每个键都有注释)。关键项:
| 键 | 说明 |
|---|---|
channels | 启用的通道列表:[ilink, feishu, dingtalk, wecom] |
feishu.* / dingtalk.* / wecom.* | 各平台凭据 |
security.allowContacts / allowRooms | 额外信任的用户/群(owner 始终受信) |
push.onApproval / approvalTimeoutSec | 审批推送与超时(超时转 GUI 处理) |
push.longOutputAsFile | 超长输出转 txt 文件(默认开) |
reply.maxChunkBytes / rateLimitMs / maxFileMB | 分段大小 / 发送节流 / 文件上限(100MB) |
微信用户 ──私聊──► ClawBot(iLink,35s 长轮询)
飞书用户 ──私聊/群@──► 飞书开放平台(WS 长连接)
钉钉用户 ──私聊/群@──► 钉钉开放平台(Stream 长连接)
企微用户 ──私聊/群@──► 企业微信(aibot WS 长连接)
▲ 均为主动出站,零公网部署
src/host/
├─ index.ts apply(ctx):多通道装配 + 生命周期 + /chatops/* API + 工具注册
├─ manager.ts ChannelManager:windowKey 前缀路由(多通道并行)
├─ ilink/ 微信 iLink 通道(api / store / channel / qrimg)
├─ feishu/ 飞书通道(channel + cards:审批/进度卡)
├─ dingtalk/ 钉钉通道(Stream SDK)
├─ wecom/ 企业微信通道(aibot SDK)
├─ channel.ts [备选] wechaty 个人号通道
├─ auth.ts 来源过滤(owner/白名单) + 窗口↔会话绑定 + 审计
├─ bridge.ts SessionBridge:指令路由、prompt 投递、审批 answerer、文件回传
└─ src/client/ 设置页「IM 通道」面板(settings.section 插槽,主题跟随)
iLink / 飞书 / 钉钉 / 企微各通道的协议与 SDK 用法参考了 xmanrui/dsh-im(MIT)的实现,致谢。本插件的通道实现为独立编写。
MIT © ZhuoSir