Skip to content

MockingBill/AgenticAI

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AgenticAI - 智能代理任务执行平台

基于 LangGraph 和 DeepSeek 的智能代理系统,支持 MCP 工具调用、任务分解和实时可视化

🆕 新增功能:

  • 工作流可视化 - 实时展示智能体的思考过程和工具调用
  • 🎯 智能旅游规划对话 - 多轮对话、信息收集、任务拆解、工具容错

Python FastAPI React LangChain


📋 目录


项目简介

AgenticAI 是一个功能完整的智能代理系统,能够理解复杂任务、自动分解执行、调用多种工具,并提供实时可视化界面。

🎯 核心价值

  • 智能理解 - 深度解析用户模糊或复杂的需求
  • 自动分解 - 将复杂任务拆解为可执行的子任务
  • 工具调度 - 智能选择并调用 25+ 种 MCP 工具
  • 错误处理 - 多层兜底策略,保证任务完成率
  • 🆕 工作流可视化 - 实时展示智能体的完整工作过程
  • 🆕 MCP工具追踪 - 详细展示每个工具的调用和结果
  • 多轮对话 - 支持信息收集和会话历史管理
  • 智能容错 - MCP工具失败时自动降级到搜索兜底

🛠️ 技术栈

后端:

  • FastAPI - 高性能 Web 框架
  • LangChain/LangGraph - 智能代理编排框架
  • DeepSeek API - 大语言模型
  • langchain-mcp-adapters - MCP 工具集成

前端:

  • React 18 - UI 框架
  • Axios - HTTP 客户端
  • WebSocket - 实时通信

快速开始

前置要求

  • Python 3.9+
  • Node.js 16+
  • DeepSeek API Key
  • Conda (推荐使用langchain_stu环境)

1️⃣ 配置环境

cd backend
cp .env.example .env

编辑 .env 文件:

# DeepSeek API 配置 (必需)
DEEPSEEK_API_KEY=your_deepseek_api_key_here
DEEPSEEK_BASE_URL=https://api.deepseek.com

# 服务配置 (可选)
BACKEND_PORT=8000
FRONTEND_PORT=3000

2️⃣ 一键启动

chmod +x start.sh
./start.sh

启动脚本会自动完成:

3️⃣ 访问应用

手动启动 (推荐用于开发)

后端 (使用Conda环境):

conda activate langchain_stu
cd backend
python -m uvicorn app.main:app --reload --port 8000

前端:

cd frontend
npm install
npm start

🆕 工作流可视化

⭐ 最新功能

实时展示智能体(Agent)和MCP工具的完整工作过程!

🎨 主要特性

  1. 智能体工作流程时间线

    • 🔍 分析阶段 - 理解用户意图
    • 🎯 规划阶段 - 任务拆解
    • ⚡ 执行阶段 - 工具调用
    • 📊 总结阶段 - 结果整合
  2. MCP工具调用详情

    • 工具名称和服务器
    • 调用参数(JSON格式)
    • 执行结果展示
    • 性能数据统计
  3. 实时更新

    • WebSocket实时推送
    • 动画效果流畅
    • 状态清晰标识

📚 详细文档

🚀 快速体验

# 启动应用
./start.sh

# 访问前端
open http://localhost:3000

# 发送测试消息
"我想从北京去贵阳旅游"

# 观察工作流程可视化!

效果预览:

🔍 分析阶段
  ├─ 识别关键词: 北京、贵阳、旅游
  └─ 状态: ✅ 成功

🎯 规划阶段
  ├─ 拆解任务: 交通、景点、天气
  └─ 状态: ✅ 成功

⚡ 执行阶段
  ├─ 🚄 12306__query_trains
  │   ├─ 参数: {from: "北京", to: "贵阳"}
  │   └─ 结果: 查询到12趟车次
  ├─ 🗺️ amap-web__search
  │   └─ 结果: 15个景点
  └─ 状态: ✅ 成功

📊 总结阶段
  └─ 生成完整旅游方案

🆕 旅游规划功能

功能概述

新增智能旅游规划对话系统,支持:

  • 智能信息收集 - 自动识别缺失信息并友好追问
  • 任务智能拆解 - 自动分解为时间计算、交通查询、景点推荐等子任务
  • MCP工具容错 - 主工具失败时自动降级到搜索工具兜底
  • 多轮对话 - 支持会话历史,可追加需求

