A native macOS menu bar app that proxies Claude Code, Codex, Gemini, Kimi, GitHub Copilot, Junie, and Grok authentication for use with Droids.
$ npx -y skills add nikships/droidproxy --agent claude-code
A native macOS menu bar app that proxies Claude Code, Codex, Gemini, Kimi, GitHub Copilot, Junie, and Grok authentication for use with Droids. Built on CLIProxyAPI.
https://github.com/user-attachments/assets/d57592a2-3d3e-4ad3-b81a-91da63bb579c
Grab the latest release from Releases:
Each release also ships a DroidProxy-arm64.zip.sha256 checksum. Unzip and drag DroidProxy.app into your Applications folder. All releases are code-signed and notarized by Apple, and existing installs auto-update via Sparkle.
service_tier=priority for GPT 6 Astra, GPT 6.1 Sol, and GPT 6 Luna. Grok 4.7 Fast is a separate SuperGrok model (grok-4.7-build-fast).codex CLI dependency) and refreshed on demand via the inline refresh button.POST /v1/images/generations for grok-imagine-* models) to api.x.ai — no XAI_API_KEY. Factory/Droid does not call that endpoint on its own; use the bundled skill below.POST /v1/images/generations for gpt-image-2.5-flare or gpt-image-2.5-sunburst is forwarded to CLIProxyAPI, which uses your ChatGPT Plus/Pro OAuth session — no OPENAI_API_KEY. Same rule as Grok: Droid will not call that endpoint unless you install the bundled skill.See SETUP.md for authentication and manual Factory configuration instructions. (OR use the 1-click options in the UI!)
If you have Grok and/or Codex auth set up in DroidProxy, you can generate images through the same proxy. Grab the skills from this repo:
# From a clone of this repo, copy into your personal Factory skills
mkdir -p ~/.factory/skills
cp -R skills/grok-imagine ~/.factory/skills/
cp -R skills/gpt-image ~/.factory/skills/
Or keep skills/grok-imagine/SKILL.md under ~/.factory/skills/grok-imagine/ and skills/gpt-image/SKILL.md under ~/.factory/skills/gpt-image/.
Then in Droid, ask to generate an image (or invoke the skill). Both skills post to http://localhost:8317/v1/images/generations with Authorization: Bearer dummy-not-used:
grok-imagine-image-2.0; ThinkingProxy injects your Grok OAuth token and forwards to xAI.gpt-image-2.5-flare (fast default) or gpt-image-2.5-sunburst (maximum quality); CLIProxyAPI injects your Codex OAuth token. Requires ChatGPT Plus/Pro (Free is rejected).Requirements: DroidProxy running, the matching provider connected in Settings. Image gen is separate from chat — selecting “DroidProxy: Grok 4.7” or “DroidProxy: GPT 5.x” alone does not generate images.
The Swift package lives in src/, so run swift commands from there.
# Debug build
cd src && swift build
# Release build + signed .app bundle (run from the repo root)
./create-app-bundle.sh
# Preferred dev loop: rebuild the signed .app and relaunch it
./dev-relaunch.sh
See AGENTS.md for the full build, notarization, and release workflow.
src/
├── Sources/
│ ├── main.swift # NSApplication entry point
│ ├── AppDelegate.swift # App lifecycle, menu bar, settings window, Sparkle updater
│ ├── ServerManager.swift # cli-proxy-api process control, config merge, auth flows
│ ├── ThinkingProxy.swift # TCP proxy on :8317 (Anthropic-Beta rewrite, fast mode, Gemini path rewrite)
│ ├── SettingsView.swift # SwiftUI settings UI
│ ├── DroidProxyModelCatalog.swift # Authoritative catalog of exposed Factory models
│ ├── AuthStatus.swift # AuthManager: account parsing, expiry, enable/disable
│ ├── AuthDirectoryMonitor.swift # Debounced watcher on ~/.cli-proxy-api
│ ├── AuthPaths.swift # Auth directory location constant
│ ├── AppPreferences.swift # UserDefaults-backed preferences
│ ├── OAuthUsageTracker.swift # OAuth quota windows for SettingsView
│ ├── OAuthUsageViews.swift # Compact ring-gauge quota cards
│ ├── CopilotSupport.swift # Local Copilot API gateway, device login, and selected-model persistence
│ ├── IconCatalog.swift # NSImage caching for menu-bar / settings icons
│ ├── NotificationNames.swift # Shared Notification.Name constants
│ ├── LogoView.swift # Inline-SVG logo used in the settings UI
│ └── Resources/
│ ├── cli-proxy-api # Bundled CLIProxyAPI binary
│ ├── config.yaml # Server config (port 8318, localhost)
│ ├── AppIcon.icns # App icon
│ ├── icon-active.png # Menu bar icon (active)
│ ├── icon-inactive.png # Menu bar icon (inactive)
│ ├── icon-claude.png # Claude service icon
│ ├── icon-codex.png # Codex service icon
│ ├── icon-copilot.png # GitHub Copilot service icon
│ ├── icon-gemini.png # Gemini service icon
│ ├── icon-kimi.svg # Kimi service icon
│ └── glyph.png # App glyph
├── Package.swift
├── Package.resolved
└── Info.plist
See AGENTS.md for a per-file breakdown of what each source file does.
MIT
droidproxy is a Claude Code plugin with 3 hand-picked skills, indexed on Flowy in the AI & Agents category. Install it with the command on its page. It includes droid-model-setup, gpt-image, grok-imagine. Its skills do not fire on their own yet. Request auto-invocation to have Flowy route them as you prompt. Free and open source.
Is this plugin yours?
Claim it with GitHubSubmit a pluginPromote it