Skip to content

feat(executors): add omp as a coding agent - #3479

Open
MiloMMIN wants to merge 1 commit into
BloopAI:mainfrom
MiloMMIN:feat/omp-executor
Open

MiloMMIN wants to merge 1 commit into
BloopAI:mainfrom
MiloMMIN:feat/omp-executor

Conversation

@MiloMMIN

Copy link
Copy Markdown

Adds omp (https://omp.sh) as a first-class coding agent. omp exposes an Agent Client Protocol server (omp acp), so it reuses the existing ACP harness the same way Gemini and Qwen do — no new protocol code.

What's included

  • Executor (crates/executors/src/executors/omp.rs): spawn + follow-up via AcpAgentHarness with a dedicated omp_sessions namespace, supervised approvals through the existing ExecutorApprovalBridge, and --yolo for the AUTO permission policy.
  • Model discovery: shells out to omp models --json and groups the catalog per provider, so the model picker shows exactly what the local binary can route to (reasoning levels come from each model's thinking list).
  • Wiring: CodingAgent::Omp in the executor enum, MCP passthrough adapter, approval bridge, default_profiles.json, MCP task-server executor list, and type/schema generation.
  • UI: agent name/icon mapping, onboarding priority, omp-dark.svg / omp-light.svg.
  • Docs: docs/agents/omp.mdx registered in docs/docs.json, plus entries in the supported-agents page, both agent-configuration pages, and the MCP server executor list.

Verification

  • cargo check --workspace, cargo clippy -p executors --all-targets, tsc for web-core/local-web, and cargo run --bin generate_types -- --check all pass.
  • End-to-end in the built app: registered a repo, created a workspace from the composer with omp selected, and the agent (driven over ACP) wrote a file and committed it in its worktree; a follow-up prompt continued the same session and produced a second commit. Conversation entries, tool-call rendering, and the model picker (290 models across agnes/apifarm/magpie) all populated correctly.

Known gaps

  • Token/context usage isn't surfaced for ACP executors, so CONTEXT_USAGE is intentionally not advertised for omp.
  • Reset-to-message (session fork) works at the session level but reset_to_message_id is ignored, matching the Gemini/Qwen ACP behaviour.

omp speaks the Agent Client Protocol (omp acp), so it slots into the
existing ACP harness the same way Gemini and Qwen do. Adds:

- crates/executors/src/executors/omp.rs: spawn/follow-up via
  AcpAgentHarness, plus model discovery by shelling out to
  `omp models --json` and grouping the result per provider.
- CodingAgent::Omp wired into the executor enum, MCP passthrough
  adapter, approval bridge, default profiles, and type/schema
  generation.
- UI: agent name/icon mapping, onboarding priority, omp light/dark
  icons, and a docs page registered in the docs navigation.
Copilot AI balanced review requested due to automatic review settings October 17, 2026 12:04

Copilot AI left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

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

The job was not started because the account is locked due to a billing issue.

This branch has not been deployed

No deployments
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