在终端里玩转飞书!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 页面 下载对应平台的二进制文件。
配置
前置准备
- 在 飞书开放平台 创建一个应用
- 获取 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…
如果觉得有用,欢迎 点赞收藏支持!有问题也可以在评论区交流。