feat: add switch to remote button for local mode

This commit is contained in:
weishu
2025-12-22 00:05:55 +08:00
parent 8cbe68c47a
commit 7c86f83d5c
7 changed files with 112 additions and 2 deletions
+9 -1
View File
@@ -35,7 +35,7 @@ export function SessionChat(props: {
const controlsDisabled = !props.session.active
const normalizedCacheRef = useRef<Map<string, { source: DecryptedMessage; normalized: NormalizedMessage | null }>>(new Map())
const blocksByIdRef = useRef<Map<string, ChatBlock>>(new Map())
const { abortSession, setPermissionMode, setModelMode } = useSessionActions(props.api, props.session.id)
const { abortSession, switchSession, setPermissionMode, setModelMode } = useSessionActions(props.api, props.session.id)
useEffect(() => {
normalizedCacheRef.current.clear()
@@ -108,6 +108,12 @@ export function SessionChat(props: {
props.onRefresh()
}, [abortSession, props.onRefresh])
// Switch to remote handler
const handleSwitchToRemote = useCallback(async () => {
await switchSession()
props.onRefresh()
}, [switchSession, props.onRefresh])
const handleViewFiles = useCallback(() => {
navigate({
to: '/sessions/$sessionId/files',
@@ -204,8 +210,10 @@ export function SessionChat(props: {
thinking={props.session.thinking}
agentState={props.session.agentState}
contextSize={reduced.latestUsage?.contextSize}
controlledByUser={props.session.agentState?.controlledByUser === true}
onPermissionModeChange={handlePermissionModeChange}
onModelModeChange={handleModelModeChange}
onSwitchToRemote={handleSwitchToRemote}
/>
</div>
</AssistantRuntimeProvider>