Skip to main content
ClaudeWave
ES, Spanish
can1357 / Subagents

oh-my-pi

⌥ Coding agent with the IDE wired in. Built by Stencil Labs.

  • 36.3k estrellas
  • 4.1k forks
  • 4160 issues abiertos
  • Lenguaje: TypeScript
  • Licencia: MIT
  • actualizado

Instalación

Terminal
git clone https://github.com/can1357/oh-my-pi && cp oh-my-pi/*.md ~/.claude/agents/
  1. Clone the repository and copy the agent .md definitions into ~/.claude/agents (or .claude/agents inside a project).
  2. Start a new Claude Code session to load the agents.
  3. Delegate work to them with the Task/Agent tool or by name.

Nota editorial

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.

Items instalables

4 items en este repositorio

Re-encode verbose prose into a dense telegraphic register — punctuation as connectives, label frames, verbless assertions — without losing normativity or precision. Use when compressing system prompts, tool/function descriptions, skill bodies, or agent instructions; reducing token count or context bloat; making documentation token-efficient for LLM input; or rewriting text in compressed notation.

Instalar

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.

Instalar

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.

Instalar
toolsSkill
Instalar
README

Resumen de Subagents

README completo en GitHub

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

Without a usable bun (or with --binary), the install scripts fetch the prebuilt binary from build.stencil.so and check its SHA-256 before installing it. Pin a release with curl -fsSL https://omp.sh/install | sh -s -- --binary --ref v (PowerShell: -Binary -Ref v).

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 < 2.30: `nix profile install`)
nix profile add github:can1357/oh-my-pi

Flake consumers can use packages..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.

modelmetricwhat
Grok Code Fast 16.7% → 68.3%Tenfold lift the moment the edit format stops eating the model alive.
Gemini 3 Flash+5 ppOver str_replace — beats Google's own best attempt at the format.
Grok 4 Fast−61% tokensOutput collapses once the retry loop on bad diffs disappears.
MiniMax2.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.

omp TUI running Python code and rendering a chart.

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.

omp TUI with TypeScript and Biome language servers active.

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.

omp TUI: a live lldb-dap session against a native binary at /tmp/omp-native/demo. Adapter=lldb-dap, Status=stopped, Frame=xorshift32, Instruction pointer 0x10000055C, Location demo.c:6:10. Debug scopes and Debug variables cards show locals (x = 57351) and the agent confirms the math: x went from 7 → 57351 (= 7 ^ (7<<13)).

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.

omp TUI: agent reading src.rs and about to write Box::leak when the request aborts (red Error: Request was aborted), an amber ⚠ Injecting rule: box-leak card injects the rule body Don't reach for Box::leak in production code paths, and the agent then course-corrects by proposing Arc and asking the user to confirm.

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.

omp TUI showing task spawning two subagents ComponentsExports and RoutesExports, the constraints block requiring an IRC DM between peers, the per-subagent status cards with cost and duration, and a final Findings section listing both exports plus an honest 'IRC coordination note' about a one-sided handshake.

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.

omp TUI: /advisor status shows the advisor running on openai-codex/gpt-5.5; after the main agent scopes a catch to ENOENT instead of swallowing every error, an amber 'Advisor 1 note (concern)' card warns the fix no longer matches the user's literal acceptance criterion.

Watch the capture ↗

07 · Hand someone the link, they're in.

Topics
ai-agentai-coding-agentanthropicbunclaudeclicoding-assistantllmmcpmulti-provideropenairustterminaltuitypescript
Preguntas frecuentes

Lo que la gente pregunta sobre oh-my-pi

¿Qué es can1357/oh-my-pi?

can1357/oh-my-pi es subagents para el ecosistema de Claude AI. ⌥ Coding agent with the IDE wired in. Built by Stencil Labs. Tiene 36.3k estrellas en GitHub y su última actualización registrada es del 2026-10-23.

¿Cómo se instala oh-my-pi?

Puedes instalar oh-my-pi clonando el repositorio (https://github.com/can1357/oh-my-pi) o siguiendo las instrucciones del README en GitHub. ClaudeWave también te ofrece bloques de instalación rápida en esta misma página.

¿Es seguro usar can1357/oh-my-pi?

Nuestro agente de seguridad ha analizado can1357/oh-my-pi y le ha asignado un Trust Score de 97/100 (tier: Verified). Revisa el desglose completo de comprobaciones superadas y flags en esta página.

¿Quién mantiene can1357/oh-my-pi?

can1357/oh-my-pi es mantenido por can1357. La última actividad registrada en GitHub es del 2026-10-23, con 4160 issues abiertos.

¿Hay alternativas a oh-my-pi?

Sí. En ClaudeWave puedes explorar subagents similares en /categories/agents, ordenados por popularidad o actividad reciente.

¿Mantienes este repo? Muestra su Trust Score en tu README

La insignia muestra el Trust Score y el veredicto actuales de este repositorio y enlaza a esta página. Sigue los datos del catálogo: nadie puede comprar ni editar la puntuación que enseña.

ClaudeWave Trust Score for can1357/oh-my-pi
Markdown (README)
[![ClaudeWave Trust Score for can1357/oh-my-pi](https://claudewave.com/api/badge/can1357-oh-my-pi)](https://claudewave.com/en/repo/can1357-oh-my-pi)
HTML
<a href="https://claudewave.com/en/repo/can1357-oh-my-pi"><img src="https://claudewave.com/api/badge/can1357-oh-my-pi" alt="ClaudeWave Trust Score for can1357/oh-my-pi" width="320" height="64"></a>

Qué significa la insignia y cómo se calcula la puntuación

Alternativas

Ver todas
Web del proyecto
https://omp.sh