dsh-lark-link:在飞书里驱动 DSH 会话与工作流

前言

DeepSeek Harness(DSH)把模型、Agent 和工具链收进同一套宿主里,日常开发却常卡在「人不在电脑前」:手机上的飞书能聊,但很难等价地切换会话、改工作区、看流式进度,或按多租户方式隔离不同飞书应用。自建 Webhook 机器人可以转发消息,却要自己管凭据、队列、会话路由和卡片展示,和维护成本叠在一起。

下面介绍社区插件 @very12345/dsh-lark-link(仓库 Very12345/dsh-lark-link)。它是 amlyczz/dsh-lark-link 的分叉,由 Very12345 维护,目标是把飞书/Lark 与 DSH 做成双向桥:消息进 DSH 执行,结果以卡片(含流式状态)回到飞书,并支持多应用、多用户隔离与会话管理。插件归类为工作流;SkillHub 目录页见 skillhub.cn/plugins/Very12345/dsh-lark-link。DSH 生态强调「一切皆插件」,SkillHub 为独立社区目录,与 DeepSeek / 幻方无官方从属关系。

这是什么

dsh-lark-link 是独立的 DSH 飞书/Lark 桥接插件,npm 包名 @very12345/dsh-lark-link,许可证 MIT。兼容官方 DSH 0.2 系列;开发与运行要求 Node.js >= 24。它直接使用 DSH 的模型与会话,不要求 WebAgent 应用或网页模型后端;若要在飞书里走网页模型,需另装 dsh-webagent-integration 并连接其后端。

凭据、入站 WAL、Outbox 和运行状态由插件管理;模型与 Agent 执行仍由 DSH 承担。飞书侧的模型工具及桥接提示词只挂在「从飞书创建或恢复」的 Agent 上,普通桌面/网页对话不会出现这些工具;DSH 侧 /lark 管理命令仍可用。

核心功能

消息与执行

  • 飞书消息与 DSH 双向桥接,支持流式卡片和停止当前任务。
  • 图片走视觉模型;文件走文本提取。
  • 模型发起的确认类提问会转成飞书意图确认卡片,可点选或输入作答。
  • 原生 DSH 斜杠命令(如 /compact)可在飞书侧触发,结果回传到飞书。

多应用与隔离

  • 多应用、多用户下的路由、会话、工作区与模型白名单相互隔离。
  • 模型白名单是强制策略:会话若引用被取消的模型会回落到该应用默认允许模型;飞书发 /model provider/model 也不能越权。白名单仅能从 Web UI 的 Lark 管理面板修改,不提供 /lark-config 旁路。

飞书侧操作面

  • 按钮式命令面板(如 /menu)、单选卡片切换模式/权限/模型/思考档位、目标控制台、会话切换与确认、目录浏览器(/workspace、/files)、结构化 /status、用量与诊断等。
  • 每条命令回复落在独立折叠面板里(执行中/成功/失败分色),同一张卡片原地更新,避免刷屏。
  • /doctor 可打包 ZIP 诊断(session log、脱敏配置、ISSUE 模板);/reconnect 用于断连自救。

配置与凭据

  • App ID / Secret 写入 DSH 凭据服务,不进普通配置文件;/lark setup 扫码与 Web UI Lark 面板写入同一引用。
  • 常用项可通过 /lark-config 或 /stream on|off 热改并持久化(群策略、流式卡片、表情回执、工作区根、附件保留等,详见下文配置表)。

安装与启用

安装

在 DSH 宿主上执行(桌面 profile 示例;CLI WebUI 可选用 --profile web):

dsh plugin --profile desktop add github:Very12345/dsh-lark-link

也可在仓库内 npm pack 后本地安装:

dsh plugin --profile <name> add file:/absolute/path/package.tgz

Git URL 安装依赖仓库内已提交的 dist/;若修改 src/ 须先 npm run build。加载新版本后需重启对应 DSH 宿主/profile。

若安装器提示 protobufjs 构建脚本被阻止,按提示执行:

dsh plugin --profile <name> approve-builds protobufjs

