Skip to content

devmusehq/codex-switchboard

Repository files navigation

Codex Switchboard

Codex Switchboard is a small local desktop utility for switching Codex Desktop/App between normal OpenAI/Codex mode and Ollama-backed models through Ollama's official ollama launch codex-app integration.

I made this for my own local workflow. It is shared as a small, unofficial utility in case it is useful to someone else. You are welcome to fork it, adapt it, or use pieces of it under the MIT license, but it is not intended to be a general AI platform or a supported commercial product.

It does not host models. It does not edit Codex internals. It does not manage repositories or threads. It is a narrow switchboard around one workflow:

Pick installed Ollama model -> preview command -> run Ollama launch -> restore when wanted

Status

Codex Switchboard is experimental. v0.1 is macOS-first and currently distributed as an unsigned Apple Silicon macOS utility.

macOS may warn that the app cannot be verified. If you do not want to run an unsigned app, build it from source instead.

Codex Switchboard is an unofficial local utility. It is not affiliated with OpenAI, Codex, or Ollama.

Requirements

  • macOS on Apple Silicon for the packaged v0.1 build.
  • Codex Desktop/App installed.
  • Ollama 0.24.0 or newer.
  • At least one local Ollama model already installed.

Windows and Linux are not supported by the v0.1 convenience actions yet.

What It Does

Codex Switchboard can:

  • Detect whether Ollama is installed and reachable.
  • Show installed local Ollama models from ollama list.
  • Let the user select one installed model.
  • Preview the exact command before running it.
  • Run ollama launch codex-app --model <selected-model> --yes.
  • Run ollama launch codex-app --restore --yes.
  • Capture stdout, stderr, exit code, and timestamps.
  • Keep a simple local log of recent actions.
  • Open Codex Desktop/App if practical.

What It Runs

Codex Switchboard uses explicit command arguments for a small command set:

ollama --version
ollama list
ollama launch codex-app --model <selected-model> --yes
ollama launch codex-app --restore --yes
open -a Codex
open -a "Codex App"
open <Codex Switchboard action log path>

It does not edit Codex databases, conversations, thread state, repositories, or user files.

The Rust backend re-checks the selected model against ollama list before switching, and blocks switch/restore if Ollama is older than 0.24.0.

Important Behavior

When Ollama mode is active, Codex App may show a different chat/thread view. Your normal Codex chats should reappear after using Restore Normal Codex.

To restore normal Codex behavior, click Restore Normal Codex. The app previews and then runs:

ollama launch codex-app --restore --yes

The DevMuse name is lightweight personal/project branding for this small utility. It does not imply a hosted service, account system, model platform, or support commitment.

Logs

Codex Switchboard writes a local JSONL action log in the Tauri app data directory for this app. Logs include recent action metadata, command output, exit code, and duration. Stdout and stderr are truncated before writing, but you should still review logs before sharing them.

Known Limitations

  • v0.1 is macOS-focused.
  • Public builds are unsigned and not notarized.
  • The packaged build is intended for Apple Silicon macOS.
  • Windows and Linux convenience actions are not implemented yet.
  • The app depends on Ollama's ollama launch codex-app behavior.
  • It does not install, download, rank, or recommend models.
  • It does not live-switch an already-open Codex thread.

Non-Goals

v0.1 will not:

  • Host or download models.
  • Replace Ollama.
  • Edit Codex SQLite/state files.
  • Modify Codex thread state.
  • Modify user repositories.
  • Add accounts, sync, telemetry, analytics, payments, dashboards, or online services.
  • Add a database unless a plain local log proves insufficient.
  • Support llama.cpp, vLLM, LM Studio, or manual endpoints.
  • Attempt live model hot-swapping inside an already-open Codex thread.

Preferred Stack

  • Tauri
  • React
  • TypeScript
  • Rust backend commands

This keeps the UI approachable while keeping command execution explicit and controlled.

Local Development

Install dependencies:

npm install

Run the desktop app in development:

npm run tauri:dev

Build the frontend:

npm run build

Run Rust tests:

cd src-tauri
cargo test

Build a local macOS app bundle and DMG:

npm run tauri:build

Create release checksums:

npm run release:checksum

The built macOS app appears under:

src-tauri/target/release/bundle/macos/Codex Switchboard.app

The built DMG appears under:

src-tauri/target/release/bundle/dmg/

Run the full local check set:

npm run check
cd src-tauri && cargo test && cargo fmt --check

Run the advisory audit separately:

npm run audit

License

MIT. See LICENSE.

About

A small local macOS switchboard for trying Ollama models with Codex App.

Resources

License

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Packages

 
 
 

Contributors