DeepSeek Harness 插件

shrekcg/dsh-lark-bridge

Star 数 ★ 1 分类 通知与集成 收录于 2026-08-16

DeepSeek Harness 的飞书/Lark 双向通道:持久会话、真流式回复、40 个飞书 MCP 工具、斜杠命令,以及插件设置页中的 IM 机器人状态页。

安装

# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)

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

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本。请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。

README

DSH ↔ Feishu/Lark Bridge

将 DeepSeek Harness 接入飞书/Lark 的双向智能通道

CI License: MIT Node Tools Market

English 中文


项目简介

DSH ↔ Feishu/Lark Bridge 是一个把 DeepSeek Harness(DSH,AI Agent 运行时)接入飞书 / Lark 的完整双向通道插件。它在飞书里为你的 AI 助手提供「原生应用」般的完整体验:

  • 💬 持久对话:跨消息上下文记忆,话题隔离,群聊/私聊
  • ⌨️ 真流式输出:边生成边显示,平滑打字机效果
  • 🛠️ 40 个飞书对象工具:agent 可直接操作文档、表格、日历、任务、邮件等
  • 🧩 可插拔插件形态:不侵入 DSH 核心,一键安装/卸载

对齐 OpenClaw 飞书官方插件 的能力与体验,但基于 DSH 生态构建。


✨ 功能特性

💬 对话体验

