1---2name: plugins3description: Skill for the Plugins area of Wiki. 2423 symbols across 745 files.4---56# Plugins782423 symbols | 745 files | Cohesion: 65%910## When to Use1112- Working with code in `AI/`13- Understanding how copyA2uiAssets, getSteps, addToHistory work14- Modifying plugins-related functionality1516## Key Files1718| File | Symbols |19|------|---------|20| `AI/3-Application/Openclaw-source/src/channels/plugins/setup-wizard-helpers.ts` | promptSingleChannelSecretInput, resolveAccountIdForConfigure, addWildcardAllowFrom, setChannelDmPolicyWithAllowFrom, setLegacyChannelDmPolicyWithAllowFrom (+38) |21| `AI/3-Application/Openclaw-source/src/plugins/conversation-binding.ts` | normalizeChannel, normalizeConversation, toConversationRef, buildPluginBindingSessionKey, isLegacyPluginBindingRecord (+31) |22| `AI/3-Application/Claude-Code-source/src/utils/plugins/marketplaceManager.ts` | getKnownMarketplacesFile, getMarketplacesCacheDir, clearMarketplacesCache, getDeclaredMarketplaces, loadKnownMarketplacesConfig (+29) |23| `AI/3-Application/Claude-Code-source/src/utils/plugins/pluginLoader.ts` | getPluginCachePath, getVersionedCachePathIn, getVersionedCachePath, getVersionedZipCachePath, probeSeedCache (+28) |24| `AI/3-Application/Openclaw-source/src/plugins/bundle-manifest.ts` | resolveClaudeComponentPaths, resolveClaudeSkillsRootDirs, resolveClaudeCommandRootDirs, resolveClaudeSkillDirs, resolveClaudeAgentDirs (+27) |25| `AI/3-Application/Claude-Code-source/src/utils/sessionStorage.ts` | getProjectsDir, getAgentMetadataPath, writeAgentMetadata, readAgentMetadata, getRemoteAgentsDir (+26) |26| `AI/3-Application/Openclaw-source/src/plugins/hooks.ts` | runVoidHook, runAgentEnd, runLlmInput, runLlmOutput, runMessageReceived (+25) |27| `AI/3-Application/Claude-Code-source/src/utils/nativeInstaller/installer.ts` | getPlatform, getBinaryName, getBaseDirectories, isPossibleClaudeBinary, getVersionPaths (+24) |28| `AI/3-Application/Claude-Code-source/src/utils/plugins/installedPluginsManager.ts` | getInstalledPluginsFilePath, getInstalledPluginsV2FilePath, migrateToSinglePluginFile, cleanupLegacyCache, readInstalledPluginsFileRaw (+21) |29| `AI/3-Application/Openclaw-source/src/plugins/provider-auth-storage.ts` | resolveAuthAgentDir, setAnthropicApiKey, setOpenaiApiKey, setGeminiApiKey, setMinimaxApiKey (+21) |3031## Entry Points3233Start here when exploring this area:3435- **`copyA2uiAssets`** (Function) — `AI/3-Application/Openclaw-source/scripts/canvas-a2ui-copy.ts:12`36- **`getSteps`** (Function) — `AI/3-Application/Claude-Code-source/src/projectOnboardingState.ts:18`37- **`addToHistory`** (Function) — `AI/3-Application/Claude-Code-source/src/history.ts:410`38- **`getEmptyToolPermissionContext`** (Function) — `AI/3-Application/Claude-Code-source/src/Tool.ts:140`39- **`doCompileStyle`** (Function) — `Vue3/Vue3-source/packages/compiler-sfc/src/compileStyle.ts:88`4041## Key Symbols4243| Symbol | Type | File | Line |44|--------|------|------|------|45| `ConfigParseError` | Class | `AI/3-Application/Claude-Code-source/src/utils/errors.ts` | 38 |46| `FlushGate` | Class | `AI/3-Application/Claude-Code-source/src/bridge/flushGate.ts` | 15 |47| `BoundedUUIDSet` | Class | `AI/3-Application/Claude-Code-source/src/bridge/bridgeMessaging.ts` | 428 |48| `CCRClient` | Class | `AI/3-Application/Claude-Code-source/src/cli/transports/ccrClient.ts` | 261 |49| `PluginLoadFailureError` | Class | `AI/3-Application/Openclaw-source/src/plugins/loader.ts` | 76 |50| `copyA2uiAssets` | Function | `AI/3-Application/Openclaw-source/scripts/canvas-a2ui-copy.ts` | 12 |51| `getSteps` | Function | `AI/3-Application/Claude-Code-source/src/projectOnboardingState.ts` | 18 |52| `addToHistory` | Function | `AI/3-Application/Claude-Code-source/src/history.ts` | 410 |53| `getEmptyToolPermissionContext` | Function | `AI/3-Application/Claude-Code-source/src/Tool.ts` | 140 |54| `doCompileStyle` | Function | `Vue3/Vue3-source/packages/compiler-sfc/src/compileStyle.ts` | 88 |55| `recordPlainCssDependencies` | Function | `Vue3/Vue3-source/packages/compiler-sfc/src/compileStyle.ts` | 171 |56| `spawnGatewayInstance` | Function | `AI/3-Application/Openclaw-source/test/helpers/gateway-e2e-harness.ts` | 103 |57| `readFileUtf8AndCleanup` | Function | `AI/3-Application/Openclaw-source/src/test-utils/camera-url-test-helpers.ts` | 14 |58| `createBundleProbePlugin` | Function | `AI/3-Application/Openclaw-source/src/plugins/bundle-mcp.test-support.ts` | 27 |59| `createWindowsCmdShimFixture` | Function | `AI/3-Application/Openclaw-source/src/plugin-sdk/testing.ts` | 14 |60| `cleanOldMedia` | Function | `AI/3-Application/Openclaw-source/src/media/store.ts` | 112 |61| `removeExpiredFilesInDir` | Function | `AI/3-Application/Openclaw-source/src/media/store.ts` | 118 |62| `writeSessionStore` | Function | `AI/3-Application/Openclaw-source/src/gateway/test-helpers.server.ts` | 65 |63| `saveCronStore` | Function | `AI/3-Application/Openclaw-source/src/cron/store.ts` | 62 |64| `writeCronStoreSnapshot` | Function | `AI/3-Application/Openclaw-source/src/cron/service.test-harness.ts` | 53 |6566## Execution Flows6768| Flow | Type | Steps |69|------|------|-------|70| `HandleModelPickerInteraction → Dep` | cross_community | 10 |71| `HandleModelPickerInteraction → ToRaw` | cross_community | 9 |72| `HandleModelPickerInteraction → IsShallow` | cross_community | 9 |73| `HandleModelPickerInteraction → CreateEmptyPluginRegistry` | cross_community | 8 |74| `HandleModelPickerInteraction → Trim` | cross_community | 8 |75| `HandleSpeculationAccept → ToLowerCase` | cross_community | 8 |76| `HandleSpeculationAccept → Trim` | cross_community | 8 |77| `HandleModelPickerInteraction → GetActivePluginRegistryVersion` | cross_community | 7 |78| `HandleSpeculationAccept → ShouldShowDebugCategories` | cross_community | 7 |79| `CompactEmbeddedPiSessionDirect → LogToFile` | cross_community | 6 |8081## Connected Areas8283| Area | Connections |84|------|-------------|85| Scripts | 373 calls |86| Agents | 81 calls |87| Components | 72 calls |88| Infra | 67 calls |89| Oauth | 58 calls |90| Validate | 56 calls |91| Auto-reply | 50 calls |92| Constants | 35 calls |9394## How to Explore95961. `gitnexus_context({name: "copyA2uiAssets"})` — see callers and callees972. `gitnexus_query({query: "plugins"})` — find related execution flows983. Read key files listed above for implementation details