dsh
OpenPetsHQ/openpets将 DeepSeek Harness 的生命周期状态、错误与审批请求,桥接到本地运行的 OpenPets 桌面伙伴。
基于飞书官方 WebSocket 长连接的 DSH 双向聊天桥:消息路由到所选工作区的最新会话并自动回复,可在设置页切换机器人凭证与工作区。
飞书机器人 ↔ DeepSeek Harness 双向聊天桥:给飞书机器人发消息,DSH 智能体自动回复;智能体也能主动往飞书发消息。
设置 → 飞书,把飞书开放平台 → 你的应用 → 凭证与基础信息 里两项值粘进去,点保存并重新连接,长连接就起来了,全程不需要手改配置文件。im.message.receive_v1)到达 DSH,委派给当前绑定工作区最新会话的子代理处理,纯文本回复自动发回原聊天。feishu_send_message 工具,任意会话都能把消息推给最近联系过 DSH 的飞书聊天(或指定 chat_id)。pbbp2)、自动 ack、ping 保活、sum/seq 分片合并、断线退避重连,全部在宿主进程内完成;停止或更新插件时全部清理干净。# 从 npm(发布后)或本仓库:
dsh plugin --profile web add dsh-feishu-chat
# 或直接从 GitHub:
dsh plugin --profile web add github:Qing45/dsh-feishu-chat
重启 dsh web,打开 设置 → 飞书:
⚠️ 本插件是社区第三方代码 —— 安装即表示你信任该来源。凭证只保存在本机
$DSH_HOME/feishu-bot/config.json,不会被提交或上传。
| 组成 | 文件 | 职责 |
|---|---|---|
| Host 入口 | lib/index.js | Cordis 插件(export const name + export function apply),串联配置、路由、WS、工具与 HTTP 路由 |
| 飞书 API | lib/feishu.js | node:https 助手:租户令牌、发消息、WS 端点 |
| WS 客户端 | lib/ws.js | 进程内长连接:protobuf pbbp2.Frame、自动 ack、ping、分片合并、重连 |
| 路由 | lib/router.js | 入站消息 → 解析父代理(initiator → live agent → resume)→ 子代理 → 回复 |
| 配置 | lib/config.js | $DSH_HOME/feishu-bot/config.json 持久化 |
| HTTP 路由 | lib/routes.js | 设置页所用路由(写操作仅限同源) |
| Client | client/client.js | window.__ModuleLoader__.load bundle,注册 设置 → 飞书 页面 |
本包是标准 DSH bundle:package.json 声明 dsh.bundle.patch(层插入)与 dsh.client(web bundle),cordis.patch.yml 把插件行插入 profile 树。
profile 自己的补丁层($DSH_HOME/profiles/<profile>/cordis.patch.yml)支持热加载:
pnpm --dir "$DSH_HOME/profiles/web" add /path/to/dsh-feishu-chat
然后在 cordis.patch.yml 末尾追加:
- insert:
- id: feishu-bot
name: 'dsh-feishu-chat'
刷新浏览器即可在设置页看到「飞书」,无需重启。
rejectUnauthorized: false),请自行评估该取舍。feishu_send_message;省略 chat_id 时发给最近联系过 DSH 的飞书聊天。MIT