特性 说明
持久会话 跨消息上下文记忆(DSH agents.resume
话题隔离 每个话题独立上下文,如从主线 fork
群聊支持 不 @ 也响应,或按群细粒度策略(白名单/仅@)
思考表情 收到消息显示 THINKING,回复后自动移除
真流式输出 边生成边显示,平滑打字机(自适应节奏)
底部耗时 回复底部小字「已完成 · 耗时 xx」,对齐 OpenClaw
@ 用户渲染 回复中可 @ 用户/所有人(原生 mention)
Bot 互 @ 支持 bot 间对话(可配置)

📎 消息能力

特性 说明
多媒体收发 图片/文件/音频/视频下载与发送
合并转发 合并转发消息识别与展开
表情反馈 👍/❤️ 等表情反馈给 agent
文档评论@ 文档评论中 @ 机器人触发对话

🛠️ 飞书对象工具(MCP × 40)

通过 Model Context Protocol 暴露 40 个飞书工具,agent 以 mcp__feishu__* 原生调用:

类别 工具
消息 send_message read_messages search_chats get_chat_members search_messages read_thread_messages
文档 read_document create_document update_document doc_insert_media doc_list_comments
日历 calendar_agenda create_calendar_event calendar_freebusy calendar_search_events calendar_add_attendee
任务 get_my_tasks create_task task_create_subtask task_get_detail task_related task_add_comment
多维表格 base_read_records base_create_table base_create_record base_create_field base_create_view
电子表格 sheets_read
Wiki wiki_search wiki_list_spaces wiki_create_node
邮件 mail_list mail_send
云盘 drive_search drive_list_folder
妙记/审批/搜索 minutes_search approval_list_todo search_docs
通讯录 get_user_info

🧩 平台能力

特性 说明
多账号多机器人 一个进程管理多个飞书 bot,session 自动隔离
可插拔插件 一键安装/卸载,不侵入 DSH 核心
初始化向导 npm run setup 6 步引导(应用/权限/授权/事件订阅)
诊断自修复 npm run doctor 21 项检查 + --fix 自动修复
功能清单 npm run features 查看各能力配置状态
权限管理 自动检测缺失权限,生成一键申请链接
CI GitHub Actions 自动测试 + MCP 冒烟验证
渠道状态页 内置 HTTP 状态页,实时查看飞书在线/账号/健康(http://127.0.0.1:8899
IM 机器人设置页 DSH 设置页「插件」内新增 IM 机器人 tab,展示渠道状态(web-plugin/
斜杠命令 飞书对话内直接使用 /new /compact /model /status 等命令

⌨️ 斜杠命令

在飞书对话中直接输入命令(不消耗 AI 调用,即时响应):

命令 说明
/help 显示所有可用命令
/new / /clear 开启新对话(清空当前会话上下文)
/compact 压缩当前会话(减少上下文)
/model [name] 查看 / 切换模型(如 /model deepseek-v4-flash
/status / /state 查看当前状态(模型/会话/工具/运行时长)
/tools 列出可用飞书工具(40 个)
/features 查看功能配置清单
/doctor 运行诊断

📦 快速开始

前置依赖

依赖 说明
DSH DeepSeek Harness 运行时
lark-cli 飞书官方 CLI(工具执行后端)
Node.js ≥ 18 运行环境

安装

# 1. 克隆
git clone https://github.com/shrekcg/dsh-lark-bridge.git
cd dsh-lark-bridge

# 2. 安装依赖
npm install

# 3. 初始化向导 (创建应用/授权/事件订阅 一步步引导)
npm run setup

# 4. 安装为插件 + 常驻服务
npm run install-bridge

# 5. 验证
npm run doctor        # 诊断 (21 项)
npm run features      # 功能清单

详细配置见 docs/SETUP.mddocs/INSTALL.md


🔧 配置

配置通过环境变量或 config.json(见 config.example.json):

变量 默认 说明
LARK_APP_ID 飞书应用 App ID
LARK_APP_SECRET 飞书应用密钥
REQUIRE_MENTION false 群聊是否要求 @ 才响应
ALLOW_BOTS false bot 互 @:false/true/mentions
GROUP_POLICY open 群策略:open/allowlist/closed
GROUP_ALLOW_FROM 群白名单(逗号分隔 open_id)
REACTION_NOTIFICATIONS off 表情反馈:off/own/all
STREAM_THROTTLE_MS 60 流式节流时间阈值 (ms)
STREAM_THROTTLE_CHARS 3 流式节流字符阈值
ALLOW_USER_WRITES 允许 user 身份写操作(默认仅发消息用 bot)
DSH_BIN / DSH_HOME DSH 路径

🚀 使用

对话

  • 私聊:直接在飞书单聊机器人
  • 群聊:拉机器人进群,直接发消息(或 @,取决于配置)
  • 话题:在群消息上创建话题,获得独立上下文

飞书工具

直接用自然语言告诉 agent:

  • 「帮我查一下今天的日程」
  • 「创建一个文档,内容是……」
  • 「给 XX 发一条消息」
  • 「列一下我的待办任务」

管理命令

npm start                # 启动 bridge
# 状态页: 打开 http://127.0.0.1:8899 (飞书在线状态/账号/健康)
npm run setup            # 初始化向导
npm run doctor           # 诊断 (--fix 自动修复)
npm run features         # 功能配置清单
npm test                 # 运行测试 (65 用例)
npm run install-bridge   # 安装插件 + 常驻服务
npm run uninstall-bridge # 卸载 (可逆, 不影响 DSH 核心)
npm run mcp              # 单独运行 MCP server

🏗️ 架构

┌──────────────────────────────────────────────────┐
│                     飞书 / Lark                   │
│   用户私聊 · 群聊 · 话题 · 表情 · 评论 · 卡片交互   │
└───────────────────────┬──────────────────────────┘
                        │ WebSocket 长连接 (SDK)
┌───────────────────────▼──────────────────────────┐
│               bridge (常驻进程)                   │
│  ┌─────────┐ ┌────────────┐ ┌─────────────────┐  │
│  │ channel │ │  inbound   │ │    outbound     │  │
│  │ (SDK)   │ │ policy     │ │ stream (真流式)  │  │
│  │         │ │ media      │ │ mention (@渲染)  │  │
│  │         │ │ reaction   │ │ footer (耗时)   │  │
│  │         │ │ merge-fw   │ │                 │  │
│  └────┬────┘ └─────┬──────┘ └────────┬────────┘  │
│       └────────────┼─────────────────┘           │
└────────────────────┼─────────────────────────────┘
                     │ DSH headless (持久会话)
              ┌──────▼──────┐
              │  agents.resume│
              │  + MCP client │
              └──────┬──────┘
                     │ mcp__feishu__* (40 工具)
              ┌──────▼──────┐
              │ Feishu MCP  │
              │ server      │
              └──────┬──────┘
                     │ lark-cli
              ┌──────▼──────┐
              │  飞书 OpenAPI│
              └─────────────┘
  • 接收@larksuite/channel SDK WebSocket 长连接(无需公网回调地址)
  • 会话:固定 session + DSH agents.resume(跨消息记忆)
  • 工具:40 个 MCP 工具,lark-cli 执行后端

详见 docs/ARCHITECTURE.md


📁 项目结构

dsh-lark-bridge/
├── src/
│   ├── index.js              # 入口 (多账号消息流水线)
│   ├── config.js             # 配置管理
│   ├── channel.js            # 飞书通道 (SDK + 流式)
│   ├── session.js            # 持久会话 + 互斥锁
│   ├── core/
│   │   ├── scope-manager.js  # 权限管理
│   │   ├── adaptive.js       # 流式自适应步长
│   │   └── pacing.js         # 流式节奏控制
│   ├── inbound/
│   │   ├── policy.js         # 群策略/bot/@
│   │   ├── media.js          # 多媒体接收
│   │   ├── reaction.js       # 表情反馈
│   │   ├── merge-forward.js  # 合并转发
│   │   └── comment.js        # 文档评论@
│   ├── outbound/
│   │   └── mention.js        # @渲染
│   ├── tools/
│   │   └── mcp-server.js     # 飞书 MCP server (40 工具)
│   └── commands/
│       ├── doctor.js         # 诊断自修复 (21 项)
│       └── features.js       # 功能配置清单
├── dsh-lark-session/         # DSH 插件 (持久会话 runner)
├── scripts/
│   ├── install.js            # 安装/卸载/状态
│   └── setup.js              # 初始化向导
├── tests/                    # 65 个单元测试
└── docs/                     # 文档

📚 文档

文档 说明
SETUP.md 详细配置指南
INSTALL.md 插件化安装指南
ARCHITECTURE.md 架构设计
README.en.md English README

🧪 测试

npm test    # 65 个单元测试

CI(GitHub Actions)自动运行:单元测试 + 语法检查 + MCP server 冒烟验证。


📄 License

MIT

🙏 致谢

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →