docs: 初始化项目需求和协作文档
This commit is contained in:
105
docs/modules/01_config_module_requirements.md
Normal file
105
docs/modules/01_config_module_requirements.md
Normal file
@@ -0,0 +1,105 @@
|
||||
# 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. 目录需求
|
||||
|
||||
系统启动时需要保证以下目录存在:
|
||||
|
||||
```text
|
||||
data/
|
||||
uploads/
|
||||
chroma/
|
||||
db.sqlite3
|
||||
|
||||
configs/
|
||||
```
|
||||
|
||||
如果目录不存在,V1 可以在初始化脚本或启动流程中创建。
|
||||
|
||||
## 6. 路由需求
|
||||
|
||||
总路由需要聚合以下模块路由:
|
||||
|
||||
| 路径 | 模块 | 用途 |
|
||||
|---|---|---|
|
||||
| `/` | `apps.scenarios` | 首页和场景列表 |
|
||||
| `/chat/` | `apps.chat` | Agent 对话 |
|
||||
| `/documents/` | `apps.documents` | 文件上传和文档管理 |
|
||||
| `/audit/` | `apps.audit` | 审计日志查看 |
|
||||
| `/admin/` | Django Admin | 后台管理 |
|
||||
|
||||
## 7. 启动需求
|
||||
|
||||
本地启动:
|
||||
|
||||
```bash
|
||||
python manage.py migrate
|
||||
python manage.py runserver
|
||||
```
|
||||
|
||||
Docker 启动:
|
||||
|
||||
```bash
|
||||
docker compose up --build
|
||||
```
|
||||
|
||||
## 8. 验收标准
|
||||
|
||||
- 项目可以通过 `python manage.py runserver` 启动。
|
||||
- 项目可以通过 `docker compose up --build` 启动。
|
||||
- `/admin/` 可以访问。
|
||||
- 首页 `/` 可以访问。
|
||||
- 环境变量可以覆盖默认模型配置。
|
||||
- 上传目录和 Chroma 目录有明确配置。
|
||||
|
||||
Reference in New Issue
Block a user