feat: 接入 pi 原生能力——Usage Card、思考等级切换、压缩与分支摘要

This commit is contained in:
Rick Ye
2026-09-08 17:21:27 +08:00
parent adf3c3e118
commit e7da0f912e
12 changed files with 1378 additions and 159 deletions
+11
View File
@@ -9,12 +9,15 @@ import type {
BrowserUiState,
ChatResources,
CustomProviderConfig,
ForkPoint,
ModelCatalog,
NavigateTreeOptions,
PermissionMode,
ResourceDetails,
SendImage,
SessionMeta,
SessionState,
ThinkingLevel,
WorkspaceFile,
WorkspaceMeta
} from '@shared/types'
@@ -65,6 +68,14 @@ const api = {
setApiKey: (providerId: string, apiKey: string): Promise<void> =>
ipcRenderer.invoke('auth:setKey', providerId, apiKey),
logoutProvider: (providerId: string): Promise<void> => ipcRenderer.invoke('auth:logout', providerId),
setThinkingLevel: (level: ThinkingLevel): Promise<void> => ipcRenderer.invoke('thinking:set', level),
compactSession: (instructions?: string): Promise<{ summary: string; tokensBefore: number }> =>
ipcRenderer.invoke('session:compact', instructions),
abortCompaction: (): Promise<void> => ipcRenderer.invoke('session:compact:abort'),
setAutoCompaction: (enabled: boolean): Promise<void> => ipcRenderer.invoke('session:autoCompact', enabled),
listForkPoints: (): Promise<ForkPoint[]> => ipcRenderer.invoke('session:forkPoints'),
navigateTree: (entryId: string, options?: NavigateTreeOptions): Promise<void> =>
ipcRenderer.invoke('session:navigate', entryId, options),
getSettings: (): Promise<AppSettings> => ipcRenderer.invoke('settings:get'),
setSystemPrompt: (text: string): Promise<void> => ipcRenderer.invoke('settings:setPrompt', text),
setThemeColor: (id: string): Promise<void> => ipcRenderer.invoke('settings:setTheme', id),