# TH Hotel Simple 项目上下文

## 1. 产品目标

TH Hotel Simple 是一个前后端分离的酒店业务协同项目。

当前核心目标是把来自 AgentBus、SuperAgent 和后续酒店系统的业务输入，沉淀为可追溯、可查询、可人工复核的结构化数据，为酒店预订、任务处理、邮件原文读取、外部 AI 协作和后续 PMS / OHIP 集成打基础。

## 2. 当前系统组成

| 目录 | 中文说明 |
| --- | --- |
| `client/` | 前端应用。负责页面展示、人工操作、调试入口和调用本项目后端。前端不直接访问 AgentBus、SuperAgent、OHIP、数据库或任何 Secret。 |
| `server/` | 后端 Spring Boot 服务。负责数据库、业务规则、外部系统适配、权限、安全脱敏、审计和接口契约。 |
| `mcp-server/` | SuperAgent MCP 方案入口指针。当前不单独部署 MCP 服务，MCP 运行时代码内嵌在 `server/`。 |
| `docs/` | 项目文档、需求、架构边界、导入资料、可复用规范和第三方契约。 |

## 3. 技术栈

### 后端

- Java 17，语法和编译 release 均按 17。
- Spring Boot 3.5.15。
- Maven Wrapper。
- MyBatis-Plus 3.5.16。
- Flyway。
- MySQL，测试场景可使用 H2 MySQL Mode 或 test-mysql profile。
- Spring Validation、springdoc-openapi、Angus Mail、Aliyun OSS、Apache POI。

### 前端

- Vue 3.5。
- TypeScript 6。
- Vite 8。
- Pinia 3。
- PrimeVue 4、PrimeIcons 7。
- Vue Router 5、Vue I18n 11。
- Vitest 4、ESLint 10、vue-tsc 3。
- Node.js >= 22.13.0。

## 4. 当前业务领域

- SourceMessage：外部消息来源事实，当前主要承接 AgentBus 邮件 JSON。
- Email / Message Conversation：邮件和邮件会话，用于历史邮件查询、正文读取和会话级任务查询。
- Reservation Case / Task：预订相关订单、任务卡、人工复核和任务结果。
- Identity / Access / Hotel / Menu：登录、用户、角色、权限、酒店授权和动态菜单底座。
- Debug EML：受控调试入口，用于上传 EML 并触发 SuperAgent 调试链路。
- Manual Invoice：手工开票生成能力，包含 Excel 模板、PDF 转换和 OSS 输出。

## 5. 外部系统与边界

| 外部系统 | 当前定位 | 契约入口 |
| --- | --- | --- |
| AgentBus | 消息入口适配器。实时入口必须先落 SourceMessage Inbox。 | `docs/project/integrations/superagent-agentbus-project-integration-guide.md` |
| SuperAgent | 外部 AI / Agent 能力提供方。返回内容只能作为建议、证据或审计结果。 | `docs/project/integrations/superagent-api-contract.md` |
| SuperAgent MCP | SuperAgent 调用本项目能力的 MCP 映射，当前内嵌在后端服务。 | `docs/project/integrations/superagent-mcp/README.md` |
| Aliyun OSS | 调试 EML、附件或生成文件的对象存储。 | 相关配置和安全边界见项目文档与后端配置 |
| OHIP / PMS | 后续酒店系统集成方向。当前不允许前端直接访问。 | 后续 Spec / ADR 明确 |

## 6. 当前开发方向

当前项目正在从普通项目文档结构，逐步落地 AI-NSES 文档入口：

- `AGENTS.md` 规定 Agent 如何工作。
- `CONTEXT.md` 说明项目长期背景。
- `PROJECT_STATE.md` 记录当前阶段状态。
- `docs/project/README.md` 作为当前项目专属文档索引。
- `docs/import/reusable/` 保存可迁移到其他项目的通用规范。

业务开发仍以 `docs/project/requirements/` 和 `docs/project/integrations/` 下的当前有效文档为准。

## 7. 新 Agent 阅读顺序

1. `AGENTS.md`
2. `CONTEXT.md`
3. `PROJECT_STATE.md`
4. `README.md`
5. `docs/project/README.md`
6. 与当前任务相关的需求、接口、安全、前后端协作或集成文档

涉及接口、权限、审计、酒店隔离或敏感数据返回时，必须额外阅读 `docs/project/security-access-control-boundary.md`。
