diff --git a/packages/app/src/pages/session.tsx b/packages/app/src/pages/session.tsx index 69065a8fa7a..1bff032950b 100644 --- a/packages/app/src/pages/session.tsx +++ b/packages/app/src/pages/session.tsx @@ -1,4 +1,4 @@ -import { For, onCleanup, onMount, Show, Match, Switch, createMemo, createEffect, on } from "solid-js" +import { For, onCleanup, onMount, Show, Match, Switch, createMemo, createEffect, createSignal, on } from "solid-js" import { createMediaQuery } from "@solid-primitives/media" import { createResizeObserver } from "@solid-primitives/resize-observer" import { Dynamic } from "solid-js/web" @@ -161,6 +161,7 @@ export default function Page() { const dialog = useDialog() const codeComponent = useCodeComponent() const command = useCommand() + const [showThinking, setShowThinking] = createSignal(true) const platform = usePlatform() const params = useParams() const navigate = useNavigate() @@ -473,6 +474,14 @@ export default function Page() { setStore("expanded", msg.id, (open: boolean | undefined) => !open) }, }, + { + id: "thinking.toggle", + title: showThinking() ? "Hide thinking" : "Show thinking", + description: "Show or hide thinking/reasoning blocks", + category: "View", + slash: "thinking", + onSelect: () => setShowThinking((prev) => !prev), + }, { id: "message.previous", title: "Previous message", @@ -1174,6 +1183,7 @@ export default function Page() { messageID={message.id} lastUserMessageID={lastUserMessage()?.id} stepsExpanded={store.expanded[message.id] ?? false} + showThinking={showThinking()} onStepsExpandedToggle={() => setStore("expanded", message.id, (open: boolean | undefined) => !open) } diff --git a/packages/ui/src/components/session-turn.tsx b/packages/ui/src/components/session-turn.tsx index cca81163178..86b722497cc 100644 --- a/packages/ui/src/components/session-turn.tsx +++ b/packages/ui/src/components/session-turn.tsx @@ -120,6 +120,7 @@ export function SessionTurn( messageID: string lastUserMessageID?: string stepsExpanded?: boolean + showThinking?: boolean onStepsExpandedToggle?: () => void onUserInteracted?: () => void classes?: { @@ -559,7 +560,7 @@ export function SessionTurn( message={assistantMessage} responsePartId={responsePartId()} hideResponsePart={hideResponsePart()} - hideReasoning={!working()} + hideReasoning={!working() && !props.showThinking} /> )}