Skip to content

Agents: user collectors + Go connection settings card - #11967

Open
washburnello wants to merge 2 commits into
omacom:quattrofrom
washburnello:agents-go-settings
Open

washburnello wants to merge 2 commits into
omacom:quattrofrom
washburnello:agents-go-settings

Conversation

@washburnello

Copy link
Copy Markdown

Two commits, one theme: let the agents panel cover accounts Omarchy doesn't ship collectors for, with OpenCode Go limits as the first user.

1. User collectors through the shared update command (bin/omarchy-agent-usage-update, README)

  • Also runs omarchy-agent-usage-* executables from ~/.config/omarchy/agents/collectors/ with the same flags (--force, --limits-only, --except, per-agent filter) and the panel's existing refresh timer — no separate scheduling needed.
  • A collector may print one record or an object of several records keyed by id (one scan feeding many tabs); each fans out to its own usage file, and ids a collector stops emitting are retired via a cache-dir sidecar the panel never reads.

2. Go connection settings card with Test and Apply (shell/plugins/agents/Panel.qml, Main.qml)

  • Gear in the hero, visible only on the opencode-go tab, toggling an inline card under the provider tabs: workspace-URL field (strips the wrk_ ID itself), masked auth-cookie field with one-line hints, Apply + Test buttons driving the shared update command, terse verdicts.
  • Accent dot on the gear replaces the red status box for Go; stale or failed limits dim instead of shouting. Records carry limitsStale so cached-after-failure meters can't pose as fresh.

Compatibility: without a user collector producing an opencode-go record the gear never renders — zero behavior change for stock installs. agents-panel-test.sh and agent-usage-update-test.sh pass; fan-out, stale-id retirement, and forced group updates verified live.

omarchy-agent-usage-update also runs omarchy-agent-usage-* collectors
from ~/.config/omarchy/agents/collectors/, so one refresh timer covers
packaged and user accounts alike. A collector may print one record or
an object of several records keyed by id (one scan feeding many tabs);
each is fanned out to its own usage file, and ids a collector stops
emitting are retired via a cache-dir sidecar the panel never reads.
Gear in the hero (opencode-go tab only) toggles an inline settings
card under the provider tabs: workspace-URL field that strips the
wrk_ ID itself, masked auth-cookie field with one-line hints,
Apply and Test buttons driving the shared update command, and terse
verdicts. An accent dot on the gear replaces the red status box for
Go; stale or failed limits dim instead of shouting.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant