78 lines
2.6 KiB
Markdown
78 lines
2.6 KiB
Markdown
# DEMO-AGENT V2
|
||
|
||
V2 是一个重置后的最小 Django 项目,仅保留基础配置和登录页面。
|
||
|
||
## 本地运行
|
||
|
||
```bash
|
||
python -m venv .venv
|
||
.venv\Scripts\activate
|
||
pip install -r requirements.txt
|
||
python manage.py migrate
|
||
python manage.py createsuperuser
|
||
python manage.py runserver
|
||
```
|
||
|
||
访问:
|
||
|
||
- 登录页:http://127.0.0.1:8000/login/
|
||
- 首页:http://127.0.0.1:8000/
|
||
- 管理后台:http://127.0.0.1:8000/admin/
|
||
|
||
## 文件汇总依赖
|
||
|
||
自动汇总文件目录与页数功能使用轻量 Python 库读取 PDF、Word、Excel、PowerPoint 文件。
|
||
Docker 或生产环境如需处理 `.7z` 与 `.rar` 压缩包,还需要安装系统 `7z`/`p7zip`
|
||
命令,并确认以下命令可用:
|
||
|
||
```bash
|
||
7z
|
||
7z i
|
||
```
|
||
|
||
LibreOffice 不是必需依赖,仅作为未来增强老格式文档解析的可选能力。
|
||
|
||
上传原始文件、批次工作目录和导出文件默认存储在 Django `MEDIA_ROOT` 下的
|
||
`file_summary/users/<user_id>/<conversation_id>/` 或批次 `work_dir` 目录中。生产环境
|
||
需要把 `MEDIA_ROOT` 挂载到持久化卷,并纳入备份或归档策略。
|
||
|
||
## 飞书通知与问答预留
|
||
|
||
飞书接入使用企业自建应用/智能体的消息 API。敏感信息只允许写入本地 `.env`
|
||
或部署环境变量,不要提交真实 App Secret、tenant token、open_id 或 user_id。
|
||
|
||
常用环境变量:
|
||
|
||
| 变量名 | 用途 |
|
||
| --- | --- |
|
||
| `FEISHU_NOTIFY_ENABLED` | 是否启用真实飞书通知,未启用时只写未启用记录 |
|
||
| `FEISHU_NOTIFY_CHANNEL` | 通知通道,首期使用 `feishu_api` |
|
||
| `FEISHU_APP_ID` | 飞书应用 App ID |
|
||
| `FEISHU_APP_SECRET` | 飞书应用 App Secret |
|
||
| `FEISHU_DEFAULT_USER_OPEN_ID` | 默认个人接收人的 open_id,优先使用 |
|
||
| `FEISHU_DEFAULT_USER_ID` | 默认个人接收人的 user_id,open_id 为空时使用 |
|
||
| `FEISHU_DEFAULT_TARGET_NAME` | 默认接收人展示名,用于记录和页面展示 |
|
||
| `FEISHU_TENANT_TOKEN_CACHE_SECONDS` | tenant_access_token 缓存秒数 |
|
||
| `PUBLIC_BASE_URL` | 飞书消息中的系统入口根地址,默认 `http://127.0.0.1:8000` |
|
||
|
||
自动化测试会 mock 飞书 token API 和消息 API,不请求真实飞书接口。真实发送只通过
|
||
本地手动命令验证:
|
||
|
||
```bash
|
||
python manage.py send_test_feishu_notification --username owner
|
||
```
|
||
|
||
问答预留能力可用本地模拟命令验证:
|
||
|
||
```bash
|
||
python manage.py feishu_question_simulate --username owner "查最新法规核查"
|
||
```
|
||
|
||
集中测试建议在补齐 `.env` 后执行:
|
||
|
||
```bash
|
||
python manage.py check
|
||
pytest tests/test_feishu_*.py
|
||
pytest tests/test_file_summary_workflow.py tests/test_regulatory_notification.py tests/test_application_form_fill_notification.py
|
||
```
|