dsh-lark-bridge

by JMOKSZ

4 通知与集成github 检测到 manifest package.json#dsh 社区精选 收录于 08-17

通过 飞书机器人 远程使用 DSH(DeepSeek Harness):在飞书里给机器人发消息,机器人交给运行在本机的 DSH agent 执行(读写文件、跑命令、搜索网页等),处理过程用 流式消息卡片 实时呈现,最终回答 sealed 进卡片回复。

Feishu (Lark) entry point for DeepSeek Harness: drive dsh agents from a Feishu bot with streaming cards, ask/approval buttons and attachments.

安装

dsh plugin --profile web add github:JMOKSZ/dsh-lark-bridge

GitHub 源码安装:首次需按提示配置 allowBuilds 构建授权后重试

安装与环境配置指引、插件开发教程见 DSH 中文社区文档 ↗

安装即在你的机器上以你的权限运行第三方代码——它可读写文件、使用凭据、访问网络,DSH 的工具审批不会为插件代码加沙箱。「检测到 manifest」仅代表发现 dsh.bundle / dsh.plugin 清单,不构成兼容性或安全审查;安装前请审阅源码,不熟悉的插件先在不含密钥的环境试用。

README

目录

npm CI

通过飞书机器人远程使用 DSH(DeepSeek Harness):在飞书里给机器人发消息,机器人交给运行在本机的 DSH agent 执行(读写文件、跑命令、搜索网页等),处理过程用流式消息卡片实时呈现,最终回答 sealed 进卡片回复。

本质是一个 cordis 插件(@jmoksz/lark-bridge)+ 一个 DSH profile(lark)。走官方长连接(WebSocket),无需公网 IP、无需反向代理,在家/内网即可部署。

功能与特点

  • 🎞️ 流式回复卡片(默认开启):每条任务一张「🤖 DSH 处理中…」实时卡片,思考、回答草稿、工具调用面板(状态符号·工具名·参数摘要)随执行 PATCH 更新;完成 sealed 为绿色终态(最终回复+用时+字数),出错为红色错误态
  • 📨 主动推送:agent 可用 feishu_send 工具主动向会话推送文本/卡片(中途汇报、结果分发、主动提醒)
  • 🎴 交互问答 & 审批卡片:ask_user_question 与工具审批渲染为按钮卡片,点击即作答;也可直接回复编号/文字
  • 🖼️ 附件处理:图片/文件/视频/音频自动下载保存;视觉模型下图片直接附加给模型
  • 📝 富文本:post 富文本消息自动提取纯文本
  • 🧵 多会话:每个飞书 chat(单聊或群)一个独立 DSH session,互不干扰;跨重启自动恢复上下文
  • 👥 群聊 @ 过滤:默认只在被 @ 时响应(可关闭)
  • 🛠 命令:/new(新会话)、/status、/whoami、/help

安装

前置:本机已装 DSH CLI(npm i -g @deepseek-ai/dsh)、pnpm、Node.js ≥ 22,以及一个可用的 LLM key。

一条命令安装(自动创建 lark profile,无需额外补丁文件):

# 从 npm 安装
dsh plugin --profile lark add @jmoksz/lark-bridge --ignore-scripts

# 或从 GitHub 安装
dsh plugin --profile lark add github:JMOKSZ/dsh-lark-bridge --ignore-scripts

本地开发:clone 后运行 ./scripts/setup-lark-profile.sh(可重复执行刷新代码)。

配置

1. 飞书开放平台(一次性)

  1. 创建企业自建应用,添加机器人能力,记下 App ID / App Secret
  2. 开通权限:im:message、im:message:send_as_bot、im:message.group_at_msg、im:chat、im:resource(附件必需)、im:message:update(卡片更新必需)
  3. 事件与回调 → 订阅方式选 「使用长连接接收事件」,添加事件 im.message.receive_v1;如需卡片按钮点击,另订阅 card.action.trigger
  4. 可用范围设为需要使用的成员/部门,发布版本

