-
Notifications
You must be signed in to change notification settings - Fork 12
fun facts
A few genuinely odd or interesting things about DroidProxy, each backed by something checkable in the repo.
The app is called DroidProxy, but its executable target is not. src/Info.plist declares:
<key>CFBundleExecutable</key>
<string>CLIProxyMenuBar</string>
The binary inside the bundle is CLIProxyMenuBar, a holdover from the project's earlier life as a menu bar wrapper around cli-proxy-api (before the VibeProxy and then DroidProxy rebrands). The user-facing name changed; the target name did not.
The largest tracked file is the bundled backend, not any source file. ls -lh src/Sources/Resources/cli-proxy-api reports ~40 MB (about 42.5 MB on disk). That single binary dwarfs the ~5,000 lines of Swift source.
It is committed directly into the repo (vendored) rather than downloaded at build time, so each release is reproducible from exactly the binary that was reviewed. A scheduled workflow keeps it current: .github/workflows/update-cliproxyapi.yml runs on a cron: '0 */12 * * *' schedule (every 12 hours) and re-bumps it from the mainline router-for-me/CLIProxyAPI release API, opening a reviewed PR.
src/Sources/ThinkingProxy.swift is named for a job it no longer performs. The proxy used to inject reasoning/thinking fields into request bodies, but the "Hand thinking control to Droid CLI" change (2026-05-21) moved reasoning effort to Droid CLI via Factory custom-model metadata. Today the proxy forwards whatever reasoning values the client sends and injects none of them — the name is a fossil of its original purpose. See Lore for the full story.
There is a small brand mismatch baked into the bundle. src/Info.plist carries:
<key>NSHumanReadableCopyright</key>
<string>Copyright © 2025 Automaze, Ltd. All rights reserved.</string>
while the product presents itself as DroidProxy. The internal log queues and identifiers in ThinkingProxy.swift also still use the io.automaze.droidproxy.* prefix, another trace of the project's origins under the Automaze name.
grep -rn "TODO\|FIXME" src/Sources --include="*.swift" returns 0 matches. For a codebase with two files over 1,000 lines and an active multi-provider feature stream, there is no in-code backlog marker anywhere in the Swift sources. Refactor priorities have to be inferred from file size and churn instead of from leftover notes.
Of ~761 commits, the release automation account github-actions[bot] authored 278 (plus 3 from dependabot[bot]) — roughly 37% of all history. The auto-release / appcast workflow commits a version bump and an appcast.xml update on every release, so the busiest "contributor" in the log is a CI job, not a person. See By the numbers for the breakdown.