Usage view: no way to surface usage for providers beyond codex/claude (e.g. Factory Droid)#23883

opened16h agobySSecuriteru

I run a handful of Factory Droid accounts as acpRegistry providers in T3 and wanted their quota/limits to show up in the Usage view. As far as I can tell there's currently no way to populate it for them at all:

  • usageLimitSources only accepts kind: "cliproxy" hubs, and the client hard-filters hub accounts to provider === "codex" || "claude" — so even though UsageLimitSourceAccount.driver is an open slug, anything else gets dropped before it reaches the UI.
  • The session-file scan uses a fixed set of homes (.codex, .pi, .claude, .grok…), so ~/.factory-* sessions never get counted.
  • In-session usage bars need the agent to emit usage_update notifications. I ran a turn through droid exec --output-format acp and it only sends available_commands_update and agent_message_chunk — no usage events at all.

My setup: four Factory API keys, each its own provider instance plus a rotating pool one. Factory exposes per-key quota via /api/organization/members/chat-usage, so the data is trivial to get — there's just nowhere to plug it in.

Ideas, roughly ordered by how much they'd help:

  1. A generic source kind — e.g. kind: "command" that runs a user command and reads the existing accounts[] JSON shape from stdout. Any provider with a quota API could hook in without per-driver work, and multi-account setups become first-class.
  2. Loosen the cliproxy provider filter or pass everything through — CLIProxyAPI already proxies more than codex/claude.
  3. A per-instance scan root (config.usageScanHome?) so nonstandard agent homes feed the token totals.

Happy to test whatever — I've got the four droid accounts and a cliproxy handy to verify against.