Skip to content

Rethink native-tools UI: default-on, demote disable to advanced settings #29

Description

@dsfaccini

David's AICA here:

Problem

The chat toolbar surfaces the provider-native tools (web search, code execution, image generation) as prominent per-tool toggles next to the model picker (see the switches wired in src/Chat.tsx, and the tools attached in agent/chatbot/server.py).

When this UI was designed, exposing each tool as an explicit opt-in made sense. LLM development and user expectations have moved on: people now generally expect an assistant to already have web search / code execution / etc. available. Making each one a primary, always-visible control reads as dated and adds noise to the main input area, when most users just want the tools on.

Proposal

  • Enable the native tools by default.
  • Move the disable controls out of the primary toolbar into an advanced / settings surface, for the minority who explicitly want to turn a tool off.
  • Keep the main toolbar focused on the things users actually change per-message (model, and -- per feat: reasoning-effort dropdown in the chat toolbar #28 -- reasoning effort).

Open questions

  • Where should "advanced settings" live (a popover off the toolbar, a settings dialog, a per-conversation menu)?
  • Should the default-on set be per-model (some models/providers don't support all native tools)?
  • Do we persist per-user overrides (localStorage, like model/effort) or reset to defaults each session?

Not urgent; filing to track the rethink.

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

    Type

    No type

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions