dsh-lark:在 DSH 会话里用自然语言操作飞书

前言

在 DeepSeek Harness(dsh)里做智能体时,常见需求是「查日程、发群消息、写云文档」——这些往往落在飞书 / Lark 上。若只在对话里生成文字,再由人复制到飞书,步骤多、上下文也容易断。

社区插件 dsh-lark(npm 包名 dsh-lark-cli,仓库 aminuoshi-378/dsh-lark)把官方 lark-cli 接到 dsh:模型通过单一工具 lark_cli 调用 CLI,再配合九个 lark-* 技能,在会话里用自然语言完成发消息、写文档、查日历等操作。登录态与密钥由 lark-cli 自行管理,插件不保存、不转发 token。

这是什么

维护者 aminuoshi-378,在 SkillHub 上归类为「联网工具」。一句话定位:让 AI 助手在 dsh 里直接操作飞书——发消息、写文档、查日程、管任务、理表格,不必离开对话窗口。

设计原则是「官方 lark-cli 负责执行 + 技能负责教模型怎么用」,执行与知识分离:

  • 一个工具:lark_cli,参数为 argv(命令切词,不含开头的 lark-cli)与可选 stdin;不经 shell,避免引号、转义与注入问题。
  • 九个技能:lark-shared、lark-doc、lark-im、lark-calendar、lark-task、lark-drive、lark-sheets、lark-base、lark-wiki,随插件分发,模型按需加载。
  • 零凭据配置:登录态与密钥由 lark-cli 管理(~/.lark-cli/config.json 与系统 keychain),插件不存、不转发任何 token。

环境要求

项目 要求
dsh ≥ 0.2.0-rc.2(需支持 defineTool / ctx.subprocess / ctx.skills.registerProvider 与 dsh.profile.bundles)
操作系统 Windows 10/11 为主要验证平台;macOS / Linux 理论可用(lark-cli 跨平台),未逐一验证
Node.js ≥ 22.0.0
lark-cli ≥ 1.0.96
网络 可访问飞书 OpenAPI 与 open.feishu.cn

前置条件

安装插件之前,先在终端完成 lark-cli 的安装与登录;插件本身不做登录,也不会替你保存 appId / appSecret。

  1. 全局安装 CLI:
npm install -g @larksuite/cli
  1. 首次配置与登录(各执行一次):
lark-cli config init
lark-cli auth login
lark-cli auth status

安装与启用

推荐用 dsh 自带的 dsh plugin 安装:会自动完成依赖登记、dsh.profile.bundles 注册与 cordis.yml 合并。本包不含预构建 dist/,tarball 或 git 来源安装后,需在插件目录执行一次 npm install && npm run build。以下示例 profile 为 web,可按实际 profile 替换 --profile 参数。

方式一:Release tarball(推荐)

dsh plugin --profile web add https://github.com/aminuoshi-378/dsh-lark/archive/refs/tags/v0.1.0.tar.gz
cd ~/.dsh/profiles/web/node_modules/dsh-lark-cli
npm install && npm run build

版本号可换成 Releases 页上的目标 tag。

方式二:git 仓库

dsh plugin --profile web add dsh-lark-cli@github:aminuoshi-378/dsh-lark#v0.1.0
cd ~/.dsh/profiles/web/node_modules/dsh-lark-cli
npm install && npm run build

# 后可写 tag(如 #v0.1.0)或分支(如 #main)。

验证

构建完成后重启 dsh web,用下面命令确认配置里出现 lark-cli 相关条目:

dsh --profile web --dump-config | grep lark-cli

启动日志无 did not activate 告警时,会话中可使用 lark_cli 与九个 lark-* 技能。回滚可执行:dsh plugin --profile web remove dsh-lark-cli,并按 README 说明清理 cordis.patch.yml 后重启。

典型用法

README 中的对应关系可作为可复现的预期:你在对话里描述意图,模型拆成 lark_cli 的 argv 调用(具体语法见 lark-shared 技能)。

你说 模型侧动作(概念上)
「把会议纪要发到产品群」 lark-im 发送消息到指定群
「按这份材料写篇 PRD 存到云文档」 lark-doc 创建文档并写入
「我下周有什么会」 lark-calendar 查询日程
「把这张表里的待办整理成任务」 lark-sheets 读数据 → lark-task 建任务
「给知识库补一页 xx 说明」 lark-wiki 建节点 → lark-doc 写内容

首次使用任意 lark 技能前,模型通常会先读 lark-shared:身份选择(--as user / --as bot)、认证排查、JSON 输出解析、高风险写操作确认,以及「在 dsh 中不经 shell 调用」的规则。

其余八个技能分别覆盖云文档、即时通讯、日历、任务、云空间、电子表格、多维表格与知识库;各技能目录下的 references/ 提供更细的命令与场景说明。

适用场景与注意

适合谁:已在用 dsh(≥ 0.2.0-rc.2)、团队工作流在飞书上,并希望会话内完成 IM、文档、日历、任务、表格等 OpenAPI 能力调用的开发者。

权限与安全:插件以当前 dsh 进程的权限运行;安装前建议阅读仓库源码与 MIT 许可证。所有飞书写操作仍受 lark-cli 与飞书应用权限约束,技能里对高风险写操作有确认门禁说明。

平台:Windows 为主要验证环境;其他系统需自行验证 lark-cli 与插件构建是否满足需求。

生态说明:DSH 采用「一切皆插件」的扩展方式;SkillHub 为社区目录站点,与 DeepSeek / 幻方无官方从属关系。

结尾

dsh-lark 把飞书官方 CLI 与 dsh 的工具、技能机制接在一起:一条 lark_cli 通道、九套领域技能、凭据留在 lark-cli 侧。若你要在 Harness 里把对话和飞书办公串成闭环,可按上文完成 lark-cli 登录与插件安装,再从 lark-shared 与 README 中的场景表入手试跑。

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

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

Xiaoye