文档/SDK -> 事件 -> 处理器索引

SDK -> 事件 -> 处理器索引

本页整理 packages/utils/transport/sdk/domains/* 与主进程处理器的映射,并补充内部/私有 transport 的非 SDK 通道。

通用开发

SDK -> 事件 -> 处理器索引

本页整理 packages/utils/transport/sdk/domains/* 与主进程处理器的映射,并补充内部/私有 transport 的非 SDK 通道。

B1. App SDK(packages/utils/transport/sdk/domains/app.ts)

SDK 方法事件名主处理器(函数级)
close()app:window:closeCommonChannel.registerTransportHandlers -> closeApp
hide()app:window:hideCommonChannel.registerTransportHandlers -> touchApp.window.window.hide
minimize()app:window:minimizeCommonChannel.registerTransportHandlers -> touchApp.window.minimize
focus()app:window:focusCommonChannel.registerTransportHandlers -> touchApp.window.window.focus
openDevTools()app:debug:open-devtoolsCommonChannel.registerTransportHandlers -> touchApp.window.openDevTools
getCwd()app:system:get-cwdCommonChannel.registerTransportHandlers -> process.cwd()
getOS()app:system:get-osCommonChannel.registerTransportHandlers -> getOSInformation
getPackage()app:system:get-packageCommonChannel.registerTransportHandlers -> packageJson
getPath(name)app:system:get-pathCommonChannel.registerTransportHandlers -> electronApp.getPath
openExternal(url)app:system:open-externalCommonChannel.registerTransportHandlers -> shell.openExternal
showInFolder(path)app:system:show-in-folderCommonChannel.registerTransportHandlers -> shell.showItemInFolder
openApp(options)app:system:open-appCommonChannel.registerTransportHandlers -> shell.openPath/openApp
executeCommand(options)app:system:execute-commandCommonChannel.registerTransportHandlers -> exec
readFile(path)app:system:read-fileCommonChannel.registerTransportHandlers -> readFile

B2. Platform SDK(packages/utils/transport/sdk/domains/platform.ts)

SDK 方法事件名主处理器(函数级)
listCapabilities()platform:capabilities:listCommonChannel.registerTransportHandlers -> platformCapabilityRegistry.list

B3. Download SDK(packages/utils/transport/sdk/domains/download.ts)

SDK 方法事件名主处理器(函数级)
addTask()download:task:addDownloadCenter.registerTransportHandlers -> addTask
pauseTask()download:task:pauseDownloadCenter.registerTransportHandlers -> pauseTask
resumeTask()download:task:resumeDownloadCenter.registerTransportHandlers -> resumeTask
cancelTask()download:task:cancelDownloadCenter.registerTransportHandlers -> cancelTask
retryTask()download:task:retryDownloadCenter.registerTransportHandlers -> retryTask
removeTask()download:task:removeDownloadCenter.registerTransportHandlers -> removeTask
updatePriority()download:task:update-priorityDownloadCenter.registerTransportHandlers -> updateTaskPriority
pauseAll()download:task:pause-allDownloadCenter.registerTransportHandlers -> pauseAllTasks
resumeAll()download:task:resume-allDownloadCenter.registerTransportHandlers -> resumeAllTasks
cancelAll()download:task:cancel-allDownloadCenter.registerTransportHandlers -> cancelAllTasks
getAllTasks()download:list:getDownloadCenter.registerTransportHandlers -> getAllTasks
getTasksByStatus()download:list:get-by-statusDownloadCenter.registerTransportHandlers -> getTasksByStatus
getTaskStatus()download:task:get-statusDownloadCenter.registerTransportHandlers -> getTaskStatus
getConfig()download:config:getDownloadCenter.registerTransportHandlers -> getConfig
updateConfig()download:config:updateDownloadCenter.registerTransportHandlers -> updateConfig
getNotificationConfig()download:config:get-notificationDownloadCenter.registerTransportHandlers -> getNotificationConfig
updateNotificationConfig()download:config:update-notificationDownloadCenter.registerTransportHandlers -> updateNotificationConfig
getHistory()download:history:getDownloadCenter.registerTransportHandlers -> getTaskHistory
clearHistory()download:history:clearDownloadCenter.registerTransportHandlers -> clearHistory
clearHistoryItem()download:history:clear-itemDownloadCenter.registerTransportHandlers -> clearHistoryItem
openFile()download:file:openDownloadCenter.registerTransportHandlers -> openFile
showInFolder()download:file:show-in-folderDownloadCenter.registerTransportHandlers -> showInFolder
deleteFile()download:file:deleteDownloadCenter.registerTransportHandlers -> deleteFile
cleanupTemp()download:maintenance:cleanup-tempDownloadCenter.registerTransportHandlers -> cleanupTempFiles
getTempStats()download:temp:get-statsDownloadCenter.registerTransportHandlers -> getTempStats
getLogs()download:logs:getDownloadCenter.registerTransportHandlers -> getLogs
getErrorStats()download:logs:get-error-statsDownloadCenter.registerTransportHandlers -> getErrorStats
clearLogs()download:logs:clearDownloadCenter.registerTransportHandlers -> clearLogs
getStats()download:stats:getDownloadCenter.registerTransportHandlers -> getStats
checkMigrationNeeded()download:migration:check-neededDownloadCenter.registerTransportHandlers -> checkMigrationNeeded
startMigration()download:migration:startDownloadCenter.registerTransportHandlers -> startMigration
retryMigration()download:migration:retryDownloadCenter.registerTransportHandlers -> retryMigration
getMigrationStatus()download:migration:statusDownloadCenter.registerTransportHandlers -> getMigrationStatus
onTaskAdded()download:push:task-addedDownloadCenter.broadcastTaskAdded
onTaskProgress()download:push:task-progressDownloadCenter.broadcastTaskProgress
onTaskCompleted()download:push:task-completedDownloadCenter.broadcastTaskCompleted
onTaskFailed()download:push:task-failedDownloadCenter.broadcastTaskFailed
onTaskUpdated()download:push:task-updatedDownloadCenter.broadcastTaskUpdated
onTaskRetrying()download:push:task-retryingDownloadCenter.startDownloadTask (retryStrategy callback)
onNotificationClicked()download:push:notification-clickedDownloadCenter.handleNotificationClick

B4. Notification SDK(packages/utils/transport/sdk/domains/notification.ts)

SDK 方法事件名主处理器(函数级)
notify()notification:api:notifyNotificationModule.registerTransportHandlers -> handleNotify
update()notification:api:updateNotificationModule.registerTransportHandlers -> handleUpdate
dismiss()notification:api:dismissNotificationModule.registerTransportHandlers -> handleDismiss
reportAction()notification:api:actionNotificationModule.registerTransportHandlers -> handleAction
listInbox()notification:inbox:listNotificationModule.registerTransportHandlers -> inbox.list
markRead()notification:inbox:mark-readNotificationModule.registerTransportHandlers -> handleInboxMarkRead
archive()notification:inbox:archiveNotificationModule.registerTransportHandlers -> handleInboxArchive
delete()notification:inbox:deleteNotificationModule.registerTransportHandlers -> inbox.delete
clear()notification:inbox:clearNotificationModule.registerTransportHandlers -> inbox.clear
onNotify()notification:push:notifyNotificationModule.handleNotify -> transport.broadcast
onUpdate()notification:push:updateNotificationModule.handleUpdate -> transport.broadcast
onDismiss()notification:push:dismissNotificationModule.handleDismiss -> transport.broadcast
onAction()notification:push:actionNotificationModule.handleAction -> transport.broadcast
onInboxUpdated()notification:push:inbox-updatedNotificationModule.handleInbox* -> transport.broadcast

B5. Store SDK(packages/utils/transport/sdk/domains/store.ts)

SDK 方法事件名主处理器(函数级)
checkUpdates()store:check-updatesPluginModule.start -> triggerUpdateCheck
search()store:searchPluginModule.start -> searchMarket
getPlugin()store:get-pluginPluginModule.start -> getMarketPlugin
httpRequest()store:http-requestPluginModule.start -> performMarketHttpRequest
featured()store:featuredPluginModule.start -> featured
npmList()store:npm-listPluginModule.start -> npmList
onUpdatesAvailable()store:updates-availablestartUpdateScheduler.onUpdatesFound -> transport.broadcast

B6. Plugin SDK(packages/utils/transport/sdk/domains/plugin.ts)

SDK 方法事件名主处理器(函数级)
list()plugin:api:listPluginModule.start -> manager.plugins list
get()plugin:api:getPluginModule.start -> manager.plugins.get
getStatus()plugin:api:get-statusPluginModule.start -> plugin.status
enable()plugin:api:enablePluginModule.start -> manager.enablePlugin
disable()plugin:api:disablePluginModule.start -> manager.disablePlugin
reload()plugin:api:reloadPluginModule.start -> manager.reloadPlugin
install()plugin:api:installPluginModule.start -> pluginInstaller.install
uninstall()plugin:api:uninstallPluginModule.start -> manager.uninstallPlugin
triggerFeature()plugin:api:trigger-featurePluginModule.start -> manager.triggerFeature
registerWidget()plugin:api:register-widgetPluginModule.start -> widgetManager.registerWidget
featureInputChanged()plugin:api:feature-input-changedPluginModule.start -> manager.featureInputChanged
openFolder()plugin:api:open-folderPluginModule.start -> shell.openPath
getOfficialList()plugin:api:get-official-listPluginModule.start -> getOfficialList
getManifest()plugin:api:get-manifestPluginModule.start -> readManifest
saveManifest()plugin:api:save-manifestPluginModule.start -> saveManifest
saveWidgetFile()plugin:api:save-widget-filePluginModule.start -> saveWidgetFile
getPaths()plugin:api:get-pathsPluginModule.start -> resolvePluginPaths
openPath()plugin:api:open-pathPluginModule.start -> shell.openPath
revealPath()plugin:api:reveal-pathPluginModule.start -> shell.showItemInFolder
getPerformance()plugin:api:get-performancePluginModule.start -> plugin.getPerformanceMetrics
getRuntimeStats()plugin:api:get-runtime-statsPluginModule.start -> plugin.getRuntimeStats
reconnectDevServer()plugin:reconnect-dev-serverPluginModule.start -> healthMonitor.reconnectDevServer
getDevServerStatus()plugin:dev-server-statusPluginModule.start -> healthMonitor.getStatus
onStateChanged()plugin:state-changedcreatePluginManager -> transport.broadcast
onStatusUpdated()plugin-status-updatedTouchPlugin.status setter -> transport.broadcast
onInstallProgress()plugin:install-progressPluginInstallQueue.emitProgress
onInstallConfirm()plugin:install-confirmPluginInstallQueue.requestConfirmation
sendInstallConfirmResponse()plugin:install-confirm-responsePluginModule.start -> installQueue.handleConfirmResponse
installFromSource()plugin:install-sourcePluginModule.start -> installQueue.enqueue

C. 内部/私有 Transport(非 SDK)

说明:这些事件通常由渲染进程或插件进程直接调用,不经过 SDK 封装。

C1. CoreBox 内部 raw 事件

事件名发送端处理端
core-box:triggerCoreBoxWindowManager.show/hide -> channel.broadcastTo(apps/core-app/src/main/modules/box-tool/core-box/window.ts)useVisibility -> transport.on(apps/core-app/src/renderer/src/modules/box/adapter/hooks/useVisibility.ts)
core-box:ui-resumeCoreBoxWindowManager.attachUIView -> sendToPlugin(apps/core-app/src/main/modules/box-tool/core-box/window.ts)插件进程 UI View(非仓库代码)
core-box:hide-input调用方:插件/渲染器(raw event)IpcManager.registerTransportHandlers -> setInputVisibility(false)(apps/core-app/src/main/modules/box-tool/core-box/ipc.ts)
core-box:show-input调用方:插件/渲染器(raw event)IpcManager.registerTransportHandlers -> setInputVisibility(true)(apps/core-app/src/main/modules/box-tool/core-box/ipc.ts)
core-box:allow-input调用方:插件/渲染器(raw event)IpcManager.registerTransportHandlers -> windowManager.enableInputMonitoring(apps/core-app/src/main/modules/box-tool/core-box/ipc.ts)
core-box:set-height调用方:插件/渲染器(raw event)IpcManager.registerTransportHandlers -> windowManager.setHeight(apps/core-app/src/main/modules/box-tool/core-box/ipc.ts)
core-box:get-bounds调用方:插件/渲染器(raw event)IpcManager.registerTransportHandlers -> window.getBounds(apps/core-app/src/main/modules/box-tool/core-box/ipc.ts)
core-box:set-position-offset调用方:插件/渲染器(raw event)IpcManager.registerTransportHandlers -> windowManager.setPositionOffset(apps/core-app/src/main/modules/box-tool/core-box/ipc.ts)
core-box:get-recommendations调用方:渲染器/后台SearchEngineCore.init -> recommendationEngine.recommend(apps/core-app/src/main/modules/box-tool/search-engine/search-core.ts)
core-box:aggregate-time-stats调用方:渲染器/后台SearchEngineCore.init -> timeStatsAggregator.aggregateTimeStats(apps/core-app/src/main/modules/box-tool/search-engine/search-core.ts)
core-box:is-pinned调用方:渲染器SearchEngineCore.init -> dbUtils.isPinned(apps/core-app/src/main/modules/box-tool/search-engine/search-core.ts)
core-box:clipboard-changeClipboardModule.checkClipboard -> sendToPlugin(apps/core-app/src/main/modules/clipboard.ts)插件进程 UI View(非仓库代码)
core-box:clipboard-meta-updatedOcrService.broadcastMetaUpdate -> sendToPlugin(apps/core-app/src/main/modules/ocr/ocr-service.ts)插件进程 UI View(非仓库代码)

C2. Plugin 进程 raw 事件

事件名发送端处理端
window:new插件进程(Prelude)PluginModule.start -> transport.on(defineRawEvent('window:new'))(apps/core-app/src/main/modules/plugin/plugin-module.ts)
window:visible插件进程(Prelude)PluginModule.start -> transport.on(defineRawEvent('window:visible'))(apps/core-app/src/main/modules/plugin/plugin-module.ts)

C3. CommonChannel 兼容/遗留事件(App/System)

C3.1 App/System

事件名发送端处理端
close渲染器(legacy touch-sdk:packages/utils/renderer/touch-sdk/index.ts)CommonChannel.registerTransportHandlers -> closeApp(apps/core-app/src/main/channel/common.ts)
hide渲染器(legacy touch-sdk:packages/utils/renderer/touch-sdk/index.ts)CommonChannel.registerTransportHandlers -> touchApp.window.window.hide(apps/core-app/src/main/channel/common.ts)
minimize渲染器(legacy touch-sdk:packages/utils/renderer/touch-sdk/index.ts)CommonChannel.registerTransportHandlers -> touchApp.window.minimize(apps/core-app/src/main/channel/common.ts)
dev-tools渲染器(legacy touch-sdk:packages/utils/renderer/touch-sdk/index.ts)CommonChannel.registerTransportHandlers -> touchApp.window.openDevTools(apps/core-app/src/main/channel/common.ts)
get-package渲染器(legacy touch-sdk:packages/utils/renderer/touch-sdk/index.ts)CommonChannel.registerTransportHandlers -> packageJson(apps/core-app/src/main/channel/common.ts)
open-external渲染器(legacy touch-sdk:packages/utils/renderer/touch-sdk/index.ts)CommonChannel.registerTransportHandlers -> shell.openExternal(apps/core-app/src/main/channel/common.ts)
get-os渲染器(legacy touch-sdk:packages/utils/renderer/touch-sdk/index.ts)CommonChannel.registerTransportHandlers -> getOSInformation(apps/core-app/src/main/channel/common.ts)
common:cwd渲染器(legacy touch-sdk:packages/utils/renderer/touch-sdk/index.ts)CommonChannel.registerTransportHandlers -> process.cwd()(apps/core-app/src/main/channel/common.ts)
common:get-path调用方:渲染器/插件(raw event)CommonChannel.registerTransportHandlers -> touchApp.app.getPath(apps/core-app/src/main/channel/common.ts)
folder:open渲染器(legacy touch-sdk:packages/utils/renderer/touch-sdk/index.ts)CommonChannel.registerTransportHandlers -> shell.showItemInFolder(apps/core-app/src/main/channel/common.ts)
app:open-prompts-folder渲染器(apps/core-app/src/renderer/src/components/intelligence/IntelligencePrompts.vue)CommonChannel.registerTransportHandlers -> shell.showItemInFolder/shell.openPath(apps/core-app/src/main/channel/common.ts)
module:folder渲染器(legacy touch-sdk:packages/utils/renderer/touch-sdk/index.ts)CommonChannel.registerTransportHandlers -> shell.openPath(apps/core-app/src/main/channel/common.ts)
execute:cmd渲染器(legacy touch-sdk:packages/utils/renderer/touch-sdk/index.ts)CommonChannel.registerTransportHandlers -> shell.openPath(apps/core-app/src/main/channel/common.ts)
app:open渲染器(legacy touch-sdk:packages/utils/renderer/touch-sdk/index.ts)CommonChannel.registerTransportHandlers -> shell.openPath(apps/core-app/src/main/channel/common.ts)
url:open渲染器(apps/core-app/src/renderer/src/modules/hooks/application-hooks.ts)CommonChannel.registerTransportHandlers -> onOpenUrl(apps/core-app/src/main/channel/common.ts)
files:index-progress调用方:渲染器(raw event)CommonChannel.registerTransportHandlers -> fileProvider.getIndexingProgress(apps/core-app/src/main/channel/common.ts)
app:system:get-active-app调用方:插件 SDK typed transport(packages/utils/plugin/sdk/system.ts)CommonChannel.registerTransportHandlers -> activeAppService.getActiveApp(apps/core-app/src/main/channel/common.ts)
system:get-storage-usage渲染器(apps/core-app/src/renderer/src/views/storage/Storagable.vue)CommonChannel.registerTransportHandlers -> getStorageUsageReport(apps/core-app/src/main/channel/common.ts)
build:get-verification-status调用方:渲染器(raw event)CommonChannel.registerTransportHandlers -> resolveBuildVerificationStatus(apps/core-app/src/main/channel/common.ts)

C3.2 Temp File / Storage Cleanup

事件名发送端处理端
temp-file:create渲染器(legacy touch-sdk:packages/utils/renderer/touch-sdk/index.ts)CommonChannel.registerTransportHandlers -> tempFileService.createFile(apps/core-app/src/main/channel/common.ts)
temp-file:delete渲染器(legacy touch-sdk:packages/utils/renderer/touch-sdk/index.ts)CommonChannel.registerTransportHandlers -> tempFileService.deleteFile(apps/core-app/src/main/channel/common.ts)
storage:cleanup:clipboard调用方:渲染器(raw event)CommonChannel.registerTransportHandlers -> cleanupClipboard(apps/core-app/src/main/channel/common.ts)
storage:cleanup:file-index调用方:渲染器(raw event)CommonChannel.registerTransportHandlers -> cleanupFileIndex(apps/core-app/src/main/channel/common.ts)
storage:cleanup:logs调用方:渲染器(raw event)CommonChannel.registerTransportHandlers -> cleanupLogs(apps/core-app/src/main/channel/common.ts)
storage:cleanup:temp调用方:渲染器(raw event)CommonChannel.registerTransportHandlers -> cleanupTemp(apps/core-app/src/main/channel/common.ts)
storage:cleanup:analytics调用方:渲染器(raw event)CommonChannel.registerTransportHandlers -> cleanupAnalytics(apps/core-app/src/main/channel/common.ts)
storage:cleanup:usage调用方:渲染器(raw event)CommonChannel.registerTransportHandlers -> cleanupUsage(apps/core-app/src/main/channel/common.ts)
storage:cleanup:ocr调用方:渲染器(raw event)CommonChannel.registerTransportHandlers -> cleanupOcr(apps/core-app/src/main/channel/common.ts)
storage:cleanup:downloads调用方:渲染器(raw event)CommonChannel.registerTransportHandlers -> cleanupDownloads(apps/core-app/src/main/channel/common.ts)
storage:cleanup:intelligence调用方:渲染器(raw event)CommonChannel.registerTransportHandlers -> cleanupIntelligence(apps/core-app/src/main/channel/common.ts)
storage:cleanup:config调用方:渲染器(raw event)CommonChannel.registerTransportHandlers -> cleanupConfig(apps/core-app/src/main/channel/common.ts)
storage:cleanup:updates调用方:渲染器(raw event)CommonChannel.registerTransportHandlers -> cleanupUpdates(apps/core-app/src/main/channel/common.ts)

C4. Storage 兼容/遗留事件

事件名发送端处理端
storage:get调用方:渲染器(legacy raw event)StorageModule.registerTransportHandlers -> getConfig(apps/core-app/src/main/modules/storage/index.ts)
storage:get-versioned调用方:渲染器(legacy raw event)StorageModule.registerTransportHandlers -> getConfigWithVersion(apps/core-app/src/main/modules/storage/index.ts)
storage:save调用方:渲染器(legacy raw event)StorageModule.registerTransportHandlers -> saveConfig(apps/core-app/src/main/modules/storage/index.ts)
storage:reload调用方:渲染器(legacy raw event)StorageModule.registerTransportHandlers -> reloadConfig + broadcastUpdate(apps/core-app/src/main/modules/storage/index.ts)
storage:saveall调用方:渲染器(legacy raw event)StorageModule.registerTransportHandlers -> StoragePollingService.forceSave(apps/core-app/src/main/modules/storage/index.ts)
storage:save-sync调用方:渲染器(legacy raw event)StorageModule.registerTransportHandlers -> saveConfig + sync write(apps/core-app/src/main/modules/storage/index.ts)
storage:updateStorageModule.broadcastUpdate -> transport.broadcastToWindow(apps/core-app/src/main/modules/storage/index.ts)渲染器(storage 订阅者)

C5. Clipboard 兼容/遗留事件

事件名发送端处理端
clipboard:get-history调用方:渲染器(legacy raw event)ClipboardModule.registerTransportHandlers -> history query(apps/core-app/src/main/modules/clipboard.ts)
clipboard:set-favorite调用方:渲染器(legacy raw event)ClipboardModule.registerTransportHandlers -> setFavorite(apps/core-app/src/main/modules/clipboard.ts)
clipboard:delete-item调用方:渲染器(legacy raw event)ClipboardModule.registerTransportHandlers -> delete item(apps/core-app/src/main/modules/clipboard.ts)
clipboard:clear-history调用方:渲染器(legacy raw event)ClipboardModule.registerTransportHandlers -> clear history(apps/core-app/src/main/modules/clipboard.ts)
clipboard:apply-to-active-app调用方:渲染器(legacy raw event)ClipboardModule.registerTransportHandlers -> applyToActiveApp(apps/core-app/src/main/modules/clipboard.ts)
clipboard:write-text调用方:渲染器(legacy raw event)ClipboardModule.registerTransportHandlers -> writePayload(text)(apps/core-app/src/main/modules/clipboard.ts)
clipboard:write调用方:渲染器(legacy raw event)ClipboardModule.registerTransportHandlers -> writePayload(apps/core-app/src/main/modules/clipboard.ts)
clipboard:read调用方:渲染器(legacy raw event)ClipboardModule.registerTransportHandlers -> clipboard.read*(apps/core-app/src/main/modules/clipboard.ts)
clipboard:read-image调用方:渲染器(legacy raw event)ClipboardModule.registerTransportHandlers -> clipboard.readImage(apps/core-app/src/main/modules/clipboard.ts)
clipboard:read-files调用方:渲染器(legacy raw event)ClipboardModule.registerTransportHandlers -> clipboardHelper.readClipboardFiles(apps/core-app/src/main/modules/clipboard.ts)
clipboard:clear调用方:渲染器(legacy raw event)ClipboardModule.registerTransportHandlers -> clipboard.clear()(apps/core-app/src/main/modules/clipboard.ts)
clipboard:copy-and-paste调用方:渲染器(legacy raw event)ClipboardModule.registerTransportHandlers -> applyToActiveApp(apps/core-app/src/main/modules/clipboard.ts)
clipboard:query调用方:渲染器(legacy raw event)ClipboardModule.registerTransportHandlers -> queryHistoryByMeta(apps/core-app/src/main/modules/clipboard.ts)
clipboard:new-itemClipboardModule.checkClipboard -> transport.sendTo(apps/core-app/src/main/modules/clipboard.ts)渲染器(clipboard 订阅者)

C6. BoxItem SDK 内部通道(CoreBox Item)

事件名发送端处理端
box-item:create渲染器(BoxItem SDK)BoxItemManager.registerTransportHandlers -> create(apps/core-app/src/main/modules/box-tool/item-sdk/box-item-manager.ts)
box-item:update渲染器(BoxItem SDK)BoxItemManager.registerTransportHandlers -> update(apps/core-app/src/main/modules/box-tool/item-sdk/box-item-manager.ts)
box-item:upsert渲染器(BoxItem SDK)BoxItemManager.registerTransportHandlers -> upsert(apps/core-app/src/main/modules/box-tool/item-sdk/box-item-manager.ts)
box-item:delete渲染器(BoxItem SDK)BoxItemManager.registerTransportHandlers -> delete(apps/core-app/src/main/modules/box-tool/item-sdk/box-item-manager.ts)
box-item:batch-upsert渲染器(BoxItem SDK)BoxItemManager.registerTransportHandlers -> batchUpsert(apps/core-app/src/main/modules/box-tool/item-sdk/box-item-manager.ts)
box-item:batch-delete渲染器(BoxItem SDK)BoxItemManager.registerTransportHandlers -> batchDelete(apps/core-app/src/main/modules/box-tool/item-sdk/box-item-manager.ts)
box-item:clear渲染器(BoxItem SDK)BoxItemManager.registerTransportHandlers -> clear(apps/core-app/src/main/modules/box-tool/item-sdk/box-item-manager.ts)
box-item:sync渲染器(BoxItem SDK)BoxItemManager.registerTransportHandlers -> handleSyncRequest(apps/core-app/src/main/modules/box-tool/item-sdk/box-item-manager.ts)
box-item:sync-responseBoxItemManager.handleSyncRequest -> emitToRenderer(apps/core-app/src/main/modules/box-tool/item-sdk/box-item-manager.ts)渲染器(BoxItem SDK)

C7. Shortcut(shortcon)内部事件

事件名发送端处理端
shortcon:update渲染器(apps/core-app/src/renderer/src/modules/channel/main/shortcon.ts)ShortcutModule.setupIpcListeners -> updateShortcut(apps/core-app/src/main/modules/global-shortcon.ts)
shortcon:disable-all渲染器(apps/core-app/src/renderer/src/modules/channel/main/shortcon.ts)ShortcutModule.setupIpcListeners -> disableAll(apps/core-app/src/main/modules/global-shortcon.ts)
shortcon:enable-all渲染器(apps/core-app/src/renderer/src/modules/channel/main/shortcon.ts)ShortcutModule.setupIpcListeners -> enableAll(apps/core-app/src/main/modules/global-shortcon.ts)
shortcon:get-all渲染器(apps/core-app/src/renderer/src/modules/channel/main/shortcon.ts)ShortcutModule.setupIpcListeners -> buildShortcutSnapshot(apps/core-app/src/main/modules/global-shortcon.ts)
shortcon:reg插件进程(Prelude)ShortcutModule.setupIpcListeners -> registerRendererShortcut(apps/core-app/src/main/modules/global-shortcon.ts)
shortcon:triggerShortcutModule.handleTrigger -> transport.sendToPlugin/sendToWindow(apps/core-app/src/main/modules/global-shortcon.ts)渲染器/插件(快捷键订阅方)

C8. Intelligence / Agents SDK 事件

C8.1 Intelligence

事件名发送端处理端
intelligence:api:invoke调用方:渲染器/插件(Intelligence SDK typed event)IntelligenceModule.onInit -> ai.invoke(apps/core-app/src/main/modules/ai/intelligence-module.ts)
intelligence:api:chat-langchain调用方:渲染器/插件(Intelligence SDK typed event)IntelligenceModule.onInit -> ai.invoke('text.chat')(apps/core-app/src/main/modules/ai/intelligence-module.ts)
intelligence:api:test-provider调用方:渲染器/插件(Intelligence SDK typed event)IntelligenceModule.onInit -> ai.testProvider(apps/core-app/src/main/modules/ai/intelligence-module.ts)
intelligence:api:get-capability-test-meta调用方:渲染器/插件(Intelligence SDK typed event)IntelligenceModule.onInit -> capabilityTesterRegistry.get(apps/core-app/src/main/modules/ai/intelligence-module.ts)
intelligence:api:test-capability调用方:渲染器/插件(Intelligence SDK typed event)IntelligenceModule.onInit -> tester.generateTestPayload + ai.invoke(apps/core-app/src/main/modules/ai/intelligence-module.ts)
intelligence:api:fetch-models调用方:渲染器/插件(Intelligence SDK typed event)IntelligenceModule.onInit -> fetchProviderModels(apps/core-app/src/main/modules/ai/intelligence-module.ts)
intelligence:api:get-audit-logs调用方:渲染器/插件(Intelligence SDK typed event)IntelligenceModule.onInit -> ai.queryAuditLogs(apps/core-app/src/main/modules/ai/intelligence-module.ts)
intelligence:api:get-today-stats调用方:渲染器/插件(Intelligence SDK typed event)IntelligenceModule.onInit -> ai.getTodayStats(apps/core-app/src/main/modules/ai/intelligence-module.ts)
intelligence:api:get-month-stats调用方:渲染器/插件(Intelligence SDK typed event)IntelligenceModule.onInit -> ai.getMonthStats(apps/core-app/src/main/modules/ai/intelligence-module.ts)
intelligence:api:get-usage-stats调用方:渲染器/插件(Intelligence SDK typed event)IntelligenceModule.onInit -> ai.getUsageStats(apps/core-app/src/main/modules/ai/intelligence-module.ts)
intelligence:api:get-quota调用方:渲染器/插件(Intelligence SDK typed event)IntelligenceModule.onInit -> intelligenceQuotaManager.getQuota(apps/core-app/src/main/modules/ai/intelligence-module.ts)
intelligence:api:set-quota调用方:渲染器/插件(Intelligence SDK typed event)IntelligenceModule.onInit -> intelligenceQuotaManager.setQuota(apps/core-app/src/main/modules/ai/intelligence-module.ts)
intelligence:api:delete-quota调用方:渲染器/插件(Intelligence SDK typed event)IntelligenceModule.onInit -> intelligenceQuotaManager.deleteQuota(apps/core-app/src/main/modules/ai/intelligence-module.ts)
intelligence:api:get-all-quotas调用方:渲染器/插件(Intelligence SDK typed event)IntelligenceModule.onInit -> intelligenceQuotaManager.getAllQuotas(apps/core-app/src/main/modules/ai/intelligence-module.ts)
intelligence:api:check-quota调用方:渲染器/插件(Intelligence SDK typed event)IntelligenceModule.onInit -> intelligenceQuotaManager.checkQuota(apps/core-app/src/main/modules/ai/intelligence-module.ts)
intelligence:api:get-current-usage调用方:渲染器/插件(Intelligence SDK typed event)IntelligenceModule.onInit -> intelligenceQuotaManager.getCurrentUsage(apps/core-app/src/main/modules/ai/intelligence-module.ts)
intelligence:api:reload-config调用方:渲染器/插件(Intelligence SDK typed event)IntelligenceModule.onInit -> reloadConfig(apps/core-app/src/main/modules/ai/intelligence-module.ts)

C8.2 Agents

事件名发送端处理端
agents:update-priority渲染器(raw event)registerAgentChannels -> agentManager.updateTaskPriority(apps/core-app/src/main/modules/ai/agents/agent-channels.ts)
agents:task-startedagentManager.on('task:started') -> transport.broadcast(apps/core-app/src/main/modules/ai/agents/agent-channels.ts)渲染器(Agent 状态订阅者)
agents:task-progressagentManager.on('task:progress') -> transport.broadcast(apps/core-app/src/main/modules/ai/agents/agent-channels.ts)渲染器(Agent 状态订阅者)
agents:task-completedagentManager.on('task:completed') -> transport.broadcast(apps/core-app/src/main/modules/ai/agents/agent-channels.ts)渲染器(Agent 状态订阅者)
agents:task-failedagentManager.on('task:failed') -> transport.broadcast(apps/core-app/src/main/modules/ai/agents/agent-channels.ts)渲染器(Agent 状态订阅者)
agents:task-cancelledagentManager.on('task:cancelled') -> transport.broadcast(apps/core-app/src/main/modules/ai/agents/agent-channels.ts)渲染器(Agent 状态订阅者)

C9. Analytics 事件

事件名发送端处理端
AppEvents.analytics.getSummary渲染器(apps/core-app/src/renderer/src/views/base/settings/SettingAbout.vue)AnalyticsModule.registerTransportHandlers -> startupAnalytics.getPerformanceSummary(apps/core-app/src/main/modules/analytics/analytics-module.ts)
AppEvents.analytics.export渲染器(apps/core-app/src/renderer/src/views/base/settings/SettingAbout.vue)AnalyticsModule.registerTransportHandlers -> startupAnalytics.exportMetrics(apps/core-app/src/main/modules/analytics/analytics-module.ts)

C10. AddonOpener / Drop raw 事件

事件名发送端处理端
auth:external-callbackAddonOpenerModule.schemaHandlers -> transport.sendTo(apps/core-app/src/main/modules/addon-opener.ts)渲染器(授权回调接收方)
@open-pluginAddonOpenerModule.open-file -> transport.sendTo(apps/core-app/src/main/modules/addon-opener.ts)渲染器(apps/core-app/src/renderer/src/modules/hooks/dropper-resolver.ts)
@install-plugin渲染器(apps/core-app/src/renderer/src/components/plugin/action/mention/PluginApplyInstall.vue)AddonOpenerModule.on(installPluginEvent) -> PluginResolver(apps/core-app/src/main/modules/addon-opener.ts)
drop:plugin渲染器(apps/core-app/src/renderer/src/modules/hooks/dropper-resolver.ts)AddonOpenerModule.on(dropPluginEvent) -> PluginResolver(apps/core-app/src/main/modules/addon-opener.ts)
drop渲染器(raw event)DropManager.init -> transport.sendToPlugin(apps/core-app/src/main/modules/drop-manager.ts)

C11. 文件 Provider raw 事件

事件名发送端处理端
everything:status渲染器(Everything 设置页)EverythingProvider.registerChannels -> status(apps/core-app/src/main/modules/box-tool/addon/files/everything-provider.ts)
everything:toggle渲染器(Everything 设置页)EverythingProvider.registerChannels -> toggle(apps/core-app/src/main/modules/box-tool/addon/files/everything-provider.ts)
everything:test渲染器(Everything 设置页)EverythingProvider.registerChannels -> test(apps/core-app/src/main/modules/box-tool/addon/files/everything-provider.ts)
openers:resolve渲染器(apps/core-app/src/renderer/src/modules/openers/index.ts)FileProvider.registerOpenersChannel -> getOpenerForExtension(apps/core-app/src/main/modules/box-tool/addon/files/file-provider.ts)
file-index:failedFileProvider.notifyIndexingFailure -> transport.broadcast(apps/core-app/src/main/modules/box-tool/addon/files/file-provider.ts)渲染器(索引状态订阅者)

C12. 系统服务 raw 事件(Permission/Terminal/Logs/Dashboard)

C12.1 Permission

事件名发送端处理端
system:permission:check渲染器(apps/core-app/src/renderer/src/views/base/begin/internal/SetupPermissions.vue)PermissionChecker.setupChannels -> checker.checkAccessibility/checkNotifications/...(apps/core-app/src/main/modules/system/permission-checker.ts)
system:permission:request渲染器(apps/core-app/src/renderer/src/views/base/begin/internal/SetupPermissions.vue)PermissionChecker.setupChannels -> requestPermission(apps/core-app/src/main/modules/system/permission-checker.ts)
system:permission:open-settings调用方:渲染器(raw event)PermissionChecker.setupChannels -> openSystemSettings(apps/core-app/src/main/modules/system/permission-checker.ts)

C12.2 Terminal

事件名发送端处理端
terminal:session:createcreateTerminalSdk.create(packages/utils/transport/sdk/domains/terminal.ts)TerminalModule.create(apps/core-app/src/main/modules/terminal/index.ts)→ 共用 PtySessionCore.create
terminal:session:writeTerminalSessionHandle.writeTerminalModule.write → PTY 输入
terminal:session:resizeTerminalSessionHandle.resizeTerminalModule.resize → PTY 行列
terminal:session:closeTerminalSessionHandle.close / SDK 取消TerminalModule.close → 共用会话清理
terminal:session:data共用 PTY 核心 → owner 定向通知创建前注册的 SDK 输出订阅
terminal:session:exit共用 PTY 核心 → owner 定向通知SDK 退出订阅和订阅清理

所有控制操作都在启动或访问 PTY 前验证 system.shell 和可信 transport 身份。owner 绑定真实 sender 对象与当前插件 activation,不接受请求正文指定的归属。不存在的 ID 与其他 owner 的 ID 使用相同拒绝语义。创建接收可执行文件与独立参数,不隐式交给 shell 解释。

共用核心位于 apps/core-app/src/main/modules/terminal/pty-session-core.ts,同时管理 AI CLI 的 PTY。local-ai-cli:terminal:* 业务入口保留 Provider、访问等级、cwd、恢复与 lease 门禁。输出完整且有序。关闭后拒绝新输入,只发送一次终止请求,并等待原生 onExit,随后才释放监听和原生会话 lease。信号退出保留 signal;原生零退出码伴随终止信号时,exitCode 转为 null,不表示命令执行成功。

SDK 自动生成内部 creationToken。主进程在异步权限或 Provider 检查前记录 token 的可信 owner。取消或创建回执失败、丢失时,SDK 用同一 typed close/kill 事件按 token 收尾:未启动的记录被取消,已启动的 PTY 等待真实退出。迟到回执不能重建已取消会话。token 不授予归属权限,不存在与其他 owner 的 token 使用相同拒绝语义。AI 业务 SDK 支持 terminal.create(request, { signal }),原有事件名和 Provider 请求字段保持。

TxTerminal 只负责显示输出和发送输入、尺寸事件。网页展示或只读日志不创建进程。EnvDetector 使用 domain SDK,在完成、失败或超时后清理资源。

C12.3 Plugin Logs

事件名发送端处理端
plugin-log:subscribe渲染器(apps/core-app/src/renderer/src/components/plugin/tabs/PluginLogs.vue)PluginLogModule -> subscribe(apps/core-app/src/main/service/plugin-log.service.ts)
plugin-log:unsubscribe渲染器(apps/core-app/src/renderer/src/components/plugin/tabs/PluginLogs.vue)PluginLogModule -> unsubscribe(apps/core-app/src/main/service/plugin-log.service.ts)
plugin-log:get-sessions渲染器(apps/core-app/src/renderer/src/components/plugin/tabs/PluginLogs.vue)PluginLogModule -> getSessions(apps/core-app/src/main/service/plugin-log.service.ts)
plugin-log:open-session-file渲染器(apps/core-app/src/renderer/src/components/plugin/tabs/PluginLogs.vue)PluginLogModule -> openSessionFile(apps/core-app/src/main/service/plugin-log.service.ts)
plugin-log:open-log-directory渲染器(apps/core-app/src/renderer/src/components/plugin/tabs/PluginLogs.vue)PluginLogModule -> openLogDirectory(apps/core-app/src/main/service/plugin-log.service.ts)
plugin-log:get-buffer渲染器(apps/core-app/src/renderer/src/components/plugin/tabs/PluginLogs.vue)PluginLogModule -> getBuffer(apps/core-app/src/main/service/plugin-log.service.ts)
plugin-log:get-session-log渲染器(apps/core-app/src/renderer/src/components/plugin/tabs/PluginLogs.vue)PluginLogModule -> getSessionLog(apps/core-app/src/main/service/plugin-log.service.ts)
plugin-log-streamPluginLogModule -> transport.sendTo(apps/core-app/src/main/service/plugin-log.service.ts)渲染器(日志流订阅者)

C12.4 Dashboard / OCR

事件名发送端处理端
tuff:dashboard调用方:渲染器(raw event)TuffDashboardModule.onInit -> buildSnapshot(apps/core-app/src/main/modules/system/tuff-dashboard.ts)
ocr:dashboard调用方:渲染器(raw event)OcrService.registerChannels -> getDashboardSnapshot(apps/core-app/src/main/modules/ocr/ocr-service.ts)