在终端里玩转飞书!feishu-cli 全功能使用指南

26 阅读7分钟

在终端里玩转飞书!feishu-cli 全功能使用指南

本文介绍飞书开放平台命令行工具 feishu-cli 的功能与使用方式,核心亮点是 Markdown 与飞书文档的双向无损转换,同时覆盖知识库、表格、消息、日历等 15+ 模块。

前言

用飞书写文档的时候,你有没有遇到过这些痛点——

  • 本地写好的 Markdown 文档,粘贴到飞书后格式全乱了
  • Mermaid 流程图只能截图贴上去,没法编辑
  • 想把飞书文档导出成 Markdown 存到 Git 仓库,手动复制粘贴丢格式

feishu-cli 正是为解决这些问题而生的。它是飞书开放平台的命令行工具,核心能力是 Markdown 与飞书文档的双向无损转换,支持 40+ 种 Block 类型,Mermaid/PlantUML 图表自动转为可编辑的矢量画板。除此之外,它还覆盖了文档、知识库、表格、消息、群组、日历、任务、权限等 15+ 功能模块,并内置 11 个 AI Agent Skill。

🔗 项目地址:github.com/riba2534/fe…

核心亮点

Markdown 与飞书文档双向无损转换

这是 feishu-cli 最硬核的能力:

  • 支持 40+ 种 Block 类型:标题(1-9 级)、列表(无限嵌套)、代码块、表格、公式、图片、Callout(6 种类型)等
  • Mermaid / PlantUML 自动转矢量画板:不是截图,是可编辑的矢量图形
  • 智能表格处理:自动计算列宽,超大表格自动拆分
  • 高性能导入:三级并发流水线架构,单次可处理 10000+ 行、127+ 张图表、170+ 个表格

全平台覆盖

  • 文档 — 创建、导入 Markdown、导出、批量更新
  • 知识库 — 空间管理、节点创建、文档关联
  • 表格 — 读写单元格、批量操作
  • 消息 — 发送文本 / 富文本、搜索会话
  • 群组 — 创建群、管理成员
  • 文件 — 上传、下载
  • 权限 — 单个 / 批量授权
  • 日历 — 日程管理
  • 任务 — 任务增删改查
  • 画板 — 白板管理
  • 评论 — 文档评论管理
  • 搜索 — 全局搜索消息、文档

安装

一键安装(推荐)

curl -fsSL https://raw.githubusercontent.com/riba2534/feishu-cli/main/install.sh | bash

支持平台:Linux(x64/ARM64)、macOS(Intel/Apple Silicon)、Windows(x64)

其他安装方式

# Go 安装
go install github.com/riba2534/feishu-cli@latest

# 源码编译
git clone https://github.com/riba2534/feishu-cli.git
cd feishu-cli
make build

也可以直接去 Releases 页面 下载对应平台的二进制文件。

配置

前置准备

  1. 飞书开放平台 创建一个应用
  2. 获取 App ID 和 App Secret

方式一:环境变量(推荐)

export FEISHU_APP_ID="cli_xxx"
export FEISHU_APP_SECRET="xxx"

方式二:配置文件

feishu-cli config init  # 生成 ~/.feishu-cli/config.yaml

用户认证(搜索功能需要)

feishu-cli auth login  # OAuth 2.0 授权,自动管理 Token

验证配置

feishu-cli doc create --title "Hello Feishu"

返回文档 ID 说明配置成功。

上手指南

文档操作:Markdown 与飞书文档互转

这是 feishu-cli 最核心的使用场景。

导入 Markdown 到飞书:

# 导入 Markdown 文件为飞书文档
feishu-cli doc import doc.md --title "技术方案文档"

# 导入时自动上传本地图片
feishu-cli doc import doc.md --title "带图文档" --upload-images

从飞书导出 Markdown:

# 导出飞书文档为 Markdown
feishu-cli doc export <doc_id> -o output.md

# 导出时下载图片到本地
feishu-cli doc export <doc_id> -o output.md --download-images

创建空文档:

feishu-cli doc create --title "新文档"

再也不用担心 Markdown 和飞书之间的格式丢失了。

知识库管理

# 查看所有知识库空间
feishu-cli wiki spaces

# 在知识库中创建节点
feishu-cli wiki create --space-id <space_id> --title "新页面"

表格读写

# 读取表格数据
feishu-cli sheet read <token> "Sheet1!A1:C10"

# 写入表格数据
feishu-cli sheet write <token> "Sheet1!A1:B2" --data '[[name,age],[John,25]]'

消息收发

# 通过邮箱给某人发消息
feishu-cli msg send --receive-id-type email \
  --receive-id user@example.com \
  --text "部署完成,请验收"

# 搜索会话
feishu-cli msg search-chats --query "项目周会"

权限管理

# 给某人添加文档编辑权限
feishu-cli perm add <doc_id> \
  --member-type email \
  --member-id user@example.com \
  --perm edit

# 批量授权(通过 JSON 文件)
feishu-cli perm batch-add <doc_token> --members-file members.json

全局搜索(需要用户 Token)

# 搜索消息
feishu-cli search messages "关键词"

# 搜索文档(指定类型)
feishu-cli search docs "产品需求" --docs-types doc,sheet

AI Agent 集成

feishu-cli 内置了 11 个 AI Agent Skill,安装后 Claude Code 等 AI 编程助手可以直接调用飞书能力:

  • 文档操作 — 创建、导入、导出飞书文档
  • 权限管理 — 单个 / 批量授权
  • 消息通讯 — 发送消息、搜索会话
  • 表格处理 — 读写电子表格
  • 日历管理 — 日程增删改查
  • 任务管理 — 任务增删改查
  • 画板操作 — 白板管理
  • 认证管理 — Token 授权

