快速开始
添加模型
用 Provider 注册模型,AIService 自动生成路由。
import { AIService, Provider, type OpenAICompatibleClientConfig } from "@downcity/city";
import { createOpenAICompatible } from "@ai-sdk/openai-compatible";
class DeepSeekProvider extends Provider {
constructor() {
super({
id: "deepseek",
baseURL: "https://api.deepseek.com/v1",
envKey: "DEEPSEEK_API_KEY",
passthroughModel: "deepseek-chat",
});
}
protected createClient({ apiKey, baseURL }: OpenAICompatibleClientConfig) {
return createOpenAICompatible({ apiKey, baseURL, name: "deepseek" });
}
}
const deepseek = new DeepSeekProvider();
const ai = new AIService();
ai.use(deepseek.model({
id: "deepseek-v4-flash",
name: "DeepSeek V4 Flash",
context_window: 128_000,
}));
base.use(ai);注册后自动生成路由:
POST /v1/ai/text → SDK 通路
POST /v1/ai/stream → SDK 通路
POST /v1/ai/chat/completions → 自动透传到 DeepSeek
GET /v1/ai/models → 模型目录passthroughModel 控制自动透传时发往上游的 model 值。
context_window 会进入模型目录,并供 Agent 的 session compact 策略计算输入预算。