快速测试

方法1: 使用测试脚本

cd /nlp/DQ/AgenticAI
python test_travel_planning.py

方法2: 使用Shell脚本

./test_travel_api.sh

方法3: curl命令

# 第一轮: 信息不完整
curl -X POST http://localhost:8000/api/v2/tasks \
  -H "Content-Type: application/json" \
  -d '{"description": "我要去贵阳旅游"}'

# 第二轮: 补充信息 (使用返回的session_id)
curl -X POST http://localhost:8000/api/v2/tasks \
  -H "Content-Type: application/json" \
  -d '{
    "description": "从北京出发坐高铁,2个人,玩5天,下周一出发",
    "session_id": "上一步返回的session_id"
  }'

工作流程示例

用户: "我要去贵阳旅游"

AI: "好的,我来帮你规划贵阳之旅!为了给你更好的建议,还需要确认几个信息:
     1. 从哪里出发?
     2. 打算坐高铁还是飞机?
     3. 几个人去?
     4. 计划玩几天?
     5. 什么时候出发?"

状态: WAITING (等待用户补充信息)

---

用户: "从北京出发坐高铁,2个人,玩5天,下周一出发"

AI: [自动执行以下步骤]
    1. ✅ 调用 time 工具计算"下周一"的具体日期
    2. ✅ 调用 12306 查询北京到贵阳的高铁
       - 如果失败 → 自动降级到 search 搜索"北京到贵阳高铁"
    3. ✅ 调用 zhipu-web-search-sse 搜索贵阳旅游攻略
    4. ✅ 调用 weather 查询贵阳天气
    5. ✅ 调用 amap-web 查看景点地图位置
    
    [返回完整的旅游规划方案]

状态: SUCCESS

详细文档


核心特性

1. 智能任务理解与分解

系统能够深度解析用户的自然语言输入,自动拆解为可执行的子任务。

示例:

用户: "我想下周一从北京去上海,帮我查查交通和天气"

系统自动分解:
1. 📅 计算下周一的日期
2. ✈️ 查询北京到上海的航班信息
3. 🚄 查询北京到上海的火车票
4. 🌤️ 查询上海下周一的天气
5. 📊 汇总并推荐最佳方案

2. 25+ MCP 工具生态

支持丰富的 MCP (Model Context Protocol) 工具集:

分类 工具 功能
🚗 交通出行 飞常准、12306 航班查询、火车票查询
🌤️ 生活服务 天气、菜谱、餐饮助手 天气预报、做菜指南、膳食规划
🗺️ 位置服务 高德地图 位置搜索、路线规划、周边查询
🔍 信息检索 通晓、维基百科 实时搜索、知识查询
🎨 AI 创作 魔搭文生图 FLUX、Qwen-Image 模型
🌐 数据获取 Fetch、超浏览器 网页抓取、内容提取
📈 资讯热点 趋势聚合 微博、知乎、B站热搜
🧠 AI 能力 思考工具 结构化推理、问题分析

3. 弹性错误处理

多层兜底策略保证任务完成:

工具调用失败 → 尝试替代工具
     ↓ 失败
所有工具失败 → 启用大模型推理
     ↓ 失败  
参数错误 → 自动分析并修正
     ↓ 失败
超时 → 自动重试

日志示例:

⚠️ 工具调用失败: weather__get_weather (超时)
🔄 尝试替代工具: weather__forecast
✅ 使用替代方案成功,返回结果

4. 实时执行可视化

前端界面实时展示:

  • ⏱️ 执行时间线 - 可视化任务执行过程
  • 📋 子任务追踪 - 每个子任务的状态和结果
  • 🔧 工具调用详情 - 显示调用的工具和参数
  • ⚠️ 错误和重试 - 透明展示错误处理过程
  • 📊 结果汇总 - 结构化的最终结果展示

5. 人机协同交互

支持多轮对话式的需求澄清:

用户: "帮我查火车票"
系统: "好的,请问您要从哪里到哪里?什么时候出发?"
用户: "明天从北京到上海"
系统: "正在查询明天北京到上海的火车票..."

架构设计

系统架构图

