A single-user Next.js 15 control panel for app.kilo.ai.
Wraps the Kilo tRPC API so you can manage Agent Profiles, view Cloud Agent sessions, talk to the Kilo LLM Gateway, and watch your credits — all from one password-gated dashboard.
- Dashboard — credits remaining, default profile, active sessions, KiloClaw sandbox status, BYOK providers.
- Profiles — list, create, edit (name/description), set default, delete, and edit setup commands (with the 500-char-per-command validation the Kilo backend enforces).
- Sessions — live list of active Cloud Agent sessions plus KiloClaw sandbox details (provider, region, Fly machine, secret counts, etc.).
- Chat — direct access to the Kilo Gateway (
/api/gateway/v1/chat/completions). Preferred models surfaced first; billed against your Kilo credits. - Models — browse every model the Gateway exposes.
- Credits — balance, usage bar, Kilo Pass threshold, account info.
- Next.js 15 (App Router, server actions)
- Tailwind CSS + minimal shadcn-style UI primitives
- Password-gated via signed cookie middleware
- All Kilo calls happen server-side — the JWT never reaches the client
See .env.example. Required:
| Name | Purpose |
|---|---|
KILO_API_TOKEN |
Your Kilo JWT (from app.kilo.ai profile) |
APP_PASSWORD |
Password to gate access to the UI |
Optional:
| Name | Purpose |
|---|---|
APP_SESSION_SECRET |
HMAC secret for the session cookie (defaults to APP_PASSWORD) |
KILO_API_BASE |
Override the Kilo API base URL (default https://api.kilo.ai) |
npm install
cp .env.example .env.local
# edit .env.local — set KILO_API_TOKEN and APP_PASSWORD
npm run devThen open http://localhost:3000 and sign in with APP_PASSWORD.
- Push this repo to GitHub.
- In app.kilo.ai → Deploy, link the repo and add env vars
KILO_API_TOKENandAPP_PASSWORD(mark both as secrets). - Deploy. Kilo Deploy auto-detects Next.js 15.
All calls go through lib/kilo.ts which wraps Kilo's tRPC endpoints:
agentProfiles.list / .get / .create / .update / .delete / .setCommands / .setAsDefaultactiveSessions.listkiloclaw.getStatusmodels.listbyok.list/api/user(REST)/api/gateway/v1/chat/completions(OpenAI-compatible)