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.1.0.tar.gz (22.8 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.1.0-py3-none-any.whl (21.9 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for auto_agent_kit-0.1.0.tar.gz
Algorithm Hash digest
SHA256 82ca74081c47b92cb662f49a22dacbef22ba0bb8bc6c926f17102f07337452be
MD5 d4a4071736658d6c2f993fec3c137fdb
BLAKE2b-256 7e2db81e870b55e007b4ff10bb911c171b6c440f8dd8c4f7976c37845c99947d

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for auto_agent_kit-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 de0e7b25ae7e9eabf2501f6ea81c01c82f05aec91c8290a1c8f94cec997b30bf
MD5 0a92fe65b0b05a97cadb0ad7b7962320
BLAKE2b-256 6f23ffd7bf7e72960364ea55dc70d5757aad7b4018a8e3e91fa154137f3fabee

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