🎁 福利专区全网大模型免费应用 + 新用户福利 + 注册活动入口,低成本玩转 AI

飞书桥接 JMOKSZ/dsh-lark-bridge

DeepSeek Harnessv0.6.0
JMOKSZ18 天前有提交已提供中文文档扫描:含敏感能力

DeepSeek Harness 的飞书(Lark)入口:用飞书机器人驱动 dsh 智能体,支持流式卡片、询问/审批按钮和附件。

33.6/100
综合分
5
GitHub 星标
42
npm 周下载
—/5
用户评分

数据截至 2026/10/16 · 周下载取自 npm 全网(含 CI / 镜像),非本站安装数;综合分由星标、活跃度与兼容性检查合成。

安装命令 · 需先装 dsh CLI 引擎
dsh plugin --profile web add @jmoksz/lark-bridge
npm 源 · @jmoksz/lark-bridge 的发布者账号已校验与本仓库一致

状态速览

判定依据:实装验证 · 静态安装检查 · 自动扫描 · 仓库维护状态
信任档位:已验证
是什么
dsh 原生插件 · platform
装得上吗
本站已在 dsh 0.2.1-rc.2 下真实安装成功
非静态推断
L4 · 真实安装等级说明 →
安全吗
本站尚未对该插件做风险分级
暂未覆盖,不等同于无风险
还在维护吗
活跃:最近一次提交在 18 天前
档位由哪些信号合成

本站实装验证(真实安装 L4 覆盖全站;L5 为运行时冒烟或实机截图,覆盖范围小于 L4) · 验证所用 dsh 版本 · 静态安装检查 · 风险分级 · 仓库维护状态。 下方各区块是它的证据明细。

验证判据与等级说明 →
社区实装还没有人打卡 · 装过的第一个就是你
安装兼容性检查✓ 自动检查通过
展开查看检查明细 ↓

以下结论由程序自动检查 npm 包、engines 声明与入口文件得出,未做人工实机验证——能装不等于用着没问题。

✓npm 包@jmoksz/lark-bridge @ 0.6.0
✓Node 引擎未声明 engines.node
✓dsh CLI 依赖未声明 dsh 版本约束
✓入口文件main/exports/bin 已声明

验证方式:npm registry 存在性 + package.json 静态校验 · 最后检查 2026/10/28 15:43:17

安全扫描自动 · 静态分析源码
v2.7.0
🔵 扫描:含敏感能力尚无人工评估
展开查看扫描说明与证据 ↓

静态扫描发现插件具备触达本地系统的能力:执行外部命令、读写/删除本地文件、读取剪贴板或密钥类环境变量(至少其一)。这是能力清单,不是危险判定——具体能力项与证据见下方,安装前请自行判断是否需要。

读写/删除本地文件读取剪贴板或密钥环境变量发起外部网络请求
查看扫描证据(共 14 处,展示前 12 条)
  • 发起网络请求
    lib/index.js:378
    const response = await this.client.request({ method: "GET", url: "/open-apis/bot/v3/info" });
  • 读取本地文件
    lib/index.js:512
    else if (typeof mock.filePath === "string") bytes = readFileSync(mock.filePath);
  • 写入本地文件
    lib/index.js:521
    appendFileSync(this.outgoingFile, JSON.stringify(entry) + "\n");
  • 读取本地文件
    lib/index.js:628
    if (!file || !existsSync(file)) return;
  • 读取本地文件
    lib/index.js:630
    const parsed = JSON.parse(readFileSync(file, "utf8"));
  • 写入本地文件
    lib/index.js:644
    mkdirSync(dirname(file), { recursive: true });
  • 写入本地文件
    lib/index.js:646
    writeFileSync(tmp, JSON.stringify(this.state, null, 2) + "\n");
  • 写入本地文件
    lib/index.js:647
    renameSync(tmp, file);
  • 写入本地文件
    lib/index.js:1002
    await mkdirSync(uploadsDir, { recursive: true });
  • 读取本地文件
    lib/index.js:1006
    if (existsSync(target)) {
  • 写入本地文件
    lib/index.js:1009
    writeFileSync(target, resource.bytes);
  • 读取密钥环境变量
    lib/index.js:1350
    const appSecret = config.appSecret ?? process.env.LARK_APP_SECRET;
扫描于 2026/11/2(1 天前) · 范围 入口闭包 + 全包扫描 · 来源 npm 发布包

静态扫描只反映源码中出现的调用,不构成安全背书;人工评估与自动扫描相互独立、互不覆盖。

依赖的 DSH / Cordis 模块
@deepseek-ai/dsh-agent@deepseek-ai/dsh-llm@deepseek-ai/dsh-session@deepseek-ai/dsh-user-questions@deepseek-ai/schemastery
给这个插件打分还没有人投票↓
用户评分
还没有人投票,来当第一个

功能亮点

  • 飞书机器人驱动智能体
  • 流式卡片展示
  • 询问审批按钮与附件

README

由 DeepSeek 最新模型翻译生成
DSH 飞书入口(Lark Bridge) npm Awesome DSH Plugin CI 通过飞书机器人远程使用 DSH(DeepSeek Harness):在飞书里给机器人发消息,机器人交给运行在本机的 DSH agent 执行(读写文件、跑命令、搜索网页等),处理过程用流式消息卡片实时呈现,最终回答 sealed 进卡片回复。 本质是一个 cordis 插件(@jmoksz/lark-bridge)+ 一个 DSH profile(lark)。走官方长连接(WebSocket),无需公网 IP、无需反向代理,在家/内网即可部署。 功能与特点 - 🎞️ 流式回复卡片(默认开启):每条任务一张「🤖 DSH 处理中…
展开完整文档(README 剩余 1 节)
DSH 飞书入口(Lark Bridge)

npm
Awesome DSH Plugin
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
预览分享卡片长什么样 ↓JMOKSZ/dsh-lark-bridge
分享 · DeepSeek Harness Hub
JMOKSZ/dsh-lark-bridge

DeepSeek Harness 的飞书(Lark)入口:用飞书机器人驱动 dsh 智能体,支持流式卡片、询问/审批按钮和附件。

回到顶部