⌥ AI Coding agent for the terminal — hash-anchored edits, optimized tool harness, LSP, Python, browser, subagents, and more
oh-my-pi (distributed as `omp`) is a terminal-based coding agent built in TypeScript, Rust, and Bun that connects to Claude and 40+ other LLM providers through a unified CLI. It ships with 32 built-in tools covering file reads with intelligent summarization, hash-anchored edits, and fast search, plus 13 LSP operations and 27 DAP (debugger) operations wired directly into the agent loop. Rather than treating language server and debugger access as optional add-ons, omp routes rename, reference, and hover calls through the actual workspace protocol so that re-exports and barrel files update automatically. A loopback bridge lets persistent Python and Bun execution kernels call back into the agent's own tools mid-session, enabling code that reads data, runs analysis, and charts results without switching contexts. The project benchmarks its edit harness against individual models, reporting a tenfold SWE-bench lift on Grok Code Fast 1 and a 61% token reduction on Grok 4 Fast by eliminating retry loops on malformed diffs. Developers working in polyglot codebases who want IDE-grade tooling without leaving the terminal are the primary audience.
- ✓Open-source license (MIT)
- ✓Actively maintained (<30d)
- ✓Healthy fork ratio
- ✓Clear description
- ✓Topics declared
- ✓Documented (README)
git clone https://github.com/can1357/oh-my-pi && cp oh-my-pi/*.md ~/.claude/agents/4 items en este repositorio
Aggressively remove grammatical scaffolding LLMs reconstruct while preserving meaning-carrying content. Output may be fragments. Use when compressing text for prompts, reducing token count, preparing context for LLM input, or making documentation more token-efficient. Applies LLM-aware compression rules that delete predictable grammar while preserving semantics.
Write system prompts, tool docs, and agent definitions. Project tag conventions + RFC 2119 keywords + dense compression. Use when authoring or editing any prompt the model reads.
Optimize the description prompts an AI agent reads to learn its built-in tools (the `.md` files under prompts/tools/). Two halves: (1) measure how much of a prompt is already inferable from the tool's JSON parameter schema + name, to prune redundancy with evidence; (2) house authoring rules for what belongs in a tool prompt vs what stays in code. Use when auditing, trimming, writing, or reviewing tool prompts, deciding what schema field descriptions already cover, or testing schema-vs-prompt overlap before deleting prompt lines.
Resumen de Subagents
<p align="center"> <img src="https://github.com/can1357/oh-my-pi/blob/main/assets/hero.png?raw=true" alt="omp"> </p> <p align="center"> <strong>A coding agent with the IDE wired in.</strong> <strong><a href="https://omp.sh">omp.sh</a></strong> </p> <p align="center"> <a href="https://www.npmjs.com/package/@oh-my-pi/pi-coding-agent"><img src="https://img.shields.io/npm/v/@oh-my-pi/pi-coding-agent?style=flat&colorA=222222&colorB=CB3837" alt="npm version"></a> <a href="https://github.com/can1357/oh-my-pi/blob/main/packages/coding-agent/CHANGELOG.md"><img src="https://img.shields.io/badge/changelog-keep-E05735?style=flat&colorA=222222" alt="Changelog"></a> <a href="https://github.com/can1357/oh-my-pi/actions"><img src="https://img.shields.io/github/actions/workflow/status/can1357/oh-my-pi/ci.yml?style=flat&colorA=222222&colorB=3FB950" alt="CI"></a> <a href="https://github.com/can1357/oh-my-pi/blob/main/LICENSE"><img src="https://img.shields.io/github/license/can1357/oh-my-pi?style=flat&colorA=222222&colorB=58A6FF" alt="License"></a> <a href="https://www.typescriptlang.org"><img src="https://img.shields.io/badge/TypeScript-3178C6?style=flat&colorA=222222&logo=typescript&logoColor=white" alt="TypeScript"></a> <a href="https://www.rust-lang.org"><img src="https://img.shields.io/badge/Rust-DEA584?style=flat&colorA=222222&logo=rust&logoColor=white" alt="Rust"></a> <a href="https://bun.sh"><img src="https://img.shields.io/badge/runtime-Bun-f472b6?style=flat&colorA=222222" alt="Bun"></a> <a href="https://discord.gg/4NMW9cdXZa"><img src="https://img.shields.io/badge/Discord-5865F2?style=flat&colorA=222222&logo=discord&logoColor=white" alt="Discord"></a> </p> <p align="center"> Fork of <a href="https://github.com/badlogic/pi-mono">Pi</a> by <a href="https://github.com/mariozechner">@mariozechner</a> </p> The most capable agent surface that ships. Continuously tuned by real-world use — complete out of the box, open all the way down. **40+** providers · **32** built-in tools · **14** lsp ops · **28** dap ops · **~55k** lines of Rust core. > [!NOTE] > Pull requests are **temporarily open to everyone** as a trial. We previously > required a vouch before accepting PRs; that requirement is lifted for now > while we evaluate how open contributions go. Depending on the results, the > vouch system may return. ## Install **macOS · Linux** ```sh curl -fsSL https://omp.sh/install | sh ``` **Homebrew** ```sh brew install can1357/tap/omp ``` **Bun (recommended)** ```sh bun install -g @oh-my-pi/pi-coding-agent ``` **Windows (PowerShell)** ```powershell irm https://omp.sh/install.ps1 | iex ``` **Pinned versions (mise)** ```sh mise use -g github:can1357/oh-my-pi ``` macOS · Linux · Windows · bun ≥ 1.3.14 ### Shell completions `omp` generates its own completion scripts for **bash**, **zsh**, and **fish** from the live command/flag metadata, so they never drift from the actual CLI. Subcommands, flags, and enum values complete statically; model names (`--model`, `--smol`, `--slow`, `--plan`) resolve against the bundled model catalog and `--resume` against your on-disk sessions. ```sh # zsh — add to ~/.zshrc (or write the output into a file on your $fpath) eval "$(omp completions zsh)" # bash — add to ~/.bashrc eval "$(omp completions bash)" # fish omp completions fish > ~/.config/fish/completions/omp.fish ``` ## Every tool, _benchmaxxed_. Edits that land on the first attempt. Reads that summarize files instead of dumping their content. Searches that return instantly. Pick any model — omp will get it right. | model | metric | what | | ---------------- | ------------ | --------------------------------------------------------------------- | | Grok Code Fast 1 | 6.7% → 68.3% | Tenfold lift the moment the edit format stops eating the model alive. | | Gemini 3 Flash | +5 pp | Over str_replace — beats Google's own best attempt at the format. | | Grok 4 Fast | −61% tokens | Output collapses once the retry loop on bad diffs disappears. | | MiniMax | 2.1× | Pass rate more than doubles. Same weights, same prompt. | - `read` : summarized snippets · ideal defaults · selector hit rate - `search` : fastest in the west - `lsp` : everything your IDE knows, the agent knows - `prompts` : adjusted relentlessly for each model [Read the full post ↗](https://blog.can.ac/2026/02/12/the-harness-problem/) ## The Pi _you love_, with **batteries included**. Originally built on [Mario Zechner](https://github.com/mariozechner)'s wonderful [Pi](https://github.com/badlogic/pi-mono), omp adds everything you're missing. ### 01 · Code execution w/ tool-calling Most harnesses give the agent a Python sandbox and call it done. Ours runs persistent Python and a Bun worker, and either kernel can call back into the agent's own tools — read, search, task — over a loopback bridge. The agent loads a CSV with tool.read from inside Python, charts it from JavaScript, and never leaves the cell. ![omp TUI: a single eval session with `[1/2] pandas describe` (Python) printing a real DataFrame.describe() table, followed by `[2/2] top scorer` (JavaScript) running a reduce. Footer: 'Both kernels ran in one session.'](https://omp.sh/captures/eval.webp) ### 02 · LSP wired into every write Ask for a rename and you get a rename. The call goes through workspace/willRenameFiles, so re-exports, barrel files, and aliased imports update before the file moves. Everything your IDE knows, the agent knows.  ### 03 · Drives a real debugger A C binary segfaults: the agent attaches lldb, steps to the bad pointer, reads the frame. A Go service hangs: it attaches dlv and walks the goroutines. A Python process is wedged: debugpy, pause, inspect, evaluate. Most agents are still sprinkling print statements.  _[Watch the capture ↗](https://omp.sh/clips/dap.mp4)_ ### 04 · Time-traveling stream rules Your rules sit dormant until the model goes off-script. A regex match aborts the stream mid-token, injects the rule as a system reminder, and retries from the same point. You get course-correction without paying context tax on every turn. Injections survive compaction, so the fix sticks.  _[Watch the capture ↗](https://omp.sh/clips/ttsr.mp4)_ ### 05 · First-class subagents Split a job across workers and get typed results back. task fans out into isolated worktrees, each worker runs its own tool surface, and the final yield is a schema-validated object the parent reads directly. No prose to parse, no merge conflicts between siblings, no orphaned edits.  _[Watch the capture ↗](https://omp.sh/clips/irc.mp4)_ ### 06 · A second model, watching every turn. Pair a reviewer model to the 'advisor' role and it reads every turn the main agent takes, injecting notes inline — a quiet aside, a concern, or a hard blocker. It runs on its own context and its own model, so it catches what the doer rushed past. The main agent sees the note and course-corrects, or tells you why it won't.  _[Watch the capture ↗](https://omp.sh/clips/advisor.mp4)_ ### 07 · Hand someone the link, they're in. /collab puts your live session on a relay and hands back a link — and a QR. A teammate joins from another terminal with omp join, or just opens it in a browser. Share read-write to pair on the same agent, or /collab view for a read-only link anyone can watch but no one can steer. Frames are sealed client-side; the relay never sees your keys.  _[Watch the capture ↗](https://omp.sh/clips/collab.mp4)_ ### 08 · Read a pdf on arxiv, why not? web_search chains eighteen ranked providers and hands whatever URLs it finds straight to read. Arxiv PDFs, GitHub pages, Stack Overflow threads come back as structured markdown with anchors intact — the same tool surface you use on local files. Cite, follow, quote, never lose where you came from. ](https://claudewave.com/repo/can1357-oh-my-pi)<a href="https://claudewave.com/repo/can1357-oh-my-pi"><img src="https://claudewave.com/api/badge/can1357-oh-my-pi" alt="Featured on ClaudeWave: can1357/oh-my-pi" width="320" height="64" /></a>Más Subagents
The agent harness performance optimization system. Skills, instincts, memory, security, and research-first development for Claude Code, Codex, Opencode, Cursor and beyond.
The agent that grows with you
Java 面试 & 后端通用面试指南,覆盖计算机基础、数据库、分布式、高并发、系统设计与 AI 应用开发
Build Agentic workflows, RAG pipelines, with rich AI model and tool support on one collaborative workspace. Deploy on cloud, VPC, or self-hosted, so teams move from prototype to production without rebuilding the stack.
The agent engineering platform.
Turn any codebase, with its docs, SQL schemas, configs, and PDFs, into a queryable knowledge graph. A /graphify skill for Claude Code, Cursor, Codex, and Gemini CLI: local deterministic AST parsing, every edge explained, no vector store.