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(它们是密钥)。其他的 — 模型、提供商 — 都在代码里,清晰可见,可以版本控制。
该用哪个提供商?
GaiaAgentProvider 和 AiSdkProvider 底层都是 Vercel AI SDK — 相同的流式机制、相同的可恢复流、相同的工具调用。区别在于内置了什么。
GaiaAgentProvider — 从这里开始(默认)
GaiaAgentProvider = AI SDK + 16+ 内置工具(网页搜索、代码沙箱、浏览器自动化等),通过 @gaia-agent/sdk 提供。不想自己接工具又想要强大 Agent 能力?用这个。
| 你想要什么 | 用哪个模型 | 需要哪个 Key |
|---|---|---|
| 综合质量最好 | gpt-4.1 | OPENAI_API_KEY |
| 最快 / 最便宜 | gpt-5-nano | OPENAI_API_KEY |
| 本地运行,零 API 费用 | llama3 + Ollama | — |
| 性价比高的替代方案 | deepseek-chat | OPENAI_API_KEY + DeepSeek URL |
高级配置(自定义工具、providers、memory 等),参见 Gaia Agent 文档。
AiSdkProvider — 想完全掌控,或需要原生 Anthropic/Google 时使用
AiSdkProvider = 直接用 AI SDK,只有你传入的工具。想要轻量可控的设置,或者需要通过原生 SDK 使用 Claude、Gemini(而非 OpenAI 兼容接口)时选这个。
| 你想要什么 | 用哪个模型 | 需要哪个 Key |
|---|---|---|
| Claude(写作效果好) | claude-sonnet-4-20250514 | ANTHROPIC_API_KEY |
| Google Gemini | gemini-2.0-flash | GOOGLE_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 里像内置提供商一样使用它。
相关文档
- Agent 流式响应 — 可恢复流的工作原理
- Agent 工具 — 给你的 Agent 添加自定义能力