--- title: Pi --- Pi is a minimal and extensible coding agent. ## Install Install [Pi](https://github.com/badlogic/pi-mono): ```bash npm install -g @mariozechner/pi-coding-agent ``` ## Usage with Ollama ### Quick setup ```bash ollama launch pi ``` This installs Pi, configures Ollama as a provider including web tools, and drops you into an interactive session. To configure without launching: ```shell ollama launch pi --config ``` ### Run directly with a model ```shell ollama launch pi --model qwen3.5:cloud ``` Cloud models are also available at [ollama.com](https://ollama.com/search?c=cloud). ## Extensions Pi ships with four core tools: `read`, `write`, `edit`, and `bash`. All other capabilities are added through its extension system. On-demand capability packages invoked via `/skill:name` commands. Install from npm or git: ```bash pi install npm:@foo/some-tools pi install git:github.com/user/repo@v1 ``` See all packages at [pi.dev](https://pi.dev/packages) ### Web search Pi can use web search and fetch tools via the `@ollama/pi-web-search` package. When launching Pi through Ollama, package install/update is managed automatically. To install manually: ```bash pi install npm:@ollama/pi-web-search ``` ### Autoresearch with `pi-autoresearch` [pi-autoresearch](https://github.com/davebcn87/pi-autoresearch) brings autonomous experiment loops to Pi. Inspired by Karpathy's autoresearch, it turns any measurable metric into an optimization target: test speed, bundle size, build time, model training loss, Lighthouse scores. ```bash pi install https://github.com/davebcn87/pi-autoresearch ``` Tell Pi what to optimize. It runs experiments, benchmarks each one, keeps improvements, reverts regressions, and repeats — all autonomously. A built-in dashboard tracks every run with confidence scoring to distinguish real gains from benchmark noise. ```bash /autoresearch optimize unit test runtime ``` Each kept experiment is automatically committed. Each failed one is reverted. When you're done, Pi can group improvements into independent branches for clean review and merge. ## Manual setup Add a configuration block to `~/.pi/agent/models.json`: ```json { "providers": { "ollama": { "baseUrl": "http://localhost:11434/v1", "api": "openai-completions", "apiKey": "ollama", "models": [ { "id": "qwen3-coder" } ] } } } ``` Update `~/.pi/agent/settings.json` to set the default provider: ```json { "defaultProvider": "ollama", "defaultModel": "qwen3-coder" } ```