Prerequisites
- Node.js 22 or newer — nodejs.org
- pnpm 10.33.3 — matches the pinned
packageManagerfield inpackage.json - An LLM provider API key — Fleet Pi defaults to Google Gemini (
gemini-3.5-flash). Amazon Bedrock, OpenAI, Anthropic, Google Vertex, Mistral, Groq, and Ollama are also supported.
google and the default model is gemini-3.5-flash. Set GEMINI_API_KEY to use the default, or switch providers in the in-app config panel.
1. Clone and install
2. Create local configuration
.env from the repo root, then .env.local (.env.local wins) for server-side routes. The checked-in example only contains public-safe knobs. See the configuration reference for every supported variable.
Typical first-run choices:
- Set
GEMINI_API_KEYto use the default Google Gemini provider. - To use a different provider, set its API-key env var (
OPENAI_API_KEY,ANTHROPIC_API_KEY,MISTRAL_API_KEY,GROQ_API_KEY,OLLAMA_BASE_URL) or AWS credentials for Bedrock. Then select the provider in the in-app config panel. - Leave
PI_AGENT_DIRunset unless you want a non-default Pi agent resource directory.
Provider keys can also be entered in the in-app config panel, which writes them to
.env.local. The active provider and model are stored in Pi settings.3. Start the app
4. Smoke check
In a second terminal:read package.json in the chat UI and confirm that a read tool card appears in the transcript.
What “standalone” means
Standalone does not mean “without Pi” or “without an LLM provider.” It means:- You run Fleet Pi locally as a normal pnpm web app.
- The bundled Pi runtime (
@earendil-works/pi-coding-agent) powers chat and tool execution. - The backend still expects a working LLM provider — every model call goes through the circuit breaker.
- You do not need the Codex desktop app or the advanced Codex worktree flow.
Optional: enable authentication
Fleet Pi ships with Better Auth and an embedded SQLite database. Auth is disabled until you set a secret:GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET are both set. The auth database defaults to .fleet/auth.sqlite; override with AUTH_DATABASE_PATH.
Useful commands
Next steps
Configuration
Every environment variable Fleet Pi reads.
Chat modes
Agent, Plan, and Harness — and the tools each one allows.
Agent workspace
Learn how durable memory, plans, and Pi resources live in Git.
Architecture
Browser client, TanStack Start backend, and agent workspace boundaries.