┌──────────────────────────────────────────────────────────┐
│                    前端 (React)                           │
│  ┌──────────────┐  ┌──────────────┐  ┌──────────────┐   │
│  │  任务创建    │  │  执行监控    │  │  结果展示    │   │
│  └──────────────┘  └──────────────┘  └──────────────┘   │
└──────────────────────────────────────────────────────────┘
                          │ HTTP/WebSocket
┌──────────────────────────────────────────────────────────┐
│                  后端 (FastAPI)                           │
│  ┌───────────────────────────────────────────────────┐   │
│  │          SimpleMCPEngine (核心引擎)               │   │
│  │  ┌─────────────────────────────────────────────┐ │   │
│  │  │  LangChain Agent (自动工具调用)             │ │   │
│  │  │    • 理解用户意图                           │ │   │
│  │  │    • 选择合适工具                           │ │   │
│  │  │    • 构造调用参数                           │ │   │
│  │  │    • 处理工具结果                           │ │   │
│  │  └─────────────────────────────────────────────┘ │   │
│  └───────────────────────────────────────────────────┘   │
│                          │                                │
│  ┌───────────────────────────────────────────────────┐   │
│  │              MCP Client (工具管理器)              │   │
│  │  ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐ ┌──────┐   │   │
│  │  │航班  │ │火车  │ │天气  │ │地图  │ │搜索  │...│   │
│  │  └──────┘ └──────┘ └──────┘ └──────┘ └──────┘   │   │
│  └───────────────────────────────────────────────────┘   │
└──────────────────────────────────────────────────────────┘
                          │
┌──────────────────────────────────────────────────────────┐
│              外部 MCP 服务器 (ModelScope)                 │
│    飞常准 | 12306 | 天气 | 高德 | 通晓 | ...              │
└──────────────────────────────────────────────────────────┘

核心组件说明

1. SimpleMCPEngine (核心引擎)

采用 LangChain 推荐的方式,让 Agent 自动管理工具调用:

class SimpleMCPEngine:
    """简化的 MCP 引擎 - 使用 create_agent 自动管理"""
    
    async def initialize(self):
        # 获取所有 MCP 工具
        mcp_tools = await self.mcp_client._mcp_client.get_tools()
        
        # 创建 Agent,传入工具
        self.agent = create_agent(
            model=self.llm,
            tools=mcp_tools,
            system_prompt="你是一个智能助手"
        )
    
    async def execute_task(self, task_id, user_input):
        # Agent 自动完成所有步骤
        result = await self.agent.ainvoke({
            "messages": [HumanMessage(content=user_input)]
        })
        
        return result

为什么这样设计?

  • 简单 - 只需 50 行代码
  • 可靠 - 利用 LangChain 成熟的工具调用机制
  • 自动化 - Agent 自己选择工具、构造参数、处理结果
  • 可扩展 - 添加新工具无需修改代码

2. MCP Client (工具管理器)

管理所有 MCP 服务器的连接和配置:

class MCPClient:
    MCP_SERVERS = {
        "weather": {
            "type": "sse",
            "url": "https://mcp.api-inference.modelscope.net/.../sse",
            "headers": {"Authorization": "Bearer ms-xxx"},
            "description": "全球天气查询工具",
            "keywords": ["天气", "气温", "weather"]
        },
        # ... 25+ 个工具
    }
    
    async def initialize(self):
        # 使用 langchain-mcp-adapters 连接所有服务器
        self._mcp_client = MultiServerMCPClient(servers_config)

工具名称格式:

⚠️ 重要: MCP 工具名称格式为 服务器名__工具名

  • weather__get_weather
  • 12306__query_trains
  • weather (只是服务器名,不是工具名)

3. API Routes (路由层)

提供 RESTful API 和 WebSocket 接口:

@router.post("/api/v2/tasks")
async def create_task(request: TaskRequest):
    """创建并执行任务"""
    engine = get_engine()
    result = await engine.execute_task(
        task_id=task_id,
        user_input=request.description,
        thread_id=session_id
    )
    return TaskResponse(**result)

@router.websocket("/api/v2/ws/chat/{session_id}")
async def websocket_chat(websocket: WebSocket, session_id: str):
    """WebSocket 实时聊天"""
    # 实时推送执行进度和结果

MCP 工具集成

工具配置

所有 MCP 工具在 backend/app/mcp/client.py 中配置:

