dsh-feishu-bridge
v1.0.4
Published
Bridge Feishu (Lark) private chat (text + images with vision analysis) into DSH agent sessions: stable one-session mapping, explicit new-session command, cardkit typewriter streaming.
Maintainers
Readme
dsh-feishu-bridge
把飞书(Lark)私聊消息实时桥接进 DSH(DeepSeek Harness)agent 会话的 Cordis 插件,并通过飞书官方 cardkit 流式卡片实现打字机式输出。
能力
- 监听飞书私聊文本消息(
im.message.receive_v1,通过lark-cli event consume长连接) - 将消息作为用户消息注入当前 DSH agent 会话,由 agent 以完整工具能力(bash / fs / 飞书技能等)处理
- 回复以流式卡片(
streaming_mode)实时逐字上屏;卡片创建失败时自动降级为「文本确认 + markdown 完整回复」 - 仅允许配置的
ownerOpenId与机器人私聊
架构
飞书私聊 ──消息──▶ lark-cli 事件长连接(插件内子进程)
│ 注入
▼
DSH agent 会话(完整工具)
│ 增量文本(poll assistant/chunk)
▼
cardkit 卡片流式更新(打字机效果)安装
npm install dsh-feishu-bridge在 DSH 的 cordis.yml 中注册:
plugins:
- name: dsh-feishu-bridge
config:
ownerOpenId: ou_xxxxxxxx # 必填:唯一允许私聊的用户 open_id
botOpenId: ou_yyyyyyyy # 可选:机器人自身 open_id
larkCliPath: /path/to/lark-cli # 可选:lark-cli 绝对路径
debugLog: feishu-bridge-debug.log前置条件
lark-cli已安装并完成认证(bot 身份必需;agent 若调用日历/任务等需 user 身份)- 飞书应用已开通权限:
im:message(或im:message:send_as_bot)—— 收发消息cardkit:card:write—— 流式卡片(可选,缺失时降级为非流式)
- 应用已订阅事件:
im.message.receive_v1(长连接模式)
配置项
| 字段 | 必填 | 说明 | 默认 |
|---|---|---|---|
| ownerOpenId | ✅ | 唯一允许与机器人对话的用户 open_id | - |
| botOpenId | | 机器人自身 open_id(忽略自身回声) | '' |
| larkCliPath | | lark-cli 绝对路径 | PATH 解析 |
| workspaceRoot | | 子进程工作目录 | 沙箱工作区根 |
| updateIntervalMs | | 卡片更新节流 | 700 |
| maxReplyLength | | 回复截断长度 | 3500 |
| elementId | | cardkit 元素 ID | md_1 |
| debugLog | | 调试日志文件名 | feishu-bridge-debug.log |
License
MIT
