智能会议记录系统是一个基于微信小程序的智能会议管理平台,提供录音转文字、AI摘要生成、任务提取与分配等功能,帮助团队高效管理会议和任务。
- ✅ 会议管理:创建会议、参会人员管理、会议日程
- 🎙️ 录音转写:集成腾讯云语音识别API,支持实时/离线转写
- 🤖 AI摘要生成:调用文心一言API生成会议纪要
- 📋 智能提取:基于NLP技术提取待办事项、关键决策、行动项
- 📝 任务分配:待办事项分配、进度跟踪、消息提醒
- ☁️ 云端存储:会议记录同步、分享链接生成、权限管理
- 框架:微信小程序原生框架
- UI组件:WeUI
- 网络请求:封装的request工具
- 运行时:Node.js 18+
- 框架:Express.js
- 语言:TypeScript
- 认证:JWT + 微信登录
- 关系型:MySQL 8.0
- 缓存:Redis 7.0
- 文档型:MongoDB 6.0
- 语音识别:腾讯云语音识别
- AI大模型:百度文心一言
- 对象存储:腾讯云COS
- 消息推送:微信小程序订阅消息
meeting-recorder/
├── backend/ # 后端服务
│ ├── src/
│ │ ├── config/ # 配置文件
│ │ ├── controllers/ # 控制器
│ │ ├── services/ # 业务逻辑
│ │ ├── models/ # 数据模型
│ │ ├── routes/ # 路由
│ │ ├── middlewares/ # 中间件
│ │ ├── utils/ # 工具函数
│ │ ├── types/ # TypeScript类型定义
│ │ └── app.ts # 应用入口
│ ├── tests/ # 测试文件
│ ├── package.json
│ └── tsconfig.json
├── miniprogram/ # 微信小程序
│ ├── pages/ # 页面
│ │ ├── index/ # 首页
│ │ ├── meeting/ # 会议相关页面
│ │ ├── task/ # 任务相关页面
│ │ └── profile/ # 个人中心
│ ├── components/ # 组件
│ ├── utils/ # 工具函数
│ ├── api/ # API封装
│ ├── images/ # 图片资源
│ ├── app.js
│ └── app.json
├── sql/ # 数据库脚本
│ └── init.sql
├── docs/ # 文档
├── SYSTEM_DESIGN.md # 系统设计文档
└── README.md
- Node.js 18+
- MySQL 8.0+
- Redis 7.0+
- MongoDB 6.0+
- 微信开发者工具
- 安装依赖
cd backend
npm install- 配置环境变量
复制 .env.example 为 .env 并配置:
cp .env.example .env编辑 .env 文件,填入实际配置:
# 服务配置
NODE_ENV=development
PORT=3000
# JWT配置
JWT_SECRET=your-super-secret-key
# 数据库配置
MYSQL_HOST=localhost
MYSQL_PORT=3306
MYSQL_USER=root
MYSQL_PASSWORD=your-password
MYSQL_DATABASE=meeting_recorder
# Redis配置
REDIS_HOST=localhost
REDIS_PORT=6379
# MongoDB配置
MONGODB_URI=mongodb://localhost:27017/meeting_recorder
# 微信小程序配置
WX_APPID=your-appid
WX_SECRET=your-secret
# 腾讯云配置
TENCENT_SECRET_ID=your-secret-id
TENCENT_SECRET_KEY=your-secret-key
COS_BUCKET=your-bucket-name
COS_REGION=ap-guangzhou
# 百度文心一言配置
BAIDU_API_KEY=your-api-key
BAIDU_SECRET_KEY=your-secret-key- 初始化数据库
# 登录MySQL
mysql -u root -p
# 执行初始化脚本
source sql/init.sql- 启动服务
# 开发模式
npm run dev
# 生产模式
npm run build
npm start服务将运行在 http://localhost:3000
- 配置API地址
编辑 miniprogram/app.js,修改 baseUrl:
globalData: {
baseUrl: 'http://your-api-domain.com/api/v1'
}- 导入微信开发者工具
- 打开微信开发者工具
- 选择 "导入项目"
- 选择
miniprogram目录 - 填入AppID(测试可选择"测试号")
- 配置服务器域名
在微信小程序后台配置:
- request合法域名:添加后端API域名
- uploadFile合法域名:添加对象存储域名
- downloadFile合法域名:添加对象存储域名
POST /api/v1/auth/login
Body: {
"code": "wx_code"
}
Response: {
"code": 0,
"data": {
"user": {...},
"accessToken": "xxx",
"refreshToken": "xxx"
}
}
POST /api/v1/meetings
Headers: Authorization: Bearer {token}
Body: {
"title": "项目讨论会",
"description": "讨论Q1项目计划",
"start_time": "2024-01-15T10:00:00Z",
"end_time": "2024-01-15T12:00:00Z",
"location": "会议室A",
"participants": [2, 3, 4]
}
GET /api/v1/meetings?page=1&pageSize=10&status=scheduled
Headers: Authorization: Bearer {token}
POST /api/v1/meetings/:id/summary
Headers: Authorization: Bearer {token}
POST /api/v1/tasks
Headers: Authorization: Bearer {token}
Body: {
"meeting_id": 1,
"title": "完成需求文档",
"description": "详细描述功能需求",
"assignee_id": 2,
"priority": "high",
"due_date": "2024-01-20T18:00:00Z"
}
POST /api/v1/tasks/:id/complete
Headers: Authorization: Bearer {token}
- 用户创建会议并添加参会人员
- 会议开始时启动录音
- 会议结束后上传录音文件
- 系统自动调用语音识别API进行转写
- 转写完成后触发AI摘要生成
- AI分析会议内容,提取关键决策和待办事项
- 自动创建任务并分配给相关人员
- 发送通知提醒任务负责人
- 小程序录音上传到云存储
- 后端创建转写任务加入队列
- Worker异步调用腾讯云ASR API
- 分段转写并合并结果
- 存储到MongoDB
- 更新会议转写状态
- 获取转写文本
- 构建Prompt发送给文心一言
- AI返回结构化摘要数据
- 解析JSON并存储
- 自动创建任务
- 发送通知
- ✅ JWT Token认证
- ✅ HTTPS/TLS加密传输
- ✅ 参数校验和SQL注入防护
- ✅ XSS防护
- ✅ 接口限流
- ✅ 敏感数据加密存储
- ✅ 操作日志审计
- ✅ Redis缓存热点数据
- ✅ 数据库索引优化
- ✅ CDN加速静态资源
- ✅ 异步队列处理耗时任务
- ✅ 批量操作减少数据库查询
- 使用TypeScript进行类型检查
- 遵循ESLint规则
- 使用Prettier格式化代码
- 编写清晰的注释和文档
- 使用语义化的commit message
- 功能开发使用feature分支
- 提交前进行代码review
- 保持main分支稳定
- 编写单元测试覆盖核心逻辑
- 集成测试验证API接口
- 上线前进行完整的功能测试
检查MySQL/Redis/MongoDB服务是否启动,配置是否正确。
确认AppID和AppSecret配置正确,网络可访问微信API。
检查腾讯云密钥配置,确认账户余额充足。
检查百度API密钥配置,确认API额度未用完。
- 支持实时语音转写
- 会议直播功能
- 多语言支持
- 移动端App(iOS/Android)
- 集成企业微信/钉钉
- 数据统计和可视化
- AI智能问答
欢迎贡献代码、提出问题和建议!
- Fork本仓库
- 创建feature分支 (
git checkout -b feature/AmazingFeature) - 提交更改 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 提交Pull Request
本项目采用 MIT 许可证 - 详见 LICENSE 文件
如有问题或建议,请提交Issue或联系开发团队。
注意:本项目为演示项目,生产环境使用前请完善安全措施和错误处理。