2. 环境变量

凭据全部来自环境变量(不写入配置文件):

变量 必填 说明
LARK_APP_ID 是 飞书应用 App ID
LARK_APP_SECRET 是 飞书应用 App Secret
LARK_WORKSPACE 否 agent 工作目录(默认启动目录)

模型 key 与 DSH 一致:export DEEPSEEK_API_KEY=sk-xxx 或写入 $DSH_HOME/.credentials.yaml。

3. 运行

LARK_APP_ID=cli_xxx LARK_APP_SECRET=xxx LARK_WORKSPACE=/path/to/work dsh --profile lark

看到 [lark-bridge] Feishu long connection ready 即连接成功。后台常驻用 nohup ... &;macOS 开机自启可配 launchd(参考仓库 scripts/)。

可调配置

在 $DSH_HOME/profiles/lark/cordis.patch.yml 的 lark-bridge 行下覆盖(常用):

字段 默认 说明
cardMode true 卡片总开关(流式回复 + 问答/审批按钮卡片)
replyToMentionOnly true 群聊仅响应 @ 机器人的消息
ackEnabled false 是否先回「⏳ 收到」确认
streaming.patchIntervalMs 700 卡片 PATCH 节流间隔(毫秒)
streaming.showReasoning true 卡片上展示思考过程
streaming.showToolCalls true 卡片上展示工具调用面板
push.enabled true 注册 feishu_send 主动推送工具
maxUploadBytes 104857600 附件大小上限(飞书上限 100MB)

使用

  • 单聊:直接发消息;群聊:@机器人 后发消息
  • 发图片/文件/视频/音频:自动下载处理,可附文字说明(如「这张图里有什么?」)
  • 需要选择/审批时:点击卡片按钮,或直接回复编号/文字
  • 命令:/new /status /whoami /help

测试

无需飞书应用与真实模型:

node test/streaming-test.mjs   # 单测:卡片构建 / TurnReporter / feishu_send
node test/smoke-test.mjs       # 端到端冒烟(mock 模型 + mock 飞书传输)

License

MIT

原始 README: https://github.com/JMOKSZ/dsh-lark-bridge/blob/main/README.md ↗

同类插件

查看全部 →
通知与集成alvinunreal

dsh

将 DeepSeek Harness 的生命周期状态、错误与审批请求,桥接到本地运行的 OpenPets 桌面伙伴。

查看详情
1081github+08-21
通知与集成tencent-connect

dsh-qqbot

让 QQ Bot 接入 DeepSeek Harness(dsh)的官方插件

查看详情
55github+08-17
通知与集成omdsh-dev

dsh-open-in-vscode

从 Web GUI 一键在 VS Code 中打开工作区目录。

查看详情
39github+08-13
通知与集成omdsh-dev

dsh-notification

回合完成桌面通知,按结果分控 + 关键词过滤。

查看详情
38github+08-13
通知与集成THEWOLFWALKER

dsh-notifier

DSH 统一通知推送与远程控制:一个 `notify()` API 打通 25+ 渠道(Telegram / 钉钉 / 飞书 / 企业微信 / QQ 机器人 / WxPusher / PushPlus / Server 酱 / Bark / Discord / Slack / ntfy / webhook 等),timeSensitive / active / passive 分级路由并重试;五通道反向审批(Telegram 按钮 / 飞书卡片 / QQ / WxPusher / 微信 iLink);QQ/钉钉/飞书官方扫码登录;本地 Web 管理台;多 agent 路由;系统桌面通知——以及**手机指挥中心**:在手机上发 `!status` / `!stop` / `!retry` 遥控 agent,通知带可操作按钮(查看结果 / 重试 / 日志,点击回调 agent)。密钥脱敏、工具限流、零运行时依赖。

查看详情
27github+08-16
通知与集成wzj998

chatccc

飞书(Lark)或微信(WeChat)聊天控制 DeepSeek Harness / Claude Code / Cursor / Codex / CCC Agent

查看详情
22github+08-23