CUSTOM FEDERATION

在 Vibecape 中使用自定义模型

连接一个 Downcity Federation,登录后即可在 AI Model 中选择它提供的文本和图片模型。
01启动 Federation Server创建服务并提供模型目录
02Vibecape 连接并使用登录、发现并选择模型

01 · 本地服务

创建并启动 Downcity Federation Server

推荐把提示词交给 Coding Agent。它会安装官方 skill、生成本地项目,并按你选择的模型来源启动服务。
01.1

让 Coding Agent 自动配置

复制提示词发送给 Codex。Agent 会使用 downcity-local-proxy skill 创建 ./downcity/local-proxy。

GitHub
downcity-local-proxy
cd ./downcity/local-proxypnpm installpnpm start --codex --claude-code首次授权时使用 --login,例如 pnpm start --codex --login
Federation URL
http://127.0.0.1:3000
Models
/v1/ai/models
Chat
/v1/ai/chat/completions

01.2 · 简单原理

Federation 把模型注册成统一目录

Federation 把上游模型映射为稳定的模型 ID,并通过 AIService 暴露。Vibecape 读取目录后,使用选中的模型 ID 发起请求。
  1. 1
    注册

    Provider 将公开模型 ID 映射到上游模型。

  2. 2
    发现

    Vibecape 调用 city.ai.listModels() 获取模型目录。

  3. 3
    调用

    Federation 根据模型 ID 将请求交给对应的上游。

models.ts简化示例
import { AIService, Federation } from "@downcity/city";

// provider.model(...) maps a public model id to your upstream model.
const models = [
  provider.model({
    id: "team-codex",
    name: "Team Codex",
    meta: { upstream_model: "gpt-5-codex" },
  }),
];

const federation = new Federation({ db });
federation.use(new AIService().use(models));

// Vibecape now discovers "team-codex" through city.ai.listModels().

02 · Vibecape 连接与使用

连接 Federation Server 并使用服务

整个配置只需要完成一次。切换 Federation 后,需要在新服务上重新登录。
02.1

打开 Account 设置

进入 Settings → Account。在登录按钮右侧点击展开按钮,显示 Downcity federation URL。

02.2

填写、测试并保存

输入 Federation URL。点击连接图标测试服务;测试通过后点击勾选保存。留空可恢复官方 Federation。

02.3

登录 Federation

点击登录并选择 Federation 提供的登录方式。登录成功后,Vibecape 会自动获取当前账户可用的模型。

02.4

选择自定义模型

进入 Settings → AI Model。选择文本或图片模型;如果刚更新 Federation,点击刷新按钮重新加载目录。

排查问题

连接后没有看到模型?

先确认服务可用

回到 Account 展开 URL,点击连接测试按钮。

确认已经重新登录

Federation URL 改变后,旧服务的登录状态不会复用。

刷新模型目录

在 AI Model 右上角点击刷新,重新读取可用模型。