CogniFlow 支持附件上传功能,允许用户上传图片、文档等多种格式的文件,并通过智谱AI进行内容分析。
- PNG (.png)
- JPEG (.jpg, .jpeg)
- GIF (.gif)
- WebP (.webp)
- PDF (.pdf)
- 纯文本 (.txt)
- Markdown (.md)
- Word文档 (.docx, .doc)
- 默认:10MB
- 可在配置中调整
- 批量上传:支持同时选择多个文件
- 实时预览:上传前预览文件信息
- 进度显示:显示上传进度
- 拖拽上传:支持拖拽文件上传
使用智谱GLM-4V视觉模型分析图片内容:
- 场景描述
- 关键信息提取
- 自动生成标签
- 建议的标题和类型
- 识别任务、事件等内容
使用智谱GLM-4模型分析文档:
- 内容摘要
- 关键信息提取
- 标签生成
- 任务和事件识别
- 查看附件:在ItemCard中查看附件列表
- 图片预览:显示缩略图预览
- 文档图标:显示对应文件类型图标
- 下载功能:点击下载按钮获取文件
- 删除功能:点击删除按钮移除附件
- 使用统计:查看附件使用统计
在 server/.env 中配置以下变量:
# 智谱AI API Key(必需)
ZHIPU_API_KEY=your_api_key_here
# 最大文件大小(可选,默认10MB)
MAX_FILE_SIZE=10485760
# 上传目录(可选)
UPLOAD_DIR=./uploads附件功能需要以下数据库表:
- attachments:存储附件信息
- attachment_configs:存储附件配置
- user_attachment_stats:用户附件统计视图
部署时会自动创建这些表。
- 在QuickInput中点击附件按钮(📎)
- 选择文件(支持多选)
- 预览文件信息
- 点击"上传全部"或自动上传
- AI自动分析文件内容
- 在ItemCard中查看附件列表
- 图片显示缩略图预览
- 文档显示文件图标
- 显示AI分析的描述和标签
POST /api/attachments/upload
Content-Type: multipart/form-data
响应:
{
"success": true,
"attachment": {
"id": "uuid",
"fileName": "example.jpg",
"fileSize": 12345,
"mimeType": "image/jpeg",
"aiAnalysis": { ... }
}
}GET /api/attachments/item/:itemId
响应:
{
"attachments": [
{
"id": "uuid",
"fileName": "example.jpg",
"aiDescription": "描述文本",
"tags": ["标签1", "标签2"]
}
]
}DELETE /api/attachments/:id
响应:
{
"success": true,
"message": "附件已删除"
}- 文件类型验证:只允许特定类型的文件
- 文件大小限制:防止上传过大文件
- 用户认证:所有API都需要认证
- 文件隔离:每个用户的文件独立存储
- 路径安全:防止路径遍历攻击
- 异步AI分析:上传完成立即返回,AI分析在后台进行
- 缩略图生成:为图片自动生成缩略图
- 懒加载:附件列表按需加载
- 文件流式下载:大文件使用流式下载
A: 检查以下几点:
- 文件类型是否支持
- 文件大小是否超限(默认10MB)
- 网络连接是否正常
- 智谱AI API Key是否配置正确
A: 通常在几秒到十几秒,取决于文件大小和复杂度。分析是异步进行的,不会阻塞上传。
A: 在 server/.env 中设置 UPLOAD_DIR 变量,或在数据库的 attachment_configs 表中修改。
A: 当前使用智谱AI的GLM-4V(视觉)和GLM-4(文本)模型。
A: 可以,但AI分析功能需要配置智谱AI API Key。本地IndexedDB模式不支持文件存储。
- 图片自动压缩和优化
- 支持更多文档格式(Excel、PPT等)
- 附件搜索功能
- 批量下载
- 云存储集成(OSS、S3等)
- 附件版本管理
- 附件分享功能
- OCR文字识别
- 视频转录和分析
- 音频转文字
- 智能相册功能
- 协作编辑
- 功能版本: v1.3.0
- 数据库迁移: 007_attachments_support.sql
- 实施日期: 2025-11-04
- 兼容性: 向后兼容,不影响现有功能