Skip to content

feat: add native Oh My Pi provider support - #446

Open
Devin-Pi wants to merge 12 commits into
SaladDay:mainfrom
Devin-Pi:feat/omp-provider-support-final
Open

Devin-Pi wants to merge 12 commits into
SaladDay:mainfrom
Devin-Pi:feat/omp-provider-support-final

Conversation

@Devin-Pi

@Devin-Pi Devin-Pi commented Sep 8, 2026

Copy link
Copy Markdown

Summary

  • add native Oh My Pi (omp) app support across CLI, TUI, provider, prompt, session, usage, and configuration workflows
  • manage OMP providers and models in the native models.yml format
  • add OMP model roles, model discovery/fetch, prompt files, session scanning, and usage/token/cost statistics
  • preserve OMP-native YAML fields and protect against overwriting external edits

Related issue

Issue #358 tracked the request for Pi and OMP support. Pi was later merged separately in #431; this PR implements the remaining OMP scope with native OMP configuration semantics rather than reusing the Pi adapter.

Scope

  • adds first-class AppType::Omp routing instead of reusing the Pi adapter
  • supports PI_CODING_AGENT_DIR, PI_CONFIG_DIR, OMP profiles, project/global role configuration, and native OMP path resolution
  • supports provider/model CRUD while preserving multiple providers in models.yml
  • switching the default model updates config.yml model roles; it does not delete or replace other providers
  • adds --app omp model and role commands and an OMP TUI surface aligned with the existing app menus
  • includes secure managed-directory checks, provider/model schema validation, unknown-field preservation, and revision/conflict detection

Compatibility

Existing Claude, Codex, Gemini, OpenCode, Hermes, OpenClaw, and Pi workflows remain unchanged. OMP configuration is kept separate from Pi configuration and uses OMP-native YAML files and environment variables.

Validation

  • cargo fmt --all -- --check
  • cargo check
  • cargo test --lib -- --test-threads=1
  • cargo test --bin cc-switch -- --test-threads=1
  • cargo build --release
  • git diff --check

Tests that touch OMP paths use isolated temporary directories and do not modify the host OMP, Claude, Codex, or CC-Switch configuration directories.

@Devin-Pi Devin-Pi mentioned this pull request Sep 8, 2026
social4hyq pushed a commit to social4hyq/homebrew-core that referenced this pull request Sep 20, 2026
cc-switch-cli 5.10.5

Created-by: HarmonybrewBot
Commit-by: HarmonybrewBot
Merged-by: HarmonybrewBot
Description: Created by `brew bump`

---

Created with `brew bump-formula-pr`.<details>
  <summary>release notes</summary>
  <pre># CC Switch CLI v5.10.5

v5.10.5 adds opt-in shared Codex sessions, per-model reasoning controls, local quota reset times, and GPT-6 Astra pricing. It also fixes model-catalog persistence, user-owned catalog paths, Windows session scanning, SQL imports, and Chat Completions compatibility.

## Added