MCP_SERVERS = {
    "weather": {
        "type": "sse",
        "url": "https://mcp.api-inference.modelscope.net/4faa12d916bc4a/sse",
        "headers": {
            "Authorization": "Bearer ms-52970502-e594-4344-b926-2b3bb2322242"
        },
        "description": "全球天气查询工具",
        "keywords": ["天气", "气温", "下雨", "weather"],
        "category": "生活服务"
    },
    # ... 更多工具配置
}

添加新工具

  1. MCP_SERVERS 中添加配置
"new_tool": {
    "type": "sse",
    "url": "https://your-mcp-server-url/sse",
    "headers": {"Authorization": "Bearer your-token"},
    "description": "工具描述",
    "keywords": ["关键词1", "关键词2"],
    "category": "分类"
}
  1. 重启服务
./start.sh
  1. 验证工具加载

访问 http://localhost:8000/docs 查看工具列表,或查看日志:

✅ 加载了 26 个 MCP 工具

工具调用流程

graph LR
    A[用户输入] --> B[Agent 分析]
    B --> C{需要工具?}
    C -->|是| D[选择工具]
    C -->|否| E[直接回复]
    D --> F[构造参数]
    F --> G[调用 MCP 工具]
    G --> H{成功?}
    H -->|是| I[处理结果]
    H -->|否| J[重试/替代方案]
    I --> K[生成回复]
    J --> G
    K --> L[返回用户]
Loading

开发指南

项目结构

AgenticAI/
├── backend/                              # 后端服务
│   ├── app/
│   │   ├── main.py                       # FastAPI 入口
│   │   ├── api/
│   │   │   └── langgraph_routes.py       # API 路由
│   │   ├── core/
│   │   │   └── config.py                 # 配置管理
│   │   ├── mcp/
│   │   │   └── client.py                 # MCP 客户端
│   │   ├── models/
│   │   │   └── schemas.py                # 数据模型
│   │   └── services/
│   │       ├── langgraph_engine_fixed.py # ✨ 核心引擎
│   │       └── llm_client.py             # LLM 客户端
│   ├── .env.example                      # 环境变量模板
│   └── requirements.txt                  # Python 依赖
├── frontend/                             # 前端应用
│   ├── src/
│   │   ├── App.jsx                       # React 主应用
│   │   ├── pages/
│   │   │   ├── Chat.jsx                  # 聊天页面
│   │   │   └── TaskDetail.jsx            # 任务详情
│   │   ├── components/
│   │   │   ├── ExecutionTimeline.jsx     # 执行时间线
│   │   │   └── TaskSummary.jsx           # 任务摘要
│   │   └── services/
│   │       └── api.js                    # API 封装
│   └── package.json                      # Node 依赖
├── docker-compose.yml                    # Docker 配置
├── start.sh                              # 🚀 启动脚本
└── README.md                             # 📖 本文档

本地开发

1. 安装依赖

# 后端
cd backend
python -m venv venv
source venv/bin/activate  # Windows: venv\Scripts\activate
pip install -r requirements.txt

# 前端
cd ../frontend
npm install

2. 配置环境变量

cp backend/.env.example backend/.env
# 编辑 .env,填入 DEEPSEEK_API_KEY

3. 启动开发服务器

# 方式 1: 使用启动脚本 (推荐)
./start.sh

# 方式 2: 手动启动
# 终端 1 - 后端
cd backend
python -m uvicorn app.main:app --reload --port 8000

# 终端 2 - 前端
cd frontend
npm start

API 使用示例

创建任务:

curl -X POST http://localhost:8000/api/v2/tasks \
  -H "Content-Type: application/json" \
  -d '{
    "description": "查询明天北京到上海的火车票",
    "session_id": "test_session"
  }'

响应:

{
  "task_id": "uuid",
  "status": "SUCCESS",
  "message": "查询到以下车次:...",
  "session_id": "test_session"
}

WebSocket 连接:

const ws = new WebSocket('ws://localhost:8000/api/v2/ws/chat/session_123');

ws.onmessage = (event) => {
  const data = JSON.parse(event.data);
  console.log('任务进度:', data);
};

ws.send(JSON.stringify({
  message: "查询北京天气"
}));

代码规范

Python (后端):

  • 遵循 PEP 8
  • 使用类型提示
  • 文档字符串使用 Google 风格
