Skip to content

Repository files navigation

Micro-Agent

Python License LiteLLM MCP

中文 | English


为什么选择 Micro-Agent

如果你需要为特定行业快速构建一个专业 Agent 并以 API 服务形式交付,Micro-Agent 是最短路径。

能力 Micro-Agent LangGraph AutoGen¹ OpenClaw
开箱即用 API 服务 ✅ ✅ ❌ ✅
垂域知识注入 (Skills) ✅ ❌ ❌ ✅
内置 RAG 检索增强 ✅ 生态 扩展 ✅
MCP 集成 ✅ ✅ ✅ ✅
流式 SSE 输出 ✅ ✅ 需自建 ✅
多 LLM Profile 配置 ✅ ❌ ❌ ❌
轻量(核心 <3K 行) ✅ ❌ ❌ ❌

¹ AutoGen 已进入维护模式,新项目建议使用 Microsoft Agent Framework。

各框架定位: Micro-Agent 面向垂域专业 Agent 服务交付 · LangGraph 面向复杂多步工作流编排 · AutoGen 面向多角色智能体协作 · OpenClaw 面向个人自主 AI 助手

架构

Architecture

核心组件:

  • LLM Layer — 通过 litellm 统一接口,一套代码切换 OpenAI / DeepSeek / Claude / Ollama 等任意模型
  • Agent Core — ReAct 执行引擎(Think → Act → Observe 循环),支持 SubAgent 子任务分发与 REPL 沙箱执行
  • Memory — 会话记忆系统,支持短期记忆、文件持久化、跨会话恢复
  • Skills — 将领域规范、编码标准等知识注入 Agent 的 system prompt,使其具备专业能力
  • RAG — 从领域知识库中检索相关文档,为推理提供上下文
  • MCP / Tools — 通过 Model Context Protocol 连接外部工具和数据源

快速开始

环境要求

  • Python ≥ 3.11
  • 任意 LLM API Key(OpenAI / DeepSeek / Claude / Ollama / OpenRouter 等)

安装

git clone https://github.com/fdueblab/Micro-Agent.git
cd Micro-Agent

pip install -e ".[dev]"

配置

cp .env.example .env

编辑 .env,填入 API Key:

LLM_MODEL=deepseek/deepseek-chat
LLM_API_KEY=sk-xxx

支持任何 litellm 兼容的模型格式,如 openai/gpt-4o、ollama/qwen2.5、openrouter/qwen/qwen3-coder-flash 等。

启动

uvicorn api.app:app --host 0.0.0.0 --port 8010 --reload

访问 http://localhost:8010/docs 查看 API 文档。

Docker 部署

docker-compose up -d

定义垂域任务

只需三步,即可将通用 Agent 转化为面向特定领域的专业智能体:

1. 编写 Prompt 模板

