| 1 | # Desktop shell migration inventory |
| 2 | |
| 3 | Generated by `go run ./tools/desktopinventory` from baseline `fa018e4109268c912063c8cc619302fccdb57d74`. Do not edit; `-check` fails when this file is stale. |
| 4 | |
| 5 | Every entry carries one class: `keep-business` keeps its Go implementation and crosses the new host RPC unchanged, `migrate-host` moves its native step to the Electron host behind the contract, `delete-shell` left with the retired Wails/WebView2/WebKitGTK shell (none remain). |
| 6 | |
| 7 | | Kind | keep-business | migrate-host | delete-shell | total | |
| 8 | | --- | ---: | ---: | ---: | ---: | |
| 9 | | command | 740 | 18 | 0 | 758 | |
| 10 | | native-call | 0 | 0 | 0 | 0 | |
| 11 | | event | 17 | 0 | 0 | 17 | |
| 12 | | frontend-native | 0 | 0 | 0 | 0 | |
| 13 | | frontend-event | 10 | 0 | 0 | 10 | |
| 14 | | css-marker | 11 | 0 | 0 | 11 | |
| 15 | | persistence | 21 | 0 | 0 | 21 | |
| 16 | | shell-file | 1 | 39 | 4 | 44 | |
| 17 | | artifact | 5 | 0 | 0 | 5 | |
| 18 | | ci-job | 28 | 0 | 0 | 28 | |
| 19 | | **all** | | | | **894** | |
| 20 | |
| 21 | ## Desktop commands (Go `App` methods bound to the UI) |
| 22 | |
| 23 | | Name | Detail | Location | Class | New owner | |
| 24 | | --- | --- | --- | --- | --- | |
| 25 | | `AIRenameSession` | `(topicID string) (string, error)` | desktop/session_ai_title.go:30 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 26 | | `AIRenameSessionTarget` | `(selector SessionSelector) (SessionMutationResult, error)` | desktop/session_ai_title.go:45 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 27 | | `AbandonPendingUpdate` | `() error` | desktop/updater_app.go:332 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 28 | | `AcceptDelivery` | `() error` | desktop/delivery_accept.go:8 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 29 | | `AcceptDeliveryToTab` | `(tabID string) error` | desktop/delivery_accept.go:15 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 30 | | `AcceptMemorySuggestion` | `(in MemorySuggestion) (string, error)` | desktop/memory_suggestions.go:130 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 31 | | `AcceptMemorySuggestionForTab` | `(tabID string, in MemorySuggestion) (string, error)` | desktop/memory_suggestions.go:136 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 32 | | `AcceptSkillSuggestion` | `(in SkillSuggestion) (string, error)` | desktop/memory_suggestions.go:160 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 33 | | `AcceptSkillSuggestionForTab` | `(tabID string, in SkillSuggestion) (string, error)` | desktop/memory_suggestions.go:166 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 34 | | `AcknowledgeForkOperation` | `(tabID string, operationID string) error` | desktop/fork_operations.go:128 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 35 | | `ActivateBaseStyle` | `(style string) error` | desktop/theme_app.go:273 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 36 | | `ActivateThemePack` | `(id string) error` | desktop/theme_app.go:235 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 37 | | `ActivateTopic` | `(scope string, workspaceRoot string, topicID string, sessionPath string) (TabMeta, error)` | desktop/tabs.go:2515 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 38 | | `ActiveWorkForTab` | `(tabID string) ActiveWorkView` | desktop/background_runtime.go:78 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 39 | | `AddMCPServer` | `(in MCPServerInput) (int, error)` | desktop/app.go:8325 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 40 | | `AddOfficialProviderAccess` | `(kind string, key string) (string, error)` | desktop/official_provider_access_install.go:14 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 41 | | `AddPermissionRule` | `(list string, rule string) error` | desktop/settings_app.go:2946 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 42 | | `AddProviderConnection` | `(presetID string, sourceName string, key string) (string, error)` | desktop/settings_app.go:3279 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 43 | | `AddProviderConnectionWithOptions` | `(presetID string, sourceName string, key string, baseURL string, kind string) (string, error)` | desktop/settings_app.go:3294 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 44 | | `AddProviderConnectionWithURL` | `(presetID string, sourceName string, key string, baseURL string) (string, error)` | desktop/settings_app.go:3284 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 45 | | `AddProviderPresetAccess` | `(id string, key string) (string, error)` | desktop/settings_app.go:2606 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 46 | | `AddRemoteForward` | `(hostID string, in RemoteForwardInput) (RemoteForwardView, error)` | desktop/remote_app.go:782 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 47 | | `AddRemoteHost` | `(in RemoteHostInput) (RemoteHostView, error)` | desktop/remote_app.go:309 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 48 | | `AddRemoteProject` | `(hostID string, workspace string) (RemoteProjectView, error)` | desktop/remote_project_registry.go:25 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 49 | | `AddSkillPath` | `(path string) error` | desktop/app.go:7974 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 50 | | `AnswerMCPInteractionForTab` | `(tabID string, id string, action string, content map[string]any) error` | desktop/mcp_interaction_app.go:14 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 51 | | `AnswerMCPInteractionForTurn` | `(tabID string, turnID string, runtimeEpoch string, id string, action string, content map[string]any) error` | desktop/decision_runtime_api.go:157 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 52 | | `AnswerPromptForTab` | `(tabID string, turnID string, promptID string, answers []QuestionAnswer) error` | desktop/turn_runtime_api.go:198 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 53 | | `AnswerQuestion` | `(id string, answers []QuestionAnswer)` | desktop/app.go:1820 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 54 | | `AnswerQuestionForTab` | `(tabID string, id string, answers []QuestionAnswer)` | desktop/app.go:1824 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 55 | | `AnswerRemoteTab` | `(tabID string, callID string, answers []RemoteAskAnswer) error` | desktop/remote_tab.go:760 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 56 | | `AppendSessionExportPage` | `(id string, page SessionExportPage) error` | desktop/session_export.go:244 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 57 | | `ApplyModelSettings` | `(change ModelSettingsChange) ModelSettingsResult` | desktop/model_settings_api.go:83 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 58 | | `ApplySessionLifecycle` | `(req SessionLifecycleRequest) (SessionLifecycleResult, error)` | desktop/session_lifecycle_api.go:46 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 59 | | `ApplyUpdateRequest` | `(selectedChannel string, expectedVersion string, requestID string) error` | desktop/updater_app.go:455 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 60 | | `Approve` | `(id string, allow bool, session bool, persist bool)` | desktop/app.go:1497 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 61 | | `ApproveRemoteTab` | `(tabID string, callID string, decision string) error` | desktop/remote_tab.go:693 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 62 | | `ApproveTab` | `(tabID string, id string, allow bool, session bool, persist bool)` | desktop/app.go:1505 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 63 | | `ApproveTabForTurn` | `(tabID string, turnID string, runtimeEpoch string, id string, allow bool, session bool, persist bool) error` | desktop/decision_runtime_api.go:132 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 64 | | `ArchiveCanonicalSession` | `(ref session.SessionRef) error` | desktop/session_workspace_api.go:361 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 65 | | `ArchiveSessionTarget` | `(selector SessionSelector) (SessionMutationResult, error)` | desktop/session_operations.go:188 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 66 | | `AttachDropped` | `(path string) (DroppedItem, error)` | desktop/attachments_app.go:397 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 67 | | `AttachDroppedForComposerTarget` | `(target ComposerTarget, path string) (DroppedItem, error)` | desktop/session_draft.go:1278 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 68 | | `AttachDroppedForTab` | `(tabID string, path string) (DroppedItem, error)` | desktop/attachments_app.go:401 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 69 | | `AttachDroppedForTarget` | `(token string, path string) (DroppedItem, error)` | desktop/attachment_targets.go:270 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 70 | | `AttachmentDataURL` | `(path string) (string, error)` | desktop/attachments_app.go:227 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 71 | | `AttachmentDataURLForComposerTarget` | `(target ComposerTarget, rel string) (string, error)` | desktop/session_draft.go:1270 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 72 | | `AttachmentDataURLForTab` | `(tabID string, path string) (string, error)` | desktop/attachments_app.go:235 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 73 | | `AttachmentDataURLForTarget` | `(token string, path string) (string, error)` | desktop/attachment_targets.go:262 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 74 | | `AuthenticateMCPServer` | `(name string) error` | desktop/mcp_oauth.go:68 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 75 | | `AuthorizeAndConnectMCPServer` | `(name string) error` | desktop/app.go:6926 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 76 | | `AvailableSubagentTools` | `() []ToolView` | desktop/app.go:7293 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 77 | | `BackgroundRuntimes` | `() []BackgroundRuntimeView` | desktop/background_runtime.go:158 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 78 | | `Balance` | `() BalanceInfo` | desktop/app.go:6216 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 79 | | `BalanceForTab` | `(tabID string) BalanceInfo` | desktop/app.go:6220 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 80 | | `BeginDraftSubmission` | `(request SessionDraftSubmissionRequest) (SessionDraftSubmissionView, error)` | desktop/session_draft.go:505 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 81 | | `BeginSessionExportForTarget` | `(selector SessionSelector, tabID string, format string, title string, observation string) (SessionExportHandle, error)` | desktop/session_export.go:80 | migrate-host (迁移宿主实现) | `business in Go; native step through nativeHost host/*` | |
| 82 | | `BotRuntimeStatus` | `() BotRuntimeStatusView` | desktop/bot_runtime_app.go:147 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 83 | | `Cancel` | `()` | desktop/app.go:1175 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 84 | | `CancelDraftSubmission` | `(operationID string) (SessionDraftSubmissionView, error)` | desktop/session_draft.go:1068 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 85 | | `CancelJob` | `(jobID string) (bool, error)` | desktop/app.go:6310 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 86 | | `CancelJobForTab` | `(tabID string, jobID string) (bool, error)` | desktop/app.go:6316 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 87 | | `CancelJobsForTab` | `(tabID string, jobIDs []string) (JobCancelBatchView, error)` | desktop/background_runtime.go:127 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 88 | | `CancelRemoteTab` | `(tabID string) error` | desktop/remote_tab.go:677 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 89 | | `CancelRemoteTabJobs` | `(tabID string, jobIDs []string) error` | desktop/remote_tab_commands.go:535 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 90 | | `CancelSessionExport` | `(id string) error` | desktop/session_export.go:380 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 91 | | `CancelSessionForTab` | `(tabID string) (control.CancelReceipt, error)` | desktop/turn_runtime_api.go:58 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 92 | | `CancelSessionPreparation` | `(operationID string) (SessionPreparationView, error)` | desktop/session_preparation.go:190 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 93 | | `CancelShellInstall` | `()` | desktop/shell_support.go:109 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 94 | | `CancelTab` | `(tabID string)` | desktop/app.go:1179 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 95 | | `CancelTabWithInboxItems` | `(tabID string, itemIDs []string) error` | desktop/inbox_app.go:269 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 96 | | `CancelTabWithInboxItemsResult` | `(tabID string, itemIDs []string) (InboxCancelResultView, error)` | desktop/inbox_app.go:283 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 97 | | `CancelTask` | `(taskID string, expectedVersion uint64, reason string, idemKey string) (taskmonitor.ControlResult, error)` | desktop/app.go:11449 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 98 | | `CancelTaskByKey` | `(req TaskActionRequest) (taskmonitor.ControlResult, error)` | desktop/task_catalog.go:266 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 99 | | `CancelTaskForTab` | `(tabID string, taskID string, expectedVersion uint64, reason string, idemKey string) (taskmonitor.ControlResult, error)` | desktop/app.go:11457 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 100 | | `CancelTrySubagentProfile` | `()` | desktop/subagents_app.go:389 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 101 | | `Capabilities` | `() CapabilitiesView` | desktop/app.go:6807 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 102 | | `CapabilityDiagnostics` | `(includeSessionRuntime bool) capdiag.Report` | desktop/capdiag_app.go:12 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 103 | | `CaptureAttachmentTarget` | `(composer ComposerTarget) (AttachmentTargetView, error)` | desktop/attachment_targets.go:81 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 104 | | `CaptureInboxTarget` | `(tabID string, expectedPath string) (InboxTargetView, error)` | desktop/inbox_target.go:25 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 105 | | `CheckHistoricalSourceUpdate` | `(selector SessionSelector) (HistoricalSourceUpdateView, error)` | desktop/session_preparation.go:211 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 106 | | `CheckRemotePlatform` | `(hostID string) error` | desktop/remote_platform.go:14 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 107 | | `CheckUpdate` | `(selectedChannel string) (*UpdateInfo, error)` | desktop/updater_app.go:87 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 108 | | `Checkpoints` | `() []CheckpointMeta` | desktop/app.go:2254 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 109 | | `CheckpointsForTab` | `(tabID string) []CheckpointMeta` | desktop/app.go:2258 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 110 | | `ChooseRecoveryBranch` | `(req RecoveryPreferenceRequest) error` | desktop/recovery_lineage.go:433 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 111 | | `CleanRecoveryLineage` | `(req RecoveryCleanupRequest) RecoveryCleanupResult` | desktop/recovery_lineage.go:497 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 112 | | `CleanRemoteLegacyWorkbenchData` | `(target string) error` | desktop/remote_legacy_cleanup.go:71 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 113 | | `ClearBotSecret` | `(envName string) error` | desktop/settings_app.go:3156 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 114 | | `ClearGoalForTab` | `(tabID string) error` | desktop/goal_app.go:60 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 115 | | `ClearMCPServerAuthentication` | `(name string) error` | desktop/mcp_oauth.go:103 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 116 | | `ClearProviderKey` | `(apiKeyEnv string) error` | desktop/settings_app.go:2935 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 117 | | `ClearRemoteTabSession` | `(tabID string) error` | desktop/remote_tab_commands.go:704 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 118 | | `ClearSession` | `() (SessionClearResult, error)` | desktop/session_clear.go:41 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 119 | | `ClearSessionForTab` | `(tabID string) (SessionClearResult, error)` | desktop/session_clear.go:49 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 120 | | `CloseMainWindow` | `()` | desktop/window_controls.go:30 | migrate-host (迁移宿主实现) | `business in Go; native step through nativeHost host/*` | |
| 121 | | `CloseMergedWorktreeTab` | `(request CloseMergedWorktreeTabRequest) (CloseMergedWorktreeTabResult, error)` | desktop/delivery_worktree.go:263 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 122 | | `CloseRemoteTab` | `(tabID string) error` | desktop/remote_tab_registry.go:122 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 123 | | `CloseTab` | `(tabID string) error` | desktop/tabs.go:3053 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 124 | | `CloseTabWithPolicy` | `(tabID string, policy string) error` | desktop/background_runtime.go:357 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 125 | | `CloseTerminalForTab` | `(tabID string, sessionID string) error` | desktop/terminal.go:222 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 126 | | `Commands` | `() []CommandInfo` | desktop/app.go:6570 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 127 | | `CommitRewindForTab` | `(tabID string, planID string, turn int, scope string) RewindResultView` | desktop/rewind_tab.go:10 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 128 | | `CommitWorkspaceFileRevertForTab` | `(tabID string, planID string, resolution string) RewindResultView` | desktop/app.go:2438 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 129 | | `Compact` | `() error` | desktop/app.go:1838 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 130 | | `CompactForTab` | `(tabID string) error` | desktop/app.go:1844 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 131 | | `CompactRemoteTab` | `(tabID string, instructions string) error` | desktop/remote_tab_commands.go:551 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 132 | | `ConfirmAction` | `(req NativeConfirmRequest) (bool, error)` | desktop/app.go:11559 | migrate-host (迁移宿主实现) | `business in Go; native step through nativeHost host/*` | |
| 133 | | `ConfirmRemoteHostKey` | `(hostID string, accept bool) error` | desktop/remote_app.go:422 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 134 | | `ConfirmRemoteSecret` | `(hostID string, promptID string, secret string, accept bool) error` | desktop/remote_app.go:433 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 135 | | `ConnectKey` | `(apiKey string) (string, error)` | desktop/app.go:11626 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 136 | | `ConnectRemoteHost` | `(id string) error` | desktop/remote_app.go:351 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 137 | | `ContextPanel` | `(tabID string) ContextPanelInfo` | desktop/tabs.go:6724 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 138 | | `ContextUsageForTab` | `(tabID string) ContextInfo` | desktop/app.go:6142 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 139 | | `ControlHistoricalImport` | `(action string) (HistoricalImportStatus, error)` | desktop/historical_import.go:673 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 140 | | `CopySessionTarget` | `(selector SessionSelector, operationID string) (SessionCreationResult, error)` | desktop/session_workspace_api.go:537 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 141 | | `CopyThemePack` | `(sourceID string, newID string, newName string) (ThemePackView, error)` | desktop/theme_app.go:552 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 142 | | `CreateBlankProject` | `(parentDir string, projectName string) (string, error)` | desktop/blank_project.go:30 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 143 | | `CreateDeliveryWorktree` | `(workspaceRoot string) (DeliveryWorktreeOpenResult, error)` | desktop/delivery_worktree.go:95 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 144 | | `CreateForkForTab` | `(tabID string, anchor ForkAnchorView) (ForkCreationView, error)` | desktop/fork_targets.go:118 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 145 | | `CreateForkRemoteTab` | `(tabID string, anchor ForkAnchorView) (ForkCreationView, error)` | desktop/remote_fork_targets.go:86 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 146 | | `CreateIsolatedWorktree` | `(workspaceRoot string) (IsolatedWorktreeOpenResult, error)` | desktop/delivery_worktree.go:56 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 147 | | `CreatePresentedBrowserPreviewForTab` | `(tabID string, toolCallID string, path string) (string, error)` | desktop/app.go:10320 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 148 | | `CreateSession` | `(workspaceID string) (session.SessionRef, error)` | desktop/session_workspace_api.go:501 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 149 | | `CreateSubagentProfile` | `(input SubagentProfileInput) (string, error)` | desktop/subagents_app.go:73 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 150 | | `CreateTerminalForTab` | `(tabID string, rel string, shellID string) (TerminalSessionView, error)` | desktop/terminal.go:180 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 151 | | `CreateTopic` | `(scope string, workspaceRoot string, title string) (TopicMeta, error)` | desktop/tabs.go:6244 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 152 | | `CreateWorkspaceBrowserPreviewForTab` | `(tabID string, rel string) (string, error)` | desktop/app.go:10304 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 153 | | `CredentialDiagnostics` | `(probe bool) (config.CredentialDiagnosticReport, error)` | desktop/credential_diagnostics_app.go:7 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 154 | | `CurrentTaskSessionID` | `() string` | desktop/app.go:11372 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 155 | | `DeleteInboxItem` | `(tabID string, id string) error` | desktop/inbox_app.go:400 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 156 | | `DeleteProvider` | `(name string) error` | desktop/provider_access_removal.go:22 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 157 | | `DeleteRecoveryCopy` | `(path string) error` | desktop/app.go:2820 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 158 | | `DeleteRemotePath` | `(hostID string, path string, recursive bool) error` | desktop/remote_app.go:766 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 159 | | `DeleteRemoteProjectSession` | `(hostID string, workspace string, name string) error` | desktop/remote_tab_commands.go:284 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 160 | | `DeleteSession` | `(path string) error` | desktop/session_legacy_lifecycle_rpc.go:11 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 161 | | `DeleteSessionTarget` | `(selector SessionSelector) (SessionMutationResult, error)` | desktop/session_operations.go:346 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 162 | | `DeleteSubagentProfile` | `(name string, scope string) error` | desktop/subagents_app.go:220 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 163 | | `DeleteThemePack` | `(id string) error` | desktop/theme_app.go:529 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 164 | | `DeleteTopic` | `(topicID string) error` | desktop/topic_delete.go:4 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 165 | | `DeliveryWorktreeAvailability` | `(workspaceRoot string) worktree.Availability` | desktop/delivery_worktree.go:89 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 166 | | `DesktopStartupSettings` | `() DesktopStartupSettingsView` | desktop/settings_app.go:978 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 167 | | `DiagnoseBotConnection` | `(id string) (BotConnectionDiagnostic, error)` | desktop/bot_connection_app.go:198 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 168 | | `DisableThemePack` | `() error` | desktop/theme_app.go:292 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 169 | | `DiscardSessionDraft` | `(draftID string, revision uint64) error` | desktop/session_draft.go:406 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 170 | | `DisconnectRemoteHost` | `(id string) error` | desktop/remote_app.go:396 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 171 | | `DismissSessionDraft` | `(draftID string) error` | desktop/session_draft.go:301 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 172 | | `EditGoalForTab` | `(tabID string, objective string, maxGoalRounds *uint64) error` | desktop/goal_app.go:64 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 173 | | `EditRemoteTabGoal` | `(tabID string, objective string, maxGoalRounds *uint64) error` | desktop/remote_goal_edit.go:5 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 174 | | `Effort` | `() EffortInfo` | desktop/app.go:9429 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 175 | | `EffortForTab` | `(tabID string) EffortInfo` | desktop/app.go:9433 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 176 | | `EnqueueForAttachmentTarget` | `(token string, submissionID string, input string, display string, invocations []control.InvocationRequest, attachments []control.SubmissionAttachment) (InboxReceiptView, error)` | desktop/attachment_targets.go:369 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 177 | | `EnqueueInboxFollowup` | `(tabID string, display string, submit string, idempotency string) (InboxReceiptView, error)` | desktop/inbox_app.go:177 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 178 | | `EnqueueInboxFollowupForTarget` | `(target InboxTargetView, display string, submit string, invocations []InvocationRequest, key string) (InboxReceiptView, error)` | desktop/inbox_target.go:64 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 179 | | `EnqueueInboxFollowupWithInvocations` | `(tabID string, display string, submit string, invocations []InvocationRequest, idempotency string) (InboxReceiptView, error)` | desktop/inbox_app.go:183 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 180 | | `EnqueueInboxSteer` | `(tabID string, display string, submit string, idempotency string) (InboxReceiptView, error)` | desktop/inbox_app.go:188 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 181 | | `EnqueueInboxSteerForTurn` | `(tabID string, turnID string, display string, submit string, idempotency string) (InboxReceiptView, error)` | desktop/inbox_app.go:196 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 182 | | `EnsureBlankSurface` | `(scope string, workspaceRoot string) (TabMeta, error)` | desktop/tabs.go:2546 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 183 | | `EnsureBlankTab` | `(scope string, workspaceRoot string) (TabMeta, error)` | desktop/tabs.go:2589 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 184 | | `EnsureRemoteProjectSessions` | `(hostID string, workspace string) ([]RemoteSessionView, error)` | desktop/remote_listing.go:421 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 185 | | `ExportGoalDiagnostics` | `() (string, error)` | desktop/goal_diagnostics_export.go:22 | migrate-host (迁移宿主实现) | `business in Go; native step through nativeHost host/*` | |
| 186 | | `ExportScrollDiagnostics` | `(payload string) (string, error)` | desktop/scroll_diagnostics_export.go:358 | migrate-host (迁移宿主实现) | `business in Go; native step through nativeHost host/*` | |
| 187 | | `ExportThemePack` | `(id string, destPath string) (string, error)` | desktop/theme_app.go:710 | migrate-host (迁移宿主实现) | `business in Go; native step through nativeHost host/*` | |
| 188 | | `ExtensionActions` | `(tabID string) ([]ExtensionActionView, error)` | desktop/extensions_app.go:72 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 189 | | `ExternalOpeners` | `() ExternalOpenersView` | desktop/external_opener.go:177 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 190 | | `ExternalOpenersForTab` | `(tabID string) ExternalOpenersView` | desktop/external_opener.go:190 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 191 | | `FetchAllProviderModelCatalogs` | `(providers []ProviderView) map[string][]ProviderModelCapabilityView` | desktop/settings_app.go:2861 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 192 | | `FetchAllProviderModels` | `(providers []ProviderView) map[string][]string` | desktop/settings_app.go:2822 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 193 | | `FetchProviderModelCatalog` | `(p ProviderView) ([]ProviderModelCapabilityView, error)` | desktop/settings_app.go:2767 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 194 | | `FetchProviderModelCatalogDraft` | `(p ProviderView, key string) ([]ProviderModelCapabilityView, error)` | desktop/provider_settings_probe.go:38 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 195 | | `FetchProviderModels` | `(p ProviderView) ([]string, error)` | desktop/settings_app.go:2773 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 196 | | `FinalizeWorktreeMerge` | `(request worktree.CleanupRequest) (worktree.CleanupResult, error)` | desktop/delivery_worktree.go:213 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 197 | | `FinishSessionExport` | `(id string) (SessionExportResult, error)` | desktop/session_export.go:315 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 198 | | `Forget` | `(name string) error` | desktop/app.go:11099 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 199 | | `ForgetForTab` | `(tabID string, name string) error` | desktop/app.go:11103 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 200 | | `ForgetRemoteTab` | `(tabID string, name string) error` | desktop/remote_tab_commands.go:567 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 201 | | `Fork` | `(turn int) (TabMeta, error)` | desktop/app.go:2544 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 202 | | `ForkForTab` | `(tabID string, turn int) (TabMeta, error)` | desktop/app.go:2551 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 203 | | `ForkRemoteTab` | `(tabID string, turn int, name string) error` | desktop/remote_tab_commands.go:559 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 204 | | `ForkSession` | `(ref session.SessionRef, turnBoundary string) (session.SessionRef, error)` | desktop/session_workspace_fork.go:12 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 205 | | `ForkSessionTarget` | `(selector SessionSelector, turnBoundary string) (session.SessionRef, error)` | desktop/session_workspace_fork.go:183 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 206 | | `ForkTargetsForTab` | `(tabID string) (ForkTargetSetView, error)` | desktop/fork_targets.go:72 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 207 | | `ForkTargetsRemoteTab` | `(tabID string) (ForkTargetSetView, error)` | desktop/remote_fork_targets.go:24 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 208 | | `ForkWorktreeForTab` | `(tabID string, turn int) (ForkWorktreeResultView, error)` | desktop/app.go:2557 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 209 | | `GetActiveThemePack` | `() (ThemeActiveView, error)` | desktop/theme_app.go:110 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 210 | | `GetDesktopShellStatus` | `() DesktopShellStatusView` | desktop/desktop_shell_status.go:11 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 211 | | `GetDesktopZoomFactor` | `() float64` | desktop/zoom_factor.go:51 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 212 | | `GetDraftContext` | `(draftID string) (SessionDraftContextView, error)` | desktop/session_draft.go:415 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 213 | | `GetDraftSubmission` | `(operationID string) (SessionDraftSubmissionView, error)` | desktop/session_draft.go:637 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 214 | | `GetHistoricalImportStatus` | `() HistoricalImportStatus` | desktop/historical_import.go:85 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 215 | | `GetHistoryIndexStatus` | `() HistoryIndexStatus` | desktop/history_catalog.go:224 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 216 | | `GetHistorySearchContext` | `(req HistorySearchContextRequest) []HistorySearchContextLine` | desktop/history_catalog.go:333 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 217 | | `GetLegacyEmptySessionCleanupStatus` | `() (LegacyEmptySessionCleanupStatus, error)` | desktop/legacy_empty_session_cleanup.go:223 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 218 | | `GetModelSettingsApplication` | `() ModelSettingsResult` | desktop/model_settings_api.go:493 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 219 | | `GetModelSettingsRequest` | `(requestID string) ModelSettingsResult` | desktop/model_settings_api.go:225 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 220 | | `GetPinnedFilesForTab` | `(tabID string) ([]PinnedFileInfo, error)` | desktop/pinned_files.go:423 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 221 | | `GetProjectGroups` | `(scope string, workspaceRoot string) (ProjectGroupsSnapshot, error)` | desktop/project_tree_organization.go:322 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 222 | | `GetProjectTreeRuntimeSnapshot` | `() ProjectTreeRuntimeSnapshot` | desktop/project_tree_runtime.go:94 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 223 | | `GetProjectTreeSnapshot` | `() ProjectTreeSnapshot` | desktop/session_catalog.go:588 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 224 | | `GetRecoveryLineage` | `(key ProjectTopicKey) RecoveryLineageView` | desktop/recovery_lineage.go:242 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 225 | | `GetRuntimeStateSnapshot` | `() RuntimeStateProjection` | desktop/runtime_state.go:213 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 226 | | `GetSessionActivityBaseline` | `(selector SessionSelector) (SessionActivityBaseline, error)` | desktop/session_activity_baseline.go:19 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 227 | | `GetSessionArchitectureDiagnostics` | `() (SessionArchitectureDiagnostics, error)` | desktop/session_workspace_api.go:108 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 228 | | `GetSessionCatalogStatus` | `() SessionCatalogStatus` | desktop/session_catalog_runtime.go:691 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 229 | | `GetSessionDraft` | `(draftID string) (SessionDraftView, error)` | desktop/session_draft.go:309 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 230 | | `GetSessionDraftState` | `(draftID string) (SessionDraftState, error)` | desktop/session_draft.go:129 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 231 | | `GetSessionOrganization` | `(workspace SessionOrganizationWorkspace) (SessionOrganizationSnapshot, error)` | desktop/session_organization.go:136 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 232 | | `GetSessionPreparation` | `(operationID string) (SessionPreparationView, error)` | desktop/session_preparation.go:178 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 233 | | `GetSessionUpgradeStatus` | `() (SessionUpgradeStatus, error)` | desktop/session_recovery_api.go:79 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 234 | | `GetSessionVersionState` | `(key ProjectTopicKey) SessionVersionStateView` | desktop/recovery_lineage.go:54 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 235 | | `GetTask` | `(taskID string) (*taskmonitor.TaskSnapshot, error)` | desktop/app.go:11418 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 236 | | `GetTaskCatalogStatus` | `() TaskCatalogStatus` | desktop/task_catalog.go:56 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 237 | | `GetThemeExperience` | `() (ThemeExperienceView, error)` | desktop/theme_app.go:149 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 238 | | `GetToolRecoveryForTab` | `(tabID string) (control.ToolRecoverySnapshot, error)` | desktop/tool_recovery.go:19 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 239 | | `GetTopicSummary` | `(key ProjectTopicKey) (ProjectNode, error)` | desktop/topic_state_catalog.go:30 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 240 | | `GetWorkspaceSnapshot` | `() (WorkspaceSnapshot, error)` | desktop/session_workspace_api.go:77 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 241 | | `GetWorktreeStatus` | `(tabID string) (worktree.MergeInspection, error)` | desktop/delivery_worktree.go:156 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 242 | | `GitBranches` | `() ([]string, error)` | desktop/workspace_changes.go:582 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 243 | | `GitBranchesForTab` | `(tabID string, workspaceRoot string) ([]string, error)` | desktop/workspace_git_branches.go:30 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 244 | | `GitCheckout` | `(branch string) error` | desktop/workspace_changes.go:590 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 245 | | `GitCheckoutForTab` | `(tabID string, workspaceRoot string, branch string) error` | desktop/workspace_git_branches.go:38 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 246 | | `GitCreateBranch` | `(name string) error` | desktop/workspace_changes.go:609 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 247 | | `GitCreateBranchForTab` | `(tabID string, workspaceRoot string, name string) error` | desktop/workspace_git_branches.go:46 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 248 | | `HeartbeatGenerateID` | `() string` | desktop/heartbeat.go:663 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 249 | | `HeartbeatListTasks` | `() []HeartbeatTask` | desktop/heartbeat.go:614 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 250 | | `HeartbeatReloadConfig` | `() HeartbeatConfigView` | desktop/heartbeat.go:630 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 251 | | `HeartbeatReloadTasks` | `() []HeartbeatTask` | desktop/heartbeat.go:622 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 252 | | `HeartbeatSaveConfig` | `(update HeartbeatConfigUpdate) (HeartbeatConfigView, error)` | desktop/heartbeat.go:647 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 253 | | `HeartbeatSaveTasks` | `(tasks []HeartbeatTask) error` | desktop/heartbeat.go:638 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 254 | | `HeartbeatTriggerNow` | `(id string)` | desktop/heartbeat.go:655 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 255 | | `History` | `() []HistoryMessage` | desktop/app.go:5061 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 256 | | `HistoryCheckpointTurnsForTab` | `(tabID string) []int` | desktop/app.go:5268 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 257 | | `HistoryContentForTab` | `(tabID string, ref HistoryContentRef, chunkIndex int) HistoryContentChunk` | desktop/history_slice.go:1179 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 258 | | `HistoryContentForTarget` | `(selector SessionSelector, ref HistoryContentRef, chunkIndex int) (HistoryContentChunk, error)` | desktop/history_slice.go:1279 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 259 | | `HistoryForTab` | `(tabID string) []HistoryMessage` | desktop/app.go:5236 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 260 | | `HistoryPage` | `(beforeTurn int, limit int) HistoryPage` | desktop/app.go:5065 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 261 | | `HistoryPageForTab` | `(tabID string, beforeTurn int, limit int) HistoryPage` | desktop/app.go:5069 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 262 | | `HistorySliceForTab` | `(tabID string, req HistorySliceRequest) HistorySlice` | desktop/history_slice.go:300 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 263 | | `HistorySliceForTarget` | `(selector SessionSelector, req HistorySliceRequest) (HistorySlice, error)` | desktop/session_target_history_legacy.go:50 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 264 | | `HooksSettings` | `(scope string) HooksSettingsView` | desktop/hooks_settings_app.go:34 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 265 | | `ImportHistoricalSession` | `(id string) (SessionRestoreResult, error)` | desktop/historical_import.go:303 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 266 | | `ImportThemePack` | `(sourcePath string, replace bool) (ThemeImportResult, error)` | desktop/theme_app.go:639 | migrate-host (迁移宿主实现) | `business in Go; native step through nativeHost host/*` | |
| 267 | | `InboxHasItems` | `(tabID string) (bool, error)` | desktop/inbox_app.go:474 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 268 | | `InboxSnapshot` | `(tabID string) (InboxSnapshotView, error)` | desktop/inbox_app.go:165 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 269 | | `InspectWorktreeMerge` | `(tabID string) (worktree.MergeInspection, error)` | desktop/delivery_worktree.go:134 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 270 | | `InstallMCPServer` | `(in MCPServerInput) (plugin.MCPInstallResult, error)` | desktop/app.go:8239 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 271 | | `InstallPlugin` | `(source string, opts PluginInstallOptions) (string, error)` | desktop/plugin_packages_app.go:208 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 272 | | `InstallShellSupport` | `(id string) (ShellInstallResult, error)` | desktop/shell_support.go:86 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 273 | | `InterruptTurnForTab` | `(tabID string, turnID string) error` | desktop/turn_runtime_api.go:165 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 274 | | `InterruptTurnWithInboxItemsForTab` | `(tabID string, turnID string, itemIDs []string) (InboxCancelResultView, error)` | desktop/turn_runtime_api.go:180 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 275 | | `InvokeExtensionAction` | `(tabID string, name string, args map[string]string) (string, error)` | desktop/extensions_app.go:93 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 276 | | `IsMainWindowMaximised` | `() bool` | desktop/window_controls.go:21 | migrate-host (迁移宿主实现) | `business in Go; native step through nativeHost host/*` | |
| 277 | | `IsolatedWorktreeAvailability` | `(workspaceRoot string) worktree.Availability` | desktop/delivery_worktree.go:48 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 278 | | `Jobs` | `() []JobView` | desktop/app.go:6299 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 279 | | `JobsForTab` | `(tabID string) []JobView` | desktop/app.go:6303 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 280 | | `ListDir` | `(rel string) []DirEntry` | desktop/app.go:9913 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 281 | | `ListDirForTab` | `(tabID string, rel string) []DirEntry` | desktop/app.go:9918 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 282 | | `ListDirForTarget` | `(target ComposerTarget, rel string) []DirEntry` | desktop/session_draft.go:1254 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 283 | | `ListHistoricalSessions` | `() (HistoricalImportStatus, error)` | desktop/historical_import.go:103 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 284 | | `ListHistorySessions` | `(req HistorySessionPageRequest) HistorySessionPage` | desktop/history_catalog.go:156 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 285 | | `ListProjectGroups` | `(scope string, workspaceRoot string) ([]desktopGroup, error)` | desktop/project_tree_organization.go:307 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 286 | | `ListProjectTopics` | `(req ProjectTopicPageRequest) (ProjectTopicPage, error)` | desktop/topic_state_catalog.go:11 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 287 | | `ListProjectTree` | `() []ProjectNode` | desktop/session_catalog_runtime.go:698 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 288 | | `ListRecoveryEntries` | `(query string, cursor string, limit int) (RecoveryEntryPage, error)` | desktop/session_recovery_api.go:109 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 289 | | `ListRemoteDir` | `(hostID string, path string) ([]RemoteDirEntry, error)` | desktop/remote_app.go:441 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 290 | | `ListRemoteProjects` | `() ([]RemoteProjectView, error)` | desktop/remote_project_registry.go:13 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 291 | | `ListSessionDraftSummaries` | `() ([]SessionDraftSummary, error)` | desktop/session_draft.go:366 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 292 | | `ListSessions` | `() []SessionMeta` | desktop/session_history_listing.go:12 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 293 | | `ListSessionsForTab` | `(tabID string) []SessionMeta` | desktop/session_history_listing.go:24 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 294 | | `ListTabs` | `() []TabMeta` | desktop/tabs.go:2215 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 295 | | `ListTaskEventPage` | `(req TaskEventPageRequest) TaskEventPage` | desktop/task_catalog.go:221 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 296 | | `ListTaskEventsForTab` | `(tabID string, taskID string, afterSequence int) ([]taskmonitor.TaskEvent, error)` | desktop/app.go:11422 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 297 | | `ListTaskPage` | `(req TaskPageRequest) TaskPage` | desktop/task_catalog.go:137 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 298 | | `ListTasks` | `() ([]taskmonitor.TaskSnapshot, error)` | desktop/app.go:11365 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 299 | | `ListTasksForSession` | `(sessionID string) ([]taskmonitor.TaskSnapshot, error)` | desktop/app.go:11383 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 300 | | `ListTasksForTab` | `(tabID string) ([]taskmonitor.TaskSnapshot, error)` | desktop/app.go:11393 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 301 | | `ListThemePacks` | `() ([]ThemePackView, error)` | desktop/theme_app.go:61 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 302 | | `ListTrashEntries` | `(query string, cursor string, limit int) (TrashEntryPage, error)` | desktop/session_lifecycle_api.go:155 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 303 | | `ListTrashedSessions` | `() []SessionMeta` | desktop/app.go:2660 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 304 | | `ListWorkspaceSessions` | `(workspaceID string, queryText string, cursor string, limit int, includeArchived bool) (WorkspaceSessionPage, error)` | desktop/session_workspace_api.go:181 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 305 | | `ListWorkspaces` | `() []WorkspaceMeta` | desktop/app.go:4702 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 306 | | `LocateSessionMessageForTab` | `(tabID string, messageID string, snapshot uint64) (session.MessageLocation, error)` | desktop/session_history_service.go:131 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 307 | | `LocateSessionMessageForTarget` | `(selector SessionSelector, messageID string, snapshot uint64) (session.MessageLocation, error)` | desktop/session_history_service.go:141 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 308 | | `LookupInboxFollowupForTarget` | `(target InboxTargetView, key string) (InboxReceiptView, error)` | desktop/inbox_target.go:94 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 309 | | `MCPAppCallToolForTab` | `(tabID string, instanceToken string, toolName string, args json.RawMessage) (string, error)` | desktop/mcp_apps_app.go:147 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 310 | | `MCPAppResourceDigest` | `(instanceToken string) (string, error)` | desktop/mcp_apps_app.go:93 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 311 | | `MCPAppResourceDigestForTab` | `(tabID string, instanceToken string) (string, error)` | desktop/mcp_apps_app.go:105 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 312 | | `MCPCapabilityMatrix` | `() MCPCapabilityMatrixView` | desktop/mcp_capability_view_app.go:23 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 313 | | `MCPCloseAppInstanceForTab` | `(tabID string, instanceToken string) error` | desktop/mcp_apps_app.go:113 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 314 | | `MCPMarketplace` | `(query string) (MCPMarketplaceView, error)` | desktop/app.go:6848 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 315 | | `MCPMarketplaceResolve` | `(registryName string) (MCPMarketplaceEntryView, error)` | desktop/app.go:6869 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 316 | | `MCPOpenAppInstanceForTab` | `(tabID string, server string, tool string, generation uint64, callID string, resourceURI string) (*MCPAppInstanceView, error)` | desktop/mcp_apps_app.go:40 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 317 | | `MCPOpenAppLinkForTab` | `(tabID string, instanceToken string, rawURL string) error` | desktop/mcp_apps_app.go:136 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 318 | | `MCPServers` | `() []ServerView` | desktop/app.go:6819 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 319 | | `Memory` | `() MemoryView` | desktop/app.go:10970 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 320 | | `MemoryForTab` | `(tabID string) MemoryView` | desktop/app.go:10980 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 321 | | `MemoryRevisions` | `(ref string) []MemoryFact` | desktop/app.go:11180 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 322 | | `MemoryRevisionsForTab` | `(tabID string, ref string) []MemoryFact` | desktop/app.go:11184 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 323 | | `MemorySuggestions` | `() MemorySuggestionsView` | desktop/memory_suggestions.go:80 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 324 | | `MemorySuggestionsForTab` | `(tabID string) MemorySuggestionsView` | desktop/memory_suggestions.go:86 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 325 | | `MergeWorktreeBack` | `(request MergeWorktreeBackRequest) (worktree.MergeResult, error)` | desktop/delivery_worktree.go:170 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 326 | | `Meta` | `() Meta` | desktop/app.go:6381 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 327 | | `MetaForTab` | `(tabID string) Meta` | desktop/app.go:6392 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 328 | | `MigrateDesktopPreferences` | `(language string, theme string, style string) error` | desktop/settings_preferences.go:174 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 329 | | `MinimiseMainWindow` | `()` | desktop/window_controls.go:4 | migrate-host (迁移宿主实现) | `business in Go; native step through nativeHost host/*` | |
| 330 | | `MkdirRemote` | `(hostID string, path string) error` | desktop/remote_app.go:750 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 331 | | `Models` | `() []ModelInfo` | desktop/app.go:8920 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 332 | | `ModelsForDraft` | `(draftID string) []ModelInfo` | desktop/model_catalog.go:60 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 333 | | `ModelsForTab` | `(tabID string) []ModelInfo` | desktop/model_catalog.go:37 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 334 | | `MoveInboxItem` | `(tabID string, id string, toIndex int) error` | desktop/inbox_app.go:413 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 335 | | `MoveSessionTarget` | `(selector SessionSelector, workspaceID string, beforeSessionID string) (SessionMutationResult, error)` | desktop/session_operations.go:292 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 336 | | `MoveWorkspace` | `(workspaceID string, beforeWorkspaceID string) error` | desktop/session_workspace_api.go:490 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 337 | | `MoveWorkspaceSession` | `(workspaceID string, sessionID string, beforeSessionID string) error` | desktop/session_workspace_api.go:371 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 338 | | `NeedsOnboarding` | `() bool` | desktop/app.go:11607 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 339 | | `NewSession` | `() error` | desktop/session_new.go:10 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 340 | | `NewSessionForTab` | `(tabID string) error` | desktop/session_new.go:16 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 341 | | `OpenChannelSessionForTab` | `(tabID string, path string) ([]HistoryMessage, error)` | desktop/app.go:3472 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 342 | | `OpenChannelSessionPageForTab` | `(tabID string, path string, limit int) (HistoryPage, error)` | desktop/app.go:3507 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 343 | | `OpenChannelTranscriptSessionForTab` | `(tabID string, path string) (HistorySwitchPhases, error)` | desktop/transcript_api.go:21 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 344 | | `OpenDownloadPage` | `()` | desktop/updater_app.go:132 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 345 | | `OpenGlobalTab` | `(topicID string) (TabMeta, error)` | desktop/tabs.go:2432 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 346 | | `OpenLocalPath` | `(path string) error` | desktop/open_local_path.go:141 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 347 | | `OpenLocalPathInExternalOpener` | `(path string, id string) error` | desktop/external_opener.go:262 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 348 | | `OpenPresentedPathForTab` | `(tabID string, toolCallID string, path string) error` | desktop/app.go:10391 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 349 | | `OpenProjectTab` | `(workspaceRoot string, topicID string) (TabMeta, error)` | desktop/tabs.go:2265 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 350 | | `OpenReferencePathForTab` | `(tabID string, path string) error` | desktop/chat_file_reference.go:217 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 351 | | `OpenRemoteProjectTab` | `(hostID string, workspace string, opts RemoteTabOpenOptions) (TabMeta, error)` | desktop/remote_projects.go:328 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 352 | | `OpenRemoteWorkspace` | `(hostID string, workspace string) error` | desktop/remote_app.go:811 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 353 | | `OpenSession` | `(ref session.SessionRef) (HistoryPage, error)` | desktop/session_workspace_api.go:695 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 354 | | `OpenSessionDraft` | `(workspaceID string) (SessionDraftView, error)` | desktop/session_draft.go:232 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 355 | | `OpenSessionDraftForTarget` | `(scope string, workspaceRoot string) (SessionDraftView, error)` | desktop/session_draft.go:267 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 356 | | `OpenTaskSessionByKey` | `(req TaskOpenRequest) (taskmonitor.ControlResult, error)` | desktop/task_catalog.go:283 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 357 | | `OpenTaskSessionForTab` | `(tabID string, taskID string) (taskmonitor.ControlResult, error)` | desktop/app.go:11476 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 358 | | `OpenTopicSession` | `(scope string, workspaceRoot string, topicID string, sessionPath string) (TabMeta, error)` | desktop/tabs.go:2452 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 359 | | `OpenUserConfigPath` | `() error` | desktop/settings_app.go:1003 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 360 | | `OpenWorkspaceInExternalOpenerForTab` | `(tabID string, id string) error` | desktop/external_opener.go:213 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 361 | | `OpenWorkspacePathForTab` | `(tabID string, rel string) error` | desktop/app.go:10422 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 362 | | `PauseGoalForTab` | `(tabID string) bool` | desktop/goal_app.go:114 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 363 | | `PauseRemoteTabGoal` | `(tabID string) error` | desktop/remote_tab_commands.go:521 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 364 | | `PendingPromptIdentitiesForTab` | `(tabID string) ([]PromptIdentityView, error)` | desktop/decision_runtime_api.go:43 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 365 | | `PermissionSnapshotForTab` | `(tabID string) (control.PermissionSnapshot, error)` | desktop/app.go:6459 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 366 | | `PickBlankProjectParent` | `() (string, error)` | desktop/blank_project.go:12 | migrate-host (迁移宿主实现) | `business in Go; native step through nativeHost host/*` | |
| 367 | | `PickExportFile` | `(defaultFilename string, mimeType string) (string, error)` | desktop/app.go:10577 | migrate-host (迁移宿主实现) | `business in Go; native step through nativeHost host/*` | |
| 368 | | `PickPluginFolder` | `() (string, error)` | desktop/app.go:7954 | migrate-host (迁移宿主实现) | `business in Go; native step through nativeHost host/*` | |
| 369 | | `PickRemoteIdentityFile` | `() (string, error)` | desktop/remote_dialog.go:11 | migrate-host (迁移宿主实现) | `business in Go; native step through nativeHost host/*` | |
| 370 | | `PickSkillFolder` | `() (string, error)` | desktop/app.go:7936 | migrate-host (迁移宿主实现) | `business in Go; native step through nativeHost host/*` | |
| 371 | | `PickThemeBackground` | `() (string, error)` | desktop/theme_app.go:753 | migrate-host (迁移宿主实现) | `business in Go; native step through nativeHost host/*` | |
| 372 | | `PickWorkspace` | `() (string, error)` | desktop/app.go:4640 | migrate-host (迁移宿主实现) | `business in Go; native step through nativeHost host/*` | |
| 373 | | `PinFileForTab` | `(tabID string, relPath string) (PinnedFileInfo, error)` | desktop/pinned_files.go:401 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 374 | | `PlanPluginInstall` | `(source string, opts PluginInstallOptions) (string, error)` | desktop/plugin_packages_app.go:203 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 375 | | `Platform` | `() string` | desktop/app.go:505 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 376 | | `PluginDoctor` | `(name string) PluginView` | desktop/plugin_packages_app.go:304 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 377 | | `Plugins` | `() []PluginView` | desktop/plugin_packages_app.go:94 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 378 | | `PollBotConnectionInstall` | `(installID string) (BotInstallPollResult, error)` | desktop/bot_connection_app.go:140 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 379 | | `PrepareHistoricalSourceVersion` | `(sourceRef SessionSourceRef, version string) (SessionPreparationView, error)` | desktop/session_preparation.go:288 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 380 | | `PrepareSession` | `(selector SessionSelector) (SessionPreparationView, error)` | desktop/session_preparation.go:129 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 381 | | `PrepareWorktreeMerge` | `(tabID string) (worktree.MergeInspection, error)` | desktop/delivery_worktree.go:163 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 382 | | `PreviewRecoveryEntry` | `(id string) (HistoryPage, error)` | desktop/session_recovery_api.go:195 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 383 | | `PreviewRewindForTab` | `(tabID string, turn int, scope string) RewindPlanView` | desktop/app.go:2389 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 384 | | `PreviewSession` | `(path string) ([]HistoryMessage, error)` | desktop/app.go:4117 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 385 | | `PreviewWorkspaceFileRevertForTab` | `(tabID string, path string) RewindPlanView` | desktop/app.go:2416 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 386 | | `PurgeCanonicalSession` | `(ref session.SessionRef) error` | desktop/session_purge.go:16 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 387 | | `PurgeRecoveryCopy` | `(path string) error` | desktop/app.go:3265 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 388 | | `PurgeTrashedSession` | `(path string) error` | desktop/session_legacy_lifecycle_rpc.go:66 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 389 | | `QuerySessionTakeover` | `(tabID string) (*SessionTakeoverView, error)` | desktop/session_takeover.go:215 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 390 | | `ReadDraftImageForTab` | `(tabID string, draftID string) (string, error)` | desktop/attachments_app.go:305 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 391 | | `ReadDraftImageForTarget` | `(token string, draftID string) (string, error)` | desktop/attachment_targets.go:233 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 392 | | `ReadFile` | `(rel string) FilePreview` | desktop/app.go:10045 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 393 | | `ReadFileForTab` | `(tabID string, rel string) FilePreview` | desktop/app.go:10050 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 394 | | `ReadInboxItem` | `(tabID string, id string) (InboxEnvelopeView, error)` | desktop/inbox_app.go:369 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 395 | | `ReadPresentedFileForTab` | `(tabID string, toolCallID string, path string) FilePreview` | desktop/app.go:10224 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 396 | | `ReadPresentedFileSourceForTab` | `(tabID string, toolCallID string, path string) FilePreview` | desktop/app.go:10232 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 397 | | `ReadPresentedTextPageForTab` | `(tabID string, toolCallID string, path string, offset int64, expectedVersion string) (PresentedTextPage, error)` | desktop/app.go:10243 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 398 | | `ReadReferenceFileForTab` | `(tabID string, path string) FilePreview` | desktop/chat_file_reference.go:191 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 399 | | `ReadReferenceFileSourceForTab` | `(tabID string, path string) FilePreview` | desktop/chat_file_reference.go:199 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 400 | | `ReadRemoteFile` | `(hostID string, path string) (RemoteFilePreview, error)` | desktop/remote_app.go:449 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 401 | | `ReadSessionAttachmentForTab` | `(tabID string, digest string, offset int64) (SessionHistoryContentChunk, error)` | desktop/attachments_app.go:331 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 402 | | `ReadSessionExportChunk` | `(id string, offset int64) (SessionExportChunk, error)` | desktop/session_export.go:207 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 403 | | `ReadSessionHistory` | `(ref session.SessionRef, cursor string, limit int) (HistoryPage, error)` | desktop/session_workspace_api.go:669 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 404 | | `RebindDraftImageForTarget` | `(token string, draftID string) (DraftImageView, error)` | desktop/attachment_targets.go:278 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 405 | | `RebuildHistoryIndex` | `() error` | desktop/history_catalog.go:383 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 406 | | `RebuildSessionCatalog` | `() error` | desktop/session_catalog_rebuild.go:22 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 407 | | `RebuildTaskCatalog` | `() error` | desktop/task_catalog.go:291 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 408 | | `ReclaimRemoteTabSession` | `(tabID string) error` | desktop/remote_tab.go:560 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 409 | | `ReconcileRecoveryVersions` | `(key ProjectTopicKey) error` | desktop/recovery_lineage.go:90 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 410 | | `ReconnectMCPServer` | `(name string) error` | desktop/app.go:8487 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 411 | | `RecordUIPerf` | `(signals map[string]string)` | desktop/uiperf_app.go:32 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 412 | | `RecoveryCheckpointEnabled` | `() bool` | desktop/app.go:1556 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 413 | | `RecoveryCheckpointEnabledTab` | `(_ string) bool` | desktop/app.go:1561 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 414 | | `RefreshInboxItem` | `(tabID string, id string) error` | desktop/inbox_app.go:452 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 415 | | `RefreshSkills` | `() error` | desktop/app.go:8035 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 416 | | `RegisterNavigationIntent` | `(token string) error` | desktop/navigation_intent.go:20 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 417 | | `ReleaseAttachmentTarget` | `(token string)` | desktop/attachment_targets.go:132 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 418 | | `ReleaseDraftImageForTab` | `(tabID string, draftID string) error` | desktop/attachments_app.go:373 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 419 | | `ReleaseDraftImageForTarget` | `(token string, draftID string) error` | desktop/attachment_targets.go:297 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 420 | | `ReloadCommands` | `() error` | desktop/app.go:8050 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 421 | | `ReloadRuntime` | `(tabID string) error` | desktop/settings_app.go:2066 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 422 | | `ReloadSettings` | `() error` | desktop/settings_app.go:2960 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 423 | | `ReloadUserConfig` | `() (DesktopStartupSettingsView, error)` | desktop/settings_app.go:1018 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 424 | | `Remember` | `(scope string, note string) (string, error)` | desktop/app.go:11071 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 425 | | `RememberForTab` | `(tabID string, scope string, note string) (string, error)` | desktop/app.go:11075 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 426 | | `RemoteConnectionStatuses` | `() []RemoteConnectionStatusView` | desktop/remote_app.go:414 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 427 | | `RemoteForwards` | `(hostID string) ([]RemoteForwardView, error)` | desktop/remote_app.go:774 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 428 | | `RemoteHosts` | `() ([]RemoteHostView, error)` | desktop/remote_app.go:301 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 429 | | `RemoteLastWorkspace` | `(hostID string) string` | desktop/remote_prefs.go:262 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 430 | | `RemoteLocateSessionMessageForTab` | `(tabID string, messageID string, snapshot uint64) (session.MessageLocation, error)` | desktop/remote_transcript_api.go:414 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 431 | | `RemoteProjectSessions` | `(hostID string, workspace string) ([]RemoteSessionView, error)` | desktop/remote_listing.go:408 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 432 | | `RemoteSearchSessionHistoryForTab` | `(tabID string, textQuery string, cursor string, limit int) (session.SearchHistoryPage, error)` | desktop/remote_transcript_api.go:398 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 433 | | `RemoteServerLogs` | `(hostID string, workspace string, tailLines int) (string, error)` | desktop/remote_app.go:857 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 434 | | `RemoteServerStatus` | `(hostID string, workspace string) (RemoteServerView, error)` | desktop/remote_app.go:849 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 435 | | `RemoteSessionHistoryContentForTab` | `(tabID string, ref sessioncontent.Ref, offset int64) (SessionHistoryContentChunk, error)` | desktop/remote_transcript_api.go:312 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 436 | | `RemoteSessionHistoryPageForTab` | `(tabID string, cursor string, limit int) (session.MessageHistoryPage, error)` | desktop/remote_transcript_api.go:294 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 437 | | `RemoteSessionHistoryWindowForTab` | `(tabID string, req session.HistoryWindowRequest) (session.HistoryWindowPage, error)` | desktop/remote_transcript_api.go:337 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 438 | | `RemoteSessionMessageFieldForTab` | `(tabID string, messageID string, version int, field string, offset int64, length int64) (session.MessageFieldPage, error)` | desktop/remote_transcript_api.go:375 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 439 | | `RemoteSessionOpenForTab` | `(tabID string) (session.SessionOpenView, error)` | desktop/remote_transcript_api.go:278 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 440 | | `RemoteTabBranches` | `(tabID string) (json.RawMessage, error)` | desktop/remote_tab_commands.go:571 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 441 | | `RemoteTabMetadata` | `(tabID string) (RemoteTabSnapshot, error)` | desktop/remote_tab_snapshot.go:78 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 442 | | `RemoteTabSkills` | `(tabID string) (json.RawMessage, error)` | desktop/remote_tab_commands.go:575 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 443 | | `RemoteTabSnapshot` | `(tabID string) (RemoteTabSnapshot, error)` | desktop/remote_tab_snapshot.go:73 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 444 | | `RemoteTabStatus` | `(tabID string) (json.RawMessage, error)` | desktop/remote_tab_snapshot.go:168 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 445 | | `RemoteTranscriptContentForTab` | `(tabID string, req transcript.ContentRequest) (transcript.ContentChunk, error)` | desktop/remote_transcript_api.go:184 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 446 | | `RemoteTranscriptFollowForTab` | `(tabID string, req transcript.FollowRequest) (control.TranscriptFollowResponse, error)` | desktop/remote_transcript_api.go:129 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 447 | | `RemoteTranscriptOutlineForTab` | `(tabID string, req transcript.OutlineRequest) (transcript.OutlinePage, error)` | desktop/remote_transcript_api.go:168 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 448 | | `RemoteTranscriptPageForTab` | `(tabID string, req transcript.PageRequest) (transcript.Snapshot, error)` | desktop/remote_transcript_api.go:154 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 449 | | `RemoteTranscriptReplayForTab` | `(tabID string, req control.TranscriptReplayRequest) (control.TranscriptReplay, error)` | desktop/remote_transcript_api.go:193 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 450 | | `RemoteTranscriptSnapshotForTab` | `(tabID string, req transcript.PageRequest) (RemoteTranscriptSnapshot, error)` | desktop/remote_transcript_api.go:145 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 451 | | `RemoveMCPServer` | `(name string) error` | desktop/app.go:8425 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 452 | | `RemovePermissionRule` | `(list string, rule string) error` | desktop/settings_app.go:2951 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 453 | | `RemovePlugin` | `(name string) error` | desktop/plugin_packages_app.go:227 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 454 | | `RemoveProviderAccess` | `(name string) error` | desktop/provider_access_removal.go:28 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 455 | | `RemoveProviderAccesses` | `(rawNames []string) error` | desktop/provider_access_removal.go:32 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 456 | | `RemoveRemoteForward` | `(hostID string, forwardID string) error` | desktop/remote_app.go:790 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 457 | | `RemoveRemoteHost` | `(id string) error` | desktop/remote_app.go:325 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 458 | | `RemoveRemoteProject` | `(hostID string, workspace string) error` | desktop/remote_project_registry.go:125 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 459 | | `RemoveSkillPath` | `(path string) error` | desktop/app.go:7995 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 460 | | `RemoveWorkspace` | `(dir string) error` | desktop/app.go:4726 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 461 | | `RenameCanonicalSession` | `(ref session.SessionRef, title string) error` | desktop/session_workspace_api.go:733 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 462 | | `RenameProject` | `(workspaceRoot string, title string) error` | desktop/tabs.go:6278 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 463 | | `RenameProviderConnections` | `(names []string, displayName string) error` | desktop/settings_app.go:2392 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 464 | | `RenameRemotePath` | `(hostID string, oldPath string, newPath string) error` | desktop/remote_app.go:758 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 465 | | `RenameRemoteProjectSession` | `(hostID string, workspace string, name string, title string) error` | desktop/remote_tab_commands.go:17 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 466 | | `RenameSession` | `(path string, title string) error` | desktop/app.go:3312 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 467 | | `RenameSessionHead` | `(path string, headID string, name string) error` | desktop/session_heads.go:240 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 468 | | `RenameSessionTarget` | `(selector SessionSelector, title string) (SessionMutationResult, error)` | desktop/session_operations.go:99 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 469 | | `RenameTerminalForTab` | `(tabID string, sessionID string, title string) error` | desktop/terminal.go:233 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 470 | | `RenameTopic` | `(topicID string, title string) error` | desktop/tabs.go:6388 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 471 | | `RenameWorkspace` | `(workspaceID string, title string) error` | desktop/session_workspace_api.go:471 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 472 | | `ReorderProjects` | `(workspaceRoots []string) error` | desktop/tabs.go:6334 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 473 | | `ReorderSessions` | `(scope string, workspaceRoot string, orderedSessionKeys []string) error` | desktop/project_tree_organization.go:63 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 474 | | `ReorderTabs` | `(tabIDs []string) error` | desktop/tabs.go:2997 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 475 | | `ReorderTopics` | `(scope string, workspaceRoot string, orderedTopicIDs []string) error` | desktop/project_tree_organization.go:271 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 476 | | `RepairCredentials` | `(dryRun bool) (config.CredentialDiagnosticReport, error)` | desktop/credential_diagnostics_app.go:13 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 477 | | `ReplayPendingPromptIdentitiesForTab` | `(tabID string) ([]PromptIdentityView, error)` | desktop/decision_runtime_api.go:65 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 478 | | `ReplayPendingPrompts` | `()` | desktop/app.go:1570 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 479 | | `ReplayPendingPromptsForTab` | `(tabID string)` | desktop/app.go:1589 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 480 | | `ReplayRemoteTabPrompts` | `(tabID string) (json.RawMessage, error)` | desktop/remote_tab_commands.go:555 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 481 | | `ReportCrash` | `(kind string, detail string) error` | desktop/crash_app.go:343 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 482 | | `ReportDesktopWebViewReady` | `()` | desktop/app.go:941 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 483 | | `RequeueTaskByKey` | `(req TaskActionRequest) (taskmonitor.ControlResult, error)` | desktop/task_catalog.go:275 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 484 | | `RequeueTaskForTab` | `(tabID string, taskID string, expectedVersion uint64, idemKey string) (taskmonitor.ControlResult, error)` | desktop/app.go:11468 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 485 | | `ResetProviderPresetAccess` | `(id string) error` | desktop/settings_app.go:2677 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 486 | | `ResetThemePack` | `() error` | desktop/theme_app.go:316 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 487 | | `ResizeTerminalForTab` | `(tabID string, sessionID string, cols int, rows int) error` | desktop/terminal.go:211 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 488 | | `ResolveChatFileReferencesForTab` | `(tabID string, turnKey string, candidates []ChatFileReferenceRequest) ChatFileReferenceResult` | desktop/chat_file_reference.go:51 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 489 | | `ResolveMarkdownImageForTab` | `(tabID string, source string) MarkdownImageView` | desktop/markdown_image_resolver.go:28 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 490 | | `ResolvePlanDecision` | `(id string, action string) error` | desktop/app.go:1514 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 491 | | `ResolvePlanDecisionTab` | `(tabID string, id string, action string) error` | desktop/app.go:1524 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 492 | | `ResolvePlanDecisionTabForTurn` | `(tabID string, turnID string, runtimeEpoch string, id string, action string) error` | desktop/decision_runtime_api.go:141 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 493 | | `ResolvePresentedPathForTab` | `(tabID string, toolCallID string, path string) (string, error)` | desktop/app.go:10401 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 494 | | `ResolvePromptForSession` | `(target InteractionTargetView, answer PromptAnswerView) error` | desktop/decision_runtime_api.go:93 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 495 | | `ResolvePromptForTab` | `(tabID string, promptID string, turnID string, runtimeEpoch string, kind string, answer PromptAnswerView) error` | desktop/decision_runtime_api.go:70 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 496 | | `ResolveRecovery` | `(id string, action string, feedback string) error` | desktop/app.go:1534 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 497 | | `ResolveRecoveryTab` | `(tabID string, id string, action string, feedback string) error` | desktop/app.go:1539 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 498 | | `ResolveRecoveryTabForTurn` | `(tabID string, turnID string, runtimeEpoch string, id string, action string, feedback string) error` | desktop/decision_runtime_api.go:149 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 499 | | `ResolveReferencePathForTab` | `(tabID string, path string) (string, error)` | desktop/chat_file_reference.go:209 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 500 | | `ResolveRemotePresentedPathForTab` | `(tabID string, hostID string, toolCallID string, remotePath string) (string, error)` | desktop/remote_app.go:487 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 501 | | `ResolveRemoteTabPlanDecision` | `(tabID string, callID string, action string, feedback string) error` | desktop/remote_tab.go:729 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 502 | | `ResolveRemoteTabPromptExact` | `(target RemotePromptTarget, answer PromptAnswerView) error` | desktop/remote_tab_exact_interactions.go:8 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 503 | | `ResolveRemoteWorkspacePathForTab` | `(tabID string, hostID string, toolCallID string, remotePath string) (string, error)` | desktop/remote_app.go:508 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 504 | | `ResolveToolRecoveryForTab` | `(tabID string, req control.ToolRecoveryRequest) (control.ToolRecoverySnapshot, error)` | desktop/tool_recovery.go:30 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 505 | | `ResolveWorkspacePathForTab` | `(tabID string, rel string) (string, error)` | desktop/workspace_path.go:12 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 506 | | `RestartApplication` | `() error` | desktop/zoom_factor.go:81 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 507 | | `RestoreArchivedMemory` | `(archivePath string) (MemoryFact, error)` | desktop/app.go:11127 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 508 | | `RestoreArchivedMemoryForTab` | `(tabID string, archivePath string) (MemoryFact, error)` | desktop/app.go:11131 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 509 | | `RestoreCanonicalSession` | `(ref session.SessionRef) error` | desktop/session_workspace_api.go:366 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 510 | | `RestoreGraphiteAppearance` | `() error` | desktop/theme_app.go:302 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 511 | | `RestoreMemoryRevision` | `(ref string, revision int) (MemoryFact, error)` | desktop/app.go:11210 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 512 | | `RestoreMemoryRevisionForTab` | `(tabID string, ref string, revision int) (MemoryFact, error)` | desktop/app.go:11214 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 513 | | `RestoreRecoveryEntry` | `(id string, operationID string) (SessionRestoreResult, error)` | desktop/session_recovery_api.go:230 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 514 | | `RestoreSession` | `(path string) error` | desktop/app.go:3191 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 515 | | `RestoreSessionDraft` | `() (*SessionDraftView, error)` | desktop/session_draft.go:275 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 516 | | `RestoreSessionTarget` | `(selector SessionSelector) (SessionMutationResult, error)` | desktop/session_operations.go:228 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 517 | | `ResumeDraftSubmission` | `(operationID string, expectedRevision uint64) (SessionDraftSubmissionView, error)` | desktop/session_draft.go:156 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 518 | | `ResumeGoalForTab` | `(tabID string) bool` | desktop/goal_app.go:94 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 519 | | `ResumeRemoteTabGoal` | `(tabID string) error` | desktop/remote_tab_commands.go:528 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 520 | | `ResumeSession` | `(path string) ([]HistoryMessage, error)` | desktop/app.go:3383 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 521 | | `ResumeSessionForTab` | `(tabID string, path string) ([]HistoryMessage, error)` | desktop/app.go:3398 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 522 | | `ResumeSessionPage` | `(path string, limit int) (HistoryPage, error)` | desktop/app.go:3387 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 523 | | `ResumeSessionPageForTab` | `(tabID string, path string, limit int) (HistoryPage, error)` | desktop/app.go:3391 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 524 | | `ResumeTranscriptSessionForTab` | `(tabID string, path string) (HistorySwitchPhases, error)` | desktop/transcript_api.go:13 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 525 | | `RetryAuthenticationForTab` | `(tabID string) (control.AuthenticationState, error)` | desktop/authentication_app.go:12 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 526 | | `RetryInboxItem` | `(tabID string, id string) error` | desktop/inbox_app.go:439 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 527 | | `RetryLegacyEmptySessionCleanup` | `() (LegacyEmptySessionCleanupStatus, error)` | desktop/legacy_empty_session_cleanup.go:259 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 528 | | `RetryModelSettingsApplication` | `(tabID string) ModelSettingsResult` | desktop/model_settings_api.go:552 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 529 | | `RetrySessionRecovery` | `(req RecoveryPreferenceRequest) error` | desktop/recovery_lineage.go:186 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 530 | | `RevealBackgroundRuntime` | `(tabID string) (TabMeta, error)` | desktop/background_runtime.go:215 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 531 | | `RevealPath` | `(path string) error` | desktop/app.go:10450 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 532 | | `RevealPresentedPathForTab` | `(tabID string, toolCallID string, path string) error` | desktop/app.go:10405 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 533 | | `RevealReferencePathForTab` | `(tabID string, path string) error` | desktop/chat_file_reference.go:225 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 534 | | `RevealWorkspacePathForTab` | `(tabID string, rel string) error` | desktop/app.go:10431 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 535 | | `RevealWorkspaceWriterForTab` | `(tabID string) (TabMeta, error)` | desktop/background_runtime.go:345 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 536 | | `RevokePermissionGrantForTab` | `(tabID string, scope string, target string, expectedRevision uint64) (control.PermissionSnapshot, error)` | desktop/app.go:6526 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 537 | | `RevokeWorkspaceBrowserPreview` | `(rawURL string)` | desktop/app.go:10350 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 538 | | `RevokeWorkspaceMediaPreview` | `(resourceURL string)` | desktop/app.go:10372 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 539 | | `Rewind` | `(turn int, scope string) error` | desktop/app.go:2372 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 540 | | `RewindForTab` | `(tabID string, turn int, scope string) error` | desktop/app.go:2380 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 541 | | `RewindRemoteTab` | `(tabID string, checkpointID string, scope string) error` | desktop/remote_tab.go:793 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 542 | | `RunShellForTab` | `(tabID string, command string) error` | desktop/app.go:1027 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 543 | | `RuntimeDoctor` | `() RuntimeDoctorReport` | desktop/rebuild_runtime.go:71 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 544 | | `SanitizeMarkdownSVG` | `(content string) MarkdownSVGView` | desktop/markdown_svg_sanitize.go:47 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 545 | | `SaveClipboardImage` | `() (string, error)` | desktop/attachments_app.go:187 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 546 | | `SaveClipboardImageForComposerTarget` | `(target ComposerTarget) (string, error)` | desktop/session_draft.go:1238 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 547 | | `SaveClipboardImageForTab` | `(tabID string) (string, error)` | desktop/attachments_app.go:196 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 548 | | `SaveClipboardImageForTarget` | `(token string) (string, error)` | desktop/attachment_targets.go:253 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 549 | | `SaveDoc` | `(path string, body string) (string, error)` | desktop/app.go:11242 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 550 | | `SaveDocForTab` | `(tabID string, path string, body string) (string, error)` | desktop/app.go:11246 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 551 | | `SaveExportFile` | `(path string, payload string, base64Encoded bool) error` | desktop/app.go:10601 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 552 | | `SaveExportImageFiles` | `(path string, payloads []string) error` | desktop/app.go:10626 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 553 | | `SaveHooksSettings` | `(scope string, hooks []HookConfigView) error` | desktop/hooks_settings_app.go:60 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 554 | | `SaveHooksSettingsForRoot` | `(scope string, projectRoot string, hooks []HookConfigView) error` | desktop/hooks_settings_app.go:64 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 555 | | `SaveLocalPathAs` | `(path string) (string, error)` | desktop/external_opener.go:292 | migrate-host (迁移宿主实现) | `business in Go; native step through nativeHost host/*` | |
| 556 | | `SavePastedFile` | `(name string, dataURL string) (string, error)` | desktop/attachments_app.go:208 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 557 | | `SavePastedFileForComposerTarget` | `(target ComposerTarget, name string, dataURL string) (string, error)` | desktop/session_draft.go:1222 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 558 | | `SavePastedFileForTab` | `(tabID string, name string, dataURL string) (string, error)` | desktop/attachments_app.go:217 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 559 | | `SavePastedFileForTarget` | `(token string, name string, dataURL string) (string, error)` | desktop/attachment_targets.go:244 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 560 | | `SavePastedImage` | `(dataURL string) (string, error)` | desktop/attachments_app.go:167 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 561 | | `SavePastedImageForComposerTarget` | `(target ComposerTarget, dataURL string) (string, error)` | desktop/session_draft.go:1205 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 562 | | `SavePastedImageForTab` | `(tabID string, dataURL string) (string, error)` | desktop/attachments_app.go:176 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 563 | | `SavePresentedPathAsForTab` | `(tabID string, toolCallID string, path string) (string, error)` | desktop/app.go:10413 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 564 | | `SaveProvider` | `(p ProviderView) error` | desktop/settings_app.go:2412 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 565 | | `SaveProviderKey` | `(apiKeyEnv string, value string) (string, error)` | desktop/settings_app.go:2926 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 566 | | `SaveProviderModelCatalogs` | `(updates []ProviderModelCatalogUpdate) ([]string, error)` | desktop/settings_app.go:2518 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 567 | | `SaveProviderWithKey` | `(p ProviderView, key string) (string, error)` | desktop/settings_app.go:2569 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 568 | | `SaveReferencePathAsForTab` | `(tabID string, path string) (string, error)` | desktop/chat_file_reference.go:233 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 569 | | `SaveRemoteFileAs` | `(hostID string, remotePath string) (string, error)` | desktop/remote_app.go:459 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 570 | | `SaveRemotePresentedFileAs` | `(tabID string, hostID string, toolCallID string, remotePath string) (string, error)` | desktop/remote_app.go:466 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 571 | | `SaveSessionDraft` | `(request SessionDraftSaveRequest) (SessionDraftSaveResult, error)` | desktop/session_draft.go:317 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 572 | | `SaveSessionGroups` | `(scope string, workspaceRoot string, groups []desktopGroup) error` | desktop/project_tree_organization.go:327 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 573 | | `SaveSessionGroupsVersioned` | `(scope string, workspaceRoot string, expectedRevision uint64, groups []desktopGroup) (ProjectGroupsSnapshot, error)` | desktop/project_tree_organization.go:336 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 574 | | `SaveSessionMarkdownForTab` | `(tabID string, path string, title string) error` | desktop/session_markdown_export.go:19 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 575 | | `SaveThemePack` | `(input ThemeSaveInput) (ThemePackView, error)` | desktop/theme_app.go:386 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 576 | | `SaveWindowState` | `(state DesktopWindowState) error` | desktop/window_state.go:127 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 577 | | `SaveWorkspacePathAsForTab` | `(tabID string, rel string) (string, error)` | desktop/app.go:10441 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 578 | | `ScanPromptHistory` | `(rawRequest string) (PromptHistoryResult, error)` | desktop/app.go:4166 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 579 | | `ScanRemoteLegacyWorkbenchData` | `() LegacyWorkbenchDataView` | desktop/remote_legacy_cleanup.go:38 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 580 | | `ScanSSHConfig` | `() ([]RemoteHostInput, error)` | desktop/remote_app.go:343 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 581 | | `SearchFileRefs` | `(query string) []DirEntry` | desktop/app.go:9970 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 582 | | `SearchFileRefsForTab` | `(tabID string, query string) []DirEntry` | desktop/app.go:9975 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 583 | | `SearchFileRefsForTarget` | `(target ComposerTarget, query string) []DirEntry` | desktop/session_draft.go:1262 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 584 | | `SearchHistoryContent` | `(req HistorySearchRequest) HistorySearchPage` | desktop/history_catalog.go:272 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 585 | | `SearchHistoryContentForTarget` | `(selector SessionSelector, query string, cursor string, limit int) (HistorySearchPage, error)` | desktop/session_target_history_legacy.go:126 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 586 | | `SearchSessionHistoryForTab` | `(tabID string, textQuery string, cursor string, limit int) (session.SearchHistoryPage, error)` | desktop/session_history_service.go:110 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 587 | | `SearchSessionHistoryForTarget` | `(selector SessionSelector, textQuery string, cursor string, limit int) (session.SearchHistoryPage, error)` | desktop/session_history_service.go:120 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 588 | | `SessionHistoryContentForTab` | `(tabID string, ref sessioncontent.Ref, offset int64) (SessionHistoryContentChunk, error)` | desktop/session_history_service.go:154 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 589 | | `SessionHistoryContentForTarget` | `(selector SessionSelector, ref sessioncontent.Ref, offset int64) (SessionHistoryContentChunk, error)` | desktop/session_history_service.go:164 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 590 | | `SessionHistoryPageForTab` | `(tabID string, cursor string, limit int) (session.MessageHistoryPage, error)` | desktop/session_history_service.go:30 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 591 | | `SessionHistoryPageForTarget` | `(selector SessionSelector, cursor string, limit int) (session.MessageHistoryPage, error)` | desktop/session_history_service.go:40 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 592 | | `SessionHistoryWindowForTab` | `(tabID string, req session.HistoryWindowRequest) (session.HistoryWindowPage, error)` | desktop/session_history_service.go:194 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 593 | | `SessionHistoryWindowForTarget` | `(selector SessionSelector, req session.HistoryWindowRequest) (session.HistoryWindowPage, error)` | desktop/session_history_service.go:204 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 594 | | `SessionMessageFieldForTab` | `(tabID string, messageID string, version int, field string, offset int64, length int64) (session.MessageFieldPage, error)` | desktop/session_history_service.go:218 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 595 | | `SessionMessageFieldForTarget` | `(selector SessionSelector, messageID string, version int, field string, offset int64, length int64) (session.MessageFieldPage, error)` | desktop/session_history_service.go:228 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 596 | | `SessionOpenForTab` | `(tabID string) (session.SessionOpenView, error)` | desktop/session_history_service.go:53 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 597 | | `SetActiveSessionVersion` | `(req RecoveryPreferenceRequest) error` | desktop/recovery_lineage.go:114 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 598 | | `SetActiveTab` | `(tabID string) error` | desktop/tab_selection.go:47 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 599 | | `SetAgentParams` | `(temperature float64, maxSteps int, plannerMaxSteps int, systemPrompt string) error` | desktop/settings_app.go:3171 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 600 | | `SetAgentPreset` | `(preset string) error` | desktop/app.go:9628 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 601 | | `SetAgentPresetForTab` | `(tabID string, preset string) error` | desktop/app.go:9635 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 602 | | `SetAutoApproveTools` | `(on bool)` | desktop/app.go:6413 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 603 | | `SetAutoPlan` | `(mode string) error` | desktop/settings_app.go:2226 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 604 | | `SetBotConnectionToolApprovalMode` | `(connID string, mode string) error` | desktop/settings_app.go:3097 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 605 | | `SetBotDingtalkToolApprovalMode` | `(mode string) error` | desktop/settings_app.go:3129 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 606 | | `SetBotSecret` | `(envName string, value string) error` | desktop/settings_app.go:3144 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 607 | | `SetBotSettings` | `(b BotSettingsView) error` | desktop/settings_app.go:3009 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 608 | | `SetBypass` | `(on bool)` | desktop/app.go:6419 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 609 | | `SetCloseBehavior` | `(mode string) error` | desktop/settings_preferences.go:10 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 610 | | `SetCollaborationModeForTab` | `(tabID string, mode string) error` | desktop/app.go:1770 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 611 | | `SetCompactRatio` | `(ratio float64) error` | desktop/settings_app.go:3181 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 612 | | `SetComposerProfileForTab` | `(tabID string, collaborationMode string, toolApprovalMode string, goal string) ([]string, error)` | desktop/app.go:1714 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 613 | | `SetConnectionKey` | `(name string, value string) (string, error)` | desktop/settings_app.go:3274 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 614 | | `SetDefaultAutoRecoveryCheckpoint` | `(_ bool) error` | desktop/settings_app.go:2240 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 615 | | `SetDefaultModel` | `(ref string) error` | desktop/settings_app.go:2106 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 616 | | `SetDefaultToolApprovalMode` | `(mode string) error` | desktop/settings_app.go:2232 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 617 | | `SetDesktopAppearance` | `(theme string, style string) error` | desktop/settings_preferences.go:109 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 618 | | `SetDesktopCheckUpdates` | `(enabled bool) error` | desktop/settings_preferences.go:132 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 619 | | `SetDesktopConversationWidth` | `(width string) error` | desktop/settings_preferences.go:167 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 620 | | `SetDesktopCurrency` | `(currency string) error` | desktop/settings_preferences.go:56 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 621 | | `SetDesktopLanguage` | `(lang string) error` | desktop/settings_preferences.go:28 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 622 | | `SetDesktopLayoutStyle` | `(style string) error` | desktop/settings_preferences.go:121 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 623 | | `SetDesktopMetrics` | `(enabled bool) error` | desktop/settings_preferences.go:149 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 624 | | `SetDesktopTelemetry` | `(enabled bool) error` | desktop/settings_preferences.go:143 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 625 | | `SetDesktopTerminalTheme` | `(theme string) error` | desktop/settings_preferences.go:115 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 626 | | `SetDesktopUpdateChannel` | `(channel string) error` | desktop/settings_preferences.go:138 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 627 | | `SetDesktopZoomFactor` | `(factor float64) error` | desktop/zoom_factor.go:61 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 628 | | `SetDisplayMode` | `(string) error` | desktop/reasoning_display_app.go:80 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 629 | | `SetEffort` | `(level string) error` | desktop/app.go:9449 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 630 | | `SetEffortForTab` | `(tabID string, level string) error` | desktop/app.go:9453 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 631 | | `SetExpandThinking` | `(bool) error` | desktop/reasoning_display_app.go:85 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 632 | | `SetGoal` | `(goal string) error` | desktop/goal_app.go:9 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 633 | | `SetGoalForTab` | `(tabID string, goal string) error` | desktop/goal_app.go:12 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 634 | | `SetInboxPaused` | `(tabID string, paused bool) error` | desktop/inbox_app.go:426 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 635 | | `SetMCPServerEnabled` | `(name string, enabled bool) error` | desktop/app.go:8531 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 636 | | `SetMCPServerTier` | `(name string, tier string) error` | desktop/app.go:8635 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 637 | | `SetMaxParallelWriters` | `(n int) error` | desktop/settings_app.go:2219 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 638 | | `SetMaxSubagentConcurrency` | `(n int) error` | desktop/settings_app.go:2214 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 639 | | `SetMaxSubagentDepth` | `(depth int) error` | desktop/settings_app.go:2199 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 640 | | `SetMode` | `(mode string)` | desktop/app.go:1614 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 641 | | `SetModeForTab` | `(tabID string, mode string) []string` | desktop/app.go:1622 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 642 | | `SetModel` | `(name string) error` | desktop/app.go:9199 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 643 | | `SetModelForTab` | `(tabID string, name string) error` | desktop/app.go:9215 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 644 | | `SetNetwork` | `(n NetworkView) error` | desktop/settings_app.go:2992 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 645 | | `SetPermissionMode` | `(mode string) error` | desktop/settings_app.go:2941 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 646 | | `SetPermissionPresetForTab` | `(tabID string, preset string, expectedRevision uint64) (control.PermissionSnapshot, error)` | desktop/app.go:6485 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 647 | | `SetPlanMode` | `(on bool)` | desktop/app.go:1598 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 648 | | `SetPlannerModel` | `(ref string) error` | desktop/settings_app.go:2111 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 649 | | `SetPluginEnabled` | `(name string, enabled bool) error` | desktop/plugin_packages_app.go:273 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 650 | | `SetPreferredExternalOpener` | `(id string) error` | desktop/external_opener.go:200 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 651 | | `SetProjectColor` | `(workspaceRoot string, color string) error` | desktop/tabs.go:6289 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 652 | | `SetProjectPinned` | `(workspaceRoot string, pinned bool) error` | desktop/tabs.go:6300 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 653 | | `SetProviderKey` | `(apiKeyEnv string, value string) (string, error)` | desktop/settings_app.go:2894 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 654 | | `SetProviderWebSearch` | `(names []string, enabled bool) error` | desktop/settings_app.go:2422 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 655 | | `SetQualityFloor` | `(floor string) error` | desktop/quality_floor.go:14 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 656 | | `SetQualityFloorForTab` | `(tabID string, floor string) error` | desktop/quality_floor.go:20 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 657 | | `SetReasoningDisplayMode` | `(mode string) error` | desktop/reasoning_display_app.go:65 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 658 | | `SetReasoningLanguage` | `(lang string) error` | desktop/settings_app.go:3188 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 659 | | `SetRecoveryCheckpointEnabled` | `(_ bool)` | desktop/app.go:1549 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 660 | | `SetRecoveryCheckpointEnabledTab` | `(_ string, _ bool)` | desktop/app.go:1552 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 661 | | `SetRemoteProjectTitle` | `(hostID string, workspace string, title string) error` | desktop/remote_tab_commands.go:273 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 662 | | `SetRemoteSessionPinned` | `(hostID string, workspace string, name string, pinned bool) error` | desktop/remote_tab_commands.go:269 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 663 | | `SetRemoteTabComposerProfile` | `(tabID string, collaborationMode string, toolApprovalMode string, goal string) ([]string, error)` | desktop/remote_tab.go:859 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 664 | | `SetRemoteTabEffort` | `(tabID string, level string) error` | desktop/remote_tab_commands.go:517 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 665 | | `SetRemoteTabGoal` | `(tabID string, goal string) error` | desktop/remote_tab.go:977 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 666 | | `SetRemoteTabModel` | `(tabID string, ref string) error` | desktop/remote_tab_commands.go:375 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 667 | | `SetRemoteTabPlanMode` | `(tabID string, on bool) error` | desktop/remote_tab_commands.go:547 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 668 | | `SetRemoteTabQualityFloor` | `(tabID string, floor string) error` | desktop/remote_tab.go:1008 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 669 | | `SetRemoteTabToolApprovalMode` | `(tabID string, mode string) error` | desktop/remote_tab.go:817 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 670 | | `SetSandbox` | `(bash string, network bool, workspaceRoot string, allowWrite []string, shell string) error` | desktop/settings_app.go:2980 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 671 | | `SetSessionDraftRestoreTarget` | `(draftID string) error` | desktop/session_draft.go:305 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 672 | | `SetSessionExperience` | `(mode string) error` | desktop/reasoning_display_app.go:75 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 673 | | `SetSessionPinned` | `(selector SessionSelector, pinned bool) error` | desktop/session_workspace_api.go:747 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 674 | | `SetShellPreference` | `(prefer string) error` | desktop/shell_support.go:114 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 675 | | `SetSkillEnabled` | `(name string, enabled bool) error` | desktop/app.go:8066 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 676 | | `SetSkillImplicitInvocation` | `(enabled bool) error` | desktop/app.go:7259 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 677 | | `SetSkillPathEnabled` | `(path string, enabled bool) error` | desktop/app.go:8017 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 678 | | `SetStatusBarItems` | `(items []string) error` | desktop/settings_preferences.go:22 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 679 | | `SetStatusBarStyle` | `(style string) error` | desktop/settings_preferences.go:16 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 680 | | `SetSubagentEffort` | `(level string) error` | desktop/settings_app.go:2157 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 681 | | `SetSubagentModel` | `(ref string) error` | desktop/settings_app.go:2121 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 682 | | `SetSubagentProfileEffort` | `(name string, level string) error` | desktop/settings_app.go:2184 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 683 | | `SetSubagentProfileModel` | `(name string, ref string) error` | desktop/settings_app.go:2178 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 684 | | `SetTokenMode` | `(mode string) error` | desktop/app.go:9617 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 685 | | `SetTokenModeForTab` | `(tabID string, mode string) error` | desktop/app.go:9622 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 686 | | `SetToolApprovalMode` | `(mode string)` | desktop/app.go:6423 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 687 | | `SetToolApprovalModeForTab` | `(tabID string, mode string) []string` | desktop/app.go:6429 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 688 | | `SetTopicPinned` | `(topicID string, pinned bool) error` | desktop/tabs.go:6576 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 689 | | `SetTrayLocale` | `(locale string) error` | desktop/settings_preferences.go:96 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 690 | | `SetVisionModel` | `(ref string) error` | desktop/settings_app.go:2116 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 691 | | `SetWebSearchModel` | `(ref string) error` | desktop/settings_web_search_model.go:12 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 692 | | `SetWorkspaceVisible` | `(workspaceID string, visible bool) error` | desktop/session_workspace_api.go:479 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 693 | | `Settings` | `() SettingsView` | desktop/settings_app.go:1023 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 694 | | `SkillsSettings` | `() SkillsSettingsView` | desktop/app.go:7196 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 695 | | `SlashArgs` | `(input string) SlashArgsResult` | desktop/slash_args.go:31 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 696 | | `StageImageForTab` | `(tabID string, operationID string, displayName string, mime string, dataURL string) (DraftImageView, error)` | desktop/attachments_app.go:278 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 697 | | `StageImageForTarget` | `(token string, operationID string, displayName string, mime string, dataURL string) (DraftImageView, error)` | desktop/attachment_targets.go:141 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 698 | | `StartBotConnectionInstall` | `(provider string, domain string) (BotInstallStartResult, error)` | desktop/bot_connection_app.go:106 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 699 | | `StartHistoricalImport` | `(ids []string) (HistoricalImportStatus, error)` | desktop/historical_import.go:558 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 700 | | `StartTopicActivation` | `(req TopicActivationRequest) (TopicActivationTicket, error)` | desktop/topic_activation.go:166 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 701 | | `StartTurnForAttachmentTarget` | `(token string, submissionID string, req control.SubmissionRequest) (TurnStartView, error)` | desktop/attachment_targets.go:317 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 702 | | `StartTurnForTab` | `(tabID string, input string, submissionID string) (TurnStartView, error)` | desktop/turn_runtime_api.go:76 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 703 | | `StartTurnForTabWithDrafts` | `(tabID string, input string, submissionID string, draftIDs []string) (TurnStartView, error)` | desktop/turn_runtime_api.go:119 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 704 | | `Steer` | `(text string) error` | desktop/app.go:1186 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 705 | | `SteerForTab` | `(tabID string, text string) error` | desktop/app.go:1193 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 706 | | `SteerInboxItem` | `(tabID string, itemID string) (InboxReceiptView, error)` | desktop/inbox_app.go:214 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 707 | | `SteerInboxItemForTurn` | `(tabID string, turnID string, itemID string) (InboxReceiptView, error)` | desktop/inbox_app.go:236 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 708 | | `SteerRemoteTab` | `(tabID string, input string) error` | desktop/remote_tab_commands.go:539 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 709 | | `StopRemoteServer` | `(hostID string, workspace string) error` | desktop/remote_server_stop.go:3 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 710 | | `StopTask` | `(taskID string, expectedVersion uint64, reason string, idemKey string) (taskmonitor.ControlResult, error)` | desktop/app.go:11430 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 711 | | `StopTaskByKey` | `(req TaskActionRequest) (taskmonitor.ControlResult, error)` | desktop/task_catalog.go:257 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 712 | | `StopTaskForTab` | `(tabID string, taskID string, expectedVersion uint64, reason string, idemKey string) (taskmonitor.ControlResult, error)` | desktop/app.go:11438 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 713 | | `StorageSettings` | `() StorageSettingsView` | desktop/storage_app.go:17 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 714 | | `Submit` | `(input string) error` | desktop/app.go:974 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 715 | | `SubmitDeliveryRecoveryToTab` | `(tabID string, display string, input string) error` | desktop/app.go:1052 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 716 | | `SubmitDeliveryRecoveryToTabWithID` | `(tabID string, display string, input string, submissionID string) error` | desktop/turn_submission_app.go:210 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 717 | | `SubmitDisplay` | `(display string, input string) error` | desktop/app.go:1044 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 718 | | `SubmitDisplayToTab` | `(tabID string, display string, input string) error` | desktop/app.go:1048 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 719 | | `SubmitDisplayToTabWithID` | `(tabID string, display string, input string, submissionID string) error` | desktop/turn_submission_app.go:182 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 720 | | `SubmitEditedDisplayToTab` | `(tabID string, display string, input string, original string) error` | desktop/app.go:1157 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 721 | | `SubmitEditedDisplayToTabWithID` | `(tabID string, display string, input string, original string, submissionID string) error` | desktop/turn_submission_app.go:279 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 722 | | `SubmitExtensionForm` | `(tabID string, pluginID string, surfaceID string, values map[string]any) error` | desktop/extensions_app.go:109 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 723 | | `SubmitExtensionFormExact` | `(target ExtensionFormTarget, values map[string]any) error` | desktop/extensions_app.go:124 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 724 | | `SubmitInitialGoalToTab` | `(tabID string, goal string, display string, input string, invocations []InvocationRequest, collaborationMode string, toolApprovalMode string) ([]string, error)` | desktop/app.go:1144 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 725 | | `SubmitInitialGoalToTabWithID` | `(tabID string, goal string, display string, input string, invocations []InvocationRequest, collaborationMode string, toolApprovalMode string, submissionID string) ([]string, error)` | desktop/turn_submission_app.go:266 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 726 | | `SubmitInvocationsToTab` | `(tabID string, display string, input string, invocations []InvocationRequest) error` | desktop/app.go:1073 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 727 | | `SubmitInvocationsToTabWithID` | `(tabID string, display string, input string, invocations []InvocationRequest, submissionID string) error` | desktop/turn_submission_app.go:238 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 728 | | `SubmitRemoteTab` | `(tabID string, text string) error` | desktop/remote_tab.go:637 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 729 | | `SubmitRemoteTabExtensionForm` | `(tabID string, pluginID string, surfaceID string, values map[string]any) error` | desktop/remote_tab.go:781 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 730 | | `SubmitRemoteTabExtensionFormExact` | `(target ExtensionFormTarget, values map[string]any) error` | desktop/remote_tab_exact_interactions.go:33 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 731 | | `SubmitRemoteTabWithSubmission` | `(tabID string, text string, submissionID string) error` | desktop/remote_tab.go:641 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 732 | | `SubmitToTab` | `(tabID string, input string) error` | desktop/app.go:987 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 733 | | `SubmitToTabWithID` | `(tabID string, input string, submissionID string) error` | desktop/turn_submission_app.go:175 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 734 | | `SummarizeFrom` | `(turn int) error` | desktop/app.go:2563 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 735 | | `SummarizeFromForTab` | `(tabID string, turn int) error` | desktop/app.go:2567 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 736 | | `SummarizeRemoteTab` | `(tabID string, turn int, mode string) error` | desktop/remote_tab_commands.go:563 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 737 | | `SummarizeUpTo` | `(turn int) error` | desktop/app.go:2578 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 738 | | `SummarizeUpToForTab` | `(tabID string, turn int) error` | desktop/app.go:2582 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 739 | | `SwitchWorkspace` | `(dir string) (string, error)` | desktop/app.go:4923 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 740 | | `SyncRuntimeState` | `() (RuntimeStateProjection, error)` | desktop/remote_runtime_state.go:155 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 741 | | `TakeoverSession` | `(tabID string, mode string) error` | desktop/session_takeover.go:241 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 742 | | `TerminalOutputForTab` | `(tabID string, sessionID string) (string, error)` | desktop/terminal.go:166 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 743 | | `TerminalWorkspaceForTab` | `(tabID string) (TerminalWorkspaceView, error)` | desktop/terminal.go:142 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 744 | | `TestBotConnection` | `(id string, target string) (BotConnectionDiagnostic, error)` | desktop/bot_connection_app.go:245 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 745 | | `TestDingtalkBot` | `() (BotConnectionDiagnostic, error)` | desktop/bot_connection_app.go:299 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 746 | | `TestProviderModel` | `(p ProviderView, model string, key string) error` | desktop/provider_settings_probe.go:15 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 747 | | `ToggleMaximiseMainWindow` | `()` | desktop/window_controls.go:12 | migrate-host (迁移宿主实现) | `business in Go; native step through nativeHost host/*` | |
| 748 | | `ToolResultForTab` | `(tabID string, toolID string) *control.ToolResultData` | desktop/app.go:2356 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 749 | | `TranscriptContentForTab` | `(tabID string, req transcript.ContentRequest) (transcript.ContentChunk, error)` | desktop/transcript_api.go:114 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 750 | | `TranscriptFollowForTab` | `(tabID string, req transcript.FollowRequest) (control.TranscriptFollowResponse, error)` | desktop/transcript_api.go:64 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 751 | | `TranscriptOutlineForTab` | `(tabID string, req transcript.OutlineRequest) (transcript.OutlinePage, error)` | desktop/transcript_api.go:98 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 752 | | `TranscriptPageForTab` | `(tabID string, req transcript.PageRequest) (transcript.Snapshot, error)` | desktop/transcript_api.go:91 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 753 | | `TranscriptReplayForTab` | `(tabID string, req control.TranscriptReplayRequest) (control.TranscriptReplay, error)` | desktop/transcript_api.go:126 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 754 | | `TranscriptSnapshotForTab` | `(tabID string, req transcript.PageRequest) (transcript.Snapshot, error)` | desktop/transcript_api.go:52 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 755 | | `TrashTopic` | `(topicID string) error` | desktop/topic_archive.go:30 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 756 | | `TrustProjectHooks` | `() error` | desktop/hooks_settings_app.go:91 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 757 | | `TrustProjectHooksForRoot` | `(root string) error` | desktop/hooks_settings_app.go:97 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 758 | | `TrySubagentProfile` | `(input SubagentProfileInput, task string) (string, error)` | desktop/subagents_app.go:285 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 759 | | `TurnCheckLog` | `(tabID string, sessionPath string, toolID string, resultID string) *TurnCheckLogView` | desktop/workspace_turn_changes.go:16 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 760 | | `TurnEventsForTab` | `(tabID string, afterSeq uint64) (TurnEventReplayView, error)` | desktop/turn_runtime_api.go:243 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 761 | | `UndoRewindForTab` | `(tabID string, transactionID string) RewindResultView` | desktop/rewind_tab.go:60 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 762 | | `UnpinFileForTab` | `(tabID string, relPath string) error` | desktop/pinned_files.go:412 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 763 | | `UpdateInboxItem` | `(tabID string, id string, display string, submit string) error` | desktop/inbox_app.go:387 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 764 | | `UpdateMCPServer` | `(name string, in MCPServerInput) error` | desktop/app.go:8338 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 765 | | `UpdatePlugin` | `(name string) (string, error)` | desktop/plugin_packages_app.go:291 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 766 | | `UpdateRemoteHost` | `(id string, in RemoteHostInput) (RemoteHostView, error)` | desktop/remote_app.go:317 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 767 | | `UpdateSessionOrganization` | `(workspace SessionOrganizationWorkspace, expectedRevision uint64, mutation SessionOrganizationMutation) (SessionOrganizationSnapshot, error)` | desktop/session_organization.go:144 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 768 | | `UpdateSubagentProfile` | `(name string, scope string, input SubagentProfileInput) error` | desktop/subagents_app.go:150 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 769 | | `UpgradeDeepSeekProviderAccess` | `(name string) (string, error)` | desktop/settings_app.go:2590 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 770 | | `UsageStats` | `(req UsageStatsRequest) (UsageStatsRange, error)` | desktop/stats_app.go:45 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 771 | | `Version` | `() string` | desktop/updater_app.go:82 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 772 | | `WorkspaceChangeDetail` | `(tabID string, path string) (WorkspaceChangeDetailView, error)` | desktop/workspace_changes.go:189 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 773 | | `WorkspaceChanges` | `(tabID string) WorkspaceChangesView` | desktop/workspace_changes.go:54 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 774 | | `WorkspaceConflictForTab` | `(tabID string) WorkspaceConflictView` | desktop/background_runtime.go:267 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 775 | | `WorkspaceGitCommitDetail` | `(tabID string, hash string, path string) (GitCommitDetailView, error)` | desktop/workspace_changes.go:660 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 776 | | `WorkspaceGitHistory` | `(tabID string, path string) ([]GitCommitView, error)` | desktop/workspace_changes.go:629 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 777 | | `WorkspaceGitStatsForTab` | `(tabID string, workspaceRoot string) (WorkspaceChangesView, error)` | desktop/workspace_git_branches.go:55 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 778 | | `WorkspaceRevisionForTab` | `(tabID string) WorkspaceRevisionView` | desktop/workspace_watch.go:762 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 779 | | `WorkspaceTurnChangeDetail` | `(tabID string, sessionPath string, turn int, resultID string, path string) *checkpoint.TurnFile` | desktop/workspace_turn_changes.go:60 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 780 | | `WorkspaceTurnChanges` | `(tabID string, sessionPath string, turn int, resultID string) *checkpoint.TurnChanges` | desktop/workspace_turn_changes.go:47 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 781 | | `WriteRemoteFile` | `(hostID string, path string, body string, expectMtimeUnix int64) (RemoteWriteResult, error)` | desktop/remote_app.go:742 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 782 | | `WriteTerminalForTab` | `(tabID string, sessionID string, data string) error` | desktop/terminal_worktree_admission.go:6 | keep-business (保留业务实现) | hostrpc desktop/invoke | |
| 783 | |
| 784 | ## Native toolkit calls in Go |
| 785 | |
| 786 | | Name | Detail | Location | Class | New owner | |
| 787 | | --- | --- | --- | --- | --- | |
| 788 | |
| 789 | ## Events emitted by Go |
| 790 | |
| 791 | | Name | Detail | Location | Class | New owner | |
| 792 | | --- | --- | --- | --- | --- | |
| 793 | | `InboxChanged` | | desktop/tabs_inbox_events.go:13 | keep-business (保留业务实现) | `desktop/event frame (seq + generation), same payload` | |
| 794 | | `history-index:changed-v1` | | desktop/history_catalog.go:83 | keep-business (保留业务实现) | `desktop/event frame (seq + generation), same payload` | |
| 795 | | `project-tree:changed` | | desktop/project_tree_runtime.go:197 | keep-business (保留业务实现) | `desktop/event frame (seq + generation), same payload` | |
| 796 | | `project-tree:changed-v2` | | desktop/session_catalog.go:387 | keep-business (保留业务实现) | `desktop/event frame (seq + generation), same payload` | |
| 797 | | `project-tree:runtime-changed` | | desktop/project_tree_runtime.go:205 | keep-business (保留业务实现) | `desktop/event frame (seq + generation), same payload` | |
| 798 | | `remote-tab:opened` | | desktop/remote_projects.go:547 | keep-business (保留业务实现) | `desktop/event frame (seq + generation), same payload` | |
| 799 | | `remote-tab:updated` | | desktop/remote_listing.go:595 | keep-business (保留业务实现) | `desktop/event frame (seq + generation), same payload` | |
| 800 | | `remote:forwards` | | desktop/remote_app.go:296 | keep-business (保留业务实现) | `desktop/event frame (seq + generation), same payload` | |
| 801 | | `remote:server` | | desktop/remote_app.go:294 | keep-business (保留业务实现) | `desktop/event frame (seq + generation), same payload` | |
| 802 | | `remote:status` | | desktop/remote_app.go:231 | keep-business (保留业务实现) | `desktop/event frame (seq + generation), same payload` | |
| 803 | | `runtime-state:changed` | | desktop/project_tree_runtime.go:206 | keep-business (保留业务实现) | `desktop/event frame (seq + generation), same payload` | |
| 804 | | `runtime:rebuilt` | | desktop/tabs.go:1796 | keep-business (保留业务实现) | `desktop/event frame (seq + generation), same payload` | |
| 805 | | `session:active-version-changed` | | desktop/recovery_lineage.go:121 | keep-business (保留业务实现) | `desktop/event frame (seq + generation), same payload` | |
| 806 | | `session:recovered` | | desktop/tabs.go:5887 | keep-business (保留业务实现) | `desktop/event frame (seq + generation), same payload` | |
| 807 | | `session:recovery-failed` | | desktop/session_lease_handoff.go:85 | keep-business (保留业务实现) | `desktop/event frame (seq + generation), same payload` | |
| 808 | | `session_export_progress` | | desktop/session_export.go:150 | keep-business (保留业务实现) | `desktop/event frame (seq + generation), same payload` | |
| 809 | | `updater:progress` | | desktop/updater_app.go:534 | keep-business (保留业务实现) | `desktop/event frame (seq + generation), same payload` | |
| 810 | |
| 811 | ## Frontend native bridge uses |
| 812 | |
| 813 | | Name | Detail | Location | Class | New owner | |
| 814 | | --- | --- | --- | --- | --- | |
| 815 | |
| 816 | ## Frontend event subscriptions |
| 817 | |
| 818 | | Name | Detail | Location | Class | New owner | |
| 819 | | --- | --- | --- | --- | --- | |
| 820 | | `InboxChanged` | | desktop/frontend/src/lib/inboxEvents.ts:12 | keep-business (保留业务实现) | `desktopHost().events.on, same payload` | |
| 821 | | `app:open-settings` | | desktop/frontend/src/app-runtime/useNativeSettingsEvent.ts:13 | keep-business (保留业务实现) | `desktopHost().events.on, same payload` | |
| 822 | | `config:load-warnings` | | desktop/frontend/src/lib/useConfigLoadWarnings.ts:46 | keep-business (保留业务实现) | `desktopHost().events.on, same payload` | |
| 823 | | `desktop:resync` | | desktop/frontend/src/lib/controllerEventRecovery.ts:32 | keep-business (保留业务实现) | `desktopHost().events.on, same payload` | |
| 824 | | `desktop:shell-status` | | desktop/frontend/src/components/DesktopCloseBehaviorHint.tsx:29 | keep-business (保留业务实现) | `desktopHost().events.on, same payload` | |
| 825 | | `history-index:changed-v1` | | desktop/frontend/src/lib/useHistoryCatalog.ts:113 | keep-business (保留业务实现) | `desktopHost().events.on, same payload` | |
| 826 | | `project-tree:changed-v2` | | desktop/frontend/src/lib/sessionCatalogBridge.ts:16 | keep-business (保留业务实现) | `desktopHost().events.on, same payload` | |
| 827 | | `project-tree:runtime-changed` | | desktop/frontend/src/lib/projectTreeRuntime.ts:186 | keep-business (保留业务实现) | `desktopHost().events.on, same payload` | |
| 828 | | `remote-tab:updated` | | desktop/frontend/src/lib/runtimeStateSync.ts:74 | keep-business (保留业务实现) | `desktopHost().events.on, same payload` | |
| 829 | | `runtime-state:changed` | | desktop/frontend/src/lib/runtimeStateSync.ts:63 | keep-business (保留业务实现) | `desktopHost().events.on, same payload` | |
| 830 | |
| 831 | ## Shell CSS markers |
| 832 | |
| 833 | | Name | Detail | Location | Class | New owner | |
| 834 | | --- | --- | --- | --- | --- | |
| 835 | | `--reasonix-draggable` | | desktop/frontend/src/app-runtime/useAppChromeCommands.ts | keep-business (保留业务实现) | rewritten to -webkit-app-region by scripts/shell-css.mjs for the Electron bundle | |
| 836 | | `--reasonix-draggable` | | desktop/frontend/src/components/ChatTranscript.css | keep-business (保留业务实现) | rewritten to -webkit-app-region by scripts/shell-css.mjs for the Electron bundle | |
| 837 | | `--reasonix-draggable` | | desktop/frontend/src/components/ComposerWorkspaceContextBar.css | keep-business (保留业务实现) | rewritten to -webkit-app-region by scripts/shell-css.mjs for the Electron bundle | |
| 838 | | `--reasonix-draggable` | | desktop/frontend/src/components/ManagementPageShell.css | keep-business (保留业务实现) | rewritten to -webkit-app-region by scripts/shell-css.mjs for the Electron bundle | |
| 839 | | `--reasonix-draggable` | | desktop/frontend/src/components/ScrollDiagnosticPanel.css | keep-business (保留业务实现) | rewritten to -webkit-app-region by scripts/shell-css.mjs for the Electron bundle | |
| 840 | | `--reasonix-draggable` | | desktop/frontend/src/components/SettingsPanel.css | keep-business (保留业务实现) | rewritten to -webkit-app-region by scripts/shell-css.mjs for the Electron bundle | |
| 841 | | `--reasonix-draggable` | | desktop/frontend/src/components/SettingsSelect.css | keep-business (保留业务实现) | rewritten to -webkit-app-region by scripts/shell-css.mjs for the Electron bundle | |
| 842 | | `--reasonix-draggable` | | desktop/frontend/src/custom/features/heartbeat/heartbeat.css | keep-business (保留业务实现) | rewritten to -webkit-app-region by scripts/shell-css.mjs for the Electron bundle | |
| 843 | | `--reasonix-draggable` | | desktop/frontend/src/styles.css | keep-business (保留业务实现) | rewritten to -webkit-app-region by scripts/shell-css.mjs for the Electron bundle | |
| 844 | | `data-native-drop-target` | | desktop/frontend/src/components/Composer.tsx | keep-business (保留业务实现) | `native.onFilesDropped (HTML5 drop + getPathForFile)` | |
| 845 | | `data-native-drop-target` | | desktop/frontend/src/lib/desktopHost.ts | keep-business (保留业务实现) | `native.onFilesDropped (HTML5 drop + getPathForFile)` | |
| 846 | |
| 847 | ## Persisted desktop files |
| 848 | |
| 849 | | Name | Detail | Location | Class | New owner | |
| 850 | | --- | --- | --- | --- | --- | |
| 851 | | `.reasonix-export-publication.lock` | | desktop/session_export_journal.go:87 | keep-business (保留业务实现) | format unchanged; read by both shells | |
| 852 | | `desktop-remote.json` | | desktop/remote_prefs.go:39 | keep-business (保留业务实现) | format unchanged; read by both shells | |
| 853 | | `desktop-window.json` | | desktop/window_state.go:46 | keep-business (保留业务实现) | format unchanged; read by both shells | |
| 854 | | `desktop-workspaces.json` | | desktop/workspace.go:35 | keep-business (保留业务实现) | format unchanged; read by both shells | |
| 855 | | `desktop-zoom.json` | | desktop/zoom_factor.go:20 | keep-business (保留业务实现) | format unchanged; read by both shells | |
| 856 | | `downloaded.json` | | desktop/updater.go:541 | keep-business (保留业务实现) | format unchanged; read by both shells | |
| 857 | | `events.jsonl` | | desktop/session_v5_migration_checkpoint.go:124 | keep-business (保留业务实现) | format unchanged; read by both shells | |
| 858 | | `fork-operations.json` | | desktop/fork_operations.go:37 | keep-business (保留业务实现) | format unchanged; read by both shells | |
| 859 | | `header.json` | | desktop/session_v5_migration_checkpoint.go:124 | keep-business (保留业务实现) | format unchanged; read by both shells | |
| 860 | | `heartbeat-tasks.json` | | desktop/heartbeat.go:160 | keep-business (保留业务实现) | format unchanged; read by both shells | |
| 861 | | `heartbeat-tasks.runs.json` | | desktop/heartbeat_sidecar.go:34 | keep-business (保留业务实现) | format unchanged; read by both shells | |
| 862 | | `historical-import-queue.v1.json` | | desktop/historical_import_sidecar.go:75 | keep-business (保留业务实现) | format unchanged; read by both shells | |
| 863 | | `manifest.json` | | desktop/legacy_empty_session_cleanup_sources.go:756 | keep-business (保留业务实现) | format unchanged; read by both shells | |
| 864 | | `mcp-registry-v0.1.json` | | desktop/app.go:6884 | keep-business (保留业务实现) | format unchanged; read by both shells | |
| 865 | | `operations-v1.json` | | desktop/browser_executor.go:141 | keep-business (保留业务实现) | format unchanged; read by both shells | |
| 866 | | `primary.lock` | | desktop/lifecycle_diagnostics.go:122 | keep-business (保留业务实现) | format unchanged; read by both shells | |
| 867 | | `publication.json` | | desktop/session_export_journal.go:29 | keep-business (保留业务实现) | format unchanged; read by both shells | |
| 868 | | `remote-provider-trust.json` | | desktop/remote_legacy_cleanup.go:31 | keep-business (保留业务实现) | format unchanged; read by both shells | |
| 869 | | `session-migration-v5.json` | | desktop/session_v5_migration.go:48 | keep-business (保留业务实现) | format unchanged; read by both shells | |
| 870 | | `snapshot.sqlite` | | desktop/session_source_compatibility.go:381 | keep-business (保留业务实现) | format unchanged; read by both shells | |
| 871 | | `writer.lock` | | desktop/historical_version_recovery.go:46 | keep-business (保留业务实现) | format unchanged; read by both shells | |
| 872 | |
| 873 | ## Shell-specific Go files |
| 874 | |
| 875 | | Name | Detail | Location | Class | New owner | |
| 876 | | --- | --- | --- | --- | --- | |
| 877 | | `desktop/app_identity_windows.go` | | | migrate-host (迁移宿主实现) | Electron app.setAppUserModelId | |
| 878 | | `desktop/desktop_shell.go` | | | migrate-host (迁移宿主实现) | `coordinator keeps ordering; presentation via host/window.*` | |
| 879 | | `desktop/desktop_shell_status.go` | | | migrate-host (迁移宿主实现) | `coordinator keeps ordering; presentation via host/window.*` | |
| 880 | | `desktop/external_opener.go` | | | migrate-host (迁移宿主实现) | `openers stay in Go; dialogs via host/dialog.*` | |
| 881 | | `desktop/external_opener_darwin.go` | | | migrate-host (迁移宿主实现) | `openers stay in Go; dialogs via host/dialog.*` | |
| 882 | | `desktop/external_opener_icon.go` | | | migrate-host (迁移宿主实现) | `openers stay in Go; dialogs via host/dialog.*` | |
| 883 | | `desktop/external_opener_linux.go` | | | migrate-host (迁移宿主实现) | `openers stay in Go; dialogs via host/dialog.*` | |
| 884 | | `desktop/external_opener_windows.go` | | | migrate-host (迁移宿主实现) | `openers stay in Go; dialogs via host/dialog.*` | |
| 885 | | `desktop/external_opener_windows_helpers.go` | | | migrate-host (迁移宿主实现) | `openers stay in Go; dialogs via host/dialog.*` | |
| 886 | | `desktop/host_command_owners.go` | | | migrate-host (迁移宿主实现) | hostrpc service mode | |
| 887 | | `desktop/host_endpoint_other.go` | | | migrate-host (迁移宿主实现) | hostrpc service mode | |
| 888 | | `desktop/host_endpoint_windows.go` | | | migrate-host (迁移宿主实现) | hostrpc service mode | |
| 889 | | `desktop/host_events.go` | | | migrate-host (迁移宿主实现) | hostrpc service mode | |
| 890 | | `desktop/host_remote_window.go` | | | migrate-host (迁移宿主实现) | hostrpc service mode | |
| 891 | | `desktop/host_rpc.go` | | | migrate-host (迁移宿主实现) | hostrpc service mode | |
| 892 | | `desktop/host_shell.go` | | | migrate-host (迁移宿主实现) | hostrpc service mode | |
| 893 | | `desktop/icon_repair_darwin.go` | | | delete-shell (删除旧壳专用实现) | icons are packaged by the Electron bundle | |
| 894 | | `desktop/icon_repair_darwin_nocgo.go` | | | delete-shell (删除旧壳专用实现) | icons are packaged by the Electron bundle | |
| 895 | | `desktop/icon_repair_other.go` | | | delete-shell (删除旧壳专用实现) | icons are packaged by the Electron bundle | |
| 896 | | `desktop/icon_repair_windows.go` | | | delete-shell (删除旧壳专用实现) | icons are packaged by the Electron bundle | |
| 897 | | `desktop/main.go` | | | keep-business (保留业务实现) | --host-rpc service entry + shell bootstrap | |
| 898 | | `desktop/native_host.go` | | | migrate-host (迁移宿主实现) | nativeHost boundary | |
| 899 | | `desktop/native_host_rpc.go` | | | migrate-host (迁移宿主实现) | nativeHost boundary | |
| 900 | | `desktop/relauncher.go` | | | migrate-host (迁移宿主实现) | host/app.relaunch | |
| 901 | | `desktop/superseded_relaunch.go` | | | migrate-host (迁移宿主实现) | host/app.relaunch | |
| 902 | | `desktop/system_quit.go` | | | migrate-host (迁移宿主实现) | Electron before-quit → desktop/beforeClose | |
| 903 | | `desktop/tray.go` | | | migrate-host (迁移宿主实现) | `Electron Tray through host/tray.*` | |
| 904 | | `desktop/tray_common.go` | | | migrate-host (迁移宿主实现) | `Electron Tray through host/tray.*` | |
| 905 | | `desktop/tray_health.go` | | | migrate-host (迁移宿主实现) | `Electron Tray through host/tray.*` | |
| 906 | | `desktop/tray_health_other.go` | | | migrate-host (迁移宿主实现) | `Electron Tray through host/tray.*` | |
| 907 | | `desktop/tray_health_unix.go` | | | migrate-host (迁移宿主实现) | `Electron Tray through host/tray.*` | |
| 908 | | `desktop/tray_health_windows.go` | | | migrate-host (迁移宿主实现) | `Electron Tray through host/tray.*` | |
| 909 | | `desktop/tray_icon_unix.go` | | | migrate-host (迁移宿主实现) | `Electron Tray through host/tray.*` | |
| 910 | | `desktop/tray_icon_windows.go` | | | migrate-host (迁移宿主实现) | `Electron Tray through host/tray.*` | |
| 911 | | `desktop/tray_loop_external.go` | | | migrate-host (迁移宿主实现) | `Electron Tray through host/tray.*` | |
| 912 | | `desktop/tray_loop_windows.go` | | | migrate-host (迁移宿主实现) | `Electron Tray through host/tray.*` | |
| 913 | | `desktop/tray_nocgo.go` | | | migrate-host (迁移宿主实现) | `Electron Tray through host/tray.*` | |
| 914 | | `desktop/tray_signature_windows.go` | | | migrate-host (迁移宿主实现) | `Electron Tray through host/tray.*` | |
| 915 | | `desktop/tray_supported_darwin.go` | | | migrate-host (迁移宿主实现) | `Electron Tray through host/tray.*` | |
| 916 | | `desktop/tray_supported_unix.go` | | | migrate-host (迁移宿主实现) | `Electron Tray through host/tray.*` | |
| 917 | | `desktop/tray_supported_windows.go` | | | migrate-host (迁移宿主实现) | `Electron Tray through host/tray.*` | |
| 918 | | `desktop/window_controls.go` | | | migrate-host (迁移宿主实现) | renderer window controls through the preload | |
| 919 | | `desktop/window_state.go` | | | migrate-host (迁移宿主实现) | `geometry persisted by Go, applied through host/window.*` | |
| 920 | | `desktop/zoom_factor.go` | | | migrate-host (迁移宿主实现) | zoomFactor in the hello window geometry | |
| 921 | |
| 922 | ## Release artifacts |
| 923 | |
| 924 | | Name | Detail | Location | Class | New owner | |
| 925 | | --- | --- | --- | --- | --- | |
| 926 | | `Reasonix-darwin-<arch>.dmg` | drag-to-install; human download | scripts/desktop-build.sh:10 | keep-business (保留业务实现) | same file name and installer identity; Electron payload inside | |
| 927 | | `Reasonix-linux-<arch>.deb` | Debian/Ubuntu package; native updater | scripts/desktop-build.sh:14 | keep-business (保留业务实现) | same file name and installer identity; Electron payload inside | |
| 928 | | `Reasonix-linux-<arch>.tar.gz` | desktop + guard + CLI + app/ tree; portable updater | scripts/desktop-build.sh:13 | keep-business (保留业务实现) | same file name and installer identity; Electron payload inside | |
| 929 | | `Reasonix-windows-<arch>-installer.exe` | NSIS per-user installer; updater channel | scripts/desktop-build.sh:11 | keep-business (保留业务实现) | same file name and installer identity; Electron payload inside | |
| 930 | | `Reasonix-windows-<arch>.zip` | portable human download | scripts/desktop-build.sh:12 | keep-business (保留业务实现) | same file name and installer identity; Electron payload inside | |
| 931 | |
| 932 | ## CI and release jobs |
| 933 | |
| 934 | | Name | Detail | Location | Class | New owner | |
| 935 | | --- | --- | --- | --- | --- | |
| 936 | | `app-memory.yml/app-memory` | | .github/workflows/app-memory.yml | keep-business (保留业务实现) | browser memory screening unchanged | |
| 937 | | `app-memory.yml/changes` | | .github/workflows/app-memory.yml | keep-business (保留业务实现) | path filter unchanged | |
| 938 | | `app-memory.yml/prepare` | | .github/workflows/app-memory.yml | keep-business (保留业务实现) | browser memory screening unchanged | |
| 939 | | `app-memory.yml/shard` | | .github/workflows/app-memory.yml | keep-business (保留业务实现) | browser memory screening unchanged | |
| 940 | | `ci.yml/desktop` | | .github/workflows/ci.yml | keep-business (保留业务实现) | aggregate gate, unchanged | |
| 941 | | `ci.yml/desktop-browser` | | .github/workflows/ci.yml | keep-business (保留业务实现) | Playwright browser gates unchanged | |
| 942 | | `ci.yml/desktop-browser-group` | | .github/workflows/ci.yml | keep-business (保留业务实现) | Playwright browser gates split into bounded groups | |
| 943 | | `ci.yml/desktop-frontend` | | .github/workflows/ci.yml | keep-business (保留业务实现) | React gates unchanged | |
| 944 | | `ci.yml/desktop-go` | | .github/workflows/ci.yml | keep-business (保留业务实现) | hostrpc + module tests; no WebKitGTK toolchain | |
| 945 | | `ci.yml/desktop-go-race` | | .github/workflows/ci.yml | keep-business (保留业务实现) | desktop module race sweep, split from desktop-go | |
| 946 | | `ci.yml/desktop-macos` | | .github/workflows/ci.yml | keep-business (保留业务实现) | Electron packaging smoke | |
| 947 | | `ci.yml/desktop-prepare` | | .github/workflows/ci.yml | keep-business (保留业务实现) | go run . -emit-contract drift gate; pnpm workspace root | |
| 948 | | `ci.yml/desktop-windows` | | .github/workflows/ci.yml | keep-business (保留业务实现) | Electron packaging smoke | |
| 949 | | `ci.yml/desktop-windows-go` | | .github/workflows/ci.yml | keep-business (保留业务实现) | fail-closed aggregate for Windows desktop Go partitions | |
| 950 | | `ci.yml/desktop-windows-go-group` | | .github/workflows/ci.yml | keep-business (保留业务实现) | isolated parallel Windows desktop Go test partitions | |
| 951 | | `ci.yml/desktop-windows-package` | | .github/workflows/ci.yml | keep-business (保留业务实现) | Electron installer build, split from the test leg | |
| 952 | | `release-desktop.yml/attest-signing-contract` | | .github/workflows/release-desktop.yml | keep-business (保留业务实现) | attests the extended payload list | |
| 953 | | `release-desktop.yml/build` | | .github/workflows/release-desktop.yml | keep-business (保留业务实现) | desktop-build.sh packages the Electron app with the same NSIS/nfpm/signing steps | |
| 954 | | `release-desktop.yml/mac-universal-intel` | | .github/workflows/release-desktop.yml | keep-business (保留业务实现) | validates the exact universal DMG from the build matrix on an Intel runner | |
| 955 | | `release-desktop.yml/mirror` | | .github/workflows/release-desktop.yml | keep-business (保留业务实现) | unchanged | |
| 956 | | `release-desktop.yml/orchestration-guard` | | .github/workflows/release-desktop.yml | keep-business (保留业务实现) | unchanged | |
| 957 | | `release-desktop.yml/publish` | | .github/workflows/release-desktop.yml | keep-business (保留业务实现) | manifest, minisign and mirror unchanged | |
| 958 | | `release-desktop.yml/release-gate` | | .github/workflows/release-desktop.yml | keep-business (保留业务实现) | unchanged | |
| 959 | | `release-desktop.yml/resolve` | | .github/workflows/release-desktop.yml | keep-business (保留业务实现) | version/channel resolution unchanged | |
| 960 | | `release-desktop.yml/signing-contract` | | .github/workflows/release-desktop.yml | keep-business (保留业务实现) | payload list covers the Electron executables and native modules | |
| 961 | | `release-desktop.yml/windows-build` | | .github/workflows/release-desktop.yml | keep-business (保留业务实现) | builds and smoke-tests unsigned x64 and ARM64 packages on native Windows runners before signing | |
| 962 | | `release-desktop.yml/windows-runtime-acceptance` | | .github/workflows/release-desktop.yml | keep-business (保留业务实现) | installs and starts the exact signed x64 and ARM64 installers on native runners | |
| 963 | | `release-desktop.yml/windows-sign` | | .github/workflows/release-desktop.yml | keep-business (保留业务实现) | Certum signs native-tested x64 and ARM64 payloads and rebuilt installers on x64 | |
| 964 |