有了这些 Skill,你可以直接用自然语言让 AI 操作飞书:

  • "把这份 README.md 导入到飞书文档"
  • "给产品组的同事发个消息说方案已更新"
  • "查一下知识库里关于部署流程的文档"

实战场景

场景一:Git 仓库文档自动同步到飞书知识库

团队在 Git 里用 Markdown 写技术文档,但产品和运营同事习惯看飞书。用 CI/CD 自动同步:

# GitHub Actions / GitLab CI 中加一步
feishu-cli doc import docs/architecture.md \
  --title "系统架构文档 v2.1" \
  --upload-images

Mermaid 流程图、PlantUML 时序图会自动转成飞书里可编辑的矢量画板,不是截图贴上去。

更进一步,写个脚本批量同步整个 docs/ 目录:

#!/bin/bash
for file in docs/*.md; do
  title=$(head -1 "$file" | sed 's/^# //')
  feishu-cli doc import "$file" --title "$title" --upload-images
  echo "✅ 已同步: $title"
done

场景二:飞书文档定期备份到 Git

产品同事在飞书上写的 PRD,定期导出到 Git 做版本管理:

#!/bin/bash
# 每周五下午跑一次,备份核心文档
DOC_IDS=("doxcnXXX1" "doxcnXXX2" "doxcnXXX3")

for doc_id in "${DOC_IDS[@]}"; do
  feishu-cli doc export "$doc_id" -o "docs/${doc_id}.md" --download-images
done

git add docs/
git commit -m "docs: weekly feishu backup $(date +%Y-%m-%d)"
git push

配合 cron 实现全自动:

# crontab -e
0 17 * * 5 /path/to/backup-feishu.sh

场景三:构建 / 部署通知自动推送

CI/CD 流水线完成后,自动通知到飞书群:

# 构建成功
feishu-cli msg send --receive-id-type chat_id \
  --receive-id <group_chat_id> \
  --text "✅ v2.1.0 构建成功,已部署到 staging 环境
提交: $(git log -1 --format='%h %s')
操作人: $(git log -1 --format='%an')"

# 构建失败
feishu-cli msg send --receive-id-type chat_id \
  --receive-id <group_chat_id> \
  --text "❌ 构建失败,请检查日志: ${BUILD_URL}"

场景四:新员工入职批量授权

入职一个人要授权十几份文档?写个 members.json,一行命令搞定:

[
  {"member_type": "email", "member_id": "zhangsan@company.com", "perm": "edit"},
  {"member_type": "email", "member_id": "lisi@company.com", "perm": "view"}
]
# 批量授权项目核心文档
for doc_token in doxcnXXX1 doxcnXXX2 doxcnXXX3; do
  feishu-cli perm batch-add "$doc_token" --members-file members.json
  echo "✅ 已授权: $doc_token"
done

离职也一样,改成删除权限即可。

场景五:会议纪要自动创建 + 同步

开完会手动整理纪要太累,用 AI Agent + feishu-cli 自动化:

# 1. 在终端里用 Markdown 写好纪要
cat > meeting-notes.md << 'EOF'
# 项目周会纪要 2024-03-25

## 参会人
张三、李四、王五

## 议题
### 1. 上周进展
- 完成用户认证模块重构
- 修复了 3 个 P1 bug

### 2. 本周计划
- [ ] 完成支付模块联调
- [ ] 编写 API 文档

### 3. 待跟进
- 性能优化方案需要评审
EOF

# 2. 一键导入飞书
feishu-cli doc import meeting-notes.md --title "项目周会纪要 2024-03-25" --upload-images

场景六:表格数据自动化采集

定时把监控数据写入飞书表格,给非技术同事看:

#!/bin/bash
# 每小时采集一次服务状态写入飞书表格
TIMESTAMP=$(date '+%Y-%m-%d %H:%M')
CPU=$(top -l 1 | grep "CPU usage" | awk '{print $3}')
MEM=$(vm_stat | awk '/Pages active/ {print $3}')

feishu-cli sheet write <token> "Sheet1!A:D" \
  --data "[[\"$TIMESTAMP\",\"$CPU\",\"$MEM\",\"正常\"]]"

产品和运营直接看飞书表格就行,不用登录监控系统。

场景七:AI Agent 全自动操作飞书

安装 Skill 后,直接用自然语言:

你:把这份 README.md 同步到飞书知识库
Agent:→ feishu-cli doc import README.md → 返回文档链接

你:查一下知识库里关于部署流程的文档,然后发给运维群
Agent:→ feishu-cli search docs "部署流程" → feishu-cli msg send → 完成

你:给产品组全员开通设计文档的编辑权限
Agent:→ 查通讯录获取成员 → feishu-cli perm batch-add → 返回授权结果

技术栈

  • 语言:Go 1.21+
  • CLI 框架:Cobra
  • 飞书 SDK:官方 Go SDK
  • Markdown 解析:Goldmark
  • 开源协议:MIT

总结

feishu-cli 解决了开发者与飞书之间最大的痛点——Markdown 与飞书文档的格式转换问题,同时把飞书的 15+ 功能模块搬进了终端。无论是文档同步、自动化通知、批量权限管理,还是接入 AI Agent,它都能胜任。

🔗 项目地址:github.com/riba2534/fe…

如果觉得有用,欢迎 点赞收藏支持!有问题也可以在评论区交流。