Skip to content

[Bug]: Realtime monitoring shows plugin provider name (workbuddy) instead of the credential account on the primary line #686

Description

@cjjdaq

Problem Type

Frontend display or interaction issue

Deployment Mode

CPA panel repository URL only

CPA Version

v7.2.x (plugin host, workbuddy plugin 0.8.5-wb10 from Sliverkiss/cpa-plugin)

CPA Manager Plus Version

dev (main @ 2026-09-03), native install

Problem Description

For providers that arrive through the plugin/OAuth path (e.g. the workbuddy plugin in CLIProxyAPI), the "Source / API Key" cell in the realtime request-monitoring table always shows the bare plugin/channel name (workbuddy) on the primary line. The credential account (e.g. marscosmo) is only visible in the cell tooltip. For native providers (xai/grok/antigravity) the same cell shows the actual account (email/account id) as the primary text.

Root cause (frontend display logic):

  • apps/web/src/features/monitoring/model/sourceDisplay.tsGENERIC_PROVIDER_LABELS contains native providers (codex, gemini, xai, grok, antigravity, ...) but not plugin providers such as workbuddy / qoderwork.
  • apps/web/src/features/monitoring/model/eventRows.ts builds channelLabel = channelMeta?.name || authMeta?.provider || ...workbuddy, which is not filtered as generic, so it occupies the primary slot in realtimeSourceDisplay.ts.
  • The stored rows already carry the full identity (account_snapshot, auth_label_snapshot, auth_file_snapshot, canonical auth_index matching the credential registry), so the account is fully resolvable — it is just never selected for display.

Observed:

  • Native row: primary = account/email, meta = "Provider: xai" (correct).
  • Plugin row: primary = workbuddy, meta = "Provider: workbuddy" (account hidden to tooltip only).

Reproduction Steps

  1. Route requests through a CLIProxyAPI plugin provider whose source/provider equals the plugin name (e.g. workbuddy), with multiple OAuth accounts.
  2. Open Request monitoring → realtime events.
  3. Look at the Source / API Key cell: it shows workbuddy even though each request used a specific account.

Key Configuration

# CPA Manager Plus connects to CPA (plugin host) and collects usage events.
# No special configuration needed to reproduce; the account snapshot columns
# are present on the rows (account_snapshot / auth_label_snapshot /
# auth_file_snapshot) and auth_index is the canonical credential index.

/status Response

{
  "ok": true,
  "service": "cpa-manager-plus"
}

Logs

# CPA plugin host log (plugin registered):
pluginhost: plugin registered plugin_id=workbuddy version=0.8.5-wb10

Screenshots

(暂无,可后补)

Checklist

  • I have searched existing Issues and did not find a duplicate.
  • I have removed sensitive information such as tokens, keys, and account details.

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions