diff --git a/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx b/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx index 96b9e8ffd5..9f2112af95 100644 --- a/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx +++ b/packages/opencode/src/cli/cmd/tui/component/prompt/index.tsx @@ -40,6 +40,7 @@ export type PromptProps = { ref?: (ref: PromptRef) => void hint?: JSX.Element showPlaceholder?: boolean + runningAgent?: string } export type PromptRef = { @@ -701,20 +702,19 @@ export function Prompt(props: PromptProps) { }) const spinnerDef = createMemo(() => { - const color = local.agent.color(local.agent.current().name) + const agent = status().type !== "idle" && props.runningAgent ? props.runningAgent : local.agent.current().name + const color = local.agent.color(agent) return { frames: createFrames({ color, style: "blocks", inactiveFactor: 0.6, - // enableFading: false, minAlpha: 0.3, }), color: createColors({ color, style: "blocks", inactiveFactor: 0.6, - // enableFading: false, minAlpha: 0.3, }), } diff --git a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx index d91363954a..4fdfb06e71 100644 --- a/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx +++ b/packages/opencode/src/cli/cmd/tui/routes/session/index.tsx @@ -136,6 +136,11 @@ export function Session() { return messages().findLast((x) => x.role === "assistant") }) + const runningAgent = createMemo(() => { + const msg = messages().findLast((x) => x.role === "assistant" && !x.time.completed) + return msg?.agent + }) + const dimensions = useTerminalDimensions() const [sidebar, setSidebar] = kv.signal<"auto" | "hide">("sidebar", "hide") const [sidebarOpen, setSidebarOpen] = createSignal(false) @@ -1044,6 +1049,7 @@ export function Session() { toBottom() }} sessionID={route.sessionID} + runningAgent={runningAgent()} />