⭐ +405 today TypeScript

can1357/oh-my-pi

🔗 https://github.com/can1357/oh-my-pi ↗

A coding agent with the IDE wired in. omp.sh Built by Stencil Labs · Fork of Pi by @mariozechner The most capable agent surface that ships. Continuously tuned by real-world use — complete out of the box, open all the way down. 60+ providers · 31 built-in tools · 14 lsp ops · 28 dap ops · ~80k 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 curl -fsSL https://omp.sh/install | sh Alpine / musl: the prebuilt musl binary links libstdc++ / libgcc dynamically, which stock Alpine does not ship. Install them first: apk add libstdc++ libgcc . Homebrew brew install can1357/tap/omp Bun (recommended) bun install -g @oh-my-pi/pi-coding-agent Nix # Run without installing nix run github:can1357/oh-my-pi # Or install into the active profile nix profile install github:can1357/oh-my-pi Flake consumers can use packages.<system>.omp , overlays.default , nixosModules.default , or homeManagerModules.default . A Home Manager configuration can install OMP and own its settings declaratively: { inputs . omp . url = "github:can1357/oh-my-pi" ; # In your Home Manager module: imports = [ inputs . omp . homeManagerModules . default ] ; programs . omp = { enable = true ; settings . startup . quiet = true ; } ; } Windows (PowerShell) irm https: // omp.sh / install.ps1 | iex Pinned versions (mise) 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. # 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 grep : fastest in the west lsp : everything your IDE knows, the agent knows prompts : adjusted relentlessly for each model Read the full post ↗ The Pi you love , with batteries included . Originally built on Mario Zechner 's wonderful Pi , 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. 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. Read the LSP config docs 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 ↗ 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 ↗ 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 ↗ Watch the fan-out while it runs: Alt+A opens Agent Hub , where the roster shows current activity and usage for every subagent. Open one to read its live transcript, type a steering message, revive a parked worker, or kill a stuck one without aborting the parent session. 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 ↗ 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 ↗ 08 · Read a pdf on arxiv, why not? web_search chains twenty-three 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. Watch the capture ↗ 09 · Unapologetically native. Even on Windows. Other agents shell out to rg, grep, find, and bash. On many machines those binaries don't exist, and on the ones where they do, every call costs a fork-exec round-trip. omp links the real implementations into the process. ripgrep, glob, find: in-process. brush is the bash — with sessions that survive across calls, and 58 command-line utilities (ls, sed, sort, xargs, even jq) ported into the builtins crate and run in-process, zero fork/exec. The same omp binary runs on macOS, Linux, and Windows — no WSL bridge. 10 · Code review with priorities and a verdict Get a clear verdict on whether the change ships, with every issue ranked P0 through P3 and scored for confidence. /review spawns dedicated reviewer subagents that sweep branches, single commits, or uncommitted work in parallel. You tackle what blocks release first; nothing important hides in a wall of prose. Want to steer the review yourself? /annotate code-review opens the diff so you can pin notes to lines before the reviewers run. /annotate also takes the latest reply, a session message, a file, or quoted text and pastes your notes into the prompt. See /annotate . 11 · Hashline: edit by content hash Perfect edits, fewer tokens. The model points at anchors instead of retyping the lines it wants to change, so whitespace battles and string-not-found loops just stop happening. Edit a stale file and the anchors diverge — we reject the patch before it corrupts anything. Grok 4 Fast spends 61% fewer output tokens on the same work. 12 · GitHub is just another filesystem Other harnesses bolt on gh_issue_view, gh_pr_view, gh_search — each with its own parameters the agent has to learn and you have to debug. We skipped that. read already handles paths; PRs are paths. One interface to teach the model, one surface to keep correct.

內容為收集當日抓取的 repo 描述原文,完整資訊請見 GitHub 原頁。