code-yeongyu/oh-my-openagent
omo/lazycodex: The coding agent for tokenmaxxers;the one and only agent harness for complex codebases. For your Codex, for your OpenCode
How oh-my-openagent is put together
oh-my-openagent (package name 'oh-my-opencode') is a TypeScript ESM monorepo built as an AI-agent harness/plugin for coding agents (OpenCode, Codex, Claude Code). The root package exposes a CLI (bin/oh-my-opencode.js) and a library entry (dist/index.js) assembled from ~30 Bun-workspace packages under packages/, each with its own tsconfig and tests. Subsystems include MCP servers over stdio (ast-grep, git-bash, lsp-tools), an LSP daemon/core pair, model/config/prompt/rules cores, work-tracking state (boulder-state), and per-harness adapters/installers (omo-codex, omo-senpi, omo-native). Data flow is largely local-process: the CLI/plugins spawn MCP servers and daemons, read/write JSON state files under .omo/, and source provider credentials from a repo-root .env. A dev container (Node 24 + Bun 1.3.12) supports Codespaces/Dev Containers/Docker workflows.
Languages
Frameworks
Infrastructure
Major components
Root CLI & installer (bin/, postinstall.mjs)
Provides the oh-my-opencode/omo-agent-toolkit/lazycodex binaries, platform detection, version-mismatch checks, and post-install wiring.
MCP server packages (ast-grep-mcp, git-bash-mcp, lsp-tools-mcp, mcp-stdio-core, mcp-client-core)
Expose AST-grep, git/bash, and LSP tooling to agents as Model Context Protocol servers over stdio.
LSP subsystem (lsp-core, lsp-daemon)
Shared language-server client core plus a standalone daemon process that hosts LSP sessions for the harness.
Harness adapters & installers (omo-codex, omo-senpi, omo-native, omo-opencode, senpi-task, pi-goal, pi-webfetch)
Install and integrate the plugin into Codex/Senpi/OpenCode/native runtimes, including marketplace packaging and staged runtime scripts.
Core libraries (rules-engine, delegate-core, model-core, omo-config-core, prompts-core, utils, hashline-core, comment-checker-core)
Pure-TypeScript building blocks for rules evaluation, delegation, model capability resolution, configuration, prompts, and edit-time comment checking.
Agent workflow state (boulder-state, team-core, memory-core, openclaw-core, tmux-core)
Track multi-session 'boulder' work state, task timers, and plan checklists in .omo/boulder.json plus team/tmux orchestration support.
Compatibility & skills loading (claude-code-compat-core, skills-loader-core, agents-md-core, shared-skills)
Load Claude Code plugins/MCP/commands/agents, AGENTS.md discovery/injection, and shared skill assets including provenance-tracked frontend upstreams.
Dev/QA environment (.devcontainer, script/agent/*, qa-sandbox.sh)
Docker/Codespaces image with Node+Bun+tmux, setup.sh bootstrap that sources .env and initializes submodules, and a sandboxed QA shell isolating XDG/CODEX_HOME.
A high-volume reliability week that fixed a memory leak, run-id collisions, sandbox failures, and shutdown stalls while adding richer telemetry attribution.
3 weeksWeek of 2026-08-24
Week of 2026-08-24latest
A high-volume reliability week that fixed a memory leak, run-id collisions, sandbox failures, and shutdown stalls while adding richer telemetry attribution.
Week of 2026-08-17
Two beta releases shipped this week along with a new worktree-sweep command, Windows path fixes, and task-lane spill handling under load caps.
Week of 2026-08-10
A quiet week focused almost entirely on hardening the runtime fallback system's retry behavior across nine targeted fixes.
Over the last few weeks the project moved from stabilizing its fallback and retry machinery into a busy release cycle, shipping two beta releases (v5.0.0-beta.17 and beta.18) alongside a new worktree-sweep tool and task-lane improvements. The most recent week focused on reliability fixes: patching a memory leak in Atlas, preventing run-id collisions, unblocking shutdown lock contention, and making telemetry more informative with surface attribution.
Week by week
2026-08-24A high-volume reliability week that fixed a memory leak, run-id collisions, sandbox failures, and shutdown stalls while adding richer telemetry attribution.latest6 changes
Fix
Atlas memory leak fixed
Cleaned up session lifecycle state so the Atlas component no longer leaks memory when sessions end early.
Fix
Run-id collision fix
Reflection records now mint unique run ids above persisted completion records, preventing collisions with saved data.
Fix
Sandbox degradation for restricted systems
When the sandbox tool cannot create a user namespace, the system now degrades gracefully instead of failing.
Fix
Shutdown no longer stalls on locks
Journal flushing and dream-journal scanning were reworked to avoid contending for state locks during shutdown.
Fix
Task scheduling by dependencies
DAG tasks are now admitted as soon as their dependencies are ready rather than waiting for fixed wave barriers.
Feature
Telemetry surface attribution
Telemetry events now record which surface they came from plus a random install id (schema v3), improving usage insight without identifying users.
2026-08-17Two beta releases shipped this week along with a new worktree-sweep command, Windows path fixes, and task-lane spill handling under load caps.6 changes
Chore
v5.0.0-beta.18 released
Shipped a new beta build including Windows path fixes for the worktree-sweep command and an updated senpi dependency pin.
Chore
v5.0.0-beta.17 released
An earlier beta cut that included dependency bumps and platform-explicit test fixtures.
Feature
New worktree-sweep command
Added 'omo-agent-toolkit worktree-sweep' to clean up review worktrees, with locking and teardown only after all lanes finish.
Fix
Windows compatibility fixes
Normalized porcelain paths at the parse boundary and finished separator parity so the sweep works correctly on Windows.
Feature
Task lane spill-through
When primary task lanes saturate, spawn admission now spills across fallback lanes while respecting a global concurrency cap.
Fix
Brand casing and model-id disclosure
Preserved canonical OmO display casing and updated telemetry to export known model ids regardless of routing provider, aligning privacy disclosures.
2026-08-10A quiet week focused almost entirely on hardening the runtime fallback system's retry behavior across nine targeted fixes.6 changes
Fix
Stale timeout generations rejected
The fallback runtime now ignores timeout results from outdated retry generations so old attempts can't corrupt current state.
Fix
Synthetic retries acknowledged
Retry accounting was corrected so synthetic retry attempts are properly recognized.
Fix
Fallback identity alignment
Created fallback identities now stay consistent with the rest of the retry pipeline.
Fix
Queued fallback state retained
Fallback requests waiting in queue keep their state instead of being lost.
Fix
Explicit retry variants honored
User-specified retry variants are respected rather than overridden by defaults.
Chore
Test stability improvements
Isolated the shutdown dream budget test and Windows LSP compatibility checks to reduce flaky results.
Dependencies and code review
Dependency advisories
Security Watch
1 vulnerable package (1 advisories) across 27 scanned dependencies.
js-yaml 5.0.0
1 advisory. Fixed in 5.2.2.
How it can be abusedIf this tool ever loads a YAML file that an attacker can influence, such as a config or rules file from an untrusted repo, a specially crafted tiny file can make parsing hang and freeze the CLI or agent process. Anyone running the tool against untrusted repositories or shared configs would be affected.
- highGHSA-pm4m-ph32-ghv5js-yaml: Exponential parsing time in flow collections leads to denial of service
Code review
No concrete code-level issues confirmed.
Get this report every week for your repos.
GitZoid learns each repo, reports what changed, and flags what needs attention. One flat price for the whole team.
$19 a month, flat · First 10 outputs free · No card required