Skip to content

feat: add Oh My Pi (omp) launcher integration#1619

Open
ahmedyounes wants to merge 1 commit into
jundot:mainfrom
ahmedyounes:feat/oh-my-pi-integration
Open

feat: add Oh My Pi (omp) launcher integration#1619
ahmedyounes wants to merge 1 commit into
jundot:mainfrom
ahmedyounes:feat/oh-my-pi-integration

Conversation

@ahmedyounes
Copy link
Copy Markdown

@ahmedyounes ahmedyounes commented Jun 2, 2026

What

Adds an Oh My Pi tile to the dashboard's Applications list that launches the oh-my-pi (omp) coding agent against the running oMLX server — a sibling of the existing Pi tile. Non-destructive: the Pi tile is unchanged.

Why

omp is a popular fork of pi-coding-agent with a coding-first workflow. Users who run omp instead of vanilla pi had no one-click way to point it at their local oMLX server.

How it works

omp is a separate binary from pi with its own config dir (~/.omp/agent), but it:

  • honors the same PI_CODING_AGENT_DIR override, and
  • reads custom OpenAI-compatible providers from ~/.omp/agent/models.yml using the same providers.<name> schema as pi — just YAML instead of JSON.

OhMyPiIntegration therefore reuses PiIntegration's provider schema but writes/merges models.yml (YAML) with the same read→backup→merge→write pattern as the Hermes integration, preserving any other providers the user already has, then execs omp --model omlx/<model>. (omp only auto-migrates models.jsonmodels.yml when the latter is absent, so writing YAML directly is the robust path across relaunches.)

Changes

  • New omlx/integrations/omp.pyOhMyPiIntegration; registered in omlx/integrations/__init__.py
  • omlx/settings.py + omlx/admin/routes.pyomp_model setting (parity with the other tools)
  • omlx/admin/templates/dashboard/_status.html — new tile; omlx/admin/static/js/dashboard.jsompCommand getter + save/default wiring
  • omlx/admin/static/img/integrations/omp.svg — icon (theme-aware π glyph matching the existing set)
  • omlx/cli.pylaunch help text
  • tests/test_integrations.pyTestOhMyPiIntegration + registry assertions

Testing

  • pytest tests/test_integrations.py101 passed (13 new omp cases mirroring the Pi suite + registry updates).
  • Verified end-to-end against the real omp v15.8.0: the generated ~/.omp/agent/models.yml is accepted and omp --list-models omlx lists the configured model.
  • Ran the server from source and confirmed the Oh My Pi tile renders in /admin/dashboard, and omlx launch list reports omp.

@ahmedyounes ahmedyounes force-pushed the feat/oh-my-pi-integration branch from e6a96a2 to 35ceec0 Compare June 3, 2026 05:49
Adds an "Oh My Pi" tile alongside Pi that launches the oh-my-pi (omp)
coding agent against the running oMLX server.

omp is a fork of pi-coding-agent with its own binary and ~/.omp/agent
config dir. It reads custom OpenAI-compatible providers from models.yml
(YAML) using the same providers.<name> schema as pi and honors the same
PI_CODING_AGENT_DIR override. The integration writes/merges that
models.yml (preserving other providers) and execs `omp --model omlx/<model>`.

- omlx/integrations/omp.py: OhMyPiIntegration (hermes-style YAML I/O +
  pi's provider schema); registered in integrations/__init__.py
- settings.py + admin/routes.py: omp_model parity with the other tools
- dashboard tile + ompCommand getter; omp.svg icon; cli.py help text
- tests/test_integrations.py: TestOhMyPiIntegration (+ registry updates)
@ahmedyounes ahmedyounes force-pushed the feat/oh-my-pi-integration branch from 35ceec0 to f4bb8fe Compare June 3, 2026 18:10
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