# 公司内部 AI 协作 MVP 后端 本仓库用于实现第一版公司内部 AI 协作最小闭环: ```text 老板一句话 -> AI 草稿 -> 人工确认 -> 创建事项或定时提醒 -> 飞书通知 -> 接收人反馈 -> 页面看到结果和失败记录 ``` 第一版不是完整任务系统、AI 工作台、复杂看板或全自动 Agent。所有关键动作都必须经过人工确认,AI 只生成可确认草稿。 ## 技术栈 | 层级 | 约定 | | ----- | ------------------------------------------- | | 后端 | Python Django + Django REST Framework | | ORM | Django ORM + Django Migrations | | 数据库 | PostgreSQL 18.x,作为唯一数据源;业务表、AI 对话记忆、上下文快照和日志都落同一套 PostgreSQL | | AI 对话记忆 | PostgreSQL 表 + `jsonb`,保存老板秘书会话、消息、BotContext 和模型调用快照 | | 定时任务 | Django management command + 独立 scheduler 进程 | | 后台管理 | Django Admin | | AI 接入 | 阿里百炼 API,后端封装薄 `ai_client` | | 飞书 | 飞书身份登录、机器人私聊、个人消息、交互卡片和回调 | | 部署 | Docker Compose + Nginx + Gunicorn | ## 当前施工基线 1. 后端框架使用 `Django==5.2.15` + `djangorestframework==3.17.1`。 2. Docker / 部署环境固定 Python `3.12.13`;本地开发允许 Python 3.11 或 3.12,提交前必须在 Python 3.12.13 上跑完整测试。 3. 后端开发先采用 mock-first:单元测试和最小闭环测试不得访问真实百炼、真实飞书或公网回调。 4. 定时提醒 scheduler 独立于 Gunicorn worker,同一环境同一应用库同时只能运行一个 scheduler 进程。 5. 老板 AI 秘书统一走 `POST /api/secretary/handle-message`,AI 只生成草稿、追问或回复,不直接创建任务、提醒或通知。 ## 文档入口 开发前先读: 1. `AGENTS.md` 2. 当前相关 `docs/specs/*.md` 3. `docs/plans/active/01_老板一句话闭环实施计划.md` 涉及接口、字段、状态时,再读: 1. `docs/contracts/API接口约定.md` 2. `docs/contracts/数据对象约定.md` 3. `docs/contracts/状态流转约定.md` 提交或 Review 前读: 1. `docs/checklists/AI生成代码检查清单.md` 2. `docs/checklists/后端Review清单.md` ## 本地启动 当前仓库还处在后端文档和施工计划阶段,Django 项目骨架尚未创建。代码落地后,本节应补充: 1. Python 虚拟环境创建方式。 2. 依赖安装命令。 3. `.env` 示例和环境变量说明。 4. 数据库迁移命令。 5. 本地启动命令。 6. 测试命令。 ## 环境变量边界 这些值必须放在环境变量或服务器安全配置中,不能提交到仓库: 1. 阿里百炼 API Key。 2. 飞书 App ID。 3. 飞书 App Secret。 4. 飞书回调验签密钥。 5. 数据库账号密码。 普通日志中不得打印 API Key、App Secret、飞书 token、完整手机号或完整邮箱。 ## 第一版不做 第一版不做 AI 工作台、技能市场、文件上传、多模态处理、会议纪要、日报、文档摘要、复杂反馈看板、复杂 BI、成本驾驶舱、完整工作流、完整项目管理、多级子任务、甘特图、复杂审批流、复杂组织架构、cron 表达式、日历系统、自动操作交易系统、自动操作历史数据库、自动读取员工本地文件、手机端网页完整适配,也不把飞书机器人开放为程经理或普通员工通用派活入口。