Skip to main content

A practical Python toolkit for building production-grade AI agents with Plan-Execute, Error Reflection, Tool Routing, Dashboard, Access Control, and MCP Server.

Project description

AutoAgentKit 🦞

生产级 AI Agent 工具包 — 从实战中提炼,已在真实系统中验证。

6 大核心模块:PlanMode · ErrorReflection · ToolRouter · Dashboard · AccessControl · MCPServer

Python License CI/CD PyPI


为什么用 AutoAgentKit?

市面上 Agent 框架很多(LangChain、CrewAI、AutoGen),但它们普遍缺少生产级工程能力

问题 AutoAgentKit 方案
工具调用失败后盲目重试 ErrorReflection — 20+ 错误类型自动分类,精确恢复策略
上下文膨胀导致质量下降 PlanMode — Plan/Act 分离,步骤依赖解析
工具太多模型选错 ToolRouter — 阶段性暴露,每阶段 ≤ 8 工具
不知道 Agent 在干什么 Dashboard — 实时指标监控
权限失控 AccessControl — 4 级权限策略
协议不标准 MCPServer — JSON-RPC 2.0 + SSE

快速开始

pip install auto-agent-kit
from auto_agent_kit import PlanMode, ErrorReflection, ToolRouter

# === 计划执行模式 ===
planner = PlanMode()
plan = planner.create_plan("分析市场数据并生成报告")
# → ["收集数据", "分析趋势", "生成报告"]

# === 错误反射 ===
reflector = ErrorReflection()
recovery = reflector.classify_and_recover(error)
# → {"type": "rate_limit", "strategy": "exponential_backoff", "retry_after": 5}

# === 工具路由器 ===
router = ToolRouter()
router.register_phase("research", ["web_search", "web_fetch"])
router.register_phase("analyze", ["code_executor", "data_visualizer"])
router.activate_phase("research")
# → 当前只暴露 research 阶段的工具

安装

# 基础安装(核心模块)
pip install auto-agent-kit

# 带 MCP Server 支持
pip install auto-agent-kit[mcp]

# 带 Dashboard 支持
pip install auto-agent-kit[dashboard]

# 全部功能
pip install auto-agent-kit[all]

模块详解

🎯 PlanMode — 计划执行模式

复杂任务先计划再行动。支持:

  • Plan/Act 分离 — 计划阶段和执行阶段独立
  • 步骤依赖解析 — 自动识别步骤间依赖关系
  • 进度追踪 — 实时了解执行到哪一步
from auto_agent_kit import PlanMode

planner = PlanMode()
plan = planner.create_plan("调研竞品并输出对比报告")
# 输出:["搜索竞品信息", "抓取详情页", "分析差异", "生成报告"]

🔧 ErrorReflection — 错误反射

工具调用失败时自动分类,精确恢复。支持 20+ 错误类型

错误类型 恢复策略 说明
rate_limit 指数退避 API 限流,等待后重试
timeout 超时重试 连接超时,增加超时时间
auth_failed 凭证轮换 认证失败,切换凭证
context_overflow 上下文压缩 上下文超限,压缩后重试
service_unavailable 服务切换 服务不可用,切备用
parse_error 格式修复 解析失败,修复格式
from auto_agent_kit import ErrorReflection

reflector = ErrorReflection()
result = reflector.classify_and_recover({
    "error": "429 Too Many Requests",
    "status_code": 429
})
# → {"type": "rate_limit", "strategy": "exponential_backoff", "retry_after": 5}

🧭 ToolRouter — 语义工具路由器

阶段性工具暴露,防止模型被过多工具干扰。

from auto_agent_kit import ToolRouter

router = ToolRouter()
router.register_phase("research", ["web_search", "web_fetch", "news_api"])
router.register_phase("analyze", ["code_executor", "data_visualizer"])
router.register_phase("report", ["doc_generator", "pdf_exporter"])

router.activate_phase("research")
available = router.get_available_tools()
# → ["web_search", "web_fetch", "news_api"]  (≤ 8 工具)

