Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Credentials System UX Improvements #8516

Open
Torantulino opened this issue Oct 31, 2024 — with Linear · 0 comments
Open

Credentials System UX Improvements #8516

Torantulino opened this issue Oct 31, 2024 — with Linear · 0 comments
Labels
platform/backend AutoGPT Platform - Back end platform/frontend AutoGPT Platform - Front end UI

Comments

Copy link
Member

Torantulino commented Oct 31, 2024

Context

We have implemented a quick patch to switch to the new credentials system across all blocks. The current UX is non-intuitive and needs immediate improvement to prevent it from blocking beta testers.

Current Issues

1. Missing Default Behaviour

image.png

Problem: No credential is selected by default, even when there's only one valid option in the system.

2. Confusing AI Block Provider Credential Selection

image.png

Problem: Users must manually select credentials for their chosen LLM provider without clear guidance on which credential to choose for which provider. Even if we had this guidance the user shouldn't need to have to do this.

3. Poor Error Handling

Problem: No feedback when credential selection is needed.


New UX Flow

System Level Keys (i.e. The API keys supplied by AutoGPT)

  • Should not be visible to the user at all. i.e. on the Profile page or Credentials Dropdown
  • Should work silently in the background when no user keys are present
  • When a user has a system level key for the selected provider it should just be used, and the credentials field should be hidden.

When a user has a System Level Key

  • Don't display credential field at all on the block

  • Display the Add New API Key button on the Settings page, next to to each possible provider

    • I.e "OpenAI: Add new API key"

Keys need to be associated with Providers, not blocks

  • For example an OpenAI key should ONLY be used with a OpenAI Model, not with Anthropic or Ollama.
  • Keys should always automatically be selected when changing models etc. without any user action.

When User Has No Credentials (including system keys)

image.png

  • Hide the credentials selection dropdown field
  • Display a prominent "Add New API Key" button directly on the block (keep existing functionality when clicked).
    • Do not place the button inside a dropdown (as it is currently).
  • Also display the same button next to to each possible provider on the Settings page.
    • I.e "OpenAI: Add new API key"

When User Has One User Level Key

  • Automatically use the user level key for compatible providers
  • Hide the credentials field entirely
  • User level keys should take precedence over System Level Keys
  • No dropdown menu needed

When User Has Multiple User Level Keys

  • Only show the credentials dropdown when multiple User Level Keys exist for the same provider (e.g., OpenAI)
  • Only show keys compatible with the selected provider
  • Don't show System Keys in the dropdown

Key Deletion Behaviour

  • When a user deletes their user level key, revert to the appropriate state based on remaining credentials (as detailed above):
    • If one User Level Key remains: Use it automatically without showing dropdown
    • If System Level Keys available: Use those silently
    • If no keys available: Show the "Add New API Key" button in credentials field
@Torantulino Torantulino added platform/backend AutoGPT Platform - Back end platform/frontend AutoGPT Platform - Front end UI labels Oct 31, 2024 — with Linear
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
platform/backend AutoGPT Platform - Back end platform/frontend AutoGPT Platform - Front end UI
Projects
None yet
Development

No branches or pull requests

1 participant