DSH HUB
HomePlugin StorePlugin PacksCommunityRankingsResourcesPublish Guide
Plugin source
Back to catalog

Very12345 /

Very12345/dsh-lark-link

Verified

Fork of amlyczz/dsh-lark-link — Feishu/Lark bridge for DeepSeek Harness, adding card streaming status, per-app isolation, multi-user management, session admin and site preview.

★ 0 Stars0 Forks0 IssuesN/A Community rating0 Confirmed installs
View on GitHub
READMESource: main@3e4d97e9

dsh-lark-link

独立的 DSH 飞书/Lark 桥接插件,包名 @very12345/dsh-lark-link。这是 amlyczz/dsh-lark-link 的个人分叉;上游作者为 amlyczz,本分叉由 Very12345 维护,许可证为 MIT。

兼容目标为官方 DSH 0.2 系列,开发和运行环境要求 Node.js >= 24。它可直接使用 DSH 的模型与会话,不要求 WebAgent 应用或网页模型后端运行。若要通过飞书使用网页模型,另装 dsh-webagent-integration 并连接其后端。

功能

  • 飞书消息与 DSH 双向桥接,支持流式卡片和停止当前任务。
  • 飞书模型工具及桥接提示词仅挂载于从飞书创建或恢复的 Agent;普通桌面/网页对话不呈现这些工具。DSH 侧 /lark 管理命令仍可使用。
  • 多应用、多用户的路由、会话、工作区与模型白名单隔离。
  • 按钮式命令面板、会话切换、目录浏览、诊断与断连补偿。
  • 凭据、入站 WAL、Outbox 和运行状态由插件管理;DSH 承担模型及 Agent 执行。

安装与启动

dsh plugin --profile desktop add github:Very12345/dsh-lark-link
# CLI WebUI 可选择 --profile web

也可在本仓库执行 npm pack,再通过 dsh plugin --profile <name> add file:/absolute/path/package.tgz 安装。Git URL 安装所需 dist/ 已提交;修改 src/ 后必须重新构建。加载新版本后重启对应 DSH 宿主/profile。

若安装器报告 protobufjs 构建脚本被阻止,按其提示使用 dsh plugin --profile <name> approve-builds protobufjs 允许该依赖。bundle patch 中的加载名必须是 @very12345/dsh-lark-link,避免与上游裸包名混用。

在 DSH 的输入框执行 /lark setup 完成应用配置,再执行 /lark start。Web UI 的 Lark 管理面板提供多应用及模型白名单设置。实际凭据写入 DSH 凭据服务,不放入 README 或源码。

⌨️ 命令

DSH 侧(GUI 或终端)

/lark setup            扫码一键建应用(或 DSH_LARK_APP_ID/SECRET 手动通道)
/lark start|stop|restart|status   桥接生命周期与全链路健康
/lark uninstall-clean  清除凭据与状态目录

飞书侧(卡片化单选,无需记忆拼写)

类别 命令 行为
控制面板 /menu(/help 内有入口) 分组按钮面板:一条命令一个按钮,点一下就执行,免记忆免输入
选择类 /mode /permission /model /reasoning 单选按钮卡片,点选即切换(动态感知自建 preset、提供商与模型思考档位;/thinking 同义)
目标类 /goal [目标|pause|resume|clear] 目标控制台卡片:暂停 / 恢复 / 清除按钮 + 常用目标模板按钮
状态类 /status /usage /whoami /help 结构化健康卡(连接/队列/会话/补发分行,不再截断)/ 用量统计 / 当前会话诊断 / 分组命令清单
会话类 /new /resume [序号|id] /sessions /stop 新会话(确认卡片防误触)/ 恢复历史会话 / 会话选择器(等价 /resume)/ 停止当前任务
工作区 /workspace /cwd /files [路径] 目录浏览器:..、子文件夹、切换到此目录、新建文件夹、取消;单卡片原地流式刷新,可向上浏览到文件系统根 / 查看当前工作区及来源 / 列出目录内容
诊断 /doctor /reconnect ZIP 诊断包(session log + 配置 + ISSUE.md)/ 断连自救重连
热改 /lark-config /stream on|off 按钮式设置面板(流式卡片 / 表情回执 / 群策略一键切换)+ 高级文本形式;/stream 是流式开关快捷方式
桥管理 /lark [setup|start|stop|restart|status|uninstall-clean] 无参时输出按钮面板,不必手打子命令
DSH 命令 /compact 等 原生执行,结果回飞书
多媒体 发图片/文件 图片→视觉模型;文件→文本提取
意图确认 模型提问 自动转飞书意图确认卡片,选项或输入作答