📊 Dashboard — 仪表板

实时监控 Agent 运行指标。

from auto_agent_kit import Dashboard

dashboard = Dashboard()
dashboard.record_event("tool_call", {"tool": "web_search", "status": "success"})
dashboard.record_event("error", {"type": "rate_limit", "recovery": "backoff"})

stats = dashboard.get_stats()
# → {"total_calls": 42, "success_rate": 0.95, "error_rate": 0.05}

🔒 AccessControl — 访问控制

4 级权限策略 + 操作审批流程。

级别 说明 示例操作
L1 Read 只读 文件读取、搜索
L2 Execute 执行 运行脚本、API 调用
L3 Modify 修改 文件写入、配置变更
L4 Admin 管理 删除、格式化、系统配置
from auto_agent_kit import AccessControl

ac = AccessControl()
ac.check_permission("delete_file", level="L3")
# → {"allowed": False, "reason": "需要 L4 权限", "requires_approval": True}

🌐 MCPServer — MCP 协议服务器

JSON-RPC 2.0 + SSE 传输,兼容任何 MCP 客户端。

from auto_agent_kit import MCPServer

server = MCPServer(port=8901)
server.register_tool("search", search_handler)
server.register_tool("analyze", analyze_handler)
server.start()  # 启动 SSE 服务器

完整示例

from auto_agent_kit import PlanMode, ErrorReflection, ToolRouter, Dashboard, AccessControl

# 1. 创建计划
planner = PlanMode()
plan = planner.create_plan("调研 AI Agent 市场趋势")

# 2. 配置工具
router = ToolRouter()
router.register_phase("research", ["web_search", "web_fetch"])

# 3. 监控
dashboard = Dashboard()

# 4. 执行(带错误处理)
reflector = ErrorReflection()
for step in plan:
    try:
        router.activate_phase("research")
        result = execute_step(step, router.get_available_tools())
        dashboard.record_event("step_complete", {"step": step})
    except Exception as e:
        recovery = reflector.classify_and_recover(e)
        dashboard.record_event("error", {"step": step, "recovery": recovery})

开发

git clone git@github.com:Lwh909193/auto-agent-kit.git
cd auto-agent-kit
pip install -e ".[all]"
pytest tests/ -v

发布

python scripts/publish.py

路线图

  • v0.1.0 — 6 大核心模块 + 测试
  • v0.2.0 — 异步支持 + 更多错误类型
  • v0.3.0 — 插件系统 + 第三方集成
  • v1.0.0 — 生产就绪 + 完整文档

许可证

MIT © 2026 AoLongZhiZun

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

auto_agent_kit-0.3.0.tar.gz (32.2 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

auto_agent_kit-0.3.0-py3-none-any.whl (30.6 kB view details)

Uploaded Python 3

File details

Details for the file auto_agent_kit-0.3.0.tar.gz.

File metadata

  • Download URL: auto_agent_kit-0.3.0.tar.gz
  • Upload date:
  • Size: 32.2 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for auto_agent_kit-0.3.0.tar.gz
Algorithm Hash digest
SHA256 3744892c16d167e7d75b56bf58eca9e6c4719aeb4fc617e8a2e79d9225944bcf
MD5 5b50620c1f42c58df1b0f521e2b7d36e
BLAKE2b-256 6cde4282d5c478c037867c8816a6681fb82ea6db9f0f6fe12ae4fac5ee8dbb51

See more details on using hashes here.

File details

Details for the file auto_agent_kit-0.3.0-py3-none-any.whl.

File metadata

  • Download URL: auto_agent_kit-0.3.0-py3-none-any.whl
  • Upload date:
  • Size: 30.6 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.11.15

File hashes

Hashes for auto_agent_kit-0.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2e7d9624ad2ebf8fcb7301a7c3fa10e870be17f4aadafb8784f506c5ecf41d44
MD5 362b1a965377219a798d7b91a74bd4ee
BLAKE2b-256 bb5957d93db4e088e6629fa5d83730630e8d447de491e992fd9544dcc593ecde

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page