Skip to content

Add oh-my-pi (omp) as a supported coding agent - #513

Open
zhulinchng wants to merge 1 commit into
databricks:mainfrom
zhulinchng:feature/omp-support
Open

Add oh-my-pi (omp) as a supported coding agent#513
zhulinchng wants to merge 1 commit into
databricks:mainfrom
zhulinchng:feature/omp-support

Conversation

@zhulinchng

Copy link
Copy Markdown

What

ucode can now configure, launch, validate, and register MCP servers for oh-my-pi (omp, @oh-my-pi/pi-coding-agent), alongside the existing pi entry. ucode configure --tools omp, ucode omp, ucode doctor, ucode status, and ucode revert all cover it.

How

  • New agents/omp.py (mirrors pi.py, no shared abstraction): isolated ~/.ucode/omp-home/.omp/agent, YAML models.yml with the three Databricks providers (anthropic-messages / openai-responses / google-generative-ai), default model pinned via modelRoles.default in config.yml (models.yml root must be providers-only per omp's schema), baked-token refresh thread, --print validation, {command, args}-only MCP entries (omp's stdioServer forbids other keys).
  • Registry, discovery, launch, state, and MCP wiring; base_urls["omp"]; MCP backup restore on revert. No OAUTH_TOKEN (omp never reads it).
  • pyyaml promoted to a direct dependency (2-line lock delta).
flowchart LR
    C[ucode configure --tools omp] --> W[agents/omp.write_tool_config]
    W --> M[models.yml: providers + apiKey]
    W --> D[config.yml: modelRoles.default]
    L[ucode omp] --> R[token refresh thread]
    R --> O[omp binary\nPI_CODING_AGENT_DIR=omp-home]
    O --> G[AI Gateway\nanthropic/codex/gemini]
    P[ucode configure mcp] --> J[omp-home mcp.json\nucode mcp-proxy stdio]
Loading

Verification

  • ruff check + ruff format --check clean; full unit suite 2344 passed.
  • Live probe against omp 18.1.13 with a localhost capture server: omp models resolves the catalog; --print routes POST /anthropic/v1/messages?beta=true with bearer auth and no eager_input_streaming; the codex path hits /codex/v1/responses with the ucode UA.

Non-goals

Managed-config support (server proto has no omp variant), OSS models, e2e additions.

Coexists with pi: isolated omp-home config, YAML models.yml,
modelRoles.default pin in config.yml, MCP wiring, and tests.
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.

1 participant