SuperAPI AI 工具集

openclawn-agent-framework

智能体与模型

查看项目

更新于 10-16 02:42

技能介绍

用途

OpenCLAWN 是一个轻量级、可自我改进的多智能体框架,由 ara.so 制作,属于 Hermes Skills 集合。它面向需要多智能体协作、智能模型路由与可复用技能积累的场景,围绕四项核心创新构建:路由审计与自校准、技能衰减、置信度门控的技能结晶,以及角色输出契约。

主要能力

  • 多智能体对话:支持流水线(pipeline)、辩论(debate)、编排(orchestrator)等策略。
  • 自校准智能路由:对查询在 10 个维度(代码、数学、推理等)上打分,标注复杂度(TRIVIAL → SIMPLE → MODERATE → COMPLEX → CRITICAL),记录每次决策以便后续校准,支持多语言与可选的脚本感知层级提升。
  • 技能复合:提升、精炼、合并、衰减,全部版本化且可回滚。
  • 自动驾驶:带审批门控的提案,不静默执行。
  • 活动时间线:追踪每个智能体动作。
  • 技能包导出/导入:带 SSRF 与注入防护。
  • 混合 LLM 路由:本地(Ollama)+ 云端(Gemini/Claude)。
  • 26 个沙箱化工具,全部限定在工作区内。

