免费获取学习方案
ARTICLE DETAIL

资讯详情

深耕编程基础知识与建站技术分享的一线实战洞察。

Vercel Eve 接入自定义 AI Provider

Vercel Eve 接入自定义 AI Provider 相信很多朋友跟我一样手头都有不少 coding plan、token plan 相关的资源。真正使用 Agent 时也不一定会直接使用 Vercel AI Gateway接入第三方 Provider 是个很常见的需求。比如我自己一直在用开源的 Octafuse Gateway 管理我手头所有的 API 资源包括各种 Coding Plan/Token Plan。这样做的好处是模型供应商、key、路由和成本策略可以统一收口业务项目只需要接一个 OpenAI-Compatible 入口。所以这一篇不急着加 skills、subagents、sandbox。先处理一个更基础的问题如果不想只走 Vercel AI Gateway或者希望接入自己的 OpenAI-Compatible ProviderEve Agent 的模型配置应该怎么实现目标是默认仍然使用 Vercel AI Gateway当配置了自定义baseURL时切换到 OpenAI-Compatible Provider显式配置模型上下文窗口增加一个独立检查脚本在启动 Eve 之前先验证自定义 gateway把 coding plan 和 token plan 放进模型配置设计里。第一篇里我们直接让 Eve 使用 Vercel AI Gatewayexport default defineAgent({ model: process.env.EVE_GATEWAY_MODEL_ID ?? minimax/minimax-m3, modelContextWindowTokens: 200_000, });这对快速开始很友好。但现在我们要把模型入口从一个 Gateway 模型 ID改成一套可切换配置默认继续走 Vercel AI Gateway配置了自己的 OpenAI-Compatible gateway就切到自定义 Provider。核心习惯也很简单Agent 在开始变复杂之前先把模型入口、上下文窗口和失败边界显式化。本节样例结构样例结构如下example/02-custom-provider/ package.json tsconfig.json .env.example scripts/ check-custom-gateway.mjs agent/ agent.ts instructions.md channels/ eve.ts和第一篇相比只增加两件事agent/agent.ts支持 Vercel AI Gateway 和自定义 Provider 两条路径scripts/check-custom-gateway.mjs用来提前检查自定义 gateway。这一版仍然没有skillssubagentssandboxtoolsschedulesevals。先把 Provider 配置讲清楚再继续扩展 Agent 工作流。安装依赖自定义 OpenAI-Compatible Provider 使用ai-sdk/openai-compatible{ dependencies: { ai-sdk/openai-compatible: ^2.0.51, vercel/connect: 0.2.2, ai: 7.0.0-beta.178, eve: ^0.12.0, zod: 4.4.3 } }package.json里增加一个脚本{ scripts: { build: eve build, dev: eve dev, start: eve start, typecheck: tsc, check:gateway: node scripts/check-custom-gateway.mjs } }check:gateway不属于 Eve 的必需脚本但接入自定义 provider 时很有用它可以在启动eve dev之前先用最小请求检查 base URL、模型 ID、API key 和流式返回。设计环境变量.env.example分成两组。默认路径仍然是 Vercel AI GatewayEVE_GATEWAY_MODEL_IDminimax/minimax-m3 AI_GATEWAY_API_KEY自定义 OpenAI-Compatible Provider 使用另一组变量EVE_MODEL_BASE_URLhttps://api.example.com/v1 EVE_MODEL_API_KEYyour-api-key EVE_MODEL_IDyour-model-id EVE_MODEL_CONTEXT_WINDOW_TOKENS128000开关规则很直接只要EVE_MODEL_BASE_URL非空就使用自定义 Provider否则继续使用 Vercel AI Gateway。这样默认路径足够简单只配置 Vercel AI Gateway 就能跑需要自定义 provider 时也只改环境变量不改代码。改造agent/agent.ts完整代码如下import { createOpenAICompatible } from ai-sdk/openai-compatible; import { defineAgent } from eve; const defaultGatewayModelId minimax/minimax-m3; const customBaseURL process.env.EVE_MODEL_BASE_URL; const usesCustomGateway customBaseURL ! undefined customBaseURL.trim() ! ; function parseContextWindowTokens(value: string | undefined) { if (value undefined || value.trim() ) { return 128000; } const parsed Number(value); if (!Number.isInteger(parsed) || parsed 0) { throw new Error(EVE_MODEL_CONTEXT_WINDOW_TOKENS must be a positive integer.); }
返回列表