← All reportsPublic report

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

68k stars TypeScript View on GitHubprofiled 11d ago
Try GitZoid
400PRs this week
7Contributors
27Deps scanned
1Issues found
01 · Repo overview

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

TypeScriptJavaScriptShell

Frameworks

Bun (runtime/test runner)Node.jsMCP (Model Context Protocol, stdio)Vitest (lsp-daemon, lsp-tools-mcp)

Infrastructure

Docker dev container (.devcontainer/Dockerfile, qa.Dockerfile)GitHub CodespacesVS Code Dev ContainerstmuxPlatform-specific binary packages (darwin/linux/windows, musl/baseline variants)

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.

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.

03 · Security check

Dependencies and code review

27 dependencies scanned

Dependency advisories

Security Watch

1 vulnerable package (1 advisories) across 27 scanned dependencies.

warninghigh · npmfixed in 5.2.2

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