- **Codex / Shared Sessions**: Add opt-in `cc-switch start codex <provider> --shared-sessions` on macOS/Linux. Providers keep separate credentials and configuration while sharing persistent native session history and session locks. Includes [#440](SaladDay/cc-switch-cli#440), addressing [#436](SaladDay/cc-switch-cli#436).
- **Codex / Per-Model Reasoning**: Expose supported reasoning levels and a default for each model in both TUI model-catalog editors, with the existing Auto behavior and contextual help. Includes [#442](SaladDay/cc-switch-cli#442), addressing [#441](SaladDay/cc-switch-cli#441).
- **Providers / PatewayAI**: Add the PatewayAI sponsor preset and its provider setup support.

## Changed

- **Quota / Reset Times**: Show quota reset timestamps in the local timezone, with UTC offsets and remaining time in CLI text; add compact reset countdowns to the TUI. Raw JSON timestamps and upstream quota calculations retain their existing semantics. Includes [#456](SaladDay/cc-switch-cli#456), fixing [#445](SaladDay/cc-switch-cli#445).
- **Pricing / GPT-6 Astra**: Add standard prices per million tokens: $10 input, $50 output, $1 cached input, and $12.50 cache writes. Missing entries are added without replacing user-customized prices or restoring user-deleted entries. Includes [#460](SaladDay/cc-switch-cli#460), fixing [#459](SaladDay/cc-switch-cli#459).

## Fixed

- **Codex / Model Mapping Persistence**: Preserve stored model catalogs and per-model reasoning settings during provider switches and temporary-launch capture. Fixes [#447](SaladDay/cc-switch-cli#447).
- **Codex / User-Owned Catalogs**: Preserve custom `model_catalog_json` paths when generating a cc-switch catalog. Includes [#454](SaladDay/cc-switch-cli#454).
- **Codex / OpenCode Go Reasoning**: Recognize the OpenCode Zen gateway before applying model-vendor reasoning defaults, and constrain effort to the model's catalog settings. Fixes [#443](SaladDay/cc-switch-cli#443).
- **Proxy / Chat Completions Compatibility**: Convert null or missing message content to an empty string when translating Responses requests to Chat Completions, preserving tool payloads and multimodal content. Fixes the Azure compatibility issue in [#448](SaladDay/cc-switch-cli#448).
- **Windows / Session Scanning**: Open existing session-cache files with the access required for synchronization, avoiding `Access denied (os error 5)` without truncating their contents. Includes [#455](SaladDay/cc-switch-cli#455), fixing [#450](SaladDay/cc-switch-cli#450).
- **Configuration / SQL Import**: Acquire the sync lock before synchronous import and live-config projection to avoid a nested-executor panic when importing or restoring SQL backups. Fixes [#453](SaladDay/cc-switch-cli#453).
- **TUI / Claude Quick Config**: Correct the displayed item total in the quick-configuration menu. Fixes [#435](SaladDay/cc-switch-cli#435).

## Upgrade notes

- The database schema remains at v18; upgrading from v5.10.4 requires no schema migration.
- Shared Codex sessions are opt-in and limited to macOS/Linux. Keep the persistent `.cc-switch-launches/` directories, allow only one shared launch per provider, and close a session before continuing it through another provider. See the [shared-session usage notes](https://github.com/SaladDay/cc-switch-cli/blob/v5.10.5/README.md) for argument restrictions and cross-provider limitations.
- GPT-6 Astra uses the existing standard-rate calculator. Long-context and service-tier pricing are outside this release's pricing change.

## Update

```bash
cc-switch update
```

Or use the macOS/Linux installer:

```bash
curl -fsSL https://github.com/SaladDay/cc-switch-cli/releases/latest/download/install.sh | bash
```

## Thank you

Thank you to everyone who opened an issue or pull request, shared diagnostics, reviewed a change, or joined a discussion. This list covers issues and pull requests active since v5.10.4, including participants in their earlier discussions.

| Contributor | Issues and pull requests |
| --- | --- |
| [@6UOOON9](https://github.com/6UOOON9) | [#447](SaladDay/cc-switch-cli#447) |
| [@ChanthMiao](https://github.com/ChanthMiao) | [#409](SaladDay/cc-switch-cli#409) |
| [@Curious-r](https://github.com/Curious-r) | [#441](SaladDay/cc-switch-cli#441), [#443](SaladDay/cc-switch-cli#443) |
| [@czfhhh](https://github.com/czfhhh) | [#454](SaladDay/cc-switch-cli#454) |
| [@Devin-Pi](https://github.com/Devin-Pi) | [#358](SaladDay/cc-switch-cli#358), [#446](SaladDay/cc-switch-cli#446) |
| [@dividduang](https://github.com/dividduang) | [#358](SaladDay/cc-switch-cli#358) |
| [@GMOogway](https://github.com/GMOogway) | [#433](SaladDay/cc-switch-cli#433) |
| [@HappyLiang12](https://github.com/HappyLiang12) | [#448](SaladDay/cc-switch-cli#448) |
| [@jinjiwu](https://github.com/jinjiwu) | [#436](SaladDay/cc-switch-cli#436), [#445](SaladDay/cc-switch-cli#445) |
| [@JounQin](https://github.com/JounQin) | [#457](SaladDay/cc-switch-cli#457) |
| [@kelvkhiu](https://github.com/kelvkhiu) | [#444](SaladDay/cc-switch-cli#444) |
| [@moonjoke001](https://github.com/moonjoke001) | [#358](SaladDay/cc-switch-cli#358) |
| [@netcatty](https://github.com/netcatty) | [#450](SaladDay/cc-switch-cli#450) |
| [@neverdie0710](https://github.com/neverdie0710) | [#451](SaladDay/cc-switch-cli#451) |
| [@odup](https://github.com/odup) | [#453](SaladDay/cc-switch-cli#453) |
| [@paopjian](https://github.com/paopjian) | [#439](SaladDay/cc-switch-cli#439) |
| [@RainyPixel](https://github.com/RainyPixel) | [#449](SaladDay/cc-switch-cli#449) |
| [@SaladDay](https://github.com/SaladDay) | [#440](SaladDay/cc-switch-cli#440), [#442](SaladDay/cc-switch-cli#442), [#455](SaladDay/cc-switch-cli#455), [#456](SaladDay/cc-switch-cli#456), [#460](SaladDay/cc-switch-cli#460) |
| [@suntory1](https://github.com/suntory1) | [#358](SaladDay/cc-switch-cli#358) |
| [@SyaJask](https://github.com/SyaJask) | [#358](SaladDay/cc-switch-cli#358) |
| [@tangjunyi1](https://github.com/tangjunyi1) | [#458](SaladDay/cc-switch-cli#458) |
| [@TheBoYang](https://github.com/TheBoYang) | [#432](SaladDay/cc-switch-cli#432) |
| [@tianzhuwei](https://github.com/tianzhuwei) | [#358](SaladDay/cc-switch-cli#358) |
| [@Tonystarkw12](https://github.com/Tonystarkw12) | [#434](SaladDay/cc-switch-cli#434) |
| [@u1544096979](https://github.com/u1544096979) | [#437](SaladDay/cc-switch-cli#437), [#438](SaladDay/cc-switch-cli#438) |
| [@wangsiqidahaoren](https://github.com/wangsiqidahaoren) | [#459](SaladDay/cc-switch-cli#459) |
| [@wbbo](https://github.com/wbbo) | [#435](SaladDay/cc-switch-cli#435) |
| [@xiaoshidebug](https://github.com/xiaoshidebug) | [#452](SaladDay/cc-switch-cli#452) |

We also thank [@farion1231](https://github.com/farion1231) and upstream CC-Switch contributors, including [@zayokami](https://github.com/zayokami) for the [OpenCode Zen reasoning fix](farion1231/cc-switch#6123), and [@misaka-myu](https://github.com/misaka-myu) for the [user-owned catalog fix](farion1231/cc-switch#6087).

Some acknowledged reports and proposals remain open or are not included in this release; a thank-you does not imply that an issue is fixed or a pull request is merged.

See the [full changelog](https://github.com/SaladDay/cc-switch-cli/blob/v5.10.5/CHANGELOG.md) and [all changes since v5.10.4](SaladDay/cc-switch-cli@v5.10.4...v5.10.5).
</pre>
  <p>View the full release notes at <a href="https://github.com/SaladDay/cc-switch-cli/releases/tag/v5.10.5">https://github.com/SaladDay/cc-switch-cli/releases/tag/v5.10.5</a>.</p>
</details>
<hr>

See merge request: Harmonybrew/homebrew-core!20243
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