2.9 KiB
2.9 KiB
Config 模块需求文档
1. 模块定位
Config 模块是 Django 项目的基础配置模块,负责系统启动、路由装配、环境变量读取、静态资源、文件存储、数据库、日志和第三方组件配置。
该模块不承载业务逻辑,只负责让系统稳定启动,并为其他模块提供统一运行环境。
2. 模块目标
- 支持本地开发和 Docker 部署两种运行方式。
- 支持通过环境变量切换模型 API、数据库、调试模式和文件路径。
- 统一注册 Django Apps、模板目录、静态资源目录和上传目录。
- 提供系统级 URL 路由入口。
- 为后续扩展 PostgreSQL、Redis、Celery 等组件预留配置空间。
3. 职责边界
3.1 负责
- Django
settings.py配置。 - Django
urls.py总路由配置。 - WSGI / ASGI 启动配置。
- 环境变量读取。
- SQLite 默认数据库配置。
- 静态文件和上传文件配置。
- Chroma 本地持久化目录配置。
- LLM 相关环境变量配置。
3.2 不负责
- 不处理具体 Agent 业务逻辑。
- 不解析场景 YAML。
- 不处理文件入库。
- 不直接调用大模型。
- 不保存审计日志。
4. 配置项需求
系统至少需要支持以下环境变量:
| 配置项 | 默认值 | 说明 |
|---|---|---|
DJANGO_SECRET_KEY |
dev-secret-key |
Django 密钥 |
DJANGO_DEBUG |
true |
是否开启调试模式 |
DJANGO_ALLOWED_HOSTS |
* |
允许访问的主机 |
DATABASE_URL |
空 | V1 可不启用,默认 SQLite |
LLM_API_KEY |
空 | 大模型 API Key |
LLM_BASE_URL |
https://api.openai.com/v1 |
OpenAI 兼容接口地址 |
LLM_MODEL |
gpt-4.1-mini |
默认模型名称 |
CHROMA_PATH |
data/chroma |
Chroma 持久化目录 |
UPLOAD_ROOT |
data/uploads |
上传文件目录 |
SCENARIO_CONFIG_DIR |
configs |
场景配置目录 |
5. 目录需求
系统启动时需要保证以下目录存在:
data/
uploads/
chroma/
db.sqlite3
configs/
如果目录不存在,V1 可以在初始化脚本或启动流程中创建。
6. 路由需求
总路由需要聚合以下模块路由:
| 路径 | 模块 | 用途 |
|---|---|---|
/ |
apps.scenarios |
首页和场景列表 |
/chat/ |
apps.chat |
Agent 对话 |
/documents/ |
apps.documents |
文件上传和文档管理 |
/audit/ |
apps.audit |
审计日志查看 |
/admin/ |
Django Admin | 后台管理 |
7. 启动需求
本地启动:
python manage.py migrate
python manage.py runserver
Docker 启动:
docker compose up --build
8. 验收标准
- 项目可以通过
python manage.py runserver启动。 - 项目可以通过
docker compose up --build启动。 /admin/可以访问。- 首页
/可以访问。 - 环境变量可以覆盖默认模型配置。
- 上传目录和 Chroma 目录有明确配置。