命令无拦截、无门禁:一切 / 消息要么桥处理,要么原样交 DSH——绝不静默丢弃。skill 无前缀,直接说任务即可。

每条命令回复都落在自己的折叠面板里:执行中蓝色计时、成功绿色、失败红色,后续交互在原地更新同一张卡片,不会刷屏。 /workspace 浏览器允许向上浏览并切换到 dsh 工作区之上的目录(到文件系统根为止);但模型侧的 lark_send_local_file 仍只允许发送当前工作区内的文件——这一不对称是刻意的:人能自由选目录,模型不能越权回传文件。

⚙️ 常用配置(/lark-config 热改,立即生效并持久化)

配置键 默认 说明
groupPolicy open 群聊触发策略:open(免 @ 全触发)/ mention / keywords / reply
groupKeywords ["lark","bot"] keywords 模式下的触发词
agentPreset code Agent preset(shipped:standard/code/minimal/cordis,或 GUI 自建 id)
permissionMode danger-full-access 权限:read-only / workspace-write / danger-full-access
streaming.enabled true CardKit 流式卡片(默认开启;设为 false 可关闭)
reactions.enabled true 表情回执开关
reactions.receipt / done / error OnIt / DONE / ERROR 三态表情(收到 / 完成 / 失败),需为飞书官方目录内的 emoji_type
allowlist [] open_id 白名单,空 = 所有人可对话
denyList [] 命令前缀拒绝兜底
workspaceRoot `` 桥会话工作区根目录(空 = process.cwd())
attachments.retentionHours 168 入站图片/文件的保留时长(小时,默认 7 天;0 = 永久保留)。默认存系统临时目录,到期自动清扫
attachments.dir `` 入站媒体根目录覆盖(空 = 系统 tmpdir;重启生效)

凭据(appId/appSecret)存放在 DSH credentials 服务,不进普通配置文件。/lark setup 扫码和 Web UI 的 Lark 面板均写入同一安全凭据引用;状态接口只显示 App ID 掩码,不回显 App Secret。

手动更换 App ID 时,插件会先停止旧 WebSocket,再清空旧机器人的路由、去重、补发 WAL、发件箱和会话覆盖状态,防止旧机器人消息通过新机器人重放。

模型白名单是强制策略,不只是界面过滤:已有会话若引用刚被取消的模型,会立即回落到该应用的默认允许模型;飞书直接发送 /model provider/model 也无法越权。修改默认工作区后,没有单独 /workspace 覆盖的会话会在下一条消息新建于该工作区。 为确保运行中会话同步清退被撤销的模型,模型白名单只允许从 Web UI 的 Lark 管理面板修改,不开放 /lark-config modelAccess=… 旁路。

🩺 遇到问题?

  1. 飞书发 /doctor,得到 ZIP 诊断包(完整 session log + 脱敏配置 + ISSUE.md 模板)
  2. 把诊断包贴给任意 AI(或在 GitHub Issue 中发出来),即可快速定位
  3. /status 可随时看连接 / Outbox / 补发 / 会话全链路健康

开发与分发

安装、类型检查、测试与构建在本地执行,不再配置 GitHub Actions 工作流,以避免消耗 Actions 额度。飞书桥接运行不依赖 GitHub Actions。开发用 DSH SDK 固定为同一版本,干净安装使用锁文件执行 npm ci。

npm install
npm run check
npm test
npm run build
npm pack --dry-run
npm pack

src/ 是 TypeScript 源码,test/ 保存回归测试,dist/ 是可分发宿主与客户端入口,cordis.patch.yml 是官方 bundle 配置。测试数量以当前测试报告为准。

每个仓库独立维护;本地私人部署记录在忽略的 LOCAL-DEPLOYMENT.md 和部署脚本中,不进入公共文档及发布包。工作区关系见 总览。

许可证与上游

MIT,见 LICENSE。保留上游作者及许可证信息;本分叉发布内容、版本和安装名以当前 package.json 为准,不以旧上游 README 的徽章或 npm 版本推断。商标与关系说明见 NOTICE。

设置页面

设置页与 Windows 电脑操作页使用一致的分区、开关、状态和主题样式,支持窄屏。凭据和模型访问策略保留明确的保存操作。

设置页采用紧凑的行间距与分区留白,保持原生正文字号。侧栏及页面标题使用独立 SVG 图标,并随深浅色主题显示。当前宿主的固定齿轮通过插件内、仅限自身导航项的样式适配替换;卸载时恢复,不修改宿主文件。

—/ 5

No ratings yet

Verified DSH bundle

Commit 3e4d97e9b79b

Community comments

No comments yet. Be the first to write one.

DSH HUB

A community index for DSH plugins. Not an official GitHub or DeepSeek AI product.

CommunityResourcesAPIAbout