Pi is a minimal and extensible coding agent.
Quick setup
bash
ollama launch piThis installs Pi if needed, configures Ollama as a provider including web tools, and drops you into an interactive session.
To configure without launching:
shell
ollama launch pi --configRun directly with a model
shell
ollama launch pi --model qwen3.5:cloudCloud models are also available at ollama.com.
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@v1See all packages at pi.dev
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-searchAutoresearch with pi-autoresearch
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-autoresearchTell 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 runtimeEach 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
Install
Install Pi:
bash
npm install -g @earendil-works/pi-coding-agentAdd 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"
}