async def execute_task(
    self,
    task_id: str,
    user_input: str,
    thread_id: str = "default"
) -> Dict[str, Any]:
    """执行任务
    
    Args:
        task_id: 任务 ID
        user_input: 用户输入
        thread_id: 会话 ID
        
    Returns:
        任务执行结果字典
    """
    # ...

JavaScript (前端):

  • 使用 ES6+
  • 组件使用函数式 + Hooks
  • 遵循 Airbnb 风格指南
const TaskDetail = ({ taskId }) => {
  const [task, setTask] = useState(null);
  
  useEffect(() => {
    fetchTask(taskId).then(setTask);
  }, [taskId]);
  
  return <div>{/* ... */}</div>;
};

部署说明

Docker 部署 (推荐)

1. 构建镜像

docker-compose build

2. 启动服务

docker-compose up -d

3. 查看日志

docker-compose logs -f backend
docker-compose logs -f frontend

4. 停止服务

docker-compose down

生产环境部署

后端 (使用 Gunicorn):

gunicorn app.main:app \
  --workers 4 \
  --worker-class uvicorn.workers.UvicornWorker \
  --bind 0.0.0.0:8000 \
  --timeout 120 \
  --access-logfile - \
  --error-logfile -

前端 (构建静态文件):

cd frontend
npm run build

# 使用 Nginx 托管
server {
    listen 80;
    server_name your-domain.com;
    
    root /path/to/frontend/build;
    index index.html;
    
    location / {
        try_files $uri $uri/ /index.html;
    }
    
    location /api {
        proxy_pass http://localhost:8000;
        proxy_set_header Host $host;
    }
}

环境变量配置

必需变量:

DEEPSEEK_API_KEY=sk-xxxxx        # DeepSeek API Key

可选变量:

DEEPSEEK_BASE_URL=https://api.deepseek.com
BACKEND_PORT=8000
FRONTEND_PORT=3000
LOG_LEVEL=INFO
CORS_ORIGINS=["http://localhost:3000"]

性能优化

1. 工具缓存

class SimpleMCPEngine:
    def __init__(self):
        self._agent_cache = None
    
    async def initialize(self):
        if self._agent_cache is None:
            mcp_tools = await self.mcp_client._mcp_client.get_tools()
            self._agent_cache = create_agent(
                model=self.llm, 
                tools=mcp_tools
            )

2. 并发控制

from asyncio import Semaphore

class MCPClient:
    def __init__(self):
        self._semaphore = Semaphore(5)  # 限制 5 个并发
    
    async def call_tool(self, *args, **kwargs):
        async with self._semaphore:
            return await self._execute_tool(*args, **kwargs)

3. 连接池

# 在 main.py 中
@app.on_event("startup")
async def startup():
    # 预初始化 MCP 连接
    engine = get_engine()
    await engine.initialize()

故障排查

常见问题

❌ 问题 1: MCP 工具调用失败

症状:

❌ 未找到工具: weather
❌ API 调用失败: INVALID_PARAMS

原因:

  • 使用了旧版引擎
  • 工具名称格式错误

解决:

确认 app/api/langgraph_routes.py 使用了正确的引擎:

from app.services.langgraph_engine_fixed import SimpleMCPEngine as LangGraphAgentEngine

而不是:

from app.services.langgraph_engine import LangGraphAgentEngine  # ❌ 旧版

❌ 问题 2: DeepSeek API 超时

症状:

❌ Request timeout after 60 seconds

解决:

langgraph_engine_fixed.py 中增加超时时间:

self.llm = ChatOpenAI(
    model="deepseek-chat",
    api_key=deepseek_api_key,
    base_url=deepseek_base_url,
    temperature=0.7,
    timeout=120  # 增加到 120 秒
)

❌ 问题 3: 前端无法连接后端

检查步骤:

  1. 确认后端运行
curl http://localhost:8000/docs
  1. 检查 CORS 配置

app/main.py 中:

app.add_middleware(
    CORSMiddleware,
    allow_origins=["*"],  # 生产环境应设置具体域名
    allow_credentials=True,
    allow_methods=["*"],
    allow_headers=["*"],
)
  1. 检查防火墙
# 确保端口 8000 和 3000 可访问
sudo ufw allow 8000
sudo ufw allow 3000

❌ 问题 4: 依赖安装失败

Python 依赖:

