使用自定义模型
将 Vibecape 连接到 Downcity Federation,使用本地或私有的文本与图片模型。
Vibecape 通过 Downcity Federation 发现 AI 模型。连接本地或私有 Federation、完成登录后,就能选择当前账户可用的文本或图片模型。
配置流程
- 启动一个发布模型目录的 Federation Server;
- 在 Vibecape Account 设置中填写服务 URL;
- 测试连接并保存;
- 登录该 Federation;
- 刷新模型目录并选择模型。
Federation URL 同时代表账户授权服务。切换服务后需要重新登录。
启动本地 Federation
downcity-local-proxy skill 可以为 Codex、Claude Code 或两者自动配置本地服务。
为 Coding Agent 安装 skill:
npx skills add https://github.com/wangenius/downcity-local-proxy-skill \
--skill downcity-local-proxy \
--agent codex \
--global \
--yes然后把下面的提示词交给 Agent:
请创建并启动一个本地 Downcity Federation Server,让 Vibecape 可以使用
本机的 Codex 或 Claude Code 模型。请使用 downcity-local-proxy skill,
在 ./downcity/local-proxy 创建项目、安装依赖,并启动我选择的模型来源。
如需 OAuth 请完成登录。最后告诉我 Federation URL,并指导我在 Vibecape
中完成连接。生成的项目通常使用下面的命令启动:
cd ./downcity/local-proxy
pnpm install
pnpm start --codex --claude-code第一次 OAuth 授权时使用 --login,例如 pnpm start --codex --login。默认本地地址通常是 http://127.0.0.1:3000。
模型发现原理
Provider 把稳定的公开模型 ID 映射到上游模型,AIService 发布模型目录,Vibecape 再使用选中的公开 ID 发起请求。
import { AIService, Federation } from "@downcity/city";
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));服务通常通过 /v1/ai/models 和 /v1/ai/chat/completions 提供模型发现与对话接口。
连接 Vibecape
1. 打开 Account 设置
进入 Settings → Account,点击 登录 旁的展开按钮,显示 Downcity Federation URL 输入框。
2. 测试并保存 URL
输入 Federation URL,运行连接测试,测试成功后保存。清空输入框可以恢复官方 Federation。
本地服务可以从下面的地址开始:
http://127.0.0.1:30003. 登录 Federation
点击 登录,选择 Federation 提供的登录方式。其他 Federation 的登录状态不会复用。
4. 选择模型
打开 Settings → AI Model。切换 Federation 后先刷新模型目录,再选择文本或图片模型。
排查问题
连接测试失败
- 确认 Federation 进程正在运行;
- 只有 Vibecape 与服务位于同一台电脑时才使用
127.0.0.1; - 检查协议、端口、代理和 TLS 证书。
连接成功但没有模型
- 修改 Federation URL 后重新登录;
- 在 AI Model 中刷新模型目录;
- 确认当前账户有权访问已发布模型;
- 确认服务通过
AIService暴露了模型目录。
模型已选择但无法回答
- 确认公开模型 ID 仍然映射到有效的上游模型;
- 完成上游 CLI 所需的 OAuth 授权;
- 查看 Federation 日志,但不要输出 Token 或凭据。