{# task/templates/code_review.md.j2 #}
请对以下代码进行审查,重点关注安全性和性能:

代码路径: {{ code_path }}
审查标准: {{ standards }}

2. 注册任务

# task/builtin.py
register_task(TaskConfig(
    name="code_review",
    prompt_template="code_review.md.j2",
    system_prompt="你是一名资深代码审查工程师。",
    llm_profile="reasoning",
    max_steps=20,
))

3. 调用

curl -X POST http://localhost:8010/api/tasks \
  -H "Content-Type: application/json" \
  -d '{"prompt": "审查 src/main.py", "agent_name": "code_review"}'

多 LLM Profile

为不同场景配置不同的模型策略:

# config/config.toml

[llm.default]
model = "deepseek/deepseek-chat"
temperature = 0.0
max_tokens = 8192

[llm.fast]
model = "deepseek/deepseek-chat"
max_tokens = 4096
timeout = 30

[llm.reasoning]
model = "openai/o1-mini"
max_tokens = 16384
timeout = 120

任务中通过 llm_profile 指定:

register_task(TaskConfig(
    name="my_task",
    llm_profile="reasoning",  # 使用推理模型
    ...
))

内置示例任务

项目内置了多个真实场景的 Agent 任务作为参考实现:

任务 说明 垂域组件
代码分析 上传代码 → 自动分析函数结构 Tools
服务封装 上传代码 → 自动生成 Docker + MCP 服务 Skills + RAG + Memory
算法模型生成 描述需求 → 生成算法模型代码 Skills + RAG + Memory
MCP 服务测试 连接 MCP 服务器 → 自动发现并测试工具 MCP
服务评测 上传数据 → 自动执行评测并输出报告 Tools
AML 模型评测 上传数据 → 多指标安全评测(支持数据适配) MCP + Tools

这些任务展示了如何通过组合 Skills、RAG、MCP 等组件,将通用 Agent 打造为垂域专业智能体。你可以参考它们的实现来构建自己的任务。

扩展点

组件 接口 内置实现 可扩展方向
模型 litellm OpenAI, DeepSeek, Claude Ollama, vLLM, 任意 OpenAI 兼容 API
工具 Tool ABC Bash, MCP, Terminate 任意自定义工具
记忆 MemoryProvider ShortTermMemory, FileMemory Redis, 向量数据库
检索 Retriever EmbeddingRetriever FAISS, ChromaDB, Milvus
技能 Skill + SkillRegistry SKILL.md 目录发现 远程技能市场

项目结构

Micro-Agent/
├── core/                 # Agent 核心引擎
│   ├── agent.py          # ReAct 循环执行引擎
│   ├── llm.py            # LLM 统一调用层 (litellm)
│   ├── config.py         # 配置管理 (TOML + 环境变量)
│   ├── memory/           # 记忆系统 (短期 / 持久化)
│   ├── rag/              # 检索增强 (Embedding)
│   ├── skill/            # 技能系统 (注册 / 发现 / 注入)
│   └── schema.py         # 数据模型 (Event / Message / ToolCall)
├── tool/                 # 工具层
│   ├── base.py           # Tool 抽象接口
│   ├── bash.py           # Bash 命令执行
│   ├── mcp/              # MCP 工具 (stdio / SSE)
│   └── registry.py       # 工具注册表
├── task/                 # 任务定义
│   ├── base.py           # TaskConfig + 模板渲染
│   ├── builtin.py        # 内置任务注册
│   └── templates/        # Jinja2 Prompt 模板
├── api/                  # API 服务层
│   ├── app.py            # FastAPI 入口
│   ├── routes/           # 路由 (任务管理 / Agent 端点)
│   └── services/         # SSE 流 / 文件处理
├── workspace/            # 工作区
│   ├── knowledge/        # RAG 知识库文档
│   └── skills/           # Skill 定义 (SKILL.md)
├── config/               # 配置文件
├── tests/                # 测试
└── deploy/               # Docker 部署

众智工场 MCP 封装集成

新网站的封装任务由 ioeb_backend 鉴权后转发给本服务。配置与后端一致的 MCP_INTERNAL_TOKEN,后端通过 MCP_AGENT_BASE_URL 访问本服务。POST /api/agent/mcp_packaging_intake 辅助补全业务想定,POST /api/agent/service_packaging 接受 packaging_spec JSON 表单字段并生成独立任务产物。POST /api/internal/mcp/check 仅接受匹配内部令牌的后端请求,用于连接已登记的 MCP 服务并验证工具或执行测试调用。

本地联调时先启动 Agent 和后端,再启动 zhongzhi-factory;后端部署的 MCP 网关地址需可由 Agent 访问。旧版 SSE 封装保持兼容,发布前的真实协议检查通过后端进行。

许可

MIT

About

A lightweight AI agent framework for vertical domain applications | 面向垂域应用的轻量级 AI Agent 框架

Topics

Resources

Contributing

Stars

101 stars

Watchers

8 watching

Forks

Releases

Packages

Used by

Contributors

Languages