Ymir is a small native macOS menu-bar app for controlling a local copilot-api gateway used by Claude Code and Codex.
- Start and stop
npx @jeffreycao/copilot-api@latest start - Sign in to
copilot-api(runsauth login --provider copilotin a Terminal window) - Show running/stopped state in the menu bar
- Browse every model advertised by the gateway and copy model IDs
- Open the
copilot-apiusage viewer - Open local Codex and Claude Code config files
- Optional launch at login via macOS
SMAppService - Local notifications for start/stop/failure events
- Logs at
~/Library/Logs/Ymir/copilot-api.log
Ymir builds as a standard macOS app from an Xcode project generated out of
project.yml with XcodeGen.
cd ~/Developer/Ymir
make bootstrap # installs prerequisites and generates Ymir.xcodeproj
make release # builds, installs to /Applications, and launches Ymirmake bootstrap runs scripts/setup.sh: it verifies Xcode,
installs XcodeGen via Homebrew if missing, and regenerates the Xcode project. Run
make help to see all targets.
cd ~/Developer/Ymir
chmod +x scripts/*.sh
scripts/release_app.shscripts/release_app.sh builds the Release configuration, installs the app to
/Applications/Ymir.app, and relaunches it. Re-run it to update the installed
app after code changes. Override the destination with
DEST_DIR=~/Applications scripts/release_app.sh.
xcodegen generate # regenerate Ymir.xcodeproj after editing project.yml
open Ymir.xcodeprojproject.yml is the source of truth for the Xcode project. Signing defaults to
ad-hoc ("Sign to Run Locally"); pick a Team under Signing & Capabilities, or set
DEVELOPMENT_TEAM in project.yml, if your environment requires it.
- macOS 13+
- Xcode 15+ (or the Swift toolchain / command line tools)
- XcodeGen to regenerate the project (
brew install xcodegen) npxavailable from/opt/homebrew/bin,/usr/local/bin, or/usr/bincopilot-apiauth completed once — use the app's Sign In to copilot-api menu item, or run:
npx @jeffreycao/copilot-api@latest auth login --provider copilotYmir is a normal local native app bundle, not Electron. If your company profile blocks all unsigned or ad-hoc signed apps, build and run from Xcode or sign with an Apple Developer certificate trusted by your device management policy.