Skip to content

Expose model modalities in model discover/list and TUI #1267

@Aaronontheweb

Description

@Aaronontheweb

Problem

Model discovery now carries modality metadata such as Text and Image, and OpenAI Codex OAuth discovery can resolve input_modalities from the live Codex catalog. Operators still cannot see those modalities in the main model selection surfaces:

  • netclaw model discover <provider> shows model ID, context window, and cost, but not input/output modalities.
  • netclaw model list shows assigned model ID and context window, but not persisted input/output modalities.
  • The TUI model manager and picker should make modality support visible before assignment and in role overview where practical.

This matters for image-capable models: users should be able to confirm whether a discovered or selected model accepts image input without checking daemon status after assignment.

Desired behavior

  • netclaw model discover <provider> displays input and output modalities when the provider returns them.
  • netclaw model list displays persisted input and output modalities for assigned roles when present.
  • The model manager TUI exposes discovered model modalities in the picker/details flow.
  • The TUI role overview exposes configured role modalities where layout allows.
  • Unknown modality metadata should render as - or unknown, not as a guessed capability.

Notes

OpenAI Codex OAuth discovery currently resolves modalities from the live input_modalities / output_modalities fields and persists them when a model is selected. This issue is about surfacing that metadata in the operator-facing model selection UI.

Metadata

Metadata

Assignees

No one assigned

    Labels

    providersProvider integrations and capability detection across OpenAI-compatible backends.tuiTerminal UI (Termina) issues

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions