基于deepagents的自主Agent,支持plan/skills/mcp/tools/rag等主流功能
Overview
- 🎯 : 通过 /agents/{type}/ 路由访问不同 Agent - 🧩 : 采用 SKILL.md 格式定义深度技能,按需动态加载 - 🔌 : 支持多种 MCP 服务,按 Agent 类型分配 - 🇨🇳 : 针对中文环境优化,提供自然的沟通体验 - 🌊 : 支持 SSE (Server-Sent Events) 实时输出 访问 http://localhost:8001/docs 查看 API 文档。 (tools.py):search_similar_alerts (Milvus 向量搜索 + DashScope Rerank) 1. 创建 src/agents/{new_agent}/ 目录 2. 实现 config.py 和 agent.py 3. 添加技能到 skills_data/ 4. 添加专用工具到 tools.py(可选) 5. 在 src/agents/.py 中导入 1. : 统一的 Agent 基类和工厂模式 2. : 每个 Agent 在自己目录下的 tools.py 中定义专用工具 3. : 多 MCP 服务注册和按需加载 4. : 提供底层文件访问支持 5. : deepagents 内部基于 LangGraph 实现 ReAct 循环 - Agent 开发指南 - 如何添加新 Agent - Agent 运行流程 - Agent 运行流程参考文档 - 支持直接在支持SKILLS的AI IDE中进行开发(如Claude Code,Cursor等)
README
🤖 多 Agent 智能服务平台
基于 LangChain Deepagents 构建的多 Agent Web 服务框架。
✨ 特性
- 🎯 多 Agent 架构: 通过
/agents/{type}/路由访问不同 Agent - 🧩 专业技能系统: 采用
SKILL.md格式定义深度技能,按需动态加载 - 🔌 MCP 服务注册: 支持多种 MCP 服务,按 Agent 类型分配
- 🇨🇳 中文友好: 针对中文环境优化,提供自然的沟通体验
- 🌊 全异步流式响应: 支持 SSE (Server-Sent Events) 实时输出
🤖 可用 Agent
| Agent | 路由 | 描述 |
|---|---|---|
| 🔔 Alert Noise Reduction | /agents/alert_noise_reduction/ |
告警降噪:历史相似告警搜索、Rerank 优化排序 |
📁 项目结构
langchain_skills/
├── src/
│ ├── core/ # 核心框架层
│ │ ├── base_agent.py # Agent 基类和工厂
│ │ ├── mcp_registry.py # MCP 服务注册
│ │ ├── events.py # SSE 事件构建器
│ │ └── text_buffer.py # 流式输出文本缓冲器
│ │
│ ├── agents/ # Agent 实现(每个 Agent 自包含)
│ │ └── alert_noise_reduction/ # 告警降噪 Agent
│ │ ├── agent.py
│ │ ├── config.py
│ │ ├── tools.py # Milvus 向量搜索 + Rerank
│ │ └── skills_data/
│ │
│ ├── api.py # FastAPI 入口(多 Agent 路由)
│ └── config.py # 配置管理
│
├── docs/ # 文档
│ └── agent_development_guide.md # Agent 开发指南
│
├── pyproject.toml # 项目配置与依赖
├── .env # 环境变量
└── README.md
🚀 快速开始
1. 安装依赖
确保已安装 uv:
uv sync
2. 配置环境变量
复制 .env_example 为 .env 并填写:
ALIYUN_API_KEY=your_api_key
# Milvus 向量数据库
MILVUS_ADDRESS=localhost:19530
MILVUS_DATABASE=your_database
MILVUS_USERNAME=your_username
MILVUS_PASSWORD=your_password
# Embedding 模型
EMBEDDING_API_KEY=your_embedding_key
EMBEDDING_MODEL=text-embedding-v4
# Rerank 模型
RERANK_API_KEY=your_rerank_key
RERANK_MODEL=gte-rerank-v2
3. 启动服务
uv run uvicorn src.api:app --host 0.0.0.0 --port 8001 --reload
访问 http://localhost:8001/docs 查看 API 文档。
📡 API 端点
| 端点 | 方法 | 描述 |
|---|---|---|
/agents |
GET | 获取所有可用 Agent 列表 |
/agents/{type}/chat |
POST | 非流式聊天 |
/agents/{type}/chat/stream |
POST | 流式聊天 (SSE) |
/agents/{type}/skills |
GET | 获取 Agent 技能列表 |
/health |
GET | 健康检查 |
4. 前端demo
cd my-chat-ui
pnpm install
pnpm dev
使用示例
# 获取 Agent 列表
curl http://localhost:8001/agents | jq
# 与告警降噪 Agent 聊天
curl -X POST http://localhost:8001/agents/alert_noise_reduction/chat \
-H "Content-Type: application/json" \
-d '{"message": "分析这个告警: CPU使用率超过90%"}' | jq
# 获取 Agent 技能
curl http://localhost:8001/agents/alert_noise_reduction/skills | jq
🛠️ Agent 技能与工具
Alert Noise Reduction Agent
技能 (skills_data/):
| 技能名称 | 说明 |
|---|---|
noise-reduction-analysis |
告警降噪分析:噪音判定、SOP推荐 |
markdown-format |
Markdown 输出规范 |
工具 (tools.py):search_similar_alerts (Milvus 向量搜索 + DashScope Rerank)
🔧 扩展 Agent
添加新 Agent 只需 5 步:
- 创建
src/agents/{new_agent}/目录 - 实现
config.py和agent.py - 添加技能到
skills_data/ - 添加专用工具到
tools.py(可选) - 在
src/agents/__init__.py中导入
详细指南请查看 Agent 开发文档。
🔍 核心原理
本项目基于 deepagents 框架:
- BaseAgent + 注册表: 统一的 Agent 基类和工厂模式
- Agent 私有工具: 每个 Agent 在自己目录下的
tools.py中定义专用工具 - MCPRegistry: 多 MCP 服务注册和按需加载
- FilesystemBackend: 提供底层文件访问支持
- LangGraph:
deepagents内部基于 LangGraph 实现 ReAct 循环
📚 文档/SKILLS
- Agent 开发指南 - 如何添加新 Agent
- Agent 运行流程 - Agent 运行流程参考文档
- 支持直接在支持SKILLS的AI IDE中进行开发(如Claude Code,Cursor等)
Recommended Tools
Try a different keyword or remove a filter.
Install
npx skillfish add yzstory/deepagents_skills