# 清理并重新安装
pip install --upgrade pip
pip cache purge
pip install -r requirements.txt --force-reinstall

Node.js 依赖:

# 清理并重新安装
rm -rf node_modules package-lock.json
npm cache clean --force
npm install

日志查看

后端日志:

# 实时查看
tail -f backend/app.log

# 搜索错误
grep "ERROR\|❌" backend/app.log | tail -20

# 查看工具调用
grep "🔧\|调用工具" backend/app.log

Docker 日志:

docker-compose logs -f backend
docker-compose logs -f frontend

# 查看特定服务的最近 100 行
docker-compose logs --tail=100 backend

调试技巧

1. 启用调试模式

# .env
LOG_LEVEL=DEBUG

2. 测试 MCP 工具

# 在 Python 控制台
import asyncio
from app.mcp.client import get_mcp_client

async def test():
    client = get_mcp_client()
    await client.initialize()
    tools = await client._mcp_client.get_tools()
    print(f"加载了 {len(tools)} 个工具")
    for tool in tools[:5]:
        print(f"  - {tool.name}")

asyncio.run(test())

3. API 性能测试

# 使用 ab (Apache Bench)
ab -n 100 -c 10 -p request.json -T application/json \
  http://localhost:8000/api/v2/tasks

# request.json 内容:
# {"description": "测试任务", "session_id": "test"}

安全建议

1. API Key 保护

# ✅ 使用环境变量
export DEEPSEEK_API_KEY=sk-xxxxx

# ❌ 不要硬编码在代码中
api_key = "sk-xxxxx"  # 危险!

# ❌ 不要提交到 Git
git add .env  # 危险!确保 .env 在 .gitignore 中

2. 输入验证

from pydantic import BaseModel, validator

class TaskRequest(BaseModel):
    description: str
    session_id: Optional[str] = None
    
    @validator('description')
    def validate_description(cls, v):
        if len(v) > 1000:
            raise ValueError('描述过长')
        # 过滤敏感词汇
        forbidden = ['SQL', 'DROP', 'DELETE']
        for word in forbidden:
            if word in v.upper():
                raise ValueError(f'禁止使用: {word}')
        return v

3. 访问控制

# 添加 API Key 验证
from fastapi import Header, HTTPException

async def verify_api_key(x_api_key: str = Header(...)):
    if x_api_key != os.getenv("API_KEY"):
        raise HTTPException(status_code=401, detail="Invalid API Key")

@router.post("/api/v2/tasks", dependencies=[Depends(verify_api_key)])
async def create_task(request: TaskRequest):
    # ...

4. 速率限制

from slowapi import Limiter
from slowapi.util import get_remote_address

limiter = Limiter(key_func=get_remote_address)
app.state.limiter = limiter

@router.post("/api/v2/tasks")
@limiter.limit("10/minute")
async def create_task(request: Request, task: TaskRequest):
    # ...

贡献指南

欢迎贡献代码!请遵循以下流程:

1. Fork 项目

点击右上角的 Fork 按钮

2. 创建分支

git checkout -b feature/amazing-feature

3. 提交更改

git add .
git commit -m "Add some amazing feature"

4. 推送分支

git push origin feature/amazing-feature

5. 创建 Pull Request

在 GitHub 上创建 Pull Request

代码审查标准

  • ✅ 代码通过所有测试
  • ✅ 遵循代码规范
  • ✅ 添加必要的文档
  • ✅ 更新 CHANGELOG
  • ✅ 没有引入新的安全问题

许可证

本项目采用 MIT 许可证。详见 LICENSE 文件。


致谢

感谢以下开源项目和服务:


联系方式


更新日志

v2.0.0 (2025-12-18)

  • ✨ 采用 SimpleMCPEngine,简化架构
  • ✨ 集成 25+ MCP 工具
  • ✨ 添加实时可视化界面
  • 🐛 修复工具调用失败问题
  • 📝 完善文档

v1.0.0 (2025-12-15)

  • 🎉 初始版本发布
  • ✨ 基础的任务执行功能
  • ✨ 支持 10+ MCP 工具

最后更新: 2025-12-18
版本: 2.0.0
维护者: AgenticAI Team


⭐ 如果这个项目对你有帮助,请给一个 Star!

Made with ❤️ by AgenticAI Team

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors