前言¶
在 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。
- 全局安装 CLI:
npm install -g @larksuite/cli
- 首次配置与登录(各执行一次):
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 中的场景表入手试跑。