核心组件

  • SmartRouter(创新 #1):路由审计 + 自校准。
  • SkillDecay(创新 #2):技能生命周期管理,技能按年龄、使用率、成功率打 0–1 分,衰减每小时运行(限流),低于 0.3 分的技能从上下文中排除。
  • Crystallizer(创新 #3):置信度门控的技能存储,捕获多工具解决方案为可复用技能,自评置信度(1–5),仅存储置信度 ≥4 的技能,评估器层级 ≥ 生成器层级。
  • RoleNegotiator(创新 #4):类型化多智能体契约,验证角色间交接(PM → Dev → QA),确保交接前满足输出契约。
  • SkillCurator:复合层,合并重复技能,基于语义相似度去重,要求评审层级 ≥4,可回滚。
  • SkillFeedback:复合层,成功时提升草稿技能,纠正时精炼技能,证明可复用时复活衰减技能。

安装

前置条件:Python 3.12+、Docker(用于沙箱化工具执行)、已安装并运行的 Ollama(用于本地模型)、Gemini 和/或 Claude 的 API 密钥(可选,用于重型层级)。

快速设置:

# Clone repository
git clone https://github.com/MuhammadHasbiAshshiddieqy/OpenClawn.git
cd OpenClawn

# Install with uv (recommended for reproducibility)
uv sync --frozen --extra dev

# Or with pip
python -m venv .venv
source .venv/bin/activate  # On Windows: .venv\Scripts\activate
pip install -e ".[dev]"

# Configure environment
cp .env.example .env
# Edit .env and add:
# GEMINI_API_KEY=your_key_here
# ANTHROPIC_API_KEY=your_key_here
# OPENCLAWN_PREFER_LOCAL=true  # Optional: stay local longer
# OPENCLAWN_WORKSPACE_PATH=./workspace  # Agent workspace root

# Initialize database
mkdir -p data
sqlite3 data/openclawn.db < migrations/001_initial.sql

# Pull Ollama models (one per local tier)
ollama pull gemma4:e2b    # Light tier
ollama pull gemma4:e4b    # Moderate tier
ollama pull gemma4:12b    # Complex tier

# Build sandbox Docker image
docker build -t openclawn-sandbox:latest -f Dockerfile.sandbox .

# Start the web interface
uvicorn web.main:app --reload --port 8000

访问 UI:http://localhost:8000。

使用方式

单智能体聊天:初始化 LLMClient、MemoryManager、SmartRouter、RoutingAuditor,创建 Agent,通过 agent.process_query(query=..., stream=True) 流式获取响应。

多智能体对话(流水线):定义带输出契约的角色(如 product_manager、developer、qa_engineer),使用 ConversationOrchestrator 配合 PipelineStrategy 运行对话。

带审批门的自动驾驶:创建 Autopilot(名称、schedule、prompt、agent_id、require_approval=True),通过 AutopilotScheduler 添加并启动;提案可通过 Web UI 或 API 查看与审批。

配置

  • 路由层级映射(/router 端点或配置文件 config/router_tiers.yaml):为 trivial、simple、moderate、complex、critical 各层级指定本地/云端模型与回退模型。
  • Soul 配置(soul.toml):定义身份(name、role、tone)、路由提示(upgrade_keywords、prefer_local)、记忆(archive_threshold)。
  • 环境变量(.env):GEMINI_API_KEY、ANTHROPIC_API_KEY、OPENCLAWN_WORKSPACE_PATH、OPENCLAWN_DB_PATH、OLLAMA_BASE_URL、OPENCLAWN_PREFER_LOCAL、OPENCLAWN_LANGUAGE_AWARE_ROUTING、OPENCLAWN_SKILL_DECAY_ENABLED、OPENCLAWN_CRYSTALLIZATION_MIN_CONFIDENCE、OPENCLAWN_AUTOPILOT_APPROVAL_TIMEOUT、OPENCLAWN_AUTO_CALIBRATION 等。

工具(26 个沙箱化工具,全部限定工作区)

  • 文件系统工具:读文件、写文件、编辑文件(按行替换)、补丁文件(统一 diff)、Glob 搜索、Grep 搜索、批量读取多文件。
  • 执行工具(沙箱化):运行 Python 代码、运行 shell 命令。沙箱规格:Docker 容器 network=none、只读工作区挂载、非 root 用户、30 秒超时、捕获 stdout/stderr。
  • 网络工具(SSRF 防护):抓取网页、Web 搜索(需 API 密钥)、HTTP 请求(任意方法/头)。SSRF 防护:阻止私有 IP、阻止云元数据端点、DNS 重绑定防护。
  • 数据与文档工具:查询 SQLite 数据库、JSON 查询(JMESPath)、PDF 读取、文档写入(Markdown/HTML/纯文本)、PDF 写入(从 Markdown)。
  • 开发工具:Git status、Git diff、Git log、写 TODO、报告阻塞。

技能管理

  • 查看技能:Web UI(http://localhost:8000/skills)或 API(GET /api/skills)。
  • 导出技能包:POST /api/skills/export,返回带 YAML frontmatter 的 Markdown 文件。
  • 导入技能包:POST /api/skills/import(multipart/form-data),所有导入技能初始为 draft 状态,需手动提升。导入安全检查:NFKD 规范化扫描同形异义攻击、注入模式检测、嵌入 URL 的 SSRF 防护、校验和验证。

路由校准

  • 校准仪表盘:http://localhost:8000/metrics,显示决策分布、准确率趋势、各层级精确率/召回率、建议偏移量。
  • 手动校准:POST /api/router/calibrate(label、offset),可回滚(POST /api/router/calibration/revert)。
  • 自动校准(可选):OPENCLAWN_AUTO_CALIBRATION=true,每周运行,偏移量限制在 ±1.0,始终可回滚。

用户建模(可选,创新 #5)

启用 OPENCLAWN_USER_MODELING=true 后追踪辩证模式:偏好推理风格、常见纠正模式、领域专长信号、交互节奏。隐私:仅选择性启用、版本化(可回滚)、本地存储在 SQLite、绝不发送给 LLM 提供商、仅用于上下文塑造。

适用场景

  • 需要多智能体协作完成复杂任务(如构建用户认证系统)。
  • 需要智能路由在本地与云端模型间平衡成本与能力。
  • 需要将多步工作流结晶为可复用技能并持续改进。
  • 需要审批门控的自动化任务(如每日安全扫描、每周清理)。
  • 需要多智能体辩论以综合不同视角(架构、务实、安全)。

限制

  • 需要 Python 3.12+、Docker、Ollama 等前置条件。
  • 云端模型需 API 密钥(可选)。
  • 沙箱执行有 30 秒超时限制。
  • 技能结晶仅存储置信度 ≥4 的技能。
  • 衰减分数低于 0.3 的技能从上下文排除。
  • 自动驾驶提案默认 1 小时超时(可配置)。
  • 用户建模为选择性启用,默认关闭。
  • 自动校准默认关闭,需显式启用。

故障排查

路由始终使用同一模型:检查 /settings 中的 act(原文在此处截断,后续内容暂未提供)。