【Code With SOLO】用 SOLO 开发飞书会议纪要自动处理 CLI 工具 —— 基于 lark-cli,一键获取转写、AI 提取决策待办、自动创建飞书任务
一、摘要
用 TRAE SOLO 从零开发了一个名为 meeting-processor 的飞书 CLI 工具。会议结束后,只需一条命令即可自动获取会议转写文本,调用 AI(支持 OpenAI/智谱/百炼等多后端)提取关键决策和待办事项,并通过飞书官方 CLI(lark-cli)自动创建飞书任务并分配给对应人员。整个项目经历了从架构设计、全量开发、10 项 Bug 修复、到基于 lark-cli 的完整重构,最终 26 个测试全部通过并推送到 GitHub。
二、背景
我是一名开发者,日常工作中频繁参加飞书视频会议。每次会后都需要:
-
手动打开飞书妙记查看转写
-
从冗长的转写中提炼关键决策和待办
-
手动在飞书任务中创建待办并分配负责人
这个流程每周重复多次,每次至少耗时 30-60 分钟。我希望用 SOLO 开发一个自动化工具,实现"一条命令搞定会后处理"。
三、实践过程
3.1 任务拆解
我将整个项目拆解为以下步骤,逐步交给 SOLO 完成:
| 步骤 | 任务 | 说明 |
|---|---|---|
| 1 | 需求分析与技术选型 | 确定 Python + Click + lark-cli 技术栈 |
| 2 | 飞书 API 调研 | 研究妙记、任务、通讯录等 API 文档 |
| 3 | 项目骨架搭建 | pyproject.toml + 8 个模块的目录结构 |
| 4 | 核心模块开发 | 认证、API 客户端、AI 处理、输出格式化 |
| 5 | CLI 入口开发 | Click 命令组 + Rich 美化输出 |
| 6 | 全面测试与修复 | 发现并修复 10 个 Bug |
| 7 | lark-cli 重构 | 从 httpx 直接调用重构为基于 lark-cli |
| 8 | README + GitHub | 完善文档并推送 |
3.2 关键技术决策
技术栈选择:
-
Python 3.10+ — 开发效率高,AI SDK 生态成熟
-
Click — 成熟的 Python CLI 框架
-
Rich — 终端美化和进度条
-
lark-cli — 飞书官方 CLI,统一处理认证和 API 调用
-
OpenAI SDK — 兼容多种 AI 后端(OpenAI/智谱/百炼/自定义)
lark-cli 命令映射设计:
| 功能 | lark-cli 命令 | 类型 |
|---|---|---|
| 认证检查 | lark-cli auth status --format json | 快捷命令 |
| 获取妙记元信息 | lark-cli minutes minutes get --params ‘…’ --format json | 快捷命令 |
| 获取转写文本 | lark-cli api GET …/transcript --params ‘…’ -o - | 原始 API |
| 查询用户 ID | lark-cli api POST …/batch_get_id --data ‘…’ --format json | 原始 API |
| 创建任务 | lark-cli task +create --summary “…” --assignee “ou_xxx” --due “YYYY-MM-DD” --format json | 快捷命令 |
设计说明:lark-cli 提供了 23 个快捷命令(Agent Skills),但转写导出没有快捷命令,邮箱查用户仅支持关键词搜索不支持精确查询,因此这两处使用 lark-cli api 调用原始接口。
3.3 项目架构
meeting-processor/
├── pyproject.toml # 项目配置(无 httpx 依赖)
├── config.example.yaml # 配置模板
├── src/meeting_processor/
│ ├── cli.py # CLI 入口(Click + Rich)
│ ├── config.py # 配置管理(YAML + 环境变量)
│ ├── auth.py # lark-cli 认证检查
│ ├── feishu_client.py # 飞书 API 客户端(LarkCliRunner + FeishuClient)
│ ├── ai_processor.py # AI 处理(多后端支持)
│ ├── processor.py # 核心流程编排
│ └── output.py # 输出格式化(Markdown/JSON)
└── tests/
└── test_meeting_processor.py # 26 个单元测试
3.4 开发过程中的关键 Prompt
初始需求 Prompt:
开发一个飞书 CLI Skill,命名为 meeting-processor。会议结束后,一键自动获取会议纪要和录音转写,AI 提取关键决策和待办事项,自动创建飞书任务并分配给对应人员。要求:Python 实现,可配置多 AI 后端,需要飞书应用凭证,完整可运行项目。
测试审查 Prompt:
测试确认,全面排查所有的问题
重构 Prompt:
重构为基于 lark-cli 的实现
3.5 踩坑记录与修复
在开发过程中,SOLO 帮我发现并修复了 10 个 Bug:
| # | 问题 | 严重程度 | 修复方式 |
|---|---|---|---|
| 1 | UnboundLocalError:变量在 async with 块外引用 | 严重 | 将变量声明提升到 with 块之前 |
| 2 | build-backend 配置错误 | 严重 | 修正为 setuptools.build_meta |
| 3 | CLI 命令缺少异常处理 | 中等 | 添加 try/except + 友好错误提示 |
| 4 | raise_for_status 阻塞业务错误检查 | 中等 | 改为显式检查 status_code |
| 5 | response_format 不兼容智谱/百炼 | 中等 | 仅对 OpenAI 原生后端启用 |
| 6 | 非 JSON 错误响应解析崩溃 | 中等 | 添加 try/except 保护 |
| 7 | 测试用例未跟随重命名更新 | 低 | 同步更新测试代码 |
| 8 | lark-cli 安装后不在 PATH 中 | 低 | 创建符号链接 |
| 9 | lark-cli docs +create 路径问题 | 低 | 使用相对路径 |
| 10 | 整个项目未使用 lark-cli | 严重 | 完整重构为 lark-cli 实现 |
3.6 lark-cli 重构过程
这是整个开发中最关键的一步。初始版本使用 httpx 直接调用飞书 REST API,需要手动管理 tenant_access_token。SOLO 在我的追问下坦诚地承认了这个问题,随后完成了完整重构:
-
移除 httpx 依赖,所有飞书 API 调用改为 subprocess 调用 lark-cli
-
新增 LarkCliRunner 类封装命令执行逻辑
-
认证从手动 token 管理改为依赖 lark-cli auth status
-
FeishuConfig(app_id/app_secret)替换为 LarkCliConfig(cli_path)
-
processor.py 从 async 改为 sync(subprocess 是同步调用)
-
26 个测试全部重写为 mock subprocess
四、成果展示
4.1 使用方式
# 一键处理会议纪要
meeting-processor process <minute_token>
# 仅获取转写
meeting-processor transcript <minute_token>
# 仅 AI 分析
meeting-processor analyze <minute_token>
# 检查配置和 lark-cli 状态
meeting-processor check
4.2 处理流程
获取妙记元信息 → 获取转写文本 → AI 智能分析 → 自动创建飞书任务 → 生成报告
(lark-cli) (lark-cli) (OpenAI兼容) (lark-cli) (MD/JSON)
4.3 输出示例
🚀 Meeting Processor v0.2.0
飞书会议纪要自动处理工具(基于 lark-cli)
📝 会议摘要
本次会议讨论了 Q3 产品路线图,确定了三个核心方向...
✅ 关键决策 (3 条)
1. 确认 Q3 重点推进 AI 功能集成
相关人员: 张三, 李四
2. ...
📌 待办事项 (4 条)
🔴 1. 完成 AI 集成技术方案 → 张三 截止: 2025-02-15
🟡 2. 协调设计资源 → 李四
🚀 飞书任务创建结果
✅ 成功: 3 | ❌ 失败: 1
✓ 完成 AI 集成技术方案
✓ 协调设计资源
✗ 更新竞品分析文档 (未找到用户 open_id)
生成飞书云文档:https://my.feishu.cn/docx/UpWZdv18YoVayIxnwiNcRZxonKf?from=from_copylink
4.4 项目链接
-
GitHub 仓库: GitHub - peachgreenti/meeting-processor: 飞书会议纪要自动处理 CLI 工具 - 获取会议转写、AI 提取决策和待办、自动创建飞书任务 · GitHub
-
版本:v0.2.0
-
测试:26 passed in 0.20s
-
许可证:MIT
五、效果与总结
提效数据
| 指标 | 之前 | 之后 | 提升 |
|---|---|---|---|
| 会后处理时间 | 30-60 分钟 | 2-3 分钟 | ~20x |
| 任务创建 | 手动逐条创建 | 自动批量创建 | 全自动 |
| 信息遗漏率 | 偶有遗漏 | AI 全面提取 | 显著降低 |
SOLO 在开发中的价值
- 全栈开发能力:从项目架构设计到 7 个模块的完整实现,SOLO 独立完成了全部编码工作
- 代码质量把控:通过"全面排查"指令,SOLO 自主发现并修复了 10 个 Bug,包括严重的 UnboundLocalError
- 架构重构能力:当发现技术方案偏离需求(未使用 lark-cli)时,SOLO 完成了从 httpx 到 lark-cli 的完整重构,包括同步/异步模型转换、测试重写
- 文档与工程化:自动生成 README、配置模板、单元测试,并完成 GitHub 推送
- 诚实与自省:在被追问"是否真的基于 lark-cli"时,SOLO 坦诚承认问题并立即执行重构
可复用经验
-
分步推进:将大任务拆解为小步骤,每步验证后再继续,避免返工
-
及时审查:在关键节点要求 SOLO 做全面检查,能提前发现隐藏问题
-
敢于推翻重来:当发现架构方向错误时,果断重构比修补更高效
-
善用测试:26 个单元测试为重构提供了安全网,确保改动不引入新问题






