ConnectOnion AI Agent 框架
一个生产就绪的开源 Python 框架,让 AI 智能体的开发保持简单:只需编写提示词和工具,其余交给框架。
证据显示有内置审批系统(如shell_approval)和信任预设(open/careful/strict),但未提供默认权限最小化的具体实现细节,也未说明用户确认的默认行为。数据流透明度方面,有日志记录和信任决策在LLM之前,但未详细说明数据流向。敏感数据处理方面,有API密钥管理和Ed25519签名,但未说明密钥存储和加密细节。依赖安全方面,pyproject.toml中固定了patchright版本并注释了原因,但未提供漏洞扫描报告。外部影响方面,有host()和P2P中继,但未说明网络暴露的默认配置。回滚方面,未提及任何回滚机制。来源归属方面,有作者和仓库信息,但发布者未验证。
自一致性方面,README和pyproject.toml中的版本和描述一致,但存在一些不一致,如README中默认max_iterations为100,而pyproject.toml中未提及。依赖可用性方面,依赖列表完整,但未提供锁定文件(如uv.lock)的安装说明。失败消息方面,有迭代限制的返回消息,但未提供全面的错误处理文档。
受众和场景方面,README面向开发者,提供了多种使用场景。能力边界方面,有max_iterations和信任预设,但未明确说明工具权限边界。触发精度方面,有生命周期钩子和技能系统,但未详细说明触发条件。环境适配方面,支持多种LLM提供商和操作系统,但未说明特定环境配置。
信息架构方面,README结构清晰,有目录和文档链接。安装说明方面,提供了pip安装和CLI创建项目。命名稳定性方面,有版本号1.6.0,但未提供命名变更历史。示例和FAQ方面,有多个示例和FAQ部分。已知限制方面,未明确列出已知限制。许可证方面,有Apache-2.0许可证。版本和变更日志方面,有版本号但无CHANGELOG文件。维护责任方面,有作者和仓库,但未明确维护政策。
输出可用性方面,提供了多种输出格式和日志记录。边际价值方面,提供了内置工具和插件,但未与其他框架比较。成本效益方面,有co/托管密钥和免费选项,但未提供成本分析。
声明可追溯性方面,README中的声明未提供具体证据。跨来源佐证方面,未提供外部验证。事实与推断分离方面,README中混合了事实和营销声明。
- 发布者身份未验证,需谨慎对待。
- README中声称'Production Ready',但未提供测试覆盖率或CI结果。
- 依赖中固定了patchright版本,但未提供漏洞扫描报告。
- 内置审批系统默认行为未明确,需检查默认配置。
- host()和P2P中继可能暴露网络服务,需确认默认安全设置。
这个 Agent 能做什么,适合哪些场景?
ConnectOnion 是一个面向 AI 智能体的开源 Python 框架,提供完整的运行时:核心 Agent 类负责编排 LLM 调用和工具执行,同时内置网络托管(host)让智能体可以被远程发现和调用。它支持多 LLM 提供商(OpenAI、Anthropic、Gemini 及 co/ 托管密钥),并实现函数即工具的自动转换:带类型提示的 Python 函数直接成为工具。框架内置了 12 个生命周期钩子和插件系统(如 re_act、auto_compact、subagents、ulw),以及基于技能的可重用工作流(兼容 Claude Code)。调试方面提供 @xray 装饰器和 auto_debug 交互式会话。CLI 命令(co create, co ai, co copy)支持快速创建项目和定制工具。此外,它还包含多智能体信任系统(Fast Rules)用于在调用前快速决策,以及内置的审批系统来保护危险操作。
ConnectOnion 具体执行:Agent 类接收用户输入,调用 LLM 生成工具调用,执行 Python 函数工具,并记录执行历史到 JSON 文件。工具可以是简单函数、类实例方法或内置工具(如 bash、Shell、FileTools、BrowserAutomation,以及 Gmail、GDrive 等集成)。通过 host() 启动 HTTP 服务器和 P2P relay,使其他智能体能够发现和调用该智能体。技能系统从 .co/skills/ 和 .claude/skills/ 自动发现 SKILL.md 文件并管理权限。插件系统在生命周期钩子(如 after_tools)中注入逻辑,例如 re_act 会在每次工具调用后反思。CLI 命令 co create 生成项目模板,co ai 启动一个内置的 AI 编码助手,co copy 复制工具源码以便修改。调试时 @xray 装饰器在工具执行时暂停,允许检查变量、编辑值并继续运行。
- 开发者希望为 LLM 调用快速添加工具支持,通过编写普通 Python 函数即可自动成为工具。
- 使用 co ai 内置 AI 编码助手,它深度了解框架,能生成可直接运行的智能体代码。
- 需要部署智能体到远程环境,通过 host() 快速暴露为 HTTP 服务供其他智能体调用。
- 调试复杂多工具工作流时,使用 @xray 和 auto_debug 逐步检查变量并验证边界情况。
- 团队希望在其他框架中使用 Claude Code 技能,因为 ConnectOnion 自动从 .claude/skills/ 加载,无需转换。
- 需要管控智能体权限的安全团队,使用内置审批系统和严格信任预设。
这个 Agent 有哪些优点和局限?
- 简洁的 API:普通函数即可作为工具,显著减少样板代码。
- 内置多种生产级功能:托管、调试、权限审批、技能系统,免去额外集成。
- 多 LLM 提供商支持,且默认使用 co/ 托管密钥,无需自备 API 密钥即可开始。
- 插件系统和 12 个生命周期钩子允许高度自定义。
- 多智能体信任系统在 LLM 介入前快速决策,节省 token 成本。
- 项目仍在快速迭代中,部分功能如 co deploy 尚未完成,可能不稳定。
- 文档主要依赖 README,深度如插件编写和技能系统的教程相对有限。
- 默认日志为 JSON 格式,可能不适合直接人读,需要额外解析。
- 自动工具转换依赖类型提示和文档字符串,不规范的代码可能产生错误的工具描述。
如何安装或部署这个 Agent?
pip install connectonion需要 Python 3.10 或以上版本。可以通过设置 OPENAI_API_KEY、ANTHROPIC_API_KEY 或 GEMINI_API_KEY 环境变量配置 LLM 提供商。
如何使用这个 Agent?
创建智能体:from connectonion import Agent
agent = Agent(name="assistant")
agent.input("Hello")添加工具:定义普通 Python 函数并用 tools 参数传入。
托管智能体:from connectonion import host
host(agent, trust="careful") # 启动 HTTP 服务器和 P2P relay
使用 CLI:co create my-agent 创建项目,然后 cd my-agent && python agent.py。
调试:给工具加 @xray 装饰器,然后调用 agent.auto_debug()。
这个 Agent 与同类方案有什么区别?
与 Claude Code 相比,ConnectOnion 提供了类似的内置能力(如 auto_compact、subagents、ulw)但适用于任意智能体,且兼容 Claude Code 的技能。