53 lines
2.3 KiB
Markdown
53 lines
2.3 KiB
Markdown
# Wyndham ARR
|
||
|
||
ARR 是一套受控的 Opera 日报处理与经营数据应用。当前可部署链路为:
|
||
|
||
```text
|
||
业务页面上传 XML
|
||
-> ARR 写入私有 OSS 并登记任务
|
||
-> ARR 调用 SuperAgent Open API
|
||
-> SuperAgent 读取 OSS XML 并执行确定性日报 Skill
|
||
-> SuperAgent 调用 ARR MCP 的 arr_submit_processing_result
|
||
-> ARR 独立复验源 XML 后事务落库
|
||
-> 日报历史、月度投影和渠道看板从数据库读取
|
||
```
|
||
|
||
## 公网部署
|
||
|
||
仓库提供 Docker 镜像与 Docker Compose + Caddy 部署入口。Dockerfile
|
||
默认 Web CMD 和 Compose Web command 都显式使用 `--enable-processing`
|
||
打开 XML 上传处理;Compose 另使用 `--secure-cookies`、HTTPS、Web Basic Auth
|
||
和 MCP Bearer 保护公网服务。
|
||
|
||
完整步骤见 [`deploy/README.md`](deploy/README.md)。部署后必须确认:
|
||
|
||
- `GET /api/health` 的 `database_ready=true`;
|
||
- `GET /api/health` 的 `processing_ready=true`;
|
||
- MCP 未认证请求返回 `401`;
|
||
- 认证后的 MCP 工具发现只返回 `arr_submit_processing_result`。
|
||
|
||
应用源码默认仍为 fail-closed;直接运行 `python -m arr_web.run` 不会自动开启上传处理。
|
||
运维若覆盖镜像 CMD,必须在 Web 命令中保留 `--enable-processing`。
|
||
|
||
## 主要入口
|
||
|
||
- `arr_web`:上传、任务历史、月度数据与渠道看板 Web/API;
|
||
- `arr_mcp`:SuperAgent 结构化处理结果的单工具 MCP 入库网关;
|
||
- `arr-opera-daily-ingest`:Opera XML 的确定性日报处理 Skill;
|
||
- `database`:PostgreSQL 15+ schema、增量迁移和 MCP 契约;
|
||
- `tests`:单元、契约和无隐私合成链路测试。
|
||
|
||
## 当前能力边界
|
||
|
||
- XML 上传、私有 OSS 保存、SuperAgent 任务发起和 MCP 直接落库代码已接线;
|
||
- 正式公网环境仍需部署者注入数据库、OSS、SuperAgent 和 MCP Secret,并完成一次无隐私 XML 竖切验收;
|
||
- “日报落库后自动触发月报”与月报 `TOTAL PRICE` 指定公式仍未实现,本部署配置不会开启月报/公司报表写入端点,也不会把远端 Agent `success` 误报为数据库已提交。
|
||
|
||
## 本地测试
|
||
|
||
```bash
|
||
python3 -m unittest discover -s tests -v
|
||
```
|
||
|
||
项目不会从仓库内自动加载 `.env`。真实凭据、业务 XML/XLSX、数据库文件、运行输出和虚拟环境均不得提交。
|