feat: 模型级联菜单、逐回合分叉、折叠态会话切换、划选引用与界面缩放
- 模型菜单改为级联悬浮结构:服务商独立成行,悬浮其上时模型列表浮出左侧;
This commit is contained in:
@@ -1,4 +1,4 @@
|
||||
import { contextBridge, ipcRenderer } from 'electron'
|
||||
import { contextBridge, ipcRenderer, webFrame } from 'electron'
|
||||
import type {
|
||||
AgentUiEvent,
|
||||
AppSettings,
|
||||
@@ -28,6 +28,15 @@ const api = {
|
||||
minimize: (): Promise<void> => ipcRenderer.invoke('win:minimize'),
|
||||
toggleMaximize: (): Promise<void> => ipcRenderer.invoke('win:toggleMaximize'),
|
||||
close: (): Promise<void> => ipcRenderer.invoke('win:close'),
|
||||
|
||||
// 界面缩放(Ctrl+= / Ctrl+- / Ctrl+0),factor 为相对倍率,限制在 50%–200%
|
||||
zoom: (factor: number): void => {
|
||||
const next = Math.min(2, Math.max(0.5, webFrame.getZoomFactor() * factor))
|
||||
webFrame.setZoomFactor(next)
|
||||
},
|
||||
zoomReset: (): void => {
|
||||
webFrame.setZoomFactor(1)
|
||||
},
|
||||
onWindowState: (callback: (maximized: boolean) => void): (() => void) => {
|
||||
const listener = (_e: Electron.IpcRendererEvent, maximized: boolean): void => callback(maximized)
|
||||
ipcRenderer.on('win:state', listener)
|
||||
@@ -78,6 +87,8 @@ const api = {
|
||||
navigateTree: (entryId: string, options?: NavigateTreeOptions): Promise<void> =>
|
||||
ipcRenderer.invoke('session:navigate', entryId, options),
|
||||
forkSession: (): Promise<void> => ipcRenderer.invoke('session:fork'),
|
||||
forkSessionAt: (entryId: string, position: 'at' | 'before'): Promise<void> =>
|
||||
ipcRenderer.invoke('session:forkAt', entryId, position),
|
||||
getSettings: (): Promise<AppSettings> => ipcRenderer.invoke('settings:get'),
|
||||
getSystemPrompt: (): Promise<string> => ipcRenderer.invoke('settings:getSystemPrompt'),
|
||||
setThemeColor: (id: string): Promise<void> => ipcRenderer.invoke('settings:setTheme', id),
|
||||
|
||||
Reference in New Issue
Block a user