Personal fork of Oh My Pi (upstream), tuned for my own workflow. Upstream changes are synced occasionally. No external contributions accepted.
Full feature descriptions, benchmark data, and documentation live at omp.sh and the upstream README.
bun setup # install workspace deps + build Rust native addon
bun dev # run from sourceRequires bun ≥ 1.3.14 and a Rust toolchain (see rust-toolchain.toml).
Rebuild the native addon after changing Rust crates or packages/natives: bun run build:native.
40+ providers · 32 built-in tools · 14 lsp ops · 28 dap ops · ~55k lines of Rust core.
What's in the box:
- Code execution — persistent Python / Bun kernels that call back into agent tools
- LSP integration — rename, go-to-definition, diagnostics; everything your IDE knows
- Debugger driving — lldb / dlv / debugpy; breakpoints, stepping, variable inspection
- Time-traveling stream rules — mid-stream system reminders when the model goes off-script
- Subagent fan-out — parallel task dispatch into isolated worktrees, schema-validated returns
- Advisor review — a second model watching every turn, injecting inline notes
- Collab sessions — /collab generates shareable links and QR codes
- Web search — 25 backends, automatic chain fallback, structured content extraction
- Native execution — ripgrep / glob / shell in-process, no fork-exec on the hot path
- Code review — P0–P3 severity, confidence scoring
- Hashline editing — content anchors instead of verbatim matching, fewer tokens consumed
- GitHub integration — PRs / issues / diffs unified through
read - Hindsight memory — cross-session memory, project-scoped
- ACP editor protocol — drive from Zed, VS Code, and other editors
- Rule inheritance — auto-reads .claude / .cursor / .copilot and other existing configs
- Atomic commits — splits working tree changes by dependency order
- Browser driving — Puppeteer + stealth, can operate Electron apps
Full feature descriptions and screenshots: omp.sh / upstream README
32 tools live in the same namespace as read and bash. Pin the active set with --tools read,edit,bash,…; rarely used discoverable tools stay behind xd:// devices. read xd:// lists them, and write xd://<tool> runs one when tools.xdev is enabled.
Files & search
read— files, dirs, archives, SQLite, PDFs, notebooks, URLs, and internal://schemes through one path.write— create or overwrite a file, archive entry, or SQLite row.edit— hashline patches with content-hash anchors and stale-anchor recovery.ast_edit— structural rewrites previewed before apply, via ast-grep.ast_grep— structural code queries over 50+ tree-sitter grammars.search— regex over files, globs, and internal URLs.find— glob-based path lookup; reach forsearchwhen you need content matches.
Runtime
bash— workspace shell, with optional PTY or background-job dispatch.eval— persistent Python and JavaScript cells with shared prelude and tool re-entry.ssh— one remote command against a configured host.
Code intelligence
lsp— diagnostics, navigation, symbols, renames, code actions, raw requests.debug— drive a DAP session — breakpoints, stepping, threads, stack, variables.
Coordination
task— fan out subagents in parallel, optionally workspace-isolated.hub— message live agents, wait on or cancel background jobs, and supervise long-running processes.todo— ordered mutations over the session todo list with phase tracking.ask— structured follow-up questions for interactive runs.
Outside the box
browser— Puppeteer tabs over headless Chromium or CDP-attached apps.web_search— one query across configured providers, returning answer plus citations.github— GitHub CLI ops — repo, PR, issues, code search, Actions run-watch.generate_image— generate or edit raster images via Gemini, GPT, or xAI Grok image models.inspect_image— vision-model analysis of a local image file.tts— text-to-speech via xAI Grok Voice — five built-in voices, WAV or MP3.
Memory & state
checkpoint— mark conversation state for a later collapse-and-report.rewind— prune exploratory context, keep a concise report.retain— queue durable facts into the active Hindsight bank.recall— search the Hindsight bank for raw memories.reflect— ask Hindsight to synthesize an answer over the bank.
Misc
resolve— apply or discard a queued preview action.
Setting-gated, off by default: github, inspect_image, tts, checkpoint, rewind, retain, recall, reflect. Flip them on once, scoped per project.
40+ providers. Mix and match per role (default / smol / slow / plan / commit). Switch with /model, cycle with Ctrl+P.
See upstream docs: omp.sh/docs/providers
| Package | Description |
|---|---|
packages/ai |
Multi-provider LLM client with streaming |
packages/catalog |
Model catalog: bundled model database, provider descriptors, identity |
packages/agent |
Agent runtime with tool calling and state management |
packages/coding-agent |
Main CLI application |
packages/tui |
Terminal UI library with differential rendering |
packages/natives |
N-API bindings for grep, shell, image, text, syntax highlighting |
packages/stats |
Local observability dashboard |
packages/utils |
Shared utilities |
packages/wire |
Shared collab protocol types and relay constants |
packages/hashline |
Line-anchored patch language behind the edit tool |
packages/mnemopi |
Local SQLite memory engine |
packages/snapcompact |
Context compression package |
packages/collab-web |
Browser guest client for collab sessions |
packages/swarm-extension |
Swarm orchestration extension |
| Crate | Description |
|---|---|
pi-natives |
Core Rust native addon (N-API cdylib) |
pi-shell |
Embedded shell / PTY / process management |
pi-ast |
tree-sitter code summarizer and AST utilities |
pi-iso |
Task isolation backend (APFS, btrfs, zfs, overlayfs, projfs) |
MIT. See LICENSE.
Original work © 2025 Mario Zechner Extended work © 2025-2026 Can Bölük