71ca804764af291a86ba044a1c4c80a2249f76b7
feat: 添加公司AI管理平台基础架构 添加了完整的FastAPI后端项目结构,包括: - 环境配置文件(.env.example)和项目说明文档(README.md、AGENTS.md) - Dockerfile用于容器化部署 - 核心基础设施:配置管理、数据库连接、调度器、安全认证 - 模块化设计:AI代理、审批流程、审计日志、业务台账等功能模块 - 支持多数据库连接(主库和遗留系统只读库) - AI适配器支持OpenClaw、Hermes、OpenAI兼容接口 - 飞书集成、报表生成、风险监控等企业级功能 - 完整的依赖管理和测试指南 ```
Company AI Management Platform
这是一个公司全生命周期 AI 管理系统的后端工程,定位是:
现有项目管理系统 / MySQL
+
FastAPI AI 集成层
+
飞书推送与审批入口
+
OpenClaw / Hermes / 模型适配接口
第一版已经实现:
- FastAPI 后端工程
- Conda 独立环境配置
- MySQL 主库连接
- 现有项目管理系统 MySQL 只读接入
- 业务台账 CRUD:项目、任务、采购、费用、资金、制度、规范、绩效、供应商
- 飞书文本和卡片推送接口
- 飞书 Webhook 入口
- 飞书消息命令路由:日报、周报、风险、AI 问答
- AI 适配器:OpenClaw、Hermes、OpenAI-compatible、noop
- 经营晨报、项目周报
- 风险检测:逾期任务、延期项目、超预算项目、资金低于安全线
- 审批单:高风险资金/绩效更新必须通过审批 ticket
- 现有 MySQL 项目数据同步到内部台账,支持 dry-run 和字段映射
- AI 操作审计日志
- Docker Compose 本地运行模板
1. 技术栈
Python 3.11
FastAPI
SQLAlchemy 2
MySQL / PyMySQL
Redis
APScheduler / Celery 预留
httpx
Pydantic Settings
2. Conda 环境
重新创建专用环境:
cd C:\Users\20143\Documents\Codex\2026-06-21\new-chat\outputs\company-ai-platform
conda env remove -n company-ai-platform
conda env create -f environment.yml
conda activate company-ai-platform
更新已有环境:
conda env update -f environment.yml --prune
也可以直接运行:
.\scripts\recreate_conda_env.ps1
3. 配置
复制配置文件:
Copy-Item .env.example .env
至少配置:
DATABASE_URL=你的新业务库
LEGACY_DATABASE_URL=现有项目管理系统的只读 MySQL 账号
LEGACY_PROJECT_QUERY=从现有系统读取项目的 SELECT 查询
API_KEY=你的内部 API Key
飞书和模型可以后续再配置。未配置模型时,MODEL_PROVIDER=noop 会返回可预测占位结果,确保项目先能启动。
4. 初始化数据库
python -m app.tools.init_db
5. 启动服务
uvicorn app.main:app --reload --host 0.0.0.0 --port 8010
访问:
http://127.0.0.1:8010/docs
带 API Key 请求时加 header:
X-API-Key: 你的 API_KEY
6. 关键接口
系统健康
GET /api/v1/health
业务台账
GET /api/v1/business/domains
GET /api/v1/business/projects
POST /api/v1/business/projects
PATCH /api/v1/business/projects/{id}
支持的 domain:
projects
tasks
procurements
expenses
fund-accounts
policies
standards
performance-metrics
suppliers
现有 MySQL
GET /api/v1/integrations/mysql/health
GET /api/v1/integrations/mysql/tables
GET /api/v1/integrations/mysql/tables/{table_name}
POST /api/v1/integrations/mysql/query
GET /api/v1/integrations/mysql/projects
POST /api/v1/integrations/mysql/projects/sync
只允许 SELECT,默认第一阶段不写回原系统。
项目同步默认 dry_run=true,确认映射无误后再设置为 false。
飞书
POST /api/v1/integrations/feishu/send-text
POST /api/v1/integrations/feishu/send-card
POST /api/v1/integrations/feishu/webhook
POST /api/v1/integrations/feishu/commands/preview
飞书命令支持:
日报 / 晨报 / 经营日报
周报 / 项目周报
风险 / 预警
问 xxx / AI xxx / 普通问题
AI
POST /api/v1/ai/ask
POST /api/v1/ai/draft-policy
POST /api/v1/ai/investment-research
审批
POST /api/v1/approvals
GET /api/v1/approvals
GET /api/v1/approvals/{ticket_id}
POST /api/v1/approvals/{ticket_id}/approve
POST /api/v1/approvals/{ticket_id}/reject
fund-accounts 和 performance-metrics 更新需要已批准的 approval_ticket_id。
报表
GET /api/v1/reports/daily-brief
GET /api/v1/reports/project-weekly
POST /api/v1/reports/daily-brief/push
POST /api/v1/reports/project-weekly/push
风险
GET /api/v1/risks/summary
GET /api/v1/risks/overdue-tasks
GET /api/v1/risks/delayed-projects
GET /api/v1/risks/over-budget-projects
GET /api/v1/risks/funds
7. 接入现有项目管理系统
第一阶段建议只读接入:
现有项目系统 MySQL -> FastAPI 只读查询 -> 报表/风险 -> 飞书推送
不要一开始让 AI 直接改原系统数据库。
配置示例:
LEGACY_DATABASE_URL=mysql+pymysql://readonly_user:password@10.0.0.10:3306/project_system?charset=utf8mb4
LEGACY_PROJECT_QUERY=SELECT id, name, owner, status, progress, start_date, due_date, budget, actual_cost FROM project ORDER BY id DESC LIMIT :limit
8. 接入 OpenClaw / Hermes / 模型
OpenClaw:
MODEL_PROVIDER=openclaw
OPENCLAW_BASE_URL=http://127.0.0.1:18789
OPENCLAW_API_KEY=
Hermes:
MODEL_PROVIDER=hermes
HERMES_BASE_URL=http://127.0.0.1:8080
HERMES_API_KEY=
OpenAI-compatible:
MODEL_PROVIDER=direct_llm
DIRECT_LLM_BASE_URL=https://api.openai.com/v1
DIRECT_LLM_API_KEY=你的Key
DIRECT_LLM_MODEL=gpt-4.1-mini
9. 安全边界
已经内置的边界:
- 现有 MySQL 只允许 SELECT
- 高风险模块更新需要
approval_ticket_id - 飞书和 AI 动作写入审计日志
- API 支持
X-API-Key - AI 不直接审批付款、绩效、投资交易
后续建议补:
- 用户登录
- RBAC 角色权限
- 字段级脱敏
- 飞书审批回调
- 数据库迁移 Alembic
- 对接真实财务/采购系统 API
10. 下一步实施顺序
1. 配置现有 MySQL 只读账号
2. 调通 /integrations/mysql/health
3. 调通 /integrations/mysql/projects
4. 初始化新业务库
5. 导入或同步项目数据
6. 配置飞书应用
7. 调通飞书 send-text/send-card
8. 配置 MODEL_PROVIDER
9. 开启日报、周报、风险推送
10. 再逐步做写回和审批闭环
11. 验证
编译:
conda run -n company-ai-platform python -m compileall app tests scripts
Smoke 验证:
conda run -n company-ai-platform python scripts\verify_smoke.py
测试:
conda run -n company-ai-platform pytest -q
Description
Languages
Python
99.5%
PowerShell
0.5%