forked from zhanggangyong/agent_management
4.2 KiB
4.2 KiB
项目结构说明
📁 目录结构
Pydantic-ai/
├── src/ # 源代码目录
│ ├── __init__.py # 包初始化文件
│ ├── server/ # 服务器模块
│ │ ├── __init__.py # 导出服务器相关功能
│ │ ├── mcp_server.py # MCP 服务器(MCP 协议)
│ │ └── api_server.py # HTTP API 服务器(FastAPI)
│ └── client/ # 客户端模块
│ ├── __init__.py
│ └── mcp_client.py # MCP 客户端示例
│
├── tests/ # 测试目录
│ ├── __init__.py
│ ├── test_agent.py # Agent 功能测试
│ └── test_mcp_server.py # MCP 服务器测试
│
├── docs/ # 文档目录
│ ├── API_DOCUMENTATION.md # API 接口文档
│ ├── DEPLOYMENT.md # 部署指南
│ └── README_API.md # API 快速开始
│
├── run_api_server.py # HTTP API 服务器启动脚本
├── run_mcp_server.py # MCP 服务器启动脚本
│
├── requirements.txt # Python 依赖
├── Dockerfile # Docker 镜像配置
├── docker-compose.yml # Docker Compose 配置
├── .dockerignore # Docker 构建忽略文件
├── README.md # 项目说明
└── PROJECT_STRUCTURE.md # 本文件
📝 文件说明
源代码 (src/)
src/server/
mcp_server.py: MCP 服务器实现,包含所有工具函数和 Agent 配置api_server.py: HTTP API 服务器,将 MCP 工具包装为 REST API
src/client/
mcp_client.py: MCP 客户端示例,演示如何通过 MCP 协议调用服务
测试 (tests/)
test_agent.py: 直接测试 Agent 功能test_mcp_server.py: 测试 MCP 服务器工具函数
文档 (docs/)
API_DOCUMENTATION.md: 完整的 API 接口文档DEPLOYMENT.md: 部署指南和配置说明README_API.md: API 快速开始指南
启动脚本
run_api_server.py: 启动 HTTP API 服务器的入口脚本run_mcp_server.py: 启动 MCP 服务器的入口脚本
🔧 导入路径
在项目内部导入
# 从服务器模块导入工具函数
from src.server.mcp_server import (
generate_code,
refactor_code,
review_code,
# ...
)
# 或者使用 __init__.py 中的导出
from src.server import (
generate_code,
refactor_code,
# ...
)
在测试中导入
import sys
from pathlib import Path
# 添加项目根目录到路径
project_root = Path(__file__).parent.parent
sys.path.insert(0, str(project_root))
from src.server.mcp_server import code_assistant_agent
🚀 运行方式
本地运行
# 启动 HTTP API 服务器
python run_api_server.py
# 启动 MCP 服务器
python run_mcp_server.py
# 运行测试
python -m pytest tests/
# 或
python tests/test_agent.py
Docker 运行
# 构建镜像
docker build -t code-assistant-agent .
# 运行容器
docker run -p 8000:8000 code-assistant-agent
# 或使用 Docker Compose
docker-compose up -d
📦 模块组织原则
- 按功能分类: 服务器、客户端、测试分别放在不同目录
- 清晰的导入路径: 使用
src.server、src.client等清晰的模块路径 - 统一的入口: 使用根目录的启动脚本,方便运行
- 文档集中: 所有文档放在
docs/目录
🔄 导入关系
run_api_server.py
└─> src.server.api_server
└─> src.server.mcp_server (工具函数)
run_mcp_server.py
└─> src.server.mcp_server
src.client.mcp_client
└─> (通过命令行调用) src.server.mcp_server
tests/test_*.py
└─> src.server.mcp_server
✅ 重构完成检查清单
- 创建目录结构
- 移动文件到对应目录
- 更新所有导入语句
- 创建
__init__.py文件 - 更新 Dockerfile 路径
- 创建启动脚本
- 更新测试文件导入
- 更新客户端文件路径引用
最后更新: 2025-01-08