# agent-ml-test01 **Repository Path**: tasmilen/agent-ml-test01 ## Basic Information - **Project Name**: agent-ml-test01 - **Description**: 多agent系统,试验1号 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-03-15 - **Last Updated**: 2026-03-16 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Agent ML — 多智能体协作平台 > 1 个主脑(决策)+ N 个专脑(分工)+ 工具链(执行)+ 校验(纠错)+ 自进化(扩展能力) ## 架构概览 ```mermaid graph TB User[用户] --> Router[路由层 Router] Router --> |分类| Supervisor[主脑 Supervisor] Router --> |未匹配| Evolution[自进化层 Evolution] Supervisor --> Research[研究专脑] Supervisor --> Code[代码专脑] Supervisor --> Data[数据专脑] Supervisor --> Action[执行专脑] Supervisor --> Plan[规划专脑] Supervisor --> Doc[文档专脑] Evolution --> |搜索 MCP| MCPRegistry[MCP 注册表] Evolution --> |搜索 Skill| SkillStore[Skill 仓库] Evolution --> |自动创建| SkillGen[Skill 生成器] Research --> Tools[工具链] Code --> Tools Action --> Tools Tools --> WebSearch[Web 搜索] Tools --> Browser[浏览器自动化] Tools --> FileOps[文件操作] Tools --> HttpReq[HTTP 请求] Tools --> Notify[通知服务] Supervisor --> Validator[校验层 Validator] Validator --> |通过| User Validator --> |不通过| Supervisor subgraph 反馈闭环 Feedback[统一反馈追踪] Feedback --> PromptOpt[提示词优化] Feedback --> MCPSwitch[MCP 替换] Feedback --> SkillFix[Skill 修复] end ``` ## 核心功能 | 功能模块 | 说明 | |---------|------| | 多 Agent 协作 | 路由 → 主脑编排 → 专脑执行 → 校验,四层架构 | | 6 个预定义专脑 | 研究、代码、数据、执行、规划、文档 | | 自进化能力 | 自动搜索 MCP 服务 + 自动生成 Skill 脚本 | | 提示词自举 | 元提示词(DNA)驱动,LLM 自动生成所有 Agent 指令 | | 统一反馈闭环 | 提示词 / MCP / Skill 共用评分-优化-晋升框架 | | MCP 集成 | 支持 stdio / SSE / HTTP 传输,Smithery.ai 注册表搜索 | | 工具链 | Web 搜索、浏览器自动化、文件操作、HTTP 请求 | | 定时任务 | Cron 调度,自动触发 Agent 执行 | | 多通道通知 | 企业微信 / 飞书 / 邮件 | | 管理后台 | 模型 / 专脑 / MCP / Skill / 提示词 / 定时任务 / 系统设置 | | 安全 | JWT 认证、API Key AES-256 加密、速率限制 | ## 技术栈 **后端**:Node.js + TypeScript + Fastify + Mastra + Vercel AI SDK **前端**:Vue 3.5 + Vite + Pinia + Vue Router + Ant Design Vue + Tailwind CSS v4 **AI**:Kimi 2.5(Moonshot)/ OpenAI GPT-4o-mini **存储**:JSON 文件 + LibSQL(Mastra Memory) ## 快速开始 ### 前置要求 - Node.js >= 20 - pnpm >= 9 - (可选)Docker — Skill 沙箱执行 ### 安装 ```bash git clone cd agent-ml # 安装依赖 pnpm install # 配置环境变量 cp .env.example .env # 编辑 .env,填入 API Key 等配置 ``` ### 开发模式 ```bash # 启动后端(端口 3000) cd apps/server pnpm dev # 启动前端(端口 5173,另开终端) cd apps/web pnpm dev ``` 访问 `http://localhost:5173` 打开聊天界面,`http://localhost:5173/admin` 进入管理后台。 > 开发模式下 `.env` 中 `AUTH_DISABLED=true` 可跳过登录。 ### 首次启动 系统首次启动时会自动执行 **提示词自举**:读取 `packages/prompts/_meta.yaml`(元提示词),通过 LLM 为每个 Agent 生成系统指令。如果 LLM 不可用,会使用内置的降级提示词。 ## 项目结构 ``` agent-ml/ ├── apps/ │ ├── server/ # 后端服务 │ │ └── src/ │ │ ├── mastra/ # Mastra Agent 定义与编排 │ │ ├── tools/ # 工具(搜索、浏览器、文件、通知等) │ │ ├── prompts/ # 提示词加载、生成、优化 │ │ ├── skills/ # Skill 管理、生成、执行 │ │ ├── mcp/ # MCP 服务管理 │ │ ├── feedback/ # 统一反馈追踪 │ │ ├── routes/ # API 路由 │ │ └── scheduler/ # 定时任务 │ └── web/ # 前端 SPA │ └── src/ │ ├── views/ # 页面 │ ├── components/ # 组件 │ ├── api/ # API 客户端 │ └── stores/ # Pinia 状态管理 ├── packages/ │ ├── prompts/ # 提示词模板(YAML) │ └── skills/ # Skill 目录 ├── data/ # 运行时数据(JSON 持久化 + SQLite) └── .env.example # 环境变量模板 ``` ## 环境变量 详见 [`.env.example`](.env.example),主要配置: | 变量 | 说明 | 必填 | |------|------|------| | `KIMI_API_KEY` | Moonshot API Key | 是 | | `KIMI_BASE_URL` | Moonshot API 地址 | 是 | | `JWT_SECRET` | JWT 签名密钥 | 生产环境 | | `MASTER_KEY` | API Key 加密密钥 | 生产环境 | | `AUTH_DISABLED` | 跳过认证(开发用) | 否 | | `WECHAT_WEBHOOK_URL` | 企业微信通知 | 否 | | `FEISHU_WEBHOOK_URL` | 飞书通知 | 否 | | `SMTP_*` | 邮件通知 | 否 | | `DOCKER_SOCKET_PATH` | Docker 沙箱 | 否 | ## Docker 部署 ### 使用 Docker Compose(推荐) ```bash # 构建并启动 docker compose up -d --build # 查看日志 docker compose logs -f ``` 服务默认运行在 `http://localhost:3000`(前端 + API 统一入口)。 ### 服务器要求 | 资源 | 最低 | 推荐 | |------|------|------| | CPU | 2 核 | 4 核 | | 内存 | 2 GB | 4 GB | | 磁盘 | 10 GB | 20 GB | | Docker | 20.10+ | 最新 | ## 元提示词(Meta Prompt) `packages/prompts/_meta.yaml` 是系统的 **DNA**,定义了所有 Agent 的角色、工具和约束。修改此文件后,在管理后台"提示词管理"页面点击"重新自举",系统会用 LLM 重新生成所有提示词。 **提示词优先级**:`manual`(手动编辑)> `proven`(验证通过)> `auto`(自动生成) 手动编辑的提示词不会被自动覆盖。 ## FAQ **Q: Kimi API 余额不足怎么办?** 可以在管理后台"模型管理"页面切换到 OpenAI 或其他 OpenAI 兼容的 API。 **Q: 不装 Docker 能用吗?** 可以。不配置 `DOCKER_SOCKET_PATH` 时,Skill 脚本在本地 Node.js 进程中执行(仅限开发环境)。 **Q: 如何添加新的专脑?** 1. 在 `apps/server/src/mastra/agents/brains.ts` 中定义新 Agent 2. 在 `packages/prompts/_meta.yaml` 中添加对应配置 3. 重新自举生成提示词 系统也支持 **动态专脑**:当路由层判断没有匹配的预定义专脑时,会自动创建临时专脑。 **Q: 数据存在哪里?** - 配置和状态:`data/` 目录下的 JSON 文件 - 聊天记忆:`data/local.db`(LibSQL) - 提示词:`packages/prompts/` 下的 YAML 文件 - Skill:`packages/skills/` 目录 ## License MIT