auto-agent-kit 0.1.0__tar.gz

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,21 @@
1
+ MIT License
2
+
3
+ Copyright (c) 2026 AoLongZhiZun
4
+
5
+ Permission is hereby granted, free of charge, to any person obtaining a copy
6
+ of this software and associated documentation files (the "Software"), to deal
7
+ in the Software without restriction, including without limitation the rights
8
+ to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
9
+ copies of the Software, and to permit persons to whom the Software is
10
+ furnished to do so, subject to the following conditions:
11
+
12
+ The above copyright notice and this permission notice shall be included in all
13
+ copies or substantial portions of the Software.
14
+
15
+ THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
16
+ IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
17
+ FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
18
+ AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
19
+ LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
20
+ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
21
+ SOFTWARE.
@@ -0,0 +1,264 @@
1
+ Metadata-Version: 2.4
2
+ Name: auto-agent-kit
3
+ Version: 0.1.0
4
+ Summary: A practical Python toolkit for building production-grade AI agents with Plan-Execute, Error Reflection, Tool Routing, Dashboard, Access Control, and MCP Server.
5
+ Author-email: AoLongZhiZun <2480528492@qq.com>
6
+ License: MIT
7
+ Project-URL: Homepage, https://github.com/Lwh909193/auto-agent-kit
8
+ Project-URL: Repository, https://github.com/Lwh909193/auto-agent-kit
9
+ Keywords: ai-agent,llm,toolkit,agent-framework,mcp
10
+ Classifier: Development Status :: 3 - Alpha
11
+ Classifier: Intended Audience :: Developers
12
+ Classifier: License :: OSI Approved :: MIT License
13
+ Classifier: Programming Language :: Python :: 3
14
+ Classifier: Programming Language :: Python :: 3.10
15
+ Classifier: Programming Language :: Python :: 3.11
16
+ Classifier: Programming Language :: Python :: 3.12
17
+ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
18
+ Requires-Python: >=3.10
19
+ Description-Content-Type: text/markdown
20
+ License-File: LICENSE
21
+ Requires-Dist: httpx>=0.27.0
22
+ Requires-Dist: pydantic>=2.0.0
23
+ Requires-Dist: pyyaml>=6.0
24
+ Requires-Dist: rich>=13.0.0
25
+ Provides-Extra: mcp
26
+ Requires-Dist: fastapi>=0.109.0; extra == "mcp"
27
+ Requires-Dist: uvicorn>=0.27.0; extra == "mcp"
28
+ Requires-Dist: sse-starlette>=1.8.0; extra == "mcp"
29
+ Provides-Extra: dashboard
30
+ Requires-Dist: fastapi>=0.109.0; extra == "dashboard"
31
+ Requires-Dist: uvicorn>=0.27.0; extra == "dashboard"
32
+ Requires-Dist: jinja2>=3.1.0; extra == "dashboard"
33
+ Provides-Extra: all
34
+ Requires-Dist: auto-agent-kit[dashboard,mcp]; extra == "all"
35
+ Dynamic: license-file
36
+
37
+ # AutoAgentKit 🦞
38
+
39
+ > **生产级 AI Agent 工具包** — 从实战中提炼,已在真实系统中验证。
40
+ >
41
+ > 6 大核心模块:PlanMode · ErrorReflection · ToolRouter · Dashboard · AccessControl · MCPServer
42
+
43
+ [![Python](https://img.shields.io/badge/python-3.10%2B-blue)](https://www.python.org/)
44
+ [![License](https://img.shields.io/badge/license-MIT-green)](LICENSE)
45
+ [![CI/CD](https://github.com/Lwh909193/auto-agent-kit/actions/workflows/ci-cd.yml/badge.svg)](https://github.com/Lwh909193/auto-agent-kit/actions)
46
+ [![PyPI](https://img.shields.io/badge/pypi-v0.1.0-orange)](https://pypi.org/project/auto-agent-kit/)
47
+
48
+ ---
49
+
50
+ ## 为什么用 AutoAgentKit?
51
+
52
+ 市面上 Agent 框架很多(LangChain、CrewAI、AutoGen),但它们普遍缺少**生产级工程能力**:
53
+
54
+ | 问题 | AutoAgentKit 方案 |
55
+ |------|------------------|
56
+ | 工具调用失败后盲目重试 | **ErrorReflection** — 20+ 错误类型自动分类,精确恢复策略 |
57
+ | 上下文膨胀导致质量下降 | **PlanMode** — Plan/Act 分离,步骤依赖解析 |
58
+ | 工具太多模型选错 | **ToolRouter** — 阶段性暴露,每阶段 ≤ 8 工具 |
59
+ | 不知道 Agent 在干什么 | **Dashboard** — 实时指标监控 |
60
+ | 权限失控 | **AccessControl** — 4 级权限策略 |
61
+ | 协议不标准 | **MCPServer** — JSON-RPC 2.0 + SSE |
62
+
63
+ ## 快速开始
64
+
65
+ ```bash
66
+ pip install auto-agent-kit
67
+ ```
68
+
69
+ ```python
70
+ from auto_agent_kit import PlanMode, ErrorReflection, ToolRouter
71
+
72
+ # === 计划执行模式 ===
73
+ planner = PlanMode()
74
+ plan = planner.create_plan("分析市场数据并生成报告")
75
+ # → ["收集数据", "分析趋势", "生成报告"]
76
+
77
+ # === 错误反射 ===
78
+ reflector = ErrorReflection()
79
+ recovery = reflector.classify_and_recover(error)
80
+ # → {"type": "rate_limit", "strategy": "exponential_backoff", "retry_after": 5}
81
+
82
+ # === 工具路由器 ===
83
+ router = ToolRouter()
84
+ router.register_phase("research", ["web_search", "web_fetch"])
85
+ router.register_phase("analyze", ["code_executor", "data_visualizer"])
86
+ router.activate_phase("research")
87
+ # → 当前只暴露 research 阶段的工具
88
+ ```
89
+
90
+ ## 安装
91
+
92
+ ```bash
93
+ # 基础安装(核心模块)
94
+ pip install auto-agent-kit
95
+
96
+ # 带 MCP Server 支持
97
+ pip install auto-agent-kit[mcp]
98
+
99
+ # 带 Dashboard 支持
100
+ pip install auto-agent-kit[dashboard]
101
+
102
+ # 全部功能
103
+ pip install auto-agent-kit[all]
104
+ ```
105
+
106
+ ## 模块详解
107
+
108
+ ### 🎯 PlanMode — 计划执行模式
109
+
110
+ 复杂任务先计划再行动。支持:
111
+
112
+ - Plan/Act 分离 — 计划阶段和执行阶段独立
113
+ - 步骤依赖解析 — 自动识别步骤间依赖关系
114
+ - 进度追踪 — 实时了解执行到哪一步
115
+
116
+ ```python
117
+ from auto_agent_kit import PlanMode
118
+
119
+ planner = PlanMode()
120
+ plan = planner.create_plan("调研竞品并输出对比报告")
121
+ # 输出:["搜索竞品信息", "抓取详情页", "分析差异", "生成报告"]
122
+ ```
123
+
124
+ ### 🔧 ErrorReflection — 错误反射
125
+
126
+ 工具调用失败时自动分类,精确恢复。支持 **20+ 错误类型**:
127
+
128
+ | 错误类型 | 恢复策略 | 说明 |
129
+ |---------|---------|------|
130
+ | `rate_limit` | 指数退避 | API 限流,等待后重试 |
131
+ | `timeout` | 超时重试 | 连接超时,增加超时时间 |
132
+ | `auth_failed` | 凭证轮换 | 认证失败,切换凭证 |
133
+ | `context_overflow` | 上下文压缩 | 上下文超限,压缩后重试 |
134
+ | `service_unavailable` | 服务切换 | 服务不可用,切备用 |
135
+ | `parse_error` | 格式修复 | 解析失败,修复格式 |
136
+
137
+ ```python
138
+ from auto_agent_kit import ErrorReflection
139
+
140
+ reflector = ErrorReflection()
141
+ result = reflector.classify_and_recover({
142
+ "error": "429 Too Many Requests",
143
+ "status_code": 429
144
+ })
145
+ # → {"type": "rate_limit", "strategy": "exponential_backoff", "retry_after": 5}
146
+ ```
147
+
148
+ ### 🧭 ToolRouter — 语义工具路由器
149
+
150
+ 阶段性工具暴露,防止模型被过多工具干扰。
151
+
152
+ ```python
153
+ from auto_agent_kit import ToolRouter
154
+
155
+ router = ToolRouter()
156
+ router.register_phase("research", ["web_search", "web_fetch", "news_api"])
157
+ router.register_phase("analyze", ["code_executor", "data_visualizer"])
158
+ router.register_phase("report", ["doc_generator", "pdf_exporter"])
159
+
160
+ router.activate_phase("research")
161
+ available = router.get_available_tools()
162
+ # → ["web_search", "web_fetch", "news_api"] (≤ 8 工具)
163
+ ```
164
+
165
+ ### 📊 Dashboard — 仪表板
166
+
167
+ 实时监控 Agent 运行指标。
168
+
169
+ ```python
170
+ from auto_agent_kit import Dashboard
171
+
172
+ dashboard = Dashboard()
173
+ dashboard.record_event("tool_call", {"tool": "web_search", "status": "success"})
174
+ dashboard.record_event("error", {"type": "rate_limit", "recovery": "backoff"})
175
+
176
+ stats = dashboard.get_stats()
177
+ # → {"total_calls": 42, "success_rate": 0.95, "error_rate": 0.05}
178
+ ```
179
+
180
+ ### 🔒 AccessControl — 访问控制
181
+
182
+ 4 级权限策略 + 操作审批流程。
183
+
184
+ | 级别 | 说明 | 示例操作 |
185
+ |------|------|---------|
186
+ | L1 Read | 只读 | 文件读取、搜索 |
187
+ | L2 Execute | 执行 | 运行脚本、API 调用 |
188
+ | L3 Modify | 修改 | 文件写入、配置变更 |
189
+ | L4 Admin | 管理 | 删除、格式化、系统配置 |
190
+
191
+ ```python
192
+ from auto_agent_kit import AccessControl
193
+
194
+ ac = AccessControl()
195
+ ac.check_permission("delete_file", level="L3")
196
+ # → {"allowed": False, "reason": "需要 L4 权限", "requires_approval": True}
197
+ ```
198
+
199
+ ### 🌐 MCPServer — MCP 协议服务器
200
+
201
+ JSON-RPC 2.0 + SSE 传输,兼容任何 MCP 客户端。
202
+
203
+ ```python
204
+ from auto_agent_kit import MCPServer
205
+
206
+ server = MCPServer(port=8901)
207
+ server.register_tool("search", search_handler)
208
+ server.register_tool("analyze", analyze_handler)
209
+ server.start() # 启动 SSE 服务器
210
+ ```
211
+
212
+ ## 完整示例
213
+
214
+ ```python
215
+ from auto_agent_kit import PlanMode, ErrorReflection, ToolRouter, Dashboard, AccessControl
216
+
217
+ # 1. 创建计划
218
+ planner = PlanMode()
219
+ plan = planner.create_plan("调研 AI Agent 市场趋势")
220
+
221
+ # 2. 配置工具
222
+ router = ToolRouter()
223
+ router.register_phase("research", ["web_search", "web_fetch"])
224
+
225
+ # 3. 监控
226
+ dashboard = Dashboard()
227
+
228
+ # 4. 执行(带错误处理)
229
+ reflector = ErrorReflection()
230
+ for step in plan:
231
+ try:
232
+ router.activate_phase("research")
233
+ result = execute_step(step, router.get_available_tools())
234
+ dashboard.record_event("step_complete", {"step": step})
235
+ except Exception as e:
236
+ recovery = reflector.classify_and_recover(e)
237
+ dashboard.record_event("error", {"step": step, "recovery": recovery})
238
+ ```
239
+
240
+ ## 开发
241
+
242
+ ```bash
243
+ git clone git@github.com:Lwh909193/auto-agent-kit.git
244
+ cd auto-agent-kit
245
+ pip install -e ".[all]"
246
+ pytest tests/ -v
247
+ ```
248
+
249
+ ## 发布
250
+
251
+ ```bash
252
+ python scripts/publish.py
253
+ ```
254
+
255
+ ## 路线图
256
+
257
+ - [x] v0.1.0 — 6 大核心模块 + 测试
258
+ - [ ] v0.2.0 — 异步支持 + 更多错误类型
259
+ - [ ] v0.3.0 — 插件系统 + 第三方集成
260
+ - [ ] v1.0.0 — 生产就绪 + 完整文档
261
+
262
+ ## 许可证
263
+
264
+ MIT © 2026 AoLongZhiZun
@@ -0,0 +1,228 @@
1
+ # AutoAgentKit 🦞
2
+
3
+ > **生产级 AI Agent 工具包** — 从实战中提炼,已在真实系统中验证。
4
+ >
5
+ > 6 大核心模块:PlanMode · ErrorReflection · ToolRouter · Dashboard · AccessControl · MCPServer
6
+
7
+ [![Python](https://img.shields.io/badge/python-3.10%2B-blue)](https://www.python.org/)
8
+ [![License](https://img.shields.io/badge/license-MIT-green)](LICENSE)
9
+ [![CI/CD](https://github.com/Lwh909193/auto-agent-kit/actions/workflows/ci-cd.yml/badge.svg)](https://github.com/Lwh909193/auto-agent-kit/actions)
10
+ [![PyPI](https://img.shields.io/badge/pypi-v0.1.0-orange)](https://pypi.org/project/auto-agent-kit/)
11
+
12
+ ---
13
+
14
+ ## 为什么用 AutoAgentKit?
15
+
16
+ 市面上 Agent 框架很多(LangChain、CrewAI、AutoGen),但它们普遍缺少**生产级工程能力**:
17
+
18
+ | 问题 | AutoAgentKit 方案 |
19
+ |------|------------------|
20
+ | 工具调用失败后盲目重试 | **ErrorReflection** — 20+ 错误类型自动分类,精确恢复策略 |
21
+ | 上下文膨胀导致质量下降 | **PlanMode** — Plan/Act 分离,步骤依赖解析 |
22
+ | 工具太多模型选错 | **ToolRouter** — 阶段性暴露,每阶段 ≤ 8 工具 |
23
+ | 不知道 Agent 在干什么 | **Dashboard** — 实时指标监控 |
24
+ | 权限失控 | **AccessControl** — 4 级权限策略 |
25
+ | 协议不标准 | **MCPServer** — JSON-RPC 2.0 + SSE |
26
+
27
+ ## 快速开始
28
+
29
+ ```bash
30
+ pip install auto-agent-kit
31
+ ```
32
+
33
+ ```python
34
+ from auto_agent_kit import PlanMode, ErrorReflection, ToolRouter
35
+
36
+ # === 计划执行模式 ===
37
+ planner = PlanMode()
38
+ plan = planner.create_plan("分析市场数据并生成报告")
39
+ # → ["收集数据", "分析趋势", "生成报告"]
40
+
41
+ # === 错误反射 ===
42
+ reflector = ErrorReflection()
43
+ recovery = reflector.classify_and_recover(error)
44
+ # → {"type": "rate_limit", "strategy": "exponential_backoff", "retry_after": 5}
45
+
46
+ # === 工具路由器 ===
47
+ router = ToolRouter()
48
+ router.register_phase("research", ["web_search", "web_fetch"])
49
+ router.register_phase("analyze", ["code_executor", "data_visualizer"])
50
+ router.activate_phase("research")
51
+ # → 当前只暴露 research 阶段的工具
52
+ ```
53
+
54
+ ## 安装
55
+
56
+ ```bash
57
+ # 基础安装(核心模块)
58
+ pip install auto-agent-kit
59
+
60
+ # 带 MCP Server 支持
61
+ pip install auto-agent-kit[mcp]
62
+
63
+ # 带 Dashboard 支持
64
+ pip install auto-agent-kit[dashboard]
65
+
66
+ # 全部功能
67
+ pip install auto-agent-kit[all]
68
+ ```
69
+
70
+ ## 模块详解
71
+
72
+ ### 🎯 PlanMode — 计划执行模式
73
+
74
+ 复杂任务先计划再行动。支持:
75
+
76
+ - Plan/Act 分离 — 计划阶段和执行阶段独立
77
+ - 步骤依赖解析 — 自动识别步骤间依赖关系
78
+ - 进度追踪 — 实时了解执行到哪一步
79
+
80
+ ```python
81
+ from auto_agent_kit import PlanMode
82
+
83
+ planner = PlanMode()
84
+ plan = planner.create_plan("调研竞品并输出对比报告")
85
+ # 输出:["搜索竞品信息", "抓取详情页", "分析差异", "生成报告"]
86
+ ```
87
+
88
+ ### 🔧 ErrorReflection — 错误反射
89
+
90
+ 工具调用失败时自动分类,精确恢复。支持 **20+ 错误类型**:
91
+
92
+ | 错误类型 | 恢复策略 | 说明 |
93
+ |---------|---------|------|
94
+ | `rate_limit` | 指数退避 | API 限流,等待后重试 |
95
+ | `timeout` | 超时重试 | 连接超时,增加超时时间 |
96
+ | `auth_failed` | 凭证轮换 | 认证失败,切换凭证 |
97
+ | `context_overflow` | 上下文压缩 | 上下文超限,压缩后重试 |
98
+ | `service_unavailable` | 服务切换 | 服务不可用,切备用 |
99
+ | `parse_error` | 格式修复 | 解析失败,修复格式 |
100
+
101
+ ```python
102
+ from auto_agent_kit import ErrorReflection
103
+
104
+ reflector = ErrorReflection()
105
+ result = reflector.classify_and_recover({
106
+ "error": "429 Too Many Requests",
107
+ "status_code": 429
108
+ })
109
+ # → {"type": "rate_limit", "strategy": "exponential_backoff", "retry_after": 5}
110
+ ```
111
+
112
+ ### 🧭 ToolRouter — 语义工具路由器
113
+
114
+ 阶段性工具暴露,防止模型被过多工具干扰。
115
+
116
+ ```python
117
+ from auto_agent_kit import ToolRouter
118
+
119
+ router = ToolRouter()
120
+ router.register_phase("research", ["web_search", "web_fetch", "news_api"])
121
+ router.register_phase("analyze", ["code_executor", "data_visualizer"])
122
+ router.register_phase("report", ["doc_generator", "pdf_exporter"])
123
+
124
+ router.activate_phase("research")
125
+ available = router.get_available_tools()
126
+ # → ["web_search", "web_fetch", "news_api"] (≤ 8 工具)
127
+ ```
128
+
129
+ ### 📊 Dashboard — 仪表板
130
+
131
+ 实时监控 Agent 运行指标。
132
+
133
+ ```python
134
+ from auto_agent_kit import Dashboard
135
+
136
+ dashboard = Dashboard()
137
+ dashboard.record_event("tool_call", {"tool": "web_search", "status": "success"})
138
+ dashboard.record_event("error", {"type": "rate_limit", "recovery": "backoff"})
139
+
140
+ stats = dashboard.get_stats()
141
+ # → {"total_calls": 42, "success_rate": 0.95, "error_rate": 0.05}
142
+ ```
143
+
144
+ ### 🔒 AccessControl — 访问控制
145
+
146
+ 4 级权限策略 + 操作审批流程。
147
+
148
+ | 级别 | 说明 | 示例操作 |
149
+ |------|------|---------|
150
+ | L1 Read | 只读 | 文件读取、搜索 |
151
+ | L2 Execute | 执行 | 运行脚本、API 调用 |
152
+ | L3 Modify | 修改 | 文件写入、配置变更 |
153
+ | L4 Admin | 管理 | 删除、格式化、系统配置 |
154
+
155
+ ```python
156
+ from auto_agent_kit import AccessControl
157
+
158
+ ac = AccessControl()
159
+ ac.check_permission("delete_file", level="L3")
160
+ # → {"allowed": False, "reason": "需要 L4 权限", "requires_approval": True}
161
+ ```
162
+
163
+ ### 🌐 MCPServer — MCP 协议服务器
164
+
165
+ JSON-RPC 2.0 + SSE 传输,兼容任何 MCP 客户端。
166
+
167
+ ```python
168
+ from auto_agent_kit import MCPServer
169
+
170
+ server = MCPServer(port=8901)
171
+ server.register_tool("search", search_handler)
172
+ server.register_tool("analyze", analyze_handler)
173
+ server.start() # 启动 SSE 服务器
174
+ ```
175
+
176
+ ## 完整示例
177
+
178
+ ```python
179
+ from auto_agent_kit import PlanMode, ErrorReflection, ToolRouter, Dashboard, AccessControl
180
+
181
+ # 1. 创建计划
182
+ planner = PlanMode()
183
+ plan = planner.create_plan("调研 AI Agent 市场趋势")
184
+
185
+ # 2. 配置工具
186
+ router = ToolRouter()
187
+ router.register_phase("research", ["web_search", "web_fetch"])
188
+
189
+ # 3. 监控
190
+ dashboard = Dashboard()
191
+
192
+ # 4. 执行(带错误处理)
193
+ reflector = ErrorReflection()
194
+ for step in plan:
195
+ try:
196
+ router.activate_phase("research")
197
+ result = execute_step(step, router.get_available_tools())
198
+ dashboard.record_event("step_complete", {"step": step})
199
+ except Exception as e:
200
+ recovery = reflector.classify_and_recover(e)
201
+ dashboard.record_event("error", {"step": step, "recovery": recovery})
202
+ ```
203
+
204
+ ## 开发
205
+
206
+ ```bash
207
+ git clone git@github.com:Lwh909193/auto-agent-kit.git
208
+ cd auto-agent-kit
209
+ pip install -e ".[all]"
210
+ pytest tests/ -v
211
+ ```
212
+
213
+ ## 发布
214
+
215
+ ```bash
216
+ python scripts/publish.py
217
+ ```
218
+
219
+ ## 路线图
220
+
221
+ - [x] v0.1.0 — 6 大核心模块 + 测试
222
+ - [ ] v0.2.0 — 异步支持 + 更多错误类型
223
+ - [ ] v0.3.0 — 插件系统 + 第三方集成
224
+ - [ ] v1.0.0 — 生产就绪 + 完整文档
225
+
226
+ ## 许可证
227
+
228
+ MIT © 2026 AoLongZhiZun
@@ -0,0 +1,18 @@
1
+ """AutoAgentKit — 生产级 AI Agent 工具包"""
2
+ __version__ = "0.1.0"
3
+
4
+ from auto_agent_kit.core.plan_mode import PlanMode
5
+ from auto_agent_kit.core.error_reflection import ErrorReflection, ErrorCategory, RecoveryStrategy
6
+ from auto_agent_kit.core.tool_router import ToolRouter, ToolPhase
7
+ from auto_agent_kit.core.dashboard import Dashboard
8
+ from auto_agent_kit.core.access_control import AccessControl, PermissionLevel
9
+ from auto_agent_kit.core.mcp_server import MCPServer
10
+
11
+ __all__ = [
12
+ "PlanMode",
13
+ "ErrorReflection", "ErrorCategory", "RecoveryStrategy",
14
+ "ToolRouter", "ToolPhase",
15
+ "Dashboard",
16
+ "AccessControl", "PermissionLevel",
17
+ "MCPServer",
18
+ ]
@@ -0,0 +1 @@
1
+ """AutoAgentKit 核心模块"""