You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@camel.apache.org by "Adriano Machado (Jira)" <ji...@apache.org> on 2026/07/09 19:09:00 UTC
[jira] [Assigned] (CAMEL-23978) camel-jbang tui: AI panel Claude Code look, thinking animation, and Gemini/Azure OpenAI support
[ https://issues.apache.org/jira/browse/CAMEL-23978?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Adriano Machado reassigned CAMEL-23978:
---------------------------------------
Assignee: Adriano Machado
> camel-jbang tui: AI panel Claude Code look, thinking animation, and Gemini/Azure OpenAI support
> -----------------------------------------------------------------------------------------------
>
> Key: CAMEL-23978
> URL: https://issues.apache.org/jira/browse/CAMEL-23978
> Project: Camel
> Issue Type: New Feature
> Components: camel-jbang
> Reporter: Adriano Machado
> Assignee: Adriano Machado
> Priority: Major
>
> h3. Context
> {{AiPanel}} ({{dsl/camel-jbang/camel-jbang-plugin-tui/.../tui/AiPanel.java}}) is the TUI's F8 prompt panel. It shares its LLM plumbing with the {{camel ask}} CLI command through {{LlmClient}} and {{AskTools}}. Today it:
> * Shows a plain text "thinking..." line with dots animated from wall-clock time, embedded directly in the markdown conversation stream.
> * Renders the input line as a plain {{"> "}} prompt with no accent styling.
> * Talks to three provider families via {{LlmClient}}: Ollama, OpenAI-compatible, and Anthropic (including Vertex AI-hosted Anthropic models). Provider/model selection is 100% automatic (env-var detection at panel-open time), with no way to see or change it from inside the TUI.
> h3. Goals
> # Replace the plain-text thinking indicator with an animated spinner, a camel-themed rotating status verb, and a clear interrupt affordance ({{Esc}} in addition to {{Ctrl+C}}).
> # Restyle the input prompt to look more intentional/Claude-Code-like ({{"> "}} → accent-colored {{"❯ "}}), without spending extra vertical rows the compact panel can't spare.
> # Add native Gemini and Azure OpenAI support to {{LlmClient}} (new {{ApiType}} values, request/response builders, auto-detect env-var chain, and matching {{camel ask --api-type}} values).
> # Let users see and change the active provider/model from inside the TUI: a persisted default in the Settings dialog (AI Provider / AI Model / AI Base URL rows) and a quick session-only switch via a new {{Ctrl+P}} popup.
> h3. Non-goals
> * AWS Bedrock support (left for a future design).
> * Token-by-token streaming reveal of the final answer (left for a future design).
> * A nested bordered box around the input line, matching Claude Code's literal 3-row input box.
> * Persisting API keys in TUI settings: secrets remain env-var only.
> * Changes to {{camel ask}}'s existing CLI flags beyond the two new {{--api-type}} values.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)