Transsioner-Link:把本机 lark-cli 只读能力接成 DSH 工具

前言

在 DSH 里让 Agent 读企业飞书里的云文档、表格或群消息,常见做法是走 bash 调用 lark-cli。DSH 的 bash 在 workspace-write 沙箱里执行,而 lark-cli 刷新用户令牌需要写本机凭据库,沙箱会拒绝这次写入,用户身份调用往往时通时不通。自己写一层飞书 OpenAPI 又意味着维护凭据与 scope,和「用已有 CLI 登录态」不是同一条路。

下面介绍社区插件 transsioner-link(npm 包名 transsioner-cli)。它在宿主进程里直接 spawn lark-cli,复用系统里唯一那份凭据,把云文档、电子表格、多维表格、画板、评论、妙记以及群列表与群消息等能力登记成 DSH 只读工具;仓库不含任何凭据,每人用自己的账号授权。

这是什么

Transsioner-CLI · 飞书连接器 由维护者 canadaeee 发布,分类为联网工具。定位可以概括成:不重新实现飞书 API,不保存凭据,不缓存正文——每次调用都是实时读取,可见范围等于你此刻在飞书里的权限。

仓库名是 transsioner-link,DSH 按 npm 包名 transsioner-cli 登记 bundle,两者不冲突。当前 package.json 版本为 1.3.1,要求 Node >=20、DSH >=0.2.1-rc.3,许可证 MIT。

核心功能

插件只注册读命令,不提供发消息、改文档、删文件等写操作。主要工具如下(典型入参见 README 工具表):

工具 用途
feishu_status 连接自检:lark-cli 位置、应用、user/bot 状态、已授权 scope
feishu_setup 配置检查;未配好时给出步骤
feishu_search 按关键词搜云文档/知识库/表格
feishu_doc_read 读文档正文(docx、旧版 doc、wiki 节点)
feishu_sheet_read 工作表清单或指定区间 CSV
feishu_bitable_read 多维表格的数据表与记录
feishu_chat_list 我所在的群(可关键词搜索)
feishu_chat_history 某个会话的消息记录
feishu_message_search 跨会话搜消息
feishu_whiteboard_read 读文档/画板里的节点文字
feishu_doc_comments 文档、表格、画板的评论与回复
feishu_minutes_read 妙记的总结、待办、章节、关键词

约定要点:链接与 token 通用;长文档可先 scope:"outline" 看结构再局部读;单次返回默认约 3 万字符,超出会截断并提示如何继续。读文档侧优先使用 lark-cli 的 im-markdown 格式,并在必要时做 DocxXML 本地降级。

凭据与前置条件

本仓库不包含任何凭据、令牌或真实文档地址。凭据只存在本机 lark-cli 的库里(Linux:~/.config/lark-cli/;macOS、Windows 路径见 README 表格)。第一次使用需用自己的飞书账号授权:

lark-cli auth status
lark-cli auth login
lark-cli auth login --profile larktest   # 需要与日常凭据隔离时

除安装 lark-cli 并完成授权外,企业自建应用需开通 README「前置条件」中列出的 scope(文档、表格、多维表格、群、搜索、知识库等)。缺权限时可用 feishu_status 逐项核对,补 scope 后重新 lark-cli auth login。

安装与启用

DSH 生态里插件可通过社区目录页添加;安装方式以仓库 README 为准,任选其一。

① 在 DSH 插件页填仓库地址(推荐)

插件页 → 添加插件 → 粘贴:

https://github.com/canadaeee/transsioner-link

DSH 会用 pnpm 把仓库克隆到当前 profile 并登记成 bundle,装完需重启生效。固定版本可在地址后加 #v1.1.1 等形式(README 示例)。

② Release 中的 tgz(国内拉 GitHub 不稳时)

https://github.com/canadaeee/transsioner-link/releases/latest/download/transsioner-cli.tgz

③ 本地目录(自改代码时)

插件页 → 添加插件 → 填本目录绝对路径;改完代码重启即生效。

配置项

在 cordis.patch.yml 对应行可调整(节选):

字段 默认 说明
larkBin 自动查找 PATH 中没有 lark-cli 时填绝对路径
profile 当前 profile 多套飞书应用时指定
identity user user 以你的身份读;bot 仅机器人可见内容
timeoutMs 60000 单次调用超时
maxChars 30000 返回给模型的字符上限
enableChat true 设为 false 只保留文档类工具
appId 空 可选;引导文案中的 App ID,源码不内置
homeDir 空 排障用;正常不要设,易造成令牌副本

典型用法

Agent 在会话里通过上述工具名调用即可;入参为 JSON 对象。README 中的示例形态如下。

搜索云文档:

{ "query": "周报" }

读 docx(先看大纲再分段):

{ "url": "https://…/docx/xxx", "scope": "outline" }

读表格区间:

{ "url": "…/sheets/xxx", "sheet": "Sheet1", "range": "A1:F30" }

读群历史:

{ "chat": "产品周会", "limit": 20 }

跨会话搜消息(消息搜索不返回群名,需群名时可先 feishu_chat_list):

{ "query": "上线时间", "start": "2026-10-01T00:00:00+08:00" }

类型与 URL 不匹配时,工具会明确提示应改用哪个读命令。

适用场景与注意

适合谁: 已在本地用 lark-cli 登录企业飞书、希望 DSH Agent 只读查阅文档/表格/妙记/群消息,又不想在沙箱里反复撞令牌刷新问题的开发者或团队。

设计取舍: 这些工具不受 workspace 文件沙箱约束,否则无法稳定复用 lark-cli 凭据库。插件因此 strictly 只读;安装前应查看源码与 MIT 许可证,只装信任来源的 bundle。

已知限制(README 摘要): 旧版 /docs/ 文档无标题层级与范围读取;图片、内嵌画板/表格等多为占位符;群消息附件不自动下载;接口频控时需稍后重试。

社区插件目录 skillhub.cn 上的 transsioner-link 页 与 GitHub 仓库相互独立引用,目录站点与 DeepSeek / 幻方无官方从属关系。

结尾

transsioner-link 把本机已登录的 lark-cli 接成 DSH 只读工具集,凭据留在 lark-cli,插件侧零存储、零写接口。若你的 Agent 工作流依赖飞书内的结构化信息,可先完成 lark-cli auth login 与 scope 开通,再在 DSH 中按 README 添加仓库或 tgz。

  • 目录页:https://www.skillhub.cn/plugins/canadaeee/transsioner-link
  • 源码与文档:https://github.com/canadaeee/transsioner-link
羽毛球分组比赛记分
小程序二维码

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

小夜