# AgentOS **Repository Path**: teampanel/agent-os ## Basic Information - **Project Name**: AgentOS - **Description**: 现代化的、开源的 AI 智能体协作与编排平台。当前支持LangGraph,更多平台支持在考虑中。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-04-18 - **Last Updated**: 2026-04-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AgentOS 现代化的、开源的 AI 智能体协作与编排平台。 ## 🚀 两种启动方式 ### 方式一:本地开发(推荐,无需 Docker) 如果 Docker Hub 访问有问题,这是最简单的方式! ```bash # 启动本地开发环境 ./start-local.sh ``` 详细文档:[LOCAL_DEV.md](LOCAL_DEV.md) ### 方式二:Docker Compose ```bash # 一键启动(会自动构建并启动所有服务) ./start.sh ``` 如果遇到 Docker 镜像问题: ```bash # 运行诊断和修复脚本 ./fix-docker.sh ``` 详细故障排除文档:[DOCKER_TROUBLESHOOTING.md](DOCKER_TROUBLESHOOTING.md) ## 快速开始 ### 前置条件 **本地开发**: - Python 3.11+ - Node.js 18+ - npm / yarn / pnpm **Docker 方式**: - Docker Engine >= 24.0 - Docker Compose >= 2.20 - 至少 4GB 可用内存 ### 启动服务 #### 方式一:使用一键启动脚本(推荐) ```bash # 一键启动(会自动构建并启动所有服务) ./start.sh # 快速启动(跳过构建,使用已有的镜像) ./start.sh --no-build ``` #### 方式二:使用 Docker Compose ```bash # 构建并启动所有服务 docker-compose up --build -d # 查看服务状态 docker-compose ps ``` ### 健康检查 ```bash # 检查所有服务的健康状态 ./check.sh ``` 健康检查会显示: - Docker 容器状态 - API 端点健康状况 - 端口监听状态 - 最近的错误日志 ### 停止服务 ```bash # 停止所有服务(保留数据) ./stop.sh # 强制停止(无需确认) ./stop.sh --force # 停止并删除数据卷(清空所有数据) ./stop.sh --remove-volumes ``` ### 访问应用 - React 前端应用: http://localhost:3000 - Vue3 前端应用: http://localhost:5173 - 后端 API 文档: http://localhost:8000/docs - 模拟 Agent 服务: http://localhost:9001/docs - RustFS 控制台: http://localhost:9091 ## 用户认证系统 ### 默认账户 系统启动后会自动创建以下默认用户: | 用户名 | 密码 | 邮箱 | 角色 | |--------|------|------|------| | admin | admin123 | admin@agentos.com | 管理员(超级用户)| | user | user123 | user@agentos.com | 普通用户 | ### 登录和注册 两个前端(React 和 Vue3)都提供了完整的登录注册功能: - **登录页面**: `/login` - 用户登录 - **注册页面**: `/register` - 新用户注册 - **主页面**: `/` - 需要登录才能访问 ### 认证功能特性 - JWT Token 认证(有效期 24 小时) - 密码加密存储(bcrypt) - Token 自动刷新和过期处理 - 路由权限保护 - 用户信息展示 ### 后端 API - 认证 | 端点 | 方法 | 描述 | |------|------|------| | `/api/v1/auth/login` | POST | 用户登录(OAuth2 密码模式)| | `/api/v1/auth/register` | POST | 用户注册 | | `/api/v1/auth/me` | GET | 获取当前用户信息 | | `/api/v1/auth/users` | GET | 列出所有用户(仅管理员)| | `/api/v1/auth/users/{id}` | GET | 获取用户详情 | | `/api/v1/auth/users/{id}` | PUT | 更新用户信息 | | `/api/v1/auth/users/{id}` | DELETE | 删除用户(仅管理员)| ### 后端 API - 角色和权限 | 端点 | 方法 | 描述 | |------|------|------| | `/api/v1/admin/roles` | GET | 列出所有角色 | | `/api/v1/admin/roles` | POST | 创建角色 | | `/api/v1/admin/roles/{id}` | GET | 获取角色详情 | | `/api/v1/admin/roles/{id}` | PUT | 更新角色 | | `/api/v1/admin/roles/{id}` | DELETE | 删除角色 | | `/api/v1/admin/permissions` | GET | 列出所有权限 | | `/api/v1/admin/permissions` | POST | 创建权限 | | `/api/v1/admin/permissions/{id}` | GET | 获取权限详情 | | `/api/v1/admin/permissions/{id}` | PUT | 更新权限 | | `/api/v1/admin/permissions/{id}` | DELETE | 删除权限 | ## 项目结构 ``` agentos/ ├── docker-compose.yml ├── .env ├── backend/ │ ├── Dockerfile │ ├── main.py │ ├── api/ │ │ ├── auth.py # 认证 API │ │ ├── roles.py # 角色权限 API │ │ └── ... │ ├── core/ │ │ ├── config.py │ │ └── security.py # JWT 认证工具 │ ├── models/ │ │ ├── user.py # 用户模型 │ │ ├── role.py # 角色模型 │ │ └── permission.py # 权限模型 │ ├── services/ │ └── requirements.txt ├── frontend/ # React 版本前端 │ ├── Dockerfile │ ├── package.json │ ├── src/ │ │ ├── components/ │ │ │ ├── Header.tsx │ │ │ └── ProtectedRoute.tsx │ │ ├── services/ │ │ │ └── api.ts # API 服务(含认证) │ │ ├── pages/ │ │ │ ├── Login.tsx │ │ │ └── Register.tsx │ │ └── store/ │ │ └── auth.ts # 认证状态管理(Zustand) │ └── public/ ├── frontend-vue/ # Vue3 版本前端 │ ├── Dockerfile │ ├── package.json │ ├── src/ │ │ ├── views/ │ │ │ ├── Login.vue │ │ │ ├── Register.vue │ │ │ └── WorkflowCanvas.vue │ │ ├── router/ │ │ │ └── index.ts # 路由守卫 │ │ ├── api/ │ │ │ └── index.ts # API 服务(含认证) │ │ └── stores/ │ │ └── auth.ts # 认证状态管理(Pinia) │ └── public/ ├── simulated-agent/ # 模拟 Agent 服务 │ ├── Dockerfile │ ├── main.py │ └── requirements.txt └── data/ ├── skills/ ├── rustfs/ ├── postgres/ └── redis/ ``` ## 技术栈 ### React 前端 - React 18, TypeScript, AntV X6, Ant Design - React Router 6, Zustand(状态管理) ### Vue3 前端 - Vue 3.4, TypeScript, AntV X6, Ant Design Vue, Vite - Vue Router 4, Pinia(状态管理) ### 后端 - Python 3.11+, FastAPI - JWT (python-jose), bcrypt (passlib) ### AI Runtime - LangGraph (>=1.0.8) ### 基础设施 - 对象存储: RustFS - 数据库: PostgreSQL 15 - 状态存储: Redis 7 ## 核心功能 - **用户认证与授权** - JWT Token 认证、角色权限管理 - **可视化工作流编排** (React + Vue3 两个版本) - **MCP 工具集成** - **Skills 管理器** - **模拟 Agent 服务** - **可观测性和监控** ## 开发 ### 后端开发 ```bash cd backend python -m venv venv source venv/bin/activate pip install -r requirements.txt python main.py ``` ### React 前端开发 ```bash cd frontend npm install npm start ``` ### Vue3 前端开发 ```bash cd frontend-vue npm install npm run dev ``` ### 模拟 Agent 开发 ```bash cd simulated-agent python -m venv venv source venv/bin/activate pip install -r requirements.txt python main.py ``` ## API 端点 ### AgentOS 后端 - 认证 - `POST /api/v1/auth/login` - 用户登录 - `POST /api/v1/auth/register` - 用户注册 - `GET /api/v1/auth/me` - 获取当前用户 - `GET /api/v1/auth/users` - 列出用户 - `PUT /api/v1/auth/users/{id}` - 更新用户 - `DELETE /api/v1/auth/users/{id}` - 删除用户 ### AgentOS 后端 - 角色权限 - `GET /api/v1/admin/roles` - 角色列表 - `POST /api/v1/admin/roles` - 创建角色 - `GET /api/v1/admin/permissions` - 权限列表 - `POST /api/v1/admin/permissions` - 创建权限 ### AgentOS 后端 - 工作流 - `GET /` - 欢迎信息 - `GET /api/v1/health` - 健康检查 - `POST /api/v1/workflows/compile` - 编译工作流 - `POST /api/v1/workflows/execute` - 执行工作流 ### AgentOS 后端 - Agents - `POST /api/v1/agents/chat` - 与 Agent 对话 - `GET /api/v1/agents/health` - 检查 Agent 连接状态 ### 模拟 Agent - `GET /` - 欢迎信息 - `GET /health` - 健康检查 - `POST /agent/chat` - 聊天接口 - `GET /agent/status/{agent_id}` - Agent 状态 - `GET /agents` - 列出所有 Agents ## 许可证 MIT