ProductReadyProductReady

AI Agent 提供商

一行代码切换 AI 模型和提供商 — 无需配置文件,无需折腾环境变量

AI Agent 提供商

想从 GPT 换成 Claude?试试 DeepSeek?用 Ollama 跑本地模型?改一行代码就够了。

ProductReady 把提供商的选择直接写在应用代码里,每个 App 可以用不同的 AI,不需要动环境变量或配置文件。

切换提供商

打开 src/domains/agent/logic/chat-service.ts,找到 🔧 AGENT PROVIDER CONFIG 代码块:

// ✅ 现在用 GPT-4.1
const provider = new AiSdkProvider({
  model: "gpt-4.1",
  apiKey: process.env.OPENAI_API_KEY,
  baseURL: process.env.OPENAI_BASE_URL,
  tools: customTools,
});

// 💡 想换 Claude?注释上面,取消注释这里:
// const provider = new AiSdkProvider({
//   model: "claude-sonnet-4-20250514",
//   apiKey: process.env.ANTHROPIC_API_KEY,
// });

// 💡 想用 Ollama 本地运行?设置 OPENAI_BASE_URL=http://localhost:11434/v1
// const provider = new AiSdkProvider({
//   model: "llama3",
//   apiKey: process.env.OPENAI_API_KEY,
// });

API Key 留在 .env(它们是密钥)。其他的 — 模型、提供商 — 都在代码里,清晰可见,可以版本控制。

该用哪个提供商?

GaiaAgentProviderAiSdkProvider 底层都是 Vercel AI SDK — 相同的流式机制、相同的可恢复流、相同的工具调用。区别在于内置了什么。

GaiaAgentProvider — 从这里开始(默认)

GaiaAgentProvider = AI SDK + 16+ 内置工具(网页搜索、代码沙箱、浏览器自动化等),通过 @gaia-agent/sdk 提供。不想自己接工具又想要强大 Agent 能力?用这个。

你想要什么用哪个模型需要哪个 Key
综合质量最好gpt-4.1OPENAI_API_KEY
最快 / 最便宜gpt-5-nanoOPENAI_API_KEY
本地运行,零 API 费用llama3 + Ollama
性价比高的替代方案deepseek-chatOPENAI_API_KEY + DeepSeek URL

高级配置(自定义工具、providers、memory 等),参见 Gaia Agent 文档

AiSdkProvider — 想完全掌控,或需要原生 Anthropic/Google 时使用

AiSdkProvider = 直接用 AI SDK,只有你传入的工具。想要轻量可控的设置,或者需要通过原生 SDK 使用 Claude、Gemini(而非 OpenAI 兼容接口)时选这个。

你想要什么用哪个模型需要哪个 Key
Claude(写作效果好)claude-sonnet-4-20250514ANTHROPIC_API_KEY
Google Geminigemini-2.0-flashGOOGLE_API_KEY

SandAgentProvider — 适合需要执行代码的应用

Agent 可以在安全沙箱里真正运行代码、终端命令和文件操作。基于 Claude 构建。适合开发者工具、编程助手,或任何 AI 需要"做事"而不只是"说话"的应用。

不满足需求?自己造一个。

Provider 接口只有两件事:一个名字和一个 stream() 方法。你可以封装 LangChain、自定义 API 或任何东西:

import type { AgentProvider } from "agentlib/providers";

export class MyProvider implements AgentProvider {
  readonly name = "my-provider";

  async stream(messages) {
    // 调用任何你想用的 AI 后端
    // 返回 AgentStreamResponse
  }
}

然后在 chat-service.ts 里像内置提供商一样使用它。

相关文档

On this page