bundle 中的加载名须为 @very12345/dsh-lark-link,避免与上游裸包名混用。

首次配置与启动

  1. 在 DSH 输入框执行 /lark setup(扫码一键建应用,或使用环境变量 DSH_LARK_APP_ID / DSH_LARK_APP_SECRET 手动通道)。
  2. 执行 /lark start 启动桥接。
  3. 在 Web UI 的 Lark 管理面板配置多应用及模型白名单。

生命周期与健康检查:

/lark setup
/lark start|stop|restart|status
/lark uninstall-clean

/lark uninstall-clean 会清除凭据与状态目录;更换 App ID 时插件会先停旧 WebSocket 并清空旧机器人相关路由与 WAL,避免消息重放。

典型用法

DSH 侧

桥接启停与状态见上一节。卸载清理用 /lark uninstall-clean。

飞书侧(卡片化,无需死记拼写)

类别 命令 行为概要
控制面板 /menu 分组按钮,一点即执行
选择 /mode /permission /model /reasoning(/thinking 同义) 单选卡片切换
目标 /goal [目标\|pause\|resume\|clear] 目标控制台与模板按钮
状态 /status /usage /whoami /help 健康卡、用量、当前会话、命令清单
会话 /new /resume /sessions /stop 新会话(确认卡)、恢复、列表、停任务
工作区 /workspace /cwd /files [路径] 目录浏览与切换;可浏览到文件系统根,但模型工具 lark_send_local_file 仅允许发送当前工作区内文件
诊断 /doctor /reconnect 诊断 ZIP / 重连
热改 /lark-config /stream on\|off 流式、表情回执、群策略等按钮面板
桥管理 /lark [子命令] 无参时为按钮面板

斜杠消息要么由桥处理,要么原样交给 DSH,不会静默丢弃;非命令内容可直接描述任务。

常用配置(/lark-config,立即生效)

配置键 默认 说明
groupPolicy open 群聊触发:open / mention / keywords / reply
groupKeywords ["lark","bot"] keywords 模式触发词
agentPreset code preset:standard/code/minimal/cordis 或 GUI 自建 id
permissionMode danger-full-access read-only / workspace-write / danger-full-access
streaming.enabled true CardKit 流式卡片
reactions.enabled true 表情回执
reactions.receipt / done / error OnIt / DONE / ERROR 三态 emoji(须为飞书官方目录内类型)
allowlist [] open_id 白名单,空表示不限制
denyList [] 命令前缀拒绝
workspaceRoot `` 桥会话工作区根,空则用 process.cwd()
attachments.retentionHours 168 入站媒体保留小时数,0 为永久
attachments.dir `` 入站媒体目录覆盖,空为系统 tmpdir

适用场景与注意

适合谁: 已在用 DSH 0.2、希望在飞书/Lark 里完成会话切换、工作区浏览、模型与权限切换,并需要多飞书应用隔离的团队或个人;分类上属于工作流向桥接,而不是替代 DSH 桌面本身。

运行与权限: 插件随当前 DSH 进程权限运行,可触达该进程能访问的文件与网络;安装前应阅读源码与 MIT 许可证,确认群策略(默认 groupPolicy: open 会在群内免 @ 触发)是否符合你的安全预期。

环境: Node.js >= 24;peer 依赖对齐 DSH 0.2-rc 系列 SDK(如 @deepseek-ai/dsh-agent 等,以 package.json 为准)。当前发布版本号为 0.6.0-webagent.9(以仓库 package.json 为准,勿凭旧上游 README 推断)。

排错: 飞书发 /doctor 取诊断包;/status 查看连接、Outbox、补发与会话链路。问题可提交 GitHub Issues。

结尾

dsh-lark-link 把飞书变成 DSH 的可操作前端:流式卡片、会话与工作区管理、多应用隔离和诊断工具都落在插件内,DSH 仍负责模型与 Agent。若你要在移动端或协作场景里延续同一套 Harness 工作流,可按上文命令安装、setup 与 start,再在 Lark 管理面板收紧模型与白名单策略。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye