Skip to content

feat(box): oh-my-pi runs as a built-in agent - #86

Merged
sean-brydon merged 3 commits into
cosscom:mainfrom
STRML:feat/omp-support
Oct 14, 2026
Merged

sean-brydon merged 3 commits into
cosscom:mainfrom
STRML:feat/omp-support

Conversation

@STRML

@STRML STRML commented Oct 13, 2026

Copy link
Copy Markdown
Contributor

Summary

oh-my-pi (omp) is a built-in agent. It shows up when the box finds omp, starts from a project like the others, and reports when it needs you.

              ┌─ structured (Labs) ─▶ omp acp ─▶ agent host ─▶ chat + history
start omp ────┤                         (existing ACP driver and log reader)
              └─ terminal ─▶ omp in tmux ─▶ ~/.omp/agent/extensions/berth.ts
                                             └─▶ berthd hook omp <event>

omp speaks ACP (omp acp answers initialize with loadSession and resume), so chat and history reuse the OpenCode, Gemini and Cursor path. No new transcript parser.

Layer Change
Preset omp, --model, --thinking (low to max), acp
Lookup agentOf knows omp and @oh-my-pi/pi-coding-agent; box tools and the agent PATH search include it
Hooks berthd integrations install omp writes ~/.omp/agent/extensions/berth.ts; the adapter maps session_start, agent_start, tool_approval_requested and resolved, agent_end, session_shutdown
App name, glyph and install hint in settings, session notices, flows, phone UI, activity plugin
Install catalog entry with the bun command, not offered (like Gemini: Shipyard doesn't install bun)

Two details in the extension. An agent_end with willContinue (a retry or queued message) is not a turn end; omp fired four of those before the final one in a single print run, so the adapter drops them. Subagents have no UI (hasUI false) and report nothing.

Status - 2026-10-13

Check Result
Extension in a real omp 18.10.2, stand-in berth session_start, agent_start, agent_end (will_continue true x4, then false), session_shutdown, each with cwd and session_id
go vet, go test -race pass, except TestReapClosesOnlyEndedBerthSessionsAgentBrowsers, which fails on main too
app: typecheck:plugins, check:titles, check:csp, test (390), build pass
docs-site build pass

Open follow-ups:

  • bun install -g @oh-my-pi/pi-coding-agent comes from a docs mirror; the npm registry was unreachable here, so the package name is unchecked
  • omp's own permission mode over ACP is not set by berthd (OpenCode gets an env override); check what omp asks for in a structured session
  • CI on this SHA

Test plan

  • berthd integrations install omp on a box with omp, then start omp in a terminal session: working, needs you and done show in the app
  • Labs on: start omp, send a prompt, see the reply and tool calls in the chat, reopen the session and see the history
  • berthd agents list and Settings > Agents show oh-my-pi

…at say when it needs you

Adds omp to the agent presets (model and thinking flags, acp), the box's agent lookup, the integrations installer (an extension in ~/.omp/agent/extensions that reports session, turn and approval events) and the app's agent names.
@vercel

vercel Bot commented Oct 13, 2026

Copy link
Copy Markdown

@STRML is attempting to deploy a commit to the seanbrydonio's projects Team on Vercel.

A member of the Team first needs to authorize it.

…sessions

omp reads user MCP servers from ~/.omp/agent/mcp.json, in the same mcpServers shape as Claude Code. integrations install omp now adds berthd mcp there on a box, keeping servers already in the file, and leaves it alone for the laptop binary.

@sean-brydon sean-brydon left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM thanks!

@sean-brydon
sean-brydon merged commit af4ec86 into cosscom:main Oct 14, 2026
0 of 2 checks passed
@sean-brydon sean-brydon mentioned this pull request Oct 14, 2026
@STRML
STRML deleted the feat/omp-support branch October 14, 2026 13:36
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants