Ai Provider Bridge
/install ai-provider-bridge
AI Provider Bridge — Unified API for Anthropic/OpenAI/Google/xAI/Mistral/Ollama
One interface to call 6 AI providers. Swap models with a config change, not a code rewrite. Zero external dependencies.
Unified interface for 6 AI providers. One function call, any model.
Supported Providers
| Provider | Models | API Key Env Var |
|---|---|---|
| Anthropic | Claude Opus, Sonnet, Haiku | ANTHROPIC_API_KEY |
| OpenAI | GPT-4o, GPT-4, GPT-3.5 | OPENAI_API_KEY |
| Gemini Pro, Gemini Flash | GOOGLE_API_KEY |
|
| xAI | Grok | XAI_API_KEY |
| Mistral | Mistral Large, Medium, Small | MISTRAL_API_KEY |
| Ollama | Any local model | None (local) |
Usage
const { AIBridge } = require('./src/ai-bridge');
const ai = new AIBridge({
currentModel: 'anthropic/claude-sonnet-4-20250514',
anthropicApiKey: process.env.ANTHROPIC_API_KEY, // only needed for Anthropic models
openaiApiKey: process.env.OPENAI_API_KEY, // only needed for OpenAI models
googleApiKey: process.env.GOOGLE_API_KEY, // only needed for Google models
xaiApiKey: process.env.XAI_API_KEY, // only needed for xAI models
mistralApiKey: process.env.MISTRAL_API_KEY, // only needed for Mistral models
ollamaHost: 'http://127.0.0.1:11434' // optional, default shown
});
const response = await ai.sendMessage('What is the capital of France?');
console.log(response);
Switching Providers
Change the model — provider is inferred from the prefix:
// Switch from cloud to local Ollama
ai.setModel('ollama/llama3.1:8b');
// Same interface
const response = await ai.sendMessage('Same question, free model');
Model prefix → provider mapping:
anthropic/→ Anthropic APIopenai/→ OpenAI APIgoogle/→ Google Gemini APIxai/→ xAI Grok APImistral/→ Mistral APIollama/→ Local Ollama (no API key needed)
Zero Dependencies
Uses only Node.js built-in https and http modules. No npm install needed.
Changelog
v1.0.3
- Fixed API usage examples — config object uses camelCase property names (
anthropicApiKey,openaiApiKey,googleApiKey,xaiApiKey,mistralApiKey), not flatapiKeyor env var names. Model prefix determines provider (anthropic/model-name). ClarifiedsendMessage()as the correct method name.
v1.0.2
- Removed
require('./token-compressor')reference entirely. TokenCompressor is now an inlined no-op pass-through class — no missing dependency, no external file needed. To enable compression, install the companion token-compressor skill and swap the class as noted in the code comments. - Removed automatic
"Do not store or train on this data."appended to system prompts in OpenAI-compatible requests. This is the caller's responsibility — pass it viasetSystemPrompt()if needed.
v1.0.1
- TokenCompressor dependency made optional — no-op fallback added when
./token-compressoris not present. Bridge works without it; messages pass through uncompressed. - Removed
buildSystemPrompt()andworkspaceContextoption. These allowed embedding workspace files into system prompts sent to external APIs — data exposure risk. UsesetSystemPrompt()directly. - Added
env:section to frontmatter declaring required API keys per provider. All optional — only keys for providers you use are needed.
⚠️ Disclaimer
This software is provided "AS IS", without warranty of any kind, express or implied.
USE AT YOUR OWN RISK.
- The author(s) are NOT liable for any damages, losses, or consequences arising from the use or misuse of this software — including but not limited to financial loss, data loss, security breaches, business interruption, or any indirect/consequential damages.
- This software does NOT constitute financial, legal, trading, or professional advice.
- Users are solely responsible for evaluating whether this software is suitable for their use case, environment, and risk tolerance.
- No guarantee is made regarding accuracy, reliability, completeness, or fitness for any particular purpose.
- The author(s) are not responsible for how third parties use, modify, or distribute this software after purchase.
By downloading, installing, or using this software, you acknowledge that you have read this disclaimer and agree to use the software entirely at your own risk.
DATA DISCLAIMER: This software processes and stores data locally on your system. The author(s) are not responsible for data loss, corruption, or unauthorized access resulting from software bugs, system failures, or user error. Always maintain independent backups of important data. This software does not transmit data externally unless explicitly configured by the user.
Support & Links
| 🐛 Bug Reports | [email protected] |
| ☕ Ko-fi | ko-fi.com/theshadowrose |
| 🛒 Gumroad | shadowyrose.gumroad.com |
| @TheShadowyRose | |
| 🐙 GitHub | github.com/TheShadowRose |
| 🧠 PromptBase | promptbase.com/profile/shadowrose |
Built with OpenClaw — thank you for making this possible.
🛠️ Need something custom? Custom OpenClaw agents & skills starting at $500. If you can describe it, I can build it. → Hire me on Fiverr
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install ai-provider-bridge - 安装完成后,直接呼叫该 Skill 的名称或使用
/ai-provider-bridge触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
Ai Provider Bridge 是什么?
One interface to call 6 AI providers. Swap models with a config change, not a code rewrite. Zero external dependencies. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 335 次。
如何安装 Ai Provider Bridge?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install ai-provider-bridge」即可一键安装,无需额外配置。
Ai Provider Bridge 是免费的吗?
是的,Ai Provider Bridge 完全免费,采用 MIT-0 许可证,可自由下载、安装和使用。
Ai Provider Bridge 支持哪些平台?
Ai Provider Bridge 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 Ai Provider Bridge?
由 Shadow Rose(@theshadowrose)开发并维护,当前版本 v1.0.3。