OpenClaw中心
   
用于多LLM编排和MCP集成的AI特定ESB中间件
节省90%的人工智能成本 通过智能地将请求路由到每个任务的最佳提供者。
🔗 链接
- 仓库: https://github.com/openclaw-community/openclaw-hub
- 最新发布: https://github.com/openclaw-community/openclaw-hub/releases
- 文档:参见 docs/ 文件夹
- 贡献:参见 贡献.md
- 安全:参见 安全.md
______________________________________________________________________
⚡ 单线安装
curl -fsSL https://raw.githubusercontent.com/openclaw-community/openclaw-hub/main/scripts/install.sh | bash适用于 macOS (苹果硅和英特尔)和 Linux (Ubuntu 22.04/24.04+)。需要Python 3.12+和git。
安装程序处理一切:克隆仓库,创建venv,安装依赖关系,设置托管服务(macOS上的launchd/Linux上的systemd),并在浏览器中打开仪表板。在现有安装上再次运行它将执行干净更新。
视窗:使用WSL2。看 docs/INSTALLATION.md.
______________________________________________________________________
特性
- ✅ 多提供商支持:OpenAI、Anthropic、Ollama(本地)、OpenRouter、LM Studio、自定义
- ✅ 自动路由:基于模型的智能提供商选择
- ✅ 自愈:使用指数回退、提供程序回退路由、后台健康探测自动重试
- ✅ 推送通知:连续错误、延迟峰值和预算阈值的实时警报——仪表板横幅、Webhook和macOS/Linux桌面通知
- ✅ 成本跟踪:实时成本计算,每个连接的预算与执行
- ✅ OpenAI兼容的API:直接替换OpenAI SDK
- ✅ 数据库日志记录:用于所有请求和警报的SQLite存储
- ✅ YAML工作流编排:人类可读的多步骤管道
- ✅ MCP工具集成:外部工具支持(网络搜索、文件、API)
- ✅ Web仪表板:内置监控UI——具有历史导航、连接管理、成本跟踪、警报横幅的使用情况图表
- ✅ 连接管理:添加、编辑和监视12多种服务类型(LLM、媒体API、git平台、网关)
- ✅ 预算执行:每个连接的每日/每周/每月限额;请求被阻止到极限,支持覆盖
- ✅ 加密凭据:Fernet-encrypted API密钥和令牌处于静止状态
______________________________________________________________________
📖 文档
OpenClaw Hub是完全自我记录的!
对于人类
- 仪表盘: http://127.0.0.1:8080/dashboard
- 交互式API资源管理器: http://127.0.0.1:8080/docs(Swagger用户界面)
- API 参考: http://127.0.0.1:8080/redoc
- OpenAPI规范: http://127.0.0.1:8080/openapi.json
对于AI代理
- 使用说明:
GET /v1/usage--返回如何使用Hub - 能力发现:
- GET /v1/models --列出可用的LLM型号 - GET /v1/workflows --列出可用工作流 - GET /v1/github/capabilities --GitHub集成详细信息 - GET /v1/social/capabilities --Instagram/社交媒体详细信息 - GET /v1/videos/capabilities --视频生成详细信息
______________________________________________________________________
快速开始
已经安装?
运行任何安装命令前请检查:
# macOS — is Hub already a launchd service?
launchctl list | grep com.openclaw.hub
# Linux — is Hub already a systemd service?
systemctl --user status openclaw-hub
# Either platform — is it simply running?
curl http://127.0.0.1:8080/health如果Hub作为服务运行,请使用 launchctl (macOS)或 systemctl (Linux)--不是 pkill。终止进程会直接导致服务管理器立即重新生成它。
全新安装(推荐)
curl -fsSL https://raw.githubusercontent.com/openclaw-community/openclaw-hub/main/scripts/install.sh | bash安装程序:
- 检查Python 3.12+和git(如果缺少,则以明确的说明退出)
- 克隆到
~/.openclaw-hub/(可通过OPENCLAW_HUB_HOME=...) - 创建venv并安装依赖项
- 自举
.env使用生成的密钥 - 自动检测本地Ollama
- 安装并启动托管服务
- 健康检查中心,然后在浏览器中打开仪表板
更新
在现有安装上再次运行安装程序会切换到更新模式——提取最新代码,更新deps,重新启动服务,并保留您的 .env.
手动/开发安装
⚠️ 只有当你有 不 运行统一安装程序。如果有,Hub已经由服务管理了——使用launchctl/systemctl为了控制它。
git clone https://github.com/openclaw-community/openclaw-hub.git
cd openclaw-hub
python3.12 -m venv venv
source venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
# Edit .env with your API keys (optional — Ollama works without keys)
uvicorn aigateway.main:app --host 127.0.0.1 --port 8080 --reload卸载
~/.openclaw-hub/scripts/uninstall.sh停止服务,备份您的 .env 以及数据库 ~/.openclaw-hub.backup/,然后删除安装。
______________________________________________________________________
服务管理
Hub作为托管后台服务运行。始终使用服务管理器——永远不要直接终止进程。
| macOS(launchd) | Linux(systemd) | ||
|---|---|---|---|
| 停止 | launchctl unload ~/Library/LaunchAgents/com.openclaw.hub.plist | systemctl --user stop openclaw-hub | |
| 开始 | launchctl load ~/Library/LaunchAgents/com.openclaw.hub.plist | systemctl --user start openclaw-hub | |
| 状态 | `launchctl list \ | grep com.openclaw.hub` | systemctl --user status openclaw-hub |
| 日志 | tail -f ~/.openclaw-hub/hub.log | journalctl --user -u openclaw-hub -f |
______________________________________________________________________
API示例
健康检查:
curl http://127.0.0.1:8080/health聊天完成(Ollama--免费,本地):
curl -X POST http://127.0.0.1:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model": "qwen2.5:32b-instruct", "messages": [{"role": "user", "content": "Say hello"}]}'聊天完成(GPT-4o-mini-需要OpenAI API密钥):
curl -X POST http://127.0.0.1:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model": "gpt-4o-mini", "messages": [{"role": "user", "content": "Explain quantum computing"}]}'聊天完成(Claude-需要Anthropic API密钥):
curl -X POST http://127.0.0.1:8080/v1/chat/completions \
-H "Content-Type: application/json" \
-d '{"model": "claude-sonnet", "messages": [{"role": "user", "content": "Write a haiku about AI"}]}'列出活动警报:
curl http://127.0.0.1:8080/api/alerts/active取消警报:
curl -X POST http://127.0.0.1:8080/api/alerts//dismiss______________________________________________________________________
仪表盘
访问地址: http://127.0.0.1:8080/dashboard
| 第节 | 这里有什么 |
|---|---|
| 概述 | 实时统计数据、令牌使用图表(每日/每周/每月,带历史导航)、请求分布、连接健康状况、活动警报横幅 |
| 连接 | 管理12种以上的服务类型;从…进口 .env;带有进度条的每个连接预算限制 |
| 活动 | 每个LLM和API调用都记录了模型、提供程序、令牌、成本、延迟和状态 |
| 成本 | 每种型号的成本配置、预算执行、支出历史 |
警告横幅出现在每个页面上,并在不重新加载页面的情况下关闭。当潜在条件解决时,它们会自动清除。
______________________________________________________________________
自我修复和警报
集线器会自动从暂时的提供程序故障中恢复:
- 使用回退重试:失败的请求最多重试3次(1秒→ 5s → 15s、 可配置)
- 回退路由:如果主提供程序重试次数用尽,则请求将被路由到回退(例如。
openai → ollama) - 健康探测器:每30秒对降级的提供商进行一次探测;连续3次成功后标记为健康
- 提醒推送:后台监视器每60秒检查一次连续错误、延迟峰值和预算阈值;向仪表板、webhook和桌面发送警报
在中配置 .env:
# Retry
RETRY_ENABLED=true
RETRY_MAX_ATTEMPTS=3
FALLBACK_RULES=openai:ollama,anthropic:ollama
# Alerts
ALERT_ENABLED=true
ALERT_WEBHOOK_URL=https://your-endpoint.example.com/alerts
ALERT_DESKTOP_NOTIFY=true
ALERT_CONSECUTIVE_ERROR_THRESHOLD=3
ALERT_BUDGET_THRESHOLD_PERCENT=90______________________________________________________________________
建筑
openclaw-hub/
├── scripts/
│ ├── install.sh # One-line installer (macOS + Linux)
│ ├── install-macos.sh # macOS redirect stub → install.sh
│ ├── install-linux.sh # Linux redirect stub → install.sh
│ └── uninstall.sh # Uninstaller with data backup
├── examples/
│ ├── summarize.yaml # Example: text summarisation workflow
│ ├── smart-analysis.yaml # Example: adaptive complexity routing
│ └── web-research.yaml # Example: web fetch + LLM analysis
├── aigateway/
│ ├── api/ # FastAPI routers
│ │ ├── completions.py # /v1/chat/completions (retry + fallback)
│ │ ├── alerts.py # /api/alerts/* (Issue #29)
│ │ └── dashboard.py # /api/dashboard/* (18 endpoints)
│ ├── monitoring/ # Push notification subsystem (Issue #29)
│ │ ├── alert_manager.py # Deduplication, auto-resolve, dispatch
│ │ ├── health_monitor.py # Background check loop
│ │ └── channels/ # webhook.py, desktop.py
│ ├── providers/ # LLM provider implementations
│ │ ├── manager.py # Routing + fallback
│ │ ├── health.py # Provider health tracker (Issue #26)
│ │ ├── ollama.py
│ │ ├── openai.py
│ │ └── anthropic.py
│ ├── dashboard/
│ │ ├── data.py # Async data access layer
│ │ └── crypto.py # Fernet encrypt/decrypt/mask
│ ├── storage/
│ │ ├── database.py # SQLAlchemy async setup + migrations
│ │ └── models.py # Request, Connection, Alert, CostConfig models
│ ├── orchestration/ # YAML workflow engine
│ ├── mcp/ # MCP integration
│ ├── static/index.html # Dashboard UI (single-file, no build tools)
│ ├── config.py # Settings (pydantic-settings, .env)
│ └── main.py # App entry point, startup/shutdown lifecycle
└── .env.example # Configuration reference______________________________________________________________________
提供商路由
请求按型号名称自动路由:
| 模型模式 | 提供者 |
|---|---|
gpt-4*, gpt-3.5*, gpt-4o* | OpenAI |
claude* | 人类学 |
| 其他任何事情 | Ollama(当地) |
回退规则可通过以下方式配置 FALLBACK_RULES 在 .env.
______________________________________________________________________
贡献
我们欢迎捐款!看 贡献.md 用于开发设置、编码标准和PR流程。
许可证
Apache许可证2.0——请参阅 许可证 了解详情。
支持
项目状态
版本: 1.2.0\ 状态:生产就绪\ 维护者:OpenClaw社区
看 更改日志.md 版本历史。
