Files
Agent-System/README.md
T

75 lines
4.3 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Chat-Agent-System (项目工作流与对话智能体系统)
本项目是一个面向企业与团队的高可用对话智能体(Chat Agent)系统,结合了知识库检索增强(RAG)、自动化 Agent 执行能力与安全审计机制。
---
## 一、 仓库三分支结构说明
根据系统架构与运维稳定性规范,本仓库固定维护三个分支:
| 分支名 | 定位 | 职责与准入规则 |
| :--- | :--- | :--- |
| **`dev`** | **开发分支** | **日常开发基线**。所有代码开发均在此分支或其衍生子分支(`feature/*`, `fix/*`)进行,子分支自测后合并回 `dev`。支持一个任务按功能拆解并逐步渐进式提交。 |
| **`test`** | **测试分支** | **准生产实测分支**。当 `dev` 积累了一定功能阶段后合并至此,建立发布候选节点(`rc-vX.Y.Z`),进行真实环境部署与长期集成测试与运维检验。 |
| **`main`** | **主分支** | **生产发布分支**。严禁直接提交。仅在 `test` 分支经过真实运维和测试验证达到发布标准后,将对应节点合并回 `main` 并打正式版本 Tag(`vX.Y.Z`)。 |
完整的分支流转模型、热修复流程与提交规范请参阅:[docs/workflow/BRANCH_AND_ENVIRONMENT_RULES.md](docs/workflow/BRANCH_AND_ENVIRONMENT_RULES.md)。
---
## 二、 三套服务环境架构(知识库共享 + 对话与数据隔离)
本系统为 `dev`、`test`、`main` 三个分支各提供了一套独立运行的服务环境:
```
[ 共享基础设施: 知识库服务 (pgvector / regulations-db) ]
│ (共享知识库索引)
┌──────────────────────┼──────────────────────┐
▼ ▼ ▼
┌──────────────────┐ ┌──────────────────┐ ┌──────────────────┐
│ 开发环境 (dev) │ │ 测试环境 (test) │ │ 生产环境 (main) │
├──────────────────┤ ├──────────────────┤ ├──────────────────┤
│ 容器组:agent-dev │ │ 容器组:agent-test│ │ 容器组:agent-main│
│ HTTP: 8080 │ │ HTTP: 8081 │ │ HTTP: 8000 │
│ DB: 5433 (独占) │ │ DB: 5434 (独占) │ │ DB: 5435 (独占) │
│ 独占对话记录/卷 │ │ 独占对话记录/卷 │ │ 独占对话记录/卷 │
└──────────────────┘ └──────────────────┘ └──────────────────┘
```
- **知识库共享**:三套环境均可连接同一个知识库向量检索服务,确保专业法规与企业标准数据集中维护、保持一致。
- **对话与数据库严格隔离**:各环境拥有独立的数据库实例/库、独立的会话记录、独立的审计日志与工作区持久化卷,互不污染。
---
## 三、 快速启动与运维指南
项目在 `scripts/env-service.sh` 中提供了统一的环境管理工具:
```bash
# 1. 启动共享知识库服务 (首次使用前启动)
./scripts/env-service.sh shared start
# 2. 启动对应环境服务
./scripts/env-service.sh dev start # 启动开发环境 (端口: 8080, DB: 5433)
./scripts/env-service.sh test start # 启动测试环境 (端口: 8081, DB: 5434)
./scripts/env-service.sh main start # 启动主分支生产环境 (端口: 8000, DB: 5435)
# 3. 检查环境状态
./scripts/env-service.sh all status
# 4. 停止指定环境服务
./scripts/env-service.sh dev stop
```
---
## 四、 开发任务拆分与逐步提交规范
进行功能研发时,遵循**“按功能层次拆分,过程逐步提交”**原则:
1. **数据模型层** (`feat(db): ...`):数据表迁移、字段变更、实体定义。
2. **业务逻辑层** (`feat(agent): ...`):核心 Agent 能力、工作流处理。
3. **接口服务层** (`feat(api): ...`):HTTP/Web 路由及交互。
4. **自动化测试** (`test(...): ...`):单元测试与联调集成测试。
5. **文档与配置** (`docs(...): ...` / `chore(...): ...`):环境配置与说明文档。