6.5 KiB
6.5 KiB
Screen2Feishu Web应用使用说明
概述
Screen2Feishu Web应用是一个结合了前端界面和后端功能的完整解决方案。它提供了一个用户友好的界面,可以:
- 手动添加任务:通过表单添加任务到飞书多维表格
- 图片上传分析:上传截图,AI自动分析并生成任务
- 实时预览:查看AI分析结果和任务信息
- 用户匹配:自动匹配飞书用户,处理重名情况
启动应用
1. 安装依赖
pip install flask flask-cors
2. 配置文件
确保 config.yaml 文件已正确配置:
ai:
api_key: "your_api_key"
base_url: "https://api.openai.com/v1"
model: "gpt-4o"
feishu:
app_id: "your_app_id"
app_secret: "your_app_secret"
app_token: "your_app_token"
table_id: "your_table_id"
system:
watch_folder: "./monitor_images"
post_process: "keep"
processed_folder: "./processed_images"
log_level: "INFO"
log_file: "app.log"
memory_processing: false
user_matching:
enabled: true
fallback_to_random: true
cache_enabled: true
cache_file: "./data/user_cache.json"
3. 启动应用
python start_web_app.py
或者直接运行:
python web_app.py
4. 访问界面
打开浏览器,访问:http://localhost:5000
功能说明
1. 手动添加任务
- 在"添加新任务..."输入框中输入任务描述
- 选择截止时间(可选)
- 选择分类(工作/学习/生活/其他)
- 选择优先级(高/中/低)
- 点击"添加"按钮
AI分析过程:
- 系统会调用AI服务分析任务描述
- 自动识别任务发起人和部门
- 匹配飞书用户(如果启用)
- 将任务写入飞书多维表格
2. 图片上传分析
- 点击"上传分析"按钮或拖拽图片到文件选择框
- 选择截图文件(支持JPG、PNG等格式)
- 系统会自动:
- 读取图片到内存
- 调用AI分析图片内容
- 识别任务信息(描述、优先级、发起人等)
- 匹配飞书用户
- 写入飞书表格
- 在界面显示分析结果
AI分析结果:
- 任务描述
- 优先级(紧急/较紧急/一般/普通)
- 状态(未开始/进行中/已完成)
- 发起人姓名
- 部门信息
- 开始日期
- 截止日期
3. 任务管理
- 筛选:按分类、状态、优先级筛选任务
- 编辑:点击编辑按钮修改任务
- 删除:点击删除按钮删除任务
- 完成:勾选复选框标记任务完成
4. 通知功能
- 浏览器通知:启用后可在任务到期时收到通知
- 桌面通知:显示操作结果和AI分析结果
API接口
1. 上传图片分析
接口:POST /api/upload
请求:
{
"image": "图片文件"
}
响应:
{
"success": true,
"message": "任务已成功添加到飞书",
"ai_result": {
"task_description": "任务描述",
"priority": "紧急",
"status": "未开始",
"initiator": "张三",
"department": "研发部",
"start_date": "2026-03-03",
"due_date": "2026-03-10"
}
}
2. 获取用户缓存信息
接口:GET /api/user_cache
响应:
{
"success": true,
"stats": {
"user_count": 10,
"recent_contact_count": 5,
"cache_age_hours": 0.5,
"is_expired": false
}
}
3. 获取配置信息
接口:GET /api/config
响应:
{
"success": true,
"config": {
"memory_processing": false,
"user_matching_enabled": true,
"fallback_to_random": true,
"cache_enabled": true,
"post_process": "keep"
}
}
配置说明
内存处理模式
system:
memory_processing: true # 启用内存处理,不保存图片文件
用户匹配配置
system:
user_matching:
enabled: true # 启用用户匹配
fallback_to_random: true # 启用随机匹配回退
cache_enabled: true # 启用缓存
cache_file: "./data/user_cache.json" # 缓存文件路径
文件处理策略
system:
post_process: "keep" # 保留原始文件
# post_process: "delete" # 删除原始文件
# post_process: "move" # 移动到processed_images目录
使用场景
场景1:截图转任务
- 从聊天记录、邮件或文档中截图
- 上传截图到Web界面
- AI自动分析截图内容
- 生成任务并写入飞书表格
场景2:手动创建任务
- 在Web界面手动输入任务描述
- AI分析任务内容,提供优化建议
- 自动匹配任务发起人
- 写入飞书表格
场景3:批量处理
- 准备多个截图文件
- 逐个上传分析
- 系统自动处理并写入飞书
注意事项
- 飞书API权限:确保飞书应用有读取用户列表和写入表格的权限
- 图片大小:建议图片大小不超过10MB
- 网络连接:需要稳定的网络连接调用AI和飞书API
- 浏览器通知:需要用户授权浏览器通知权限
- 缓存管理:用户缓存默认24小时过期,可手动清理
故障排除
1. 无法启动应用
- 检查依赖是否安装完整
- 检查配置文件是否正确
- 检查端口5000是否被占用
2. AI分析失败
- 检查API密钥是否正确
- 检查网络连接
- 查看日志文件
app.log
3. 飞书写入失败
- 检查飞书API配置
- 检查表格ID和Base Token
- 确保飞书应用有写入权限
4. 用户匹配失败
- 检查飞书API权限(用户列表读取)
- 检查缓存文件路径
- 查看日志文件了解详细错误
技术架构
前端
- HTML5 + CSS3 + JavaScript
- 响应式设计,支持移动端
- 实时通知和状态反馈
后端
- Flask Web框架
- AI服务集成(OpenAI格式API)
- 飞书API集成
- 用户缓存管理
数据流
- 用户上传图片/输入任务
- 前端调用后端API
- 后端调用AI服务分析
- 后端匹配飞书用户
- 后端写入飞书表格
- 返回结果给前端
- 前端显示结果和通知
扩展功能
1. 批量处理
可以扩展支持批量上传和处理多个图片文件
2. 实时预览
可以添加图片预览功能,显示上传的截图
3. 任务模板
可以添加任务模板功能,快速创建常见任务
4. 统计分析
可以添加任务统计和分析功能
5. 多语言支持
可以添加多语言界面支持
总结
Screen2Feishu Web应用提供了一个完整的解决方案,将前端界面与后端功能完美结合。用户可以通过友好的界面轻松创建任务,AI自动分析并写入飞书表格,大大提高了工作效率。