💡阅读指南

如果你第一次使用飞书 CLI,那么大概率现在你的飞书还不能用,它还需要一些登录和权限配置。

6.1 Step 1:准备飞书账号

飞书 CLI 不是一个脱离飞书账号独立工作的工具。它最终要代表某个飞书身份去创建文档、读取文档、写入多维表格,所以在让 Hermes 操作之前,用户至少要准备好一个可以正常使用的飞书账号。

6.2 Step 2:让 Hermes 检查当前环境

准备好账号以后,你可以直接向 Hermes 输入一段自然语言指令:

Text
我已经有飞书账号,也可以在浏览器里完成登录和授权。请你检查本机飞书 CLI 的配置状态。如果还没有完成授权,请指导我完成授权;如果已经可用,请告诉我当前执行身份。

如果环境还没有配置好,Hermes 的返回不能只是一句“失败了”。它要把失败原因翻译成人能处理的动作。

比如,Hermes 可能会返回这样的判断:

Text
现在的情况是这样的:

配置状态:还没有完成授权。

飞书 CLI 建议先绑定一个执行身份。这里需要你确认两件事:

1. 身份策略选哪个?
- 用户身份:以你的飞书账号执行操作,适合本教材后面的文档、知识库和多维表格演示。
- 机器人身份:以飞书应用机器人执行操作,权限更收敛,但访问个人空间和个人文档时会受限制。

2. 你手上有没有现成的飞书应用?
- 有 App ID / App Secret:我可以直接绑定这个应用。
- 没有:我会启动初始化流程,让 CLI 创建或配置一个新应用,然后你在浏览器里完成授权。

如果只是跟着本教材练习,我建议选择“用户身份 + 没有现成应用”。这样后面创建出来的文档会直接出现在你的飞书空间里。

Hermes 给出建议以后,用户需要明确回复一个选择。

比如读者可以回复:

Text
选择用户身份。我没有现成的飞书应用,请你按推荐方式继续初始化。

收到这个回复以后,Hermes 才继续执行配置流程。

Text
我已经启动飞书 CLI 初始化流程。

好,CLI 已经创建好了一个飞书应用,现在需要你在浏览器里完成授权。
请打开这个链接:
https://open.feishu.cn/page/cli?user_code=HProm=cli

用你的飞书账号登录,按页面提示完成授权就行。我在后台等着,你搞定了告诉我一声,我继续后面的操作。

按提示操作,先打开网页,然后登录。随后,创建一个应用: alt text

💡提示

注意飞书的 CLI 应用是一种特殊的应用,和普通飞书应用有很大的不同。

创建完成后,飞书已经通知了 Hermes 完成了应用创建。但 Hermes 发现这种创建是 Bot 的身份,不是用户身份。它会再打开一个网页,要求你授予用户身份权限:

alt text
alt text

一切完成后,Hermes 会返回一个确认信息:

alt text

到这里,Step 2 才算结束。

6.3 Step 3:让 Hermes 创建一篇测试文档

环境确认以后,才进入这一节的最小操作:创建一篇飞书测试文档。

用户给 Hermes 的指令可以保持简单:

Text
帮我创建一篇飞书测试文档,标题是“飞书 CLI 测试文档”,正文是“这是一篇由 Hermes 通过飞书 CLI 创建的测试文档”。创建完成后,请把文档链接告诉我。

6.4 Step 4:给用户一个合格回执

最后,Hermes 要把结果告诉用户。

一个合格的回执,不应该是一大段 JSON,也不应该只写一句“已完成”。它至少要包含这些信息:

回执项 说明
创建结果 文档是否创建成功
文档标题 创建出来的文档名称
文档链接 用户可以直接打开的位置
alt text

这才是用户真正需要的信息。用户不需要知道中间到底调用了几个子命令,他只需要知道目标有没有完成、结果在哪里。

6.5 这次最小操作建立了后面的基本模式

这一节完成的是一个很简单的、甚至无意义的案例。

但这个动作已经包含了后面所有复杂流程的基本骨架:

Text
用户提出目标
  ↓
Hermes 检查账号、授权和权限
  ↓
Hermes 读取命令说明和 Skill
  ↓
Hermes 执行写入
  ↓
Hermes 给用户回执

后面无论创建多维表格,还是做真正的飞书应用,底层都是这套模式。

6.6 ■ 学点英语

中文 English 音标 说明
认证流程 Authentication Flow /ɔːˌθentɪˈkeɪʃən floʊ/ 确认用户身份并获取访问权限的流程
命令输出 Command Output /kəˈmænd ˈaʊtpʊt/ 命令执行后返回给终端的文本结果
最小操作 Minimal Operation /ˈmɪnɪməl ˌɑːpəˈreɪʃən/ 验证系统可用性的最小可执行动作
错误处理 Error Handling /ˈerər ˈhændlɪŋ/ 识别错误并给出恢复或提示的机制