Skip to content

[Feature] Add a dashboard editor for Codex account selector names #3017

Description

@hayabusasxs

Area

Dashboard

What are you trying to accomplish?

Would it be possible to add a small dashboard editor for the public selector names used by account-qualified Codex models?

When Codex Settings → Multi-account authentication → Advanced settings → Specify Codex account in the model picker is enabled, the generated selectors such as main and pxxxxxx work correctly. However, human-readable names such as personal, work, or backup would make the Codex model picker easier to understand and scan.

This would be a GUI improvement to the account-qualified selector feature implemented in #425. It would not need to change the underlying routing behavior.

What prevents this today?

The dashboard currently provides:

  • an enable/disable toggle for account-qualified picker entries; and
  • an Edit alias action for stored accounts.

The account alias only changes the label shown on the account card. It does not change the selector prefix displayed in the Codex model picker.

The Providers → Edit JSON view also does not expose codexAccountNamespaces. As a result, changing a selector name currently requires manually editing ~/.opencodex/config.json. That workaround is functional, but it is easy to modify the wrong side of the mapping or introduce a namespace collision.

What should OpenCodex do?

If this fits the project direction, please consider adding a selector-name editor under the existing account-picker setting.

It would be helpful if the editor could:

  • show each stored account using its configured alias or a privacy-safe masked label;
  • allow changing only the public selector key while keeping the underlying account target unchanged;
  • validate the existing selector rules, including length, allowed characters, reserved names, and provider or routing namespace collisions;
  • preview the resulting Codex picker label, for example work / 5.6 Sol;
  • clearly explain the difference between an account display alias and a model-picker selector name;
  • save the mapping atomically and refresh the Codex catalog/model cache; and
  • preserve existing saved selectors where practical, or display a clear compatibility warning before a rename.

The editor should not display raw account IDs, credentials, email addresses, or other private account data.

Example usage or interface

One possible workflow:

  1. Open Codex Settings → Multi-account authentication → Advanced settings.

  2. Enable Specify Codex account in the model picker.

  3. Expand a Selector names section.

  4. Rename the privacy-safe generated labels:

    main     → personal
    p3e98d7  → work
    pc8495f  → backup
    
  5. Preview the resulting picker entries:

    personal / 5.6 Sol
    work / 5.6 Sol
    backup / 5.6 Sol
    
  6. Save and refresh the catalog.

The example selector values above are illustrative privacy-safe labels only and are not account identifiers.

Alternatives or workarounds

The current workaround is to edit the keys in codexAccountNamespaces manually, validate the configuration, and refresh the catalog. This works, but it requires users to understand the internal mapping and the distinction between selector keys and account targets.

The existing account Edit alias action is useful for account management, but it does not affect the model picker and therefore does not address this workflow.

Additional context

Thank you for considering this improvement.

Checks

  • I searched existing issues and documentation.
  • This request describes a concrete OpenCodex workflow rather than merely naming a desired technology.
  • I removed secrets and personal data.

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

    enhancementNew feature or requestguiDashboard, tray, settings UI

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions