文章摘要
Feishu-CLI-Web基于官方lark-cli封装,将飞书CLI转为可私有化部署的Web智能工作台,支持自然语言交互、执行计划预览、写操作确认、多用户隔离与SQLite本地存储,适合团队快速将飞书自动化接入Agent、内部工具与运维平台。本文完整介绍项目功能、部署、配置、维护与常见问题,可直接照着部署使用。
项目地址: https://github.com/jingsongliujing/Feishu-CLI-Web
一、项目介绍
1.1 项目是什么

Feishu-CLI-Web把飞书/Lark CLI变成私有化Web智能工作台,在官方CLI基础上提供友好Web工作流,零命令记忆、可视化操作、多人独立使用、数据本地留存。

1.2 解决的痛点
- 不用记CLI命令与参数
- 执行前预览计划,避免误操作
- 写操作必须二次确认,更安全
- 多用户独立授权、数据隔离
- 聊天/执行/账号信息统一存SQLite
- 内置场景模板,沉淀团队流程
- 一次部署,多人使用
1.3 典型场景示例


帮我和 刘鑫 在 明天 找一个 1小时 的空闲时间,创建主题为「项目复盘」的会议,并把会议链接发给他
系统生成执行计划:
- 搜索联系人 刘鑫
- 查询明天共同空闲时间
- 创建「项目复盘」会议
- 邀请参会人
- 发送会议链接
确认后才执行飞书写操作。
二、功能亮点
- ✅ 自然语言操作飞书:发消息、建会议、查日程、创建文档、多维表格等
- ✅ 执行计划预览:先看要做什么,再决定是否执行
- ✅ 场景模板:群通知、会议、文档、多维表格、会议纪要等
- ✅ 多用户隔离:独立CLI HOME、授权、会话数据
- ✅ SQLite存储:单文件数据库,无需额外服务
- ✅ 兼容多模型:Qwen、OpenAI、GLM、豆包等OpenAI兼容接口
- ✅ Docker一键部署:docker compose快速上线
- ✅ 响应超快:专注飞书CLI能力的轻量Agent
三、支持的飞书能力清单
模块 支持能力
IM 用户/群搜索、发消息、群消息读取
Calendar 日程查询、忙闲推荐、会议创建、邀请
Contact 联系人搜索、用户信息查询
Doc/Wiki 文档创建、检索、更新
Drive 文件上传、导入、下载、评论
Base 多维表格、字段、记录、仪表盘、工作流
Sheets 电子表格读写、样式、过滤、导出
Task 任务、清单、提醒、评论
More Mail、Minutes、VC、白板、审批、考勤等
四、技术栈
- 后端:FastAPI、Pydantic、SQLite、OpenAI/Anthropic SDK、PyYAML
- 前端:Vue 3、TypeScript、Vite、SSE
- 运行时:官方 @larksuite/cli
五、快速部署(手动方式)
5.1 环境要求
- Python 3.10+
- Node.js 16+
- npm / npx
- OpenAI兼容模型API Key
5.2 克隆项目
bash
git clone https://github.com/jingsongliujing/Feishu-CLI-Web.git
cd Feishu-CLI-Web
5.3 后端配置与启动
bash
进入后端
cd backend
创建虚拟环境(Linux/macOS)
python -m venv .venv
source .venv/bin/activate
Windows PowerShell
py -3 -m venv .venv
..venv\Scripts\Activate.ps1
安装依赖
python -m pip install --upgrade pip
python -m pip install -r requirements.txt
复制并编辑.env
cd ...
cp .env.example .env # Windows用 Copy-Item
编辑**.env**关键配置:
env
LLM_PROVIDER=openai
OPENAI_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1
LLM_MODEL=qwen-plus
OPENAI_API_KEY=your_api_key
API_PREFIX=/api/v1
LARK_CLI_COMMAND_TIMEOUT=120
启动后端:
bash
cd backend
python -m uvicorn app.main:app --reload --host 0.0.0.0 --port 8000
5.4 前端启动
bash
cd frontend
npm ci
npm run dev
访问地址:
- Web:http://localhost:3000
- API文档:http://localhost:8000/docs
- 健康检查:curl http://127.0.0.1:8000/health
5.5 生产构建
bash
cd frontend
npm ci
npm run build
将frontend/dist/用Nginx/Caddy托管,反向代理/api到后端8000端口。
六、Docker一键部署
6.1 配置.env
bash
cp .env.example .env
编辑填入模型配置
6.2 启动服务
bash
docker compose up -d --build
访问:
- Web:http://localhost:8000
- 日志:docker compose logs -f
- 停止:docker compose down
- 删数据卷:docker compose down -v
6.3 单Dockerfile运行
bash
docker build -t feishu-cli-web .
docker run -d
--name feishu-cli-web
--env-file .env
-p 8000:8000
-v feishu_cli_data:/app/backend/.feishu_cli_data
feishu-cli-web
七、默认账号与安全
首次启动自动创建默认账号(正式部署务必修改/删除):
账号 密码
admin123 000000
admin 000000
local 000000
安全建议:
- 新增管理员账号
- 删除默认演示账号
- 不要泄露.env与数据目录
八、用户管理(批量增删改)
8.1 新增/更新用户
编辑:backend/data/users_upsert.json
json
{
"users": [
{
"account": "demo",
"name": "Demo User",
"password": "000000"
}
]
}
执行:
bash
cd backend
python data/manage_users.py --add-file data/users_upsert.json
8.2 删除用户
编辑:backend/data/users_delete.json
json
{
"accounts": ["demo"]
}
执行:
bash
python data/manage_users.py --delete-file data/users_delete.json --purge-cli-data
8.3 常用维护命令
bash
列出账号
python data/manage_users.py --list
预览不写入
--dry-run
指定数据库
--db .../.feishu_cli_data/feishu_cli_web.sqlite3
九、飞书授权流程
- 登录Web,点击「连接飞书账号」
- 检查lark-cli,为当前用户准备独立环境
- 打开授权链接完成飞书授权
- 保存独立授权状态
- 重新授权:侧边栏「重新授权飞书」,清除旧状态并重走流程
十、数据目录与备份
运行数据默认在:
plaintext
.feishu_cli_data/
feishu_cli_web.sqlite3 # 核心数据库
lark_cli_profiles/ # Profile状态
lark_cli_users/ # 用户独立CLI HOME
备份重点:feishu_cli_web.sqlite3 + lark_cli_users/
十一、API概览
常用接口(需登录token):
- GET /health:健康检查
- POST /api/v1/auth/login:登录
- POST /api/v1/chat/plan:生成计划(不执行)
- POST /api/v1/chat:执行聊天(SSE)
- GET /api/v1/sessions:会话列表
- GET /api/v1/scenarios:场景模板
十二、部署检查清单
Python 3.10+,依赖已装
Node.js 16+,npm ci成功
.env配置模型Key与地址
.feishu_cli_data可写
服务器可执行npm、npx、lark-cli
生产环境/api反向代理正常
默认账号已删除/改密
健康检查与登录正常
十三、常见问题
- python: command not found
Windows用py -3,Linux/macOS安装Python3.10+ - npm ci失败
检查Node版本;lock丢失用npm install - lark-cli not found
npm install -g @larksuite/cli,重启后端 - SQLite只读/IO错误
确认.feishu_cli_data目录权限 - 前端可开但接口404/跨域
开发检查vite.config.ts的VITE_API_TARGET;生产检查Nginx转发
十四、扩展开发
- 新增场景模板:backend/app/core/scenario_templates.py
- 新增飞书Skill:backend/app/skills/lark_cli/skills/,用SKILL.md描述
- 运行时:storage.py、local_sessions.py、plan_preview.py等
十五、协议与贡献
- 许可证:MIT
- 欢迎提交Issue与PR
文章标签:飞书、Lark、CLI、Web工作台、私有化部署、FastAPI、Vue3、Docker、自动化、AI Agent