Use custom models
Connect Vibecape to a Downcity Federation and use local or private text and image models.
Vibecape discovers AI models through a Downcity Federation. You can connect a local or private Federation, sign in, and choose any text or image model published for your account.
Setup flow
- Start a Federation Server that publishes your models.
- Enter its URL in Vibecape Account settings.
- Test the connection and save it.
- Sign in to the Federation.
- Reload the model catalog and choose a model.
Changing the Federation URL changes the account authority. Sign in again after switching services.
Start a local Federation
The downcity-local-proxy skill can configure a local service for Codex, Claude Code, or both.
Install the skill for your coding agent:
npx skills add https://github.com/wangenius/downcity-local-proxy-skill \
--skill downcity-local-proxy \
--agent codex \
--global \
--yesYou can then ask the agent:
Create and start a local Downcity Federation Server so Vibecape can use
local Codex or Claude Code models. Use the downcity-local-proxy skill,
create ./downcity/local-proxy, install its dependencies, and start the
model sources I choose. Complete OAuth login if needed. Then give me the
Federation URL and guide me through connecting it in Vibecape.The generated project is typically started with:
cd ./downcity/local-proxy
pnpm install
pnpm start --codex --claude-codeUse --login for first-time OAuth, for example pnpm start --codex --login. The default local URL is commonly http://127.0.0.1:3000.
How model discovery works
A provider maps a stable public model ID to an upstream model. AIService publishes the catalog, and Vibecape requests the selected model by that public 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));The service exposes model discovery and chat endpoints, commonly under /v1/ai/models and /v1/ai/chat/completions.
Connect Vibecape
1. Open Account settings
Go to Settings → Account. Select the expand button next to Log in to reveal the Downcity Federation URL field.
2. Test and save the URL
Enter the Federation URL, run the connection test, then save it. Clear the field to return to the official Federation.
For a local service, start with:
http://127.0.0.1:30003. Sign in
Select Log in and choose a method offered by the Federation. A login from another Federation is not reused.
4. Choose a model
Open Settings → AI Model. Reload the catalog after changing the Federation, then choose a text or image model.
Troubleshooting
The connection test fails
- Confirm that the Federation process is running.
- Use
127.0.0.1only when Vibecape and the service run on the same computer. - Verify the protocol, port, proxy, and TLS certificate.
The connection works but no models appear
- Sign in again after changing the Federation URL.
- Reload the model catalog from AI Model.
- Confirm that the signed-in account can access the published models.
- Check that the service exposes a model catalog through
AIService.
A selected model cannot answer
- Verify that its public model ID still maps to a valid upstream model.
- Complete any required OAuth flow for the upstream CLI.
- Inspect the Federation logs without exposing tokens or credentials.