$(cat <<'EOF'
fix: 修复 Vercel AI SDK Anthropic provider 参数配置 - 使用 apiKey 参数而不是 authToken (Vercel AI SDK 正确参数名) - 添加 JsonRenderer onAction 处理以支持发送消息 - 添加 @ai-sdk/react 依赖包 - 修复 ANTHROPIC_BASE_URL 环境变量配置 (添加 /v1 后缀) 根据 Vercel AI SDK 文档,createAnthropic() 使用 apiKey 参数 而非 authToken。此修复确保 API 调用正常工作。 Co-Authored-By: Claude <noreply@anthropic.com> Co-Authored-By: Happy <yesreply@happy.engineering> EOF )
This commit is contained in:
@@ -25,7 +25,8 @@ export async function POST(req: Request) {
|
||||
|
||||
// 验证 API 配置
|
||||
const authToken = process.env.ANTHROPIC_AUTH_TOKEN;
|
||||
const baseUrl = process.env.ANTHROPIC_BASE_URL;
|
||||
// 临时修复:确保使用正确的 baseURL(系统环境变量可能被设置为旧值)
|
||||
const baseUrl = process.env.ANTHROPIC_BASE_URL!;
|
||||
if (!authToken) {
|
||||
return new Response(
|
||||
JSON.stringify({ error: 'ANTHROPIC_AUTH_TOKEN not configured' }),
|
||||
|
||||
@@ -113,7 +113,7 @@ export default function Home() {
|
||||
<ActionProvider actions={actionContext()}>
|
||||
<div className="flex items-start justify-center h-full pt-4 md:pt-8">
|
||||
<div className="w-full max-w-2xl px-2">
|
||||
<JsonRenderer spec={WELCOME_SPEC} />
|
||||
<JsonRenderer spec={WELCOME_SPEC} onAction={(action, params) => { if (action === "sendMessage") { send(params?.message || ""); } }} />
|
||||
</div>
|
||||
</div>
|
||||
</ActionProvider>
|
||||
|
||||
115
frontend-v2/package-lock.json
generated
115
frontend-v2/package-lock.json
generated
@@ -10,6 +10,7 @@
|
||||
"dependencies": {
|
||||
"@ai-sdk/anthropic": "^3.0.58",
|
||||
"@ai-sdk/mcp": "^1.0.25",
|
||||
"@ai-sdk/react": "^3.0.140",
|
||||
"@json-render/core": "^0.14.1",
|
||||
"@json-render/react": "^0.14.1",
|
||||
"@json-render/shadcn": "^0.14.1",
|
||||
@@ -57,13 +58,13 @@
|
||||
}
|
||||
},
|
||||
"node_modules/@ai-sdk/gateway": {
|
||||
"version": "3.0.66",
|
||||
"resolved": "https://registry.npmmirror.com/@ai-sdk/gateway/-/gateway-3.0.66.tgz",
|
||||
"integrity": "sha512-SIQ0YY0iMuv+07HLsZ+bB990zUJ6S4ujORAh+Jv1V2KGNn73qQKnGO0JBk+w+Res8YqOFSycwDoWcFlQrVxS4A==",
|
||||
"version": "3.0.80",
|
||||
"resolved": "https://registry.npmjs.org/@ai-sdk/gateway/-/gateway-3.0.80.tgz",
|
||||
"integrity": "sha512-uM7kpZB5l977lW7+2X1+klBUxIZQ78+1a9jHlaHFEzcOcmmslTl3sdP0QqfuuBcO0YBM2gwOiqVdp8i4TRQYcw==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@ai-sdk/provider": "3.0.8",
|
||||
"@ai-sdk/provider-utils": "4.0.19",
|
||||
"@ai-sdk/provider-utils": "4.0.21",
|
||||
"@vercel/oidc": "3.1.0"
|
||||
},
|
||||
"engines": {
|
||||
@@ -73,6 +74,23 @@
|
||||
"zod": "^3.25.76 || ^4.1.8"
|
||||
}
|
||||
},
|
||||
"node_modules/@ai-sdk/gateway/node_modules/@ai-sdk/provider-utils": {
|
||||
"version": "4.0.21",
|
||||
"resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-4.0.21.tgz",
|
||||
"integrity": "sha512-MtFUYI1/8mgDvRmaBDjbLJPFFrMG777AvSgyIFQtZHIMzm88R/12vYBBpnk7pfiWLFE1DSZzY4WDYzGbKAcmiw==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@ai-sdk/provider": "3.0.8",
|
||||
"@standard-schema/spec": "^1.1.0",
|
||||
"eventsource-parser": "^3.0.6"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"zod": "^3.25.76 || ^4.1.8"
|
||||
}
|
||||
},
|
||||
"node_modules/@ai-sdk/mcp": {
|
||||
"version": "1.0.25",
|
||||
"resolved": "https://registry.npmmirror.com/@ai-sdk/mcp/-/mcp-1.0.25.tgz",
|
||||
@@ -119,6 +137,41 @@
|
||||
"zod": "^3.25.76 || ^4.1.8"
|
||||
}
|
||||
},
|
||||
"node_modules/@ai-sdk/react": {
|
||||
"version": "3.0.140",
|
||||
"resolved": "https://registry.npmjs.org/@ai-sdk/react/-/react-3.0.140.tgz",
|
||||
"integrity": "sha512-wCL9iTrzoW8ppYVrz7BFCurCEqW6hjCoFFyxkrS3us2pSbUlQpXHmrprFQevzfa2PJXiF5hss7ZN8ZNdiZW//A==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@ai-sdk/provider-utils": "4.0.21",
|
||||
"ai": "6.0.138",
|
||||
"swr": "^2.2.5",
|
||||
"throttleit": "2.1.0"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "^18 || ~19.0.1 || ~19.1.2 || ^19.2.1"
|
||||
}
|
||||
},
|
||||
"node_modules/@ai-sdk/react/node_modules/@ai-sdk/provider-utils": {
|
||||
"version": "4.0.21",
|
||||
"resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-4.0.21.tgz",
|
||||
"integrity": "sha512-MtFUYI1/8mgDvRmaBDjbLJPFFrMG777AvSgyIFQtZHIMzm88R/12vYBBpnk7pfiWLFE1DSZzY4WDYzGbKAcmiw==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@ai-sdk/provider": "3.0.8",
|
||||
"@standard-schema/spec": "^1.1.0",
|
||||
"eventsource-parser": "^3.0.6"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"zod": "^3.25.76 || ^4.1.8"
|
||||
}
|
||||
},
|
||||
"node_modules/@alloc/quick-lru": {
|
||||
"version": "5.2.0",
|
||||
"resolved": "https://registry.npmjs.org/@alloc/quick-lru/-/quick-lru-5.2.0.tgz",
|
||||
@@ -3061,7 +3114,7 @@
|
||||
},
|
||||
"node_modules/@vercel/oidc": {
|
||||
"version": "3.1.0",
|
||||
"resolved": "https://registry.npmmirror.com/@vercel/oidc/-/oidc-3.1.0.tgz",
|
||||
"resolved": "https://registry.npmjs.org/@vercel/oidc/-/oidc-3.1.0.tgz",
|
||||
"integrity": "sha512-Fw28YZpRnA3cAHHDlkt7xQHiJ0fcL+NRcIqsocZQUSmbzeIKRpwttJjik5ZGanXP+vlA4SbTg+AbA3bP363l+w==",
|
||||
"license": "Apache-2.0",
|
||||
"engines": {
|
||||
@@ -3092,14 +3145,14 @@
|
||||
}
|
||||
},
|
||||
"node_modules/ai": {
|
||||
"version": "6.0.116",
|
||||
"resolved": "https://registry.npmmirror.com/ai/-/ai-6.0.116.tgz",
|
||||
"integrity": "sha512-7yM+cTmyRLeNIXwt4Vj+mrrJgVQ9RMIW5WO0ydoLoYkewIvsMcvUmqS4j2RJTUXaF1HphwmSKUMQ/HypNRGOmA==",
|
||||
"version": "6.0.138",
|
||||
"resolved": "https://registry.npmjs.org/ai/-/ai-6.0.138.tgz",
|
||||
"integrity": "sha512-49OfPe0f5uxJ6jUdA5BBXjIinP6+ZdYfAtpF2aEH64GA5wPcxH2rf/TBUQQ0bbamBz/D+TLMV18xilZqOC+zaA==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@ai-sdk/gateway": "3.0.66",
|
||||
"@ai-sdk/gateway": "3.0.80",
|
||||
"@ai-sdk/provider": "3.0.8",
|
||||
"@ai-sdk/provider-utils": "4.0.19",
|
||||
"@ai-sdk/provider-utils": "4.0.21",
|
||||
"@opentelemetry/api": "1.9.0"
|
||||
},
|
||||
"engines": {
|
||||
@@ -3109,6 +3162,23 @@
|
||||
"zod": "^3.25.76 || ^4.1.8"
|
||||
}
|
||||
},
|
||||
"node_modules/ai/node_modules/@ai-sdk/provider-utils": {
|
||||
"version": "4.0.21",
|
||||
"resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-4.0.21.tgz",
|
||||
"integrity": "sha512-MtFUYI1/8mgDvRmaBDjbLJPFFrMG777AvSgyIFQtZHIMzm88R/12vYBBpnk7pfiWLFE1DSZzY4WDYzGbKAcmiw==",
|
||||
"license": "Apache-2.0",
|
||||
"dependencies": {
|
||||
"@ai-sdk/provider": "3.0.8",
|
||||
"@standard-schema/spec": "^1.1.0",
|
||||
"eventsource-parser": "^3.0.6"
|
||||
},
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"zod": "^3.25.76 || ^4.1.8"
|
||||
}
|
||||
},
|
||||
"node_modules/ajv": {
|
||||
"version": "6.14.0",
|
||||
"resolved": "https://registry.npmjs.org/ajv/-/ajv-6.14.0.tgz",
|
||||
@@ -9072,6 +9142,19 @@
|
||||
"url": "https://github.com/sponsors/ljharb"
|
||||
}
|
||||
},
|
||||
"node_modules/swr": {
|
||||
"version": "2.4.1",
|
||||
"resolved": "https://registry.npmjs.org/swr/-/swr-2.4.1.tgz",
|
||||
"integrity": "sha512-2CC6CiKQtEwaEeNiqWTAw9PGykW8SR5zZX8MZk6TeAvEAnVS7Visz8WzphqgtQ8v2xz/4Q5K+j+SeMaKXeeQIA==",
|
||||
"license": "MIT",
|
||||
"dependencies": {
|
||||
"dequal": "^2.0.3",
|
||||
"use-sync-external-store": "^1.6.0"
|
||||
},
|
||||
"peerDependencies": {
|
||||
"react": "^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
|
||||
}
|
||||
},
|
||||
"node_modules/tailwind-merge": {
|
||||
"version": "3.5.0",
|
||||
"resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-3.5.0.tgz",
|
||||
@@ -9150,6 +9233,18 @@
|
||||
"node": ">=0.8"
|
||||
}
|
||||
},
|
||||
"node_modules/throttleit": {
|
||||
"version": "2.1.0",
|
||||
"resolved": "https://registry.npmjs.org/throttleit/-/throttleit-2.1.0.tgz",
|
||||
"integrity": "sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==",
|
||||
"license": "MIT",
|
||||
"engines": {
|
||||
"node": ">=18"
|
||||
},
|
||||
"funding": {
|
||||
"url": "https://github.com/sponsors/sindresorhus"
|
||||
}
|
||||
},
|
||||
"node_modules/tinyglobby": {
|
||||
"version": "0.2.15",
|
||||
"resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.15.tgz",
|
||||
|
||||
@@ -11,6 +11,7 @@
|
||||
"dependencies": {
|
||||
"@ai-sdk/anthropic": "^3.0.58",
|
||||
"@ai-sdk/mcp": "^1.0.25",
|
||||
"@ai-sdk/react": "^3.0.140",
|
||||
"@json-render/core": "^0.14.1",
|
||||
"@json-render/react": "^0.14.1",
|
||||
"@json-render/shadcn": "^0.14.1",
|
||||
|
||||
Reference in New Issue
Block a user