oh-my-agent: cross-vendor scheduling, Kimi and OpenCode land
Two new vendors and an OS-level scheduler merged into oh-my-agent this week, which means your agents can now run on a clock instead of only when you prompt them. 135 commits, and the theme underneath most of them is the same: stop pinning the agent to a single runtime, and stop leaking resources between sessions.
oh-my-agent is a cross-vendor harness. The point is that a workflow, a skill, or a subagent dispatch should not care which CLI is underneath it. This week pushed hard on that promise.
What's new
- Kimi Code CLI is now a first-class vendor: OAuth/
KIMI_API_KEYauth, TOML hook install into~/.kimi-code/config.toml, mode-aware Serena and chrome-devtools MCP, and external dispatch viakimi -p. - OpenCode lands as an extension-class vendor with in-process plugin bridging. Subagent dispatch runs through
opencode run --agent <id>, and model slugs are validated againstopencode modelsrather than a hardcoded catalog. oma schedule:*adds time-based recurring agent jobs that fire independently of any runtime. OneSchedulerPortabstracts launchd,systemd --user, crontab, and Windowsschtasks, with--cronor natural-language--everyintervals.oma serena reapkills idle language servers. Serena keeps a per-project LSP stack warm with no idle shutdown, so a few open projects pin 1.5GB or more; the reaper trims them and Serena respawns on the next tool call.oma memory:gcprunes project-local session state and aged Serena run artifacts (defaults: keep 100 sessions, 50 days), while curated knowledge like decisions and designs is never touched.- Two new agents:
refactor-engineer(budget-funded, behavior-preserving refactoring) andresearch-explorer(cited, trust-labeled cross-source synthesis), backed by the newoma-refactorskill. oma-mobilegains full Flutter and React Native variants, each with a mandated repository-layer response cache (Drift offline-first, TanStack Query plus MMKV).
What's fixed
oma updateno longer bulk-deletes vendor skill symlinks on every run, so a mid-update download failure can no longer leave the skills directory empty.- Updates stopped pruning skills that a shipped agent depends on, closing a gap where
refactor-engineercould arrive withoutoma-refactor. cleanupPeriodDaysmoved to the top level of Claude Code settings, where it was a no-op nested underenv.- Antigravity hooks registered through the
/hooksUI are now preserved instead of clobbered on link and update.
What's better
- Docs verification got far less noisy: full-repo
oma docs verifydrops from 6,611 to 394 broken refs (and the web/docs subset from 491 to 29), so the remainder is real drift. oma hookfires on every prompt, so it now takes an argv fast path and lazy-loads the command tree: invocation went from about 0.54s to 0.32s.UserPromptSubmithandler budgets were retuned against a p95 of 373ms, dropping the aggregate timeout ceiling from 21s to 15s while keeping headroom over the 2s AgentMemory recall budget.- A large structural pass split all 28 non-test files over 500 lines into focused modules (largest remaining is 491) and consolidated duplicated helpers (type guards, safe writes, vendor unions, exit codes) with no behavior change.
- AgentMemory recall now drops facts older than 30 days by default, so long-resolved decisions stop rehydrating into the boundary snapshot.
Gemini CLI is on its sunset path (June 18, 2026), so GEMINI.md generation and the standalone gemini preset were removed, with legacy configs soft-redirecting to antigravity.
Installation
# macOS / Linux
curl -fsSL https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.sh | bash
# Windows (PowerShell)
irm https://raw.githubusercontent.com/first-fluke/oh-my-agent/main/cli/install.ps1 | iex
Links
oh-my-agent is built for teams who run the same workflows across whichever CLI they happen to have authenticated. Next up: deeper per-agent model routing across the newly added vendors.
Discussion in the ATmosphere