"use client"; import { ExternalLink, KeyRound } from "lucide-react"; import { Badge } from "@/components/ui/badge"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { PROVIDER_KEY_LABELS, type ProviderId } from "@/lib/ai/keys"; const PROVIDER_ORDER: ProviderId[] = [ "opencode-go", "xai", "openai", "anthropic", "google", ]; interface ApiKeysFormProps { values: Partial>; configured: Partial>; onChange: (provider: ProviderId, value: string) => void; } export function ApiKeysForm({ values, configured, onChange }: ApiKeysFormProps) { return (
{PROVIDER_ORDER.map((provider) => { const meta = PROVIDER_KEY_LABELS[provider]; const isConfigured = configured[provider]; return (
{isConfigured ? "已設定" : "未設定"}

{meta.hint}

onChange(provider, e.target.value)} placeholder={isConfigured ? "留空則保留現有 key" : "貼上 API key"} autoComplete="off" /> {meta.docsUrl && ( 取得 {meta.label} API key )}
); })}

AI Key 綁定你登入巡樓的帳號,所有 Threads 經營帳號共用。只存在本機資料庫;也可在 `.env` 設定環境變數作為備援。

); }