mumucc 0.4.1 → 0.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/AGENTS.md +297 -0
- package/bin/mumucc +3 -5
- package/bun.lock +44 -141
- package/defaults/mcp-servers.json +0 -6
- package/package.json +4 -4
- package/shims/bun-bundle.ts +0 -3
- package/shims/globals.d.ts +15 -0
- package/shims/globals.ts +1 -1
- package/src/QueryEngine.ts +1 -0
- package/src/assistant/gate.ts +4 -1
- package/src/assistant/index.ts +29 -1
- package/src/assistant/sessionDiscovery.ts +10 -1
- package/src/bootstrap/state.ts +6 -1
- package/src/buddy/CompanionSprite.tsx +1 -0
- package/src/buddy/observer.ts +6 -0
- package/src/buddy/useBuddyNotification.tsx +1 -0
- package/src/cli/handlers/util.tsx +1 -0
- package/src/cli/print.ts +4 -1
- package/src/cli/structuredIO.ts +6 -1
- package/src/commands/add-dir/add-dir.tsx +1 -0
- package/src/commands/branch/branch.ts +1 -0
- package/src/commands/bridge/bridge.tsx +2 -1
- package/src/commands/btw/btw.tsx +1 -0
- package/src/commands/buddy/index.ts +2 -1
- package/src/commands/chrome/chrome.tsx +1 -0
- package/src/commands/clear/caches.ts +1 -0
- package/src/commands/compact/compact.ts +1 -0
- package/src/commands/context/context-noninteractive.ts +1 -0
- package/src/commands/context/context.tsx +1 -0
- package/src/commands/copy/copy.tsx +2 -1
- package/src/commands/effort/effort.tsx +1 -0
- package/src/commands/extra-usage/extra-usage.tsx +1 -0
- package/src/commands/fast/fast.tsx +1 -0
- package/src/commands/fork/index.ts +2 -1
- package/src/commands/ide/ide.tsx +2 -1
- package/src/commands/insights.ts +1 -0
- package/src/commands/install-github-app/ApiKeyStep.tsx +1 -0
- package/src/commands/install-github-app/CheckExistingSecretStep.tsx +1 -0
- package/src/commands/install-github-app/ChooseRepoStep.tsx +1 -0
- package/src/commands/install-github-app/CreatingStep.tsx +1 -0
- package/src/commands/install-github-app/ErrorStep.tsx +1 -0
- package/src/commands/install-github-app/ExistingWorkflowStep.tsx +1 -0
- package/src/commands/install-github-app/InstallAppStep.tsx +1 -0
- package/src/commands/install-github-app/OAuthFlowStep.tsx +1 -0
- package/src/commands/install-github-app/SuccessStep.tsx +1 -0
- package/src/commands/install-github-app/WarningsStep.tsx +1 -0
- package/src/commands/install-github-app/install-github-app.tsx +2 -1
- package/src/commands/install.tsx +1 -0
- package/src/commands/login/CodexLogin.tsx +39 -12
- package/src/commands/login/CustomProviderLogin.tsx +45 -9
- package/src/commands/login/ThirdPartyLogin.tsx +24 -6
- package/src/commands/login/login.tsx +37 -10
- package/src/commands/login/profileDefaults.ts +25 -0
- package/src/commands/mcp/mcp.tsx +1 -0
- package/src/commands/mobile/mobile.tsx +1 -0
- package/src/commands/model/model.tsx +14 -3
- package/src/commands/peers/index.ts +2 -1
- package/src/commands/permissions/permissions.tsx +1 -0
- package/src/commands/plan/plan.tsx +1 -0
- package/src/commands/plugin/DiscoverPlugins.tsx +1 -0
- package/src/commands/plugin/ManageMarketplaces.tsx +1 -0
- package/src/commands/plugin/ManagePlugins.tsx +1 -0
- package/src/commands/plugin/PluginOptionsDialog.tsx +1 -0
- package/src/commands/plugin/PluginSettings.tsx +2 -1
- package/src/commands/plugin/UnifiedInstalledCell.tsx +1 -0
- package/src/commands/plugin/ValidatePlugin.tsx +1 -0
- package/src/commands/plugin/pluginDetailsHelpers.tsx +1 -0
- package/src/commands/rate-limit-options/rate-limit-options.tsx +1 -0
- package/src/commands/remote-setup/remote-setup.tsx +1 -0
- package/src/commands/resume/resume.tsx +1 -0
- package/src/commands/review/UltrareviewOverageDialog.tsx +1 -0
- package/src/commands/review/ultrareviewCommand.tsx +1 -0
- package/src/commands/session/session.tsx +1 -0
- package/src/commands/tag/tag.tsx +1 -0
- package/src/commands/terminalSetup/terminalSetup.tsx +1 -0
- package/src/commands/theme/theme.tsx +1 -0
- package/src/commands/thinkback/thinkback.tsx +2 -1
- package/src/commands/ultraplan.tsx +11 -1
- package/src/commands/upgrade/upgrade.tsx +1 -0
- package/src/commands/workflows/index.ts +2 -1
- package/src/components/AgentProgressLine.tsx +1 -0
- package/src/components/App.tsx +1 -0
- package/src/components/ApproveApiKey.tsx +1 -0
- package/src/components/AutoModeOptInDialog.tsx +1 -0
- package/src/components/AutoUpdater.tsx +1 -0
- package/src/components/AutoUpdaterWrapper.tsx +1 -0
- package/src/components/AwsAuthStatusBox.tsx +1 -0
- package/src/components/BaseTextInput.tsx +1 -0
- package/src/components/BashModeProgress.tsx +1 -0
- package/src/components/BridgeDialog.tsx +2 -1
- package/src/components/BypassPermissionsModeDialog.tsx +1 -0
- package/src/components/ChannelDowngradeDialog.tsx +1 -0
- package/src/components/ClaudeInChromeOnboarding.tsx +1 -0
- package/src/components/ClaudeMdExternalIncludesDialog.tsx +1 -0
- package/src/components/ClickableImageRef.tsx +1 -0
- package/src/components/CompactSummary.tsx +1 -0
- package/src/components/ConfigurableShortcutHint.tsx +1 -0
- package/src/components/ConsoleOAuthFlow.tsx +1 -0
- package/src/components/ContextSuggestions.tsx +1 -0
- package/src/components/ContextVisualization.tsx +2 -1
- package/src/components/CoordinatorAgentStatus.tsx +3 -4
- package/src/components/CostThresholdDialog.tsx +1 -0
- package/src/components/CtrlOToExpand.tsx +1 -0
- package/src/components/CustomSelect/SelectMulti.tsx +1 -0
- package/src/components/CustomSelect/select-input-option.tsx +1 -0
- package/src/components/CustomSelect/select-option.tsx +1 -0
- package/src/components/CustomSelect/select.tsx +2 -1
- package/src/components/CustomSelect/use-multi-select-state.ts +1 -0
- package/src/components/DesktopHandoff.tsx +1 -0
- package/src/components/DesktopUpsell/DesktopUpsellStartup.tsx +1 -0
- package/src/components/DevBar.tsx +1 -0
- package/src/components/DevChannelsDialog.tsx +1 -0
- package/src/components/DiagnosticsDisplay.tsx +1 -0
- package/src/components/EffortCallout.tsx +1 -0
- package/src/components/ExitFlow.tsx +1 -0
- package/src/components/FallbackToolUseErrorMessage.tsx +1 -0
- package/src/components/FastIcon.tsx +1 -0
- package/src/components/Feedback.tsx +1 -0
- package/src/components/FeedbackSurvey/FeedbackSurvey.tsx +1 -0
- package/src/components/FeedbackSurvey/FeedbackSurveyView.tsx +1 -0
- package/src/components/FeedbackSurvey/TranscriptSharePrompt.tsx +1 -0
- package/src/components/FeedbackSurvey/useFrustrationDetection.ts +6 -1
- package/src/components/FeedbackSurvey/useMemorySurvey.tsx +1 -0
- package/src/components/FeedbackSurvey/usePostCompactSurvey.tsx +2 -1
- package/src/components/FileEditToolDiff.tsx +1 -0
- package/src/components/FileEditToolUpdatedMessage.tsx +1 -0
- package/src/components/FileEditToolUseRejectedMessage.tsx +1 -0
- package/src/components/FilePathLink.tsx +1 -0
- package/src/components/FullscreenLayout.tsx +1 -0
- package/src/components/GlobalSearchDialog.tsx +2 -1
- package/src/components/HelpV2/Commands.tsx +1 -0
- package/src/components/HelpV2/HelpV2.tsx +1 -0
- package/src/components/HighlightedCode/Fallback.tsx +1 -0
- package/src/components/HighlightedCode.tsx +1 -0
- package/src/components/HistorySearchDialog.tsx +1 -0
- package/src/components/IdeAutoConnectDialog.tsx +1 -0
- package/src/components/IdeOnboardingDialog.tsx +1 -0
- package/src/components/IdeStatusIndicator.tsx +1 -0
- package/src/components/IdleReturnDialog.tsx +1 -0
- package/src/components/InvalidConfigDialog.tsx +1 -0
- package/src/components/InvalidSettingsDialog.tsx +1 -0
- package/src/components/KeybindingWarnings.tsx +1 -0
- package/src/components/LanguagePicker.tsx +1 -0
- package/src/components/LogSelector.tsx +2 -1
- package/src/components/LogoV2/ChannelsNotice.tsx +6 -5
- package/src/components/LogoV2/Clawd.tsx +1 -0
- package/src/components/LogoV2/CondensedLogo.tsx +1 -0
- package/src/components/LogoV2/Feed.tsx +1 -0
- package/src/components/LogoV2/FeedColumn.tsx +1 -0
- package/src/components/LogoV2/LogoV2.tsx +2 -1
- package/src/components/LogoV2/OverageCreditUpsell.tsx +1 -0
- package/src/components/LogoV2/WelcomeV2.tsx +1 -0
- package/src/components/LogoV2/feedConfigs.tsx +1 -0
- package/src/components/MCPServerApprovalDialog.tsx +1 -0
- package/src/components/MCPServerDesktopImportDialog.tsx +1 -0
- package/src/components/MCPServerMultiselectDialog.tsx +1 -0
- package/src/components/ManagedSettingsSecurityDialog/ManagedSettingsSecurityDialog.tsx +1 -0
- package/src/components/Markdown.tsx +1 -0
- package/src/components/MemoryUsageIndicator.tsx +1 -0
- package/src/components/Message.tsx +2 -1
- package/src/components/MessageModel.tsx +1 -0
- package/src/components/MessageResponse.tsx +1 -0
- package/src/components/MessageRow.tsx +1 -0
- package/src/components/MessageSelector.tsx +2 -1
- package/src/components/MessageTimestamp.tsx +1 -0
- package/src/components/Messages.tsx +1 -0
- package/src/components/ModelPicker.tsx +4 -3
- package/src/components/NativeAutoUpdater.tsx +1 -0
- package/src/components/NotebookEditToolUseRejectedMessage.tsx +1 -0
- package/src/components/Onboarding.tsx +1 -0
- package/src/components/OutputStylePicker.tsx +1 -0
- package/src/components/PackageManagerAutoUpdater.tsx +1 -0
- package/src/components/PrBadge.tsx +1 -0
- package/src/components/PromptInput/HistorySearchInput.tsx +1 -0
- package/src/components/PromptInput/Notifications.tsx +1 -0
- package/src/components/PromptInput/PromptInput.tsx +10 -8
- package/src/components/PromptInput/PromptInputFooter.tsx +1 -0
- package/src/components/PromptInput/PromptInputFooterLeftSide.tsx +1 -0
- package/src/components/PromptInput/PromptInputFooterSuggestions.tsx +1 -0
- package/src/components/PromptInput/PromptInputHelpMenu.tsx +1 -0
- package/src/components/PromptInput/PromptInputModeIndicator.tsx +1 -0
- package/src/components/PromptInput/PromptInputStashNotice.tsx +1 -0
- package/src/components/PromptInput/SandboxPromptFooterHint.tsx +1 -0
- package/src/components/PromptInput/ShimmeredInput.tsx +1 -0
- package/src/components/PromptInput/VoiceIndicator.tsx +1 -0
- package/src/components/QuickOpenDialog.tsx +2 -1
- package/src/components/RemoteEnvironmentDialog.tsx +2 -1
- package/src/components/ResumeTask.tsx +1 -0
- package/src/components/SandboxViolationExpandedView.tsx +1 -0
- package/src/components/SearchBox.tsx +1 -0
- package/src/components/SessionBackgroundHint.tsx +1 -0
- package/src/components/SessionPreview.tsx +1 -0
- package/src/components/Settings/Config.tsx +1 -0
- package/src/components/Settings/Settings.tsx +1 -0
- package/src/components/Settings/Status.tsx +2 -1
- package/src/components/Settings/Usage.tsx +1 -0
- package/src/components/ShowInIDEPrompt.tsx +1 -0
- package/src/components/SkillImprovementSurvey.tsx +1 -0
- package/src/components/Spinner/FlashingChar.tsx +1 -0
- package/src/components/Spinner/GlimmerMessage.tsx +1 -0
- package/src/components/Spinner/ShimmerChar.tsx +1 -0
- package/src/components/Spinner/SpinnerAnimationRow.tsx +1 -0
- package/src/components/Spinner/SpinnerGlyph.tsx +1 -0
- package/src/components/Spinner/TeammateSpinnerTree.tsx +1 -0
- package/src/components/Spinner/utils.ts +1 -0
- package/src/components/Spinner.tsx +2 -1
- package/src/components/Stats.tsx +2 -1
- package/src/components/StatusNotices.tsx +1 -0
- package/src/components/StructuredDiff/Fallback.tsx +1 -0
- package/src/components/StructuredDiff.tsx +2 -1
- package/src/components/StructuredDiffList.tsx +1 -0
- package/src/components/TaskListV2.tsx +1 -0
- package/src/components/TeammateViewHeader.tsx +1 -0
- package/src/components/TeleportError.tsx +1 -0
- package/src/components/TeleportProgress.tsx +1 -0
- package/src/components/TeleportRepoMismatchDialog.tsx +1 -0
- package/src/components/TeleportResumeWrapper.tsx +1 -0
- package/src/components/TextInput.tsx +1 -0
- package/src/components/ThemePicker.tsx +1 -0
- package/src/components/ThinkingToggle.tsx +1 -0
- package/src/components/TokenWarning.tsx +1 -0
- package/src/components/ToolUseLoader.tsx +1 -0
- package/src/components/TrustDialog/TrustDialog.tsx +1 -0
- package/src/components/ValidationErrorsList.tsx +1 -0
- package/src/components/VimTextInput.tsx +1 -0
- package/src/components/VirtualMessageList.tsx +1 -0
- package/src/components/WorkflowMultiselectDialog.tsx +1 -0
- package/src/components/agents/AgentDetail.tsx +1 -0
- package/src/components/agents/AgentEditor.tsx +1 -0
- package/src/components/agents/AgentNavigationFooter.tsx +1 -0
- package/src/components/agents/AgentsList.tsx +2 -1
- package/src/components/agents/AgentsMenu.tsx +2 -1
- package/src/components/agents/ColorPicker.tsx +1 -0
- package/src/components/agents/ModelSelector.tsx +1 -0
- package/src/components/agents/ToolSelector.tsx +2 -1
- package/src/components/agents/generateAgent.ts +1 -0
- package/src/components/agents/new-agent-creation/CreateAgentWizard.tsx +1 -0
- package/src/components/agents/new-agent-creation/wizard-steps/ColorStep.tsx +1 -0
- package/src/components/agents/new-agent-creation/wizard-steps/ConfirmStep.tsx +1 -0
- package/src/components/agents/new-agent-creation/wizard-steps/DescriptionStep.tsx +1 -0
- package/src/components/agents/new-agent-creation/wizard-steps/LocationStep.tsx +1 -0
- package/src/components/agents/new-agent-creation/wizard-steps/MemoryStep.tsx +1 -0
- package/src/components/agents/new-agent-creation/wizard-steps/MethodStep.tsx +1 -0
- package/src/components/agents/new-agent-creation/wizard-steps/ModelStep.tsx +1 -0
- package/src/components/agents/new-agent-creation/wizard-steps/PromptStep.tsx +1 -0
- package/src/components/agents/new-agent-creation/wizard-steps/ToolsStep.tsx +1 -0
- package/src/components/agents/new-agent-creation/wizard-steps/TypeStep.tsx +1 -0
- package/src/components/design-system/Byline.tsx +1 -0
- package/src/components/design-system/Dialog.tsx +1 -0
- package/src/components/design-system/Divider.tsx +1 -0
- package/src/components/design-system/FuzzyPicker.tsx +1 -0
- package/src/components/design-system/KeyboardShortcutHint.tsx +1 -0
- package/src/components/design-system/ListItem.tsx +1 -0
- package/src/components/design-system/LoadingState.tsx +1 -0
- package/src/components/design-system/Pane.tsx +1 -0
- package/src/components/design-system/ProgressBar.tsx +1 -0
- package/src/components/design-system/Ratchet.tsx +1 -0
- package/src/components/design-system/StatusIcon.tsx +1 -0
- package/src/components/design-system/Tabs.tsx +2 -1
- package/src/components/design-system/ThemeProvider.tsx +1 -0
- package/src/components/design-system/ThemedBox.tsx +1 -0
- package/src/components/design-system/ThemedText.tsx +1 -0
- package/src/components/diff/DiffDetailView.tsx +1 -0
- package/src/components/diff/DiffDialog.tsx +1 -0
- package/src/components/diff/DiffFileList.tsx +1 -0
- package/src/components/grove/Grove.tsx +2 -1
- package/src/components/hooks/HooksConfigMenu.tsx +2 -1
- package/src/components/hooks/PromptDialog.tsx +1 -0
- package/src/components/hooks/SelectEventMode.tsx +1 -0
- package/src/components/hooks/SelectHookMode.tsx +1 -0
- package/src/components/hooks/SelectMatcherMode.tsx +1 -0
- package/src/components/hooks/ViewHookMode.tsx +1 -0
- package/src/components/mcp/CapabilitiesSection.tsx +1 -0
- package/src/components/mcp/ElicitationDialog.tsx +1 -0
- package/src/components/mcp/MCPAgentServerMenu.tsx +1 -0
- package/src/components/mcp/MCPListPanel.tsx +2 -1
- package/src/components/mcp/MCPReconnect.tsx +1 -0
- package/src/components/mcp/MCPRemoteServerMenu.tsx +1 -0
- package/src/components/mcp/MCPSettings.tsx +2 -1
- package/src/components/mcp/MCPStdioServerMenu.tsx +1 -0
- package/src/components/mcp/MCPToolDetailView.tsx +1 -0
- package/src/components/mcp/MCPToolListView.tsx +1 -0
- package/src/components/mcp/McpParsingWarnings.tsx +1 -0
- package/src/components/memory/MemoryFileSelector.tsx +2 -1
- package/src/components/memory/MemoryUpdateNotification.tsx +1 -0
- package/src/components/messageActions.tsx +1 -0
- package/src/components/messages/AdvisorMessage.tsx +1 -0
- package/src/components/messages/AssistantRedactedThinkingMessage.tsx +1 -0
- package/src/components/messages/AssistantTextMessage.tsx +1 -0
- package/src/components/messages/AssistantThinkingMessage.tsx +1 -0
- package/src/components/messages/AssistantToolUseMessage.tsx +1 -0
- package/src/components/messages/AttachmentMessage.tsx +2 -1
- package/src/components/messages/CollapsedReadSearchContent.tsx +2 -1
- package/src/components/messages/GroupedToolUseContent.tsx +1 -0
- package/src/components/messages/HighlightedThinkingText.tsx +1 -0
- package/src/components/messages/HookProgressMessage.tsx +1 -0
- package/src/components/messages/PlanApprovalMessage.tsx +1 -0
- package/src/components/messages/RateLimitMessage.tsx +1 -0
- package/src/components/messages/ShutdownMessage.tsx +1 -0
- package/src/components/messages/SystemAPIErrorMessage.tsx +1 -0
- package/src/components/messages/SystemTextMessage.tsx +2 -1
- package/src/components/messages/TaskAssignmentMessage.tsx +1 -0
- package/src/components/messages/UserAgentNotificationMessage.tsx +1 -0
- package/src/components/messages/UserBashInputMessage.tsx +1 -0
- package/src/components/messages/UserBashOutputMessage.tsx +1 -0
- package/src/components/messages/UserChannelMessage.tsx +1 -0
- package/src/components/messages/UserCommandMessage.tsx +1 -0
- package/src/components/messages/UserImageMessage.tsx +1 -0
- package/src/components/messages/UserLocalCommandOutputMessage.tsx +1 -0
- package/src/components/messages/UserMemoryInputMessage.tsx +1 -0
- package/src/components/messages/UserPlanMessage.tsx +1 -0
- package/src/components/messages/UserResourceUpdateMessage.tsx +1 -0
- package/src/components/messages/UserTeammateMessage.tsx +1 -0
- package/src/components/messages/UserTextMessage.tsx +1 -0
- package/src/components/messages/UserToolResultMessage/RejectedPlanMessage.tsx +1 -0
- package/src/components/messages/UserToolResultMessage/UserToolErrorMessage.tsx +1 -0
- package/src/components/messages/UserToolResultMessage/UserToolRejectMessage.tsx +1 -0
- package/src/components/messages/UserToolResultMessage/UserToolResultMessage.tsx +1 -0
- package/src/components/messages/UserToolResultMessage/utils.tsx +1 -0
- package/src/components/messages/nullRenderingAttachments.ts +1 -0
- package/src/components/messages/teamMemCollapsed.tsx +1 -0
- package/src/components/permissions/AskUserQuestionPermissionRequest/AskUserQuestionPermissionRequest.tsx +2 -1
- package/src/components/permissions/AskUserQuestionPermissionRequest/PreviewBox.tsx +1 -0
- package/src/components/permissions/AskUserQuestionPermissionRequest/QuestionNavigationBar.tsx +2 -1
- package/src/components/permissions/AskUserQuestionPermissionRequest/QuestionView.tsx +2 -1
- package/src/components/permissions/AskUserQuestionPermissionRequest/SubmitQuestionsView.tsx +1 -0
- package/src/components/permissions/BashPermissionRequest/BashPermissionRequest.tsx +1 -0
- package/src/components/permissions/BashPermissionRequest/bashToolUseOptions.tsx +1 -0
- package/src/components/permissions/ComputerUseApproval/ComputerUseApproval.tsx +2 -1
- package/src/components/permissions/EnterPlanModePermissionRequest/EnterPlanModePermissionRequest.tsx +1 -0
- package/src/components/permissions/ExitPlanModePermissionRequest/ExitPlanModePermissionRequest.tsx +1 -0
- package/src/components/permissions/FallbackPermissionRequest.tsx +1 -0
- package/src/components/permissions/FileEditPermissionRequest/FileEditPermissionRequest.tsx +1 -0
- package/src/components/permissions/FilePermissionDialog/FilePermissionDialog.tsx +1 -0
- package/src/components/permissions/FileWritePermissionRequest/FileWritePermissionRequest.tsx +1 -0
- package/src/components/permissions/FileWritePermissionRequest/FileWriteToolDiff.tsx +1 -0
- package/src/components/permissions/FilesystemPermissionRequest/FilesystemPermissionRequest.tsx +1 -0
- package/src/components/permissions/NotebookEditPermissionRequest/NotebookEditPermissionRequest.tsx +1 -0
- package/src/components/permissions/NotebookEditPermissionRequest/NotebookEditToolDiff.tsx +2 -1
- package/src/components/permissions/PermissionDecisionDebugInfo.tsx +2 -1
- package/src/components/permissions/PermissionDialog.tsx +1 -0
- package/src/components/permissions/PermissionExplanation.tsx +2 -1
- package/src/components/permissions/PermissionPrompt.tsx +2 -1
- package/src/components/permissions/PermissionRequest.tsx +1 -0
- package/src/components/permissions/PermissionRequestTitle.tsx +1 -0
- package/src/components/permissions/PermissionRuleExplanation.tsx +1 -0
- package/src/components/permissions/SandboxPermissionRequest.tsx +1 -0
- package/src/components/permissions/SedEditPermissionRequest/SedEditPermissionRequest.tsx +1 -0
- package/src/components/permissions/SkillPermissionRequest/SkillPermissionRequest.tsx +1 -0
- package/src/components/permissions/WebFetchPermissionRequest/WebFetchPermissionRequest.tsx +1 -0
- package/src/components/permissions/WorkerBadge.tsx +1 -0
- package/src/components/permissions/WorkerPendingPermission.tsx +1 -0
- package/src/components/permissions/rules/AddPermissionRules.tsx +1 -0
- package/src/components/permissions/rules/AddWorkspaceDirectory.tsx +2 -1
- package/src/components/permissions/rules/PermissionRuleDescription.tsx +1 -0
- package/src/components/permissions/rules/PermissionRuleInput.tsx +1 -0
- package/src/components/permissions/rules/PermissionRuleList.tsx +2 -1
- package/src/components/permissions/rules/RecentDenialsTab.tsx +1 -0
- package/src/components/permissions/rules/RemoveWorkspaceDirectory.tsx +1 -0
- package/src/components/permissions/rules/WorkspaceTab.tsx +1 -0
- package/src/components/sandbox/SandboxConfigTab.tsx +1 -0
- package/src/components/sandbox/SandboxDependenciesTab.tsx +1 -0
- package/src/components/sandbox/SandboxDoctorSection.tsx +1 -0
- package/src/components/sandbox/SandboxOverridesTab.tsx +1 -0
- package/src/components/sandbox/SandboxSettings.tsx +1 -0
- package/src/components/shell/ExpandShellOutputContext.tsx +1 -0
- package/src/components/shell/OutputLine.tsx +1 -0
- package/src/components/shell/ShellProgressMessage.tsx +1 -0
- package/src/components/shell/ShellTimeDisplay.tsx +1 -0
- package/src/components/skills/SkillsMenu.tsx +1 -0
- package/src/components/tasks/AsyncAgentDetailDialog.tsx +1 -0
- package/src/components/tasks/BackgroundTask.tsx +1 -0
- package/src/components/tasks/BackgroundTaskStatus.tsx +2 -1
- package/src/components/tasks/BackgroundTasksDialog.tsx +2 -1
- package/src/components/tasks/DreamDetailDialog.tsx +1 -0
- package/src/components/tasks/InProcessTeammateDetailDialog.tsx +1 -0
- package/src/components/tasks/RemoteSessionDetailDialog.tsx +2 -1
- package/src/components/tasks/RemoteSessionProgress.tsx +1 -0
- package/src/components/tasks/ShellDetailDialog.tsx +2 -1
- package/src/components/tasks/ShellProgress.tsx +1 -0
- package/src/components/tasks/taskStatusUtils.tsx +1 -0
- package/src/components/teams/TeamStatus.tsx +1 -0
- package/src/components/teams/TeamsDialog.tsx +2 -1
- package/src/components/ui/OrderedList.tsx +1 -0
- package/src/components/ui/OrderedListItem.tsx +1 -0
- package/src/components/ui/TreeSelect.tsx +2 -1
- package/src/components/wizard/WizardDialogLayout.tsx +1 -0
- package/src/components/wizard/WizardProvider.tsx +2 -1
- package/src/components/wizard/useWizard.ts +1 -0
- package/src/constants/betas.ts +1 -0
- package/src/constants/prompts.ts +1 -0
- package/src/context/QueuedMessageContext.tsx +1 -0
- package/src/context/fpsMetrics.tsx +1 -0
- package/src/context/mailbox.tsx +1 -0
- package/src/context/modalContext.tsx +1 -0
- package/src/context/overlayContext.tsx +1 -0
- package/src/context/promptOverlayContext.tsx +1 -0
- package/src/context/stats.tsx +1 -0
- package/src/context/voice.tsx +1 -0
- package/src/cost-tracker.ts +1 -0
- package/src/dialogLaunchers.tsx +1 -0
- package/src/entrypoints/agentSdkTypes.ts +4 -17
- package/src/entrypoints/cli.tsx +1 -0
- package/src/entrypoints/sdk/controlTypes.ts +86 -10
- package/src/entrypoints/sdk/coreTypes.generated.ts +99 -2
- package/src/entrypoints/sdk/runtimeTypes.ts +53 -18
- package/src/entrypoints/sdk/settingsTypes.generated.ts +2 -1
- package/src/hooks/notifs/useAntOrgWarningNotification.ts +1 -1
- package/src/hooks/notifs/useCanSwitchToExistingSubscription.tsx +1 -0
- package/src/hooks/notifs/useDeprecationWarningNotification.tsx +1 -0
- package/src/hooks/notifs/useFastModeNotification.tsx +1 -0
- package/src/hooks/notifs/useIDEStatusIndicator.tsx +1 -0
- package/src/hooks/notifs/useInstallMessages.tsx +1 -0
- package/src/hooks/notifs/useLspInitializationNotification.tsx +1 -0
- package/src/hooks/notifs/useMcpConnectivityStatus.tsx +1 -0
- package/src/hooks/notifs/useNpmDeprecationNotification.tsx +1 -0
- package/src/hooks/notifs/usePluginAutoupdateNotification.tsx +1 -0
- package/src/hooks/notifs/usePluginInstallationStatus.tsx +1 -0
- package/src/hooks/notifs/useRateLimitWarningNotification.tsx +1 -0
- package/src/hooks/useCanUseTool.tsx +2 -1
- package/src/hooks/useChromeExtensionNotification.tsx +1 -0
- package/src/hooks/useClaudeCodeHintRecommendation.tsx +1 -0
- package/src/hooks/useCommandKeybindings.tsx +1 -0
- package/src/hooks/useDiffData.ts +1 -0
- package/src/hooks/useIDEIntegration.tsx +1 -0
- package/src/hooks/useLspPluginRecommendation.tsx +1 -0
- package/src/hooks/useOfficialMarketplaceNotification.tsx +1 -0
- package/src/hooks/usePluginRecommendationBase.tsx +1 -0
- package/src/hooks/usePromptsFromClaudeInChrome.tsx +1 -0
- package/src/hooks/useRemoteSession.ts +1 -0
- package/src/hooks/useReplBridge.tsx +1 -0
- package/src/hooks/useSSHSession.ts +1 -0
- package/src/hooks/useTeleportResume.tsx +1 -0
- package/src/hooks/useTurnDiffs.ts +1 -0
- package/src/hooks/useTypeahead.tsx +1 -0
- package/src/hooks/useVoiceIntegration.tsx +1 -0
- package/src/ink/Ansi.tsx +1 -0
- package/src/ink/bidi.ts +1 -0
- package/src/ink/components/AlternateScreen.tsx +1 -0
- package/src/ink/components/Box.tsx +1 -0
- package/src/ink/components/Button.tsx +1 -0
- package/src/ink/components/ClockContext.tsx +1 -0
- package/src/ink/components/Link.tsx +1 -0
- package/src/ink/components/Newline.tsx +1 -0
- package/src/ink/components/NoSelect.tsx +1 -0
- package/src/ink/components/RawAnsi.tsx +1 -0
- package/src/ink/components/ScrollBox.tsx +1 -0
- package/src/ink/components/TerminalFocusContext.tsx +1 -0
- package/src/ink/components/Text.tsx +1 -0
- package/src/ink/ink.tsx +1 -0
- package/src/ink/reconciler.ts +1 -0
- package/src/ink/render-to-screen.ts +1 -0
- package/src/interactiveHelpers.tsx +4 -4
- package/src/keybindings/KeybindingContext.tsx +2 -1
- package/src/keybindings/KeybindingProviderSetup.tsx +1 -0
- package/src/keybindings/parser.ts +1 -0
- package/src/keybindings/template.ts +1 -0
- package/src/keybindings/validate.ts +1 -0
- package/src/main.tsx +5 -7
- package/src/memdir/findRelevantMemories.ts +1 -0
- package/src/native-ts/color-diff/index.ts +1 -0
- package/src/proactive/index.ts +26 -1
- package/src/proactive/useProactive.ts +13 -1
- package/src/query/stopHooks.ts +1 -0
- package/src/query.ts +1 -0
- package/src/remote/SessionsWebSocket.ts +1 -0
- package/src/screens/Doctor.tsx +2 -1
- package/src/screens/REPL.tsx +13 -6
- package/src/screens/ResumeConversation.tsx +1 -0
- package/src/services/AgentSummary/agentSummary.ts +1 -0
- package/src/services/PromptSuggestion/promptSuggestion.ts +1 -0
- package/src/services/api/claude.ts +33 -31
- package/src/services/api/client.ts +34 -31
- package/src/services/api/errors.ts +1 -0
- package/src/services/api/logging.ts +1 -0
- package/src/services/api/openaiShim.ts +35 -8
- package/src/services/api/withRetry.ts +1 -0
- package/src/services/autoDream/autoDream.ts +1 -0
- package/src/services/claudeAiLimits.ts +1 -0
- package/src/services/compact/autoCompact.ts +1 -0
- package/src/services/compact/cachedMicrocompact.ts +56 -4
- package/src/services/compact/compact.ts +1 -0
- package/src/services/compact/microCompact.ts +1 -0
- package/src/services/compact/postCompactCleanup.ts +1 -0
- package/src/services/compact/reactiveCompact.ts +16 -1
- package/src/services/compact/sessionMemoryCompact.ts +1 -0
- package/src/services/compact/snipCompact.ts +18 -1
- package/src/services/compact/snipProjection.ts +6 -1
- package/src/services/contextCollapse/index.ts +33 -1
- package/src/services/extractMemories/extractMemories.ts +1 -0
- package/src/services/mcp/MCPConnectionManager.tsx +1 -0
- package/src/services/mcp/channelAllowlist.ts +1 -1
- package/src/services/mcp/channelNotification.ts +90 -4
- package/src/services/mcp/channelPermissions.ts +1 -1
- package/src/services/mcp/client.ts +1 -0
- package/src/services/mcp/useManageMCPConnections.ts +5 -3
- package/src/services/notifier.ts +1 -0
- package/src/services/rateLimitMocking.ts +1 -0
- package/src/services/skillSearch/localSearch.ts +1 -1
- package/src/services/skillSearch/prefetch.ts +10 -1
- package/src/services/tips/tipRegistry.ts +1 -0
- package/src/services/toolUseSummary/toolUseSummaryGenerator.ts +1 -0
- package/src/services/tools/StreamingToolExecutor.ts +1 -0
- package/src/services/tools/toolOrchestration.ts +1 -0
- package/src/services/vcr.ts +1 -0
- package/src/services/voice.ts +1 -0
- package/src/setup.ts +1 -0
- package/src/skills/bundled/claudeInChrome.ts +1 -0
- package/src/skills/bundled/keybindings.ts +1 -0
- package/src/skills/bundled/skillify.ts +1 -0
- package/src/state/AppState.tsx +10 -7
- package/src/tasks/LocalMainSessionTask.ts +1 -0
- package/src/tasks/LocalShellTask/LocalShellTask.tsx +1 -0
- package/src/tasks/LocalShellTask/killShellTasks.ts +1 -0
- package/src/tasks/RemoteAgentTask/RemoteAgentTask.tsx +1 -0
- package/src/tools/AgentTool/AgentTool.tsx +30 -3
- package/src/tools/AgentTool/UI.tsx +2 -1
- package/src/tools/AgentTool/agentToolUtils.ts +1 -0
- package/src/tools/AgentTool/builtInAgents.ts +1 -0
- package/src/tools/AgentTool/forkSubagent.ts +1 -0
- package/src/tools/AgentTool/loadAgentsDir.ts +9 -0
- package/src/tools/AgentTool/runAgent.ts +2 -0
- package/src/tools/AskUserQuestionTool/AskUserQuestionTool.tsx +1 -0
- package/src/tools/BashTool/BashTool.tsx +1 -0
- package/src/tools/BashTool/BashToolResultMessage.tsx +1 -0
- package/src/tools/BashTool/UI.tsx +1 -0
- package/src/tools/BriefTool/UI.tsx +1 -0
- package/src/tools/FileEditTool/UI.tsx +1 -0
- package/src/tools/FileEditTool/utils.ts +1 -0
- package/src/tools/FileReadTool/FileReadTool.ts +1 -0
- package/src/tools/FileReadTool/imageProcessor.ts +1 -0
- package/src/tools/FileWriteTool/UI.tsx +2 -1
- package/src/tools/GrepTool/UI.tsx +1 -0
- package/src/tools/LSPTool/UI.tsx +1 -0
- package/src/tools/MCPTool/UI.tsx +1 -0
- package/src/tools/NotebookEditTool/NotebookEditTool.ts +1 -0
- package/src/tools/NotebookEditTool/UI.tsx +1 -0
- package/src/tools/PowerShellTool/PowerShellTool.tsx +1 -0
- package/src/tools/SendMessageTool/SendMessageTool.ts +1 -0
- package/src/tools/SkillTool/SkillTool.ts +1 -0
- package/src/tools/TaskOutputTool/TaskOutputTool.tsx +1 -0
- package/src/tools/TaskStopTool/UI.tsx +1 -0
- package/src/tools/ToolSearchTool/prompt.ts +1 -0
- package/src/tools/TungstenTool/TungstenLiveMonitor.ts +3 -0
- package/src/tools/WebBrowserTool/WebBrowserPanel.ts +3 -1
- package/src/tools/WebFetchTool/utils.ts +1 -0
- package/src/tools/WebSearchTool/WebSearchTool.ts +1 -0
- package/src/tools/WorkflowTool/createWorkflowCommand.ts +3 -1
- package/src/tools/testing/TestingPermissionTool.tsx +1 -0
- package/src/tools/utils.ts +1 -0
- package/src/types/commands-js.d.ts +13 -0
- package/src/types/diff.d.ts +1 -0
- package/src/types/hooks.ts +1 -0
- package/src/types/macro.d.ts +15 -0
- package/src/types/markdown.d.ts +4 -0
- package/src/types/message.ts +56 -107
- package/src/types/react-compiler-runtime.d.ts +4 -0
- package/src/types/utils.ts +3 -3
- package/src/utils/advisor.ts +1 -0
- package/src/utils/asciicast.ts +1 -0
- package/src/utils/attachments.ts +1 -0
- package/src/utils/attribution.ts +1 -0
- package/src/utils/autoRunIssue.tsx +1 -0
- package/src/utils/claudeInChrome/mcpServer.ts +1 -0
- package/src/utils/claudeInChrome/setup.ts +1 -0
- package/src/utils/claudemd.ts +1 -0
- package/src/utils/cleanup.ts +1 -0
- package/src/utils/cliHighlight.ts +1 -0
- package/src/utils/collapseReadSearch.ts +1 -0
- package/src/utils/computerUse/executor.ts +1 -0
- package/src/utils/computerUse/gates.ts +1 -0
- package/src/utils/computerUse/hostAdapter.ts +1 -0
- package/src/utils/computerUse/inputLoader.ts +1 -0
- package/src/utils/computerUse/mcpServer.ts +1 -0
- package/src/utils/computerUse/setup.ts +1 -0
- package/src/utils/computerUse/swiftLoader.ts +1 -0
- package/src/utils/computerUse/wrapper.tsx +2 -1
- package/src/utils/context.ts +1 -0
- package/src/utils/contextAnalysis.ts +1 -0
- package/src/utils/conversationRecovery.ts +1 -0
- package/src/utils/deepLink/protocolHandler.ts +1 -0
- package/src/utils/diff.ts +1 -0
- package/src/utils/effort.ts +1 -0
- package/src/utils/envUtils.ts +1 -0
- package/src/utils/execFileNoThrowPortable.ts +1 -0
- package/src/utils/fileHistory.ts +1 -0
- package/src/utils/filePersistence/filePersistence.ts +1 -0
- package/src/utils/filePersistence/outputsScanner.ts +1 -0
- package/src/utils/gitDiff.ts +1 -0
- package/src/utils/groupToolUses.ts +1 -0
- package/src/utils/hooks/hooksConfigManager.ts +1 -0
- package/src/utils/hooks/skillImprovement.ts +1 -0
- package/src/utils/hooks.ts +1 -0
- package/src/utils/imagePaste.ts +1 -0
- package/src/utils/log.ts +1 -0
- package/src/utils/logoV2Utils.ts +6 -6
- package/src/utils/messageQueueManager.ts +1 -0
- package/src/utils/messages.ts +122 -100
- package/src/utils/model/agent.ts +43 -2
- package/src/utils/model/configs.ts +1 -1
- package/src/utils/model/deprecation.ts +1 -0
- package/src/utils/model/fetchModels.ts +11 -1
- package/src/utils/model/model.ts +31 -0
- package/src/utils/model/modelCapabilities.ts +1 -0
- package/src/utils/model/modelOptions.ts +68 -14
- package/src/utils/model/modelStrings.ts +1 -0
- package/src/utils/model/platformProfiles.ts +524 -0
- package/src/utils/model/thirdPartyProviders.ts +158 -15
- package/src/utils/modelCost.ts +1 -0
- package/src/utils/notebook.ts +1 -0
- package/src/utils/permissions/classifierDecision.ts +1 -0
- package/src/utils/permissions/pathValidation.ts +1 -0
- package/src/utils/permissions/permissionExplainer.ts +1 -0
- package/src/utils/plugins/loadPluginHooks.ts +1 -0
- package/src/utils/plugins/lspPluginIntegration.ts +1 -0
- package/src/utils/plugins/pluginLoader.ts +1 -0
- package/src/utils/preflightChecks.tsx +2 -1
- package/src/utils/processUserInput/processSlashCommand.tsx +13 -3
- package/src/utils/queryHelpers.ts +1 -0
- package/src/utils/readFileInRange.ts +1 -0
- package/src/utils/sandbox/sandbox-adapter.ts +24 -22
- package/src/utils/sessionFileAccessHooks.ts +1 -0
- package/src/utils/sessionRestore.ts +1 -0
- package/src/utils/sessionStorage.ts +84 -46
- package/src/utils/settings/types.ts +72 -0
- package/src/utils/shell/prefix.ts +1 -0
- package/src/utils/sideQuery.ts +1 -0
- package/src/utils/sliceAnsi.ts +1 -0
- package/src/utils/staticRender.tsx +1 -0
- package/src/utils/stats.ts +1 -0
- package/src/utils/status.tsx +1 -0
- package/src/utils/swarm/It2SetupPrompt.tsx +2 -1
- package/src/utils/swarm/teammateModel.ts +1 -0
- package/src/utils/taskSummary.ts +6 -1
- package/src/utils/textHighlighting.ts +1 -0
- package/src/utils/thinking.ts +1 -0
- package/src/utils/toolResultStorage.ts +1 -0
- package/src/utils/transcriptSearch.ts +1 -0
- package/src/utils/worktree.ts +1 -0
- package/stubs/@anthropic-ai/mcpb/index.d.ts +23 -1
- package/stubs/@anthropic-ai/sandbox-runtime/index.d.ts +39 -1
- package/.gitignore.bak +0 -11
- package/bin/mumuclaw +0 -154
- package/bin/opencc +0 -50
- package/src/channels/heartbeat-channel.mjs +0 -280
package/AGENTS.md
ADDED
|
@@ -0,0 +1,297 @@
|
|
|
1
|
+
# AGENTS.md
|
|
2
|
+
|
|
3
|
+
> 变更记录: 2026-03-31 13:28:58 -- 完成全部 33 个模块的 AGENTS.md 文档初始化
|
|
4
|
+
|
|
5
|
+
本文件为 Codex (Codex.ai/code) 提供项目上下文指引。
|
|
6
|
+
|
|
7
|
+
## 项目愿景
|
|
8
|
+
|
|
9
|
+
本仓库是 Codex CLI 的开源版本,基于原始源码进行开发和维护。使用 Bun + TypeScript + React/Ink 技术栈,提供交互式会话、工具调用、多代理协调、MCP 集成等功能。
|
|
10
|
+
|
|
11
|
+
**主要新增功能:**
|
|
12
|
+
- 三方 Anthropic 兼容模型支持(MiniMax、GLMCodingPlan、KIMICodingPlan、ALiyunCodingPlan 等)
|
|
13
|
+
- 企业级代理配置
|
|
14
|
+
- 更多可配置选项
|
|
15
|
+
|
|
16
|
+
## 技术栈
|
|
17
|
+
|
|
18
|
+
- **运行时**: [Bun](https://bun.sh)(非 Node.js -- 使用了 `bun:bundle` 等 Bun 专有 API)
|
|
19
|
+
- **语言**: TypeScript(严格模式)
|
|
20
|
+
- **终端 UI**: React 19 + [Ink](https://github.com/vadimdemedes/ink) -- 终端中的 React
|
|
21
|
+
- **React 编译器**: 代码经 React Compiler 预编译(导入 `react/compiler-runtime`)
|
|
22
|
+
- **CLI 解析**: Commander.js v12 (`@commander-js/extra-typings`)
|
|
23
|
+
- **Schema 验证**: Zod v4 (`zod/v4` 导入路径)
|
|
24
|
+
- **特性开关**: `bun:bundle` -- `feature('FLAG_NAME')` 调用,运行时通过 shim 实现
|
|
25
|
+
|
|
26
|
+
## 架构总览
|
|
27
|
+
|
|
28
|
+
```
|
|
29
|
+
src/main.tsx -- CLI 入口,Commander.js 解析器 + React/Ink 渲染初始化
|
|
30
|
+
|
|
|
31
|
+
+-- src/QueryEngine.ts -- 外层查询引擎(会话历史、系统提示组装、重试、token 计数)
|
|
32
|
+
| |
|
|
33
|
+
| +-- src/query.ts -- 内层查询管线(流式响应、工具调度、自动压缩)
|
|
34
|
+
|
|
|
35
|
+
+-- src/context.ts -- 上下文组装(AGENTS.md、记忆文件、git 状态 -> 系统提示)
|
|
36
|
+
+-- src/tools.ts -- 工具注册与池组装
|
|
37
|
+
+-- src/commands.ts -- 斜杠命令注册与加载
|
|
38
|
+
+-- src/state/ -- 全局 React 状态管理
|
|
39
|
+
+-- src/screens/REPL.tsx -- 主交互 REPL 界面
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
## 模块结构图
|
|
43
|
+
|
|
44
|
+
```mermaid
|
|
45
|
+
graph TD
|
|
46
|
+
ROOT["Codex CLI"] --> SRC["src/"]
|
|
47
|
+
ROOT --> SHIMS["shims/"]
|
|
48
|
+
ROOT --> STUBS["stubs/"]
|
|
49
|
+
ROOT --> SCRIPTS["scripts/"]
|
|
50
|
+
|
|
51
|
+
SRC --> CORE["核心查询"]
|
|
52
|
+
SRC --> TOOLS["tools/ 工具系统"]
|
|
53
|
+
SRC --> CMDS["commands/ 命令系统"]
|
|
54
|
+
SRC --> SVCS["services/ 服务层"]
|
|
55
|
+
SRC --> STATE["state/ 状态管理"]
|
|
56
|
+
SRC --> BRIDGE["bridge/ IDE桥接"]
|
|
57
|
+
SRC --> MEMDIR["memdir/ 记忆系统"]
|
|
58
|
+
SRC --> HOOKS["hooks/ 钩子系统"]
|
|
59
|
+
SRC --> INK["ink/ 终端渲染引擎"]
|
|
60
|
+
SRC --> COMPS["components/ UI组件"]
|
|
61
|
+
SRC --> CLI["cli/ 非交互CLI"]
|
|
62
|
+
SRC --> UTILS["utils/ 工具函数"]
|
|
63
|
+
SRC --> TASKS["tasks/ 后台任务"]
|
|
64
|
+
SRC --> KEYBIND["keybindings/ 快捷键"]
|
|
65
|
+
SRC --> CTX["context/ React上下文"]
|
|
66
|
+
SRC --> SKILLS["skills/ 技能系统"]
|
|
67
|
+
SRC --> PLUGINS["plugins/ 插件系统"]
|
|
68
|
+
SRC --> COORDINATOR["coordinator/ 多代理协调"]
|
|
69
|
+
SRC --> TYPES["types/ 类型定义"]
|
|
70
|
+
SRC --> CONSTANTS["constants/ 常量"]
|
|
71
|
+
SRC --> MIGRATIONS["migrations/ 迁移"]
|
|
72
|
+
SRC --> ENTRYPOINTS["entrypoints/ 入口点"]
|
|
73
|
+
|
|
74
|
+
click TOOLS "./src/tools/AGENTS.md" "查看工具系统文档"
|
|
75
|
+
click CMDS "./src/commands/AGENTS.md" "查看命令系统文档"
|
|
76
|
+
click SVCS "./src/services/AGENTS.md" "查看服务层文档"
|
|
77
|
+
click STATE "./src/state/AGENTS.md" "查看状态管理文档"
|
|
78
|
+
click BRIDGE "./src/bridge/AGENTS.md" "查看桥接系统文档"
|
|
79
|
+
click MEMDIR "./src/memdir/AGENTS.md" "查看记忆系统文档"
|
|
80
|
+
click HOOKS "./src/hooks/AGENTS.md" "查看钩子系统文档"
|
|
81
|
+
click INK "./src/ink/AGENTS.md" "查看终端渲染引擎文档"
|
|
82
|
+
click COMPS "./src/components/AGENTS.md" "查看UI组件文档"
|
|
83
|
+
click UTILS "./src/utils/AGENTS.md" "查看工具函数文档"
|
|
84
|
+
click SHIMS "./shims/AGENTS.md" "查看构建垫片文档"
|
|
85
|
+
click STUBS "./stubs/AGENTS.md" "查看内部包存根文档"
|
|
86
|
+
```
|
|
87
|
+
|
|
88
|
+
## 模块索引
|
|
89
|
+
|
|
90
|
+
| 模块路径 | 职责 | 关键文件 | 文件数(估) |
|
|
91
|
+
|---------|------|---------|-----------|
|
|
92
|
+
| `src/` (根) | CLI 入口、核心查询循环、工具/命令注册 | `main.tsx`, `query.ts`, `QueryEngine.ts`, `Tool.ts`, `tools.ts`, `commands.ts`, `context.ts` | ~18 |
|
|
93
|
+
| `src/tools/` | 工具系统 -- 40+ 工具(Bash/文件读写/搜索/Agent/MCP等) | `BashTool/`, `FileEditTool/`, `AgentTool/`, `GrepTool/` | ~150 |
|
|
94
|
+
| `src/commands/` | 斜杠命令系统 -- 80+ 命令(/compact、/config、/mcp等) | `commands.ts` (注册), 各子目录 | ~120 |
|
|
95
|
+
| `src/services/` | 服务层 -- API客户端、MCP、OAuth、压缩、记忆提取等 | `api/`, `mcp/`, `compact/`, `oauth/`, `analytics/` | ~120 |
|
|
96
|
+
| `src/hooks/` | React 钩子 -- 工具权限、通知、IDE集成、语音等 | `toolPermission/`, `notifs/`, `useTextInput.ts` | ~100 |
|
|
97
|
+
| `src/state/` | 全局状态管理(React Store 模式) | `AppState.tsx`, `AppStateStore.ts`, `store.ts`, `selectors.ts` | 6 |
|
|
98
|
+
| `src/bridge/` | IDE 扩展双向通信(JWT 认证) | `bridgeMain.ts`, `bridgeMessaging.ts`, `replBridge.ts` | ~33 |
|
|
99
|
+
| `src/memdir/` | 持久化记忆系统(YAML frontmatter Markdown) | `memdir.ts`, `findRelevantMemories.ts`, `memoryTypes.ts` | 9 |
|
|
100
|
+
| `src/ink/` | 自定义终端渲染引擎(基于 Ink 深度定制) | `ink.tsx`, `reconciler.ts`, `renderer.ts`, `dom.ts` | ~85 |
|
|
101
|
+
| `src/components/` | UI 组件(消息渲染、设置、对话框等) | `App.tsx`, `messages/`, `Settings/`, `TextInput.tsx` | ~100 |
|
|
102
|
+
| `src/utils/` | 工具函数库(settings、swarm、git、permissions等) | `settings/`, `swarm/`, `permissions/`, `messages/` | ~180 |
|
|
103
|
+
| `src/cli/` | 非交互 CLI 模式(结构化IO、传输层) | `structuredIO.ts`, `transports/`, `handlers/` | ~20 |
|
|
104
|
+
| `src/tasks/` | 后台任务系统(本地Agent、远程Agent、Shell等) | `LocalAgentTask/`, `RemoteAgentTask/`, `LocalShellTask/` | ~14 |
|
|
105
|
+
| `src/keybindings/` | 快捷键系统(解析、匹配、默认绑定) | `parser.ts`, `resolver.ts`, `defaultBindings.ts` | 15 |
|
|
106
|
+
| `src/context/` | React Context 提供者(模态、通知、语音等) | `modalContext.tsx`, `notifications.tsx`, `voice.tsx` | 9 |
|
|
107
|
+
| `src/skills/` | 技能系统(内置技能、MCP技能、技能加载) | `bundled/`, `loadSkillsDir.ts`, `bundledSkills.ts` | ~55 |
|
|
108
|
+
| `src/plugins/` | 插件系统 | `bundled/index.ts`, `builtinPlugins.ts` | 2 |
|
|
109
|
+
| `src/coordinator/` | 多代理协调模式 | `coordinatorMode.ts`, `workerAgent.ts` | 2 |
|
|
110
|
+
| `src/types/` | 共享类型定义(打破循环依赖) | `message.ts`, `permissions.ts`, `tools.ts`, `command.ts` | 15 |
|
|
111
|
+
| `src/constants/` | 全局常量(提示词、API限制、工具限制等) | `prompts.ts`, `apiLimits.ts`, `tools.ts` | 21 |
|
|
112
|
+
| `src/migrations/` | 配置迁移脚本 | `migrateSonnet45ToSonnet46.ts` 等 | 11 |
|
|
113
|
+
| `src/entrypoints/` | 多入口点(CLI、MCP server、Agent SDK) | `cli.tsx`, `mcp.ts`, `init.ts` | 5 |
|
|
114
|
+
| `src/screens/` | 顶层屏幕(REPL、Doctor、ResumeConversation) | `REPL.tsx`, `Doctor.tsx` | 3 |
|
|
115
|
+
| `src/vim/` | Vim 模式支持 | `motions.ts`, `operators.ts`, `transitions.ts` | 5 |
|
|
116
|
+
| `src/buddy/` | Companion 精灵(实验性) | `CompanionSprite.tsx`, `companion.ts`, `sprites.ts` | 6 |
|
|
117
|
+
| `src/remote/` | 远程会话管理 | `RemoteSessionManager.ts`, `SessionsWebSocket.ts` | 4 |
|
|
118
|
+
| `src/native-ts/` | 原生功能的 TypeScript 实现 | `yoga-layout/`, `color-diff/`, `file-index/` | 4 |
|
|
119
|
+
| `src/bootstrap/` | 启动状态管理 | `state.ts` | 1 |
|
|
120
|
+
| `src/proactive/` | 主动模式(实验性,存根) | `index.ts`, `useProactive.ts` | 2 |
|
|
121
|
+
| `src/assistant/` | KAIROS 助手模式(实验性,存根) | `index.ts`, `gate.ts`, `sessionHistory.ts` | 4 |
|
|
122
|
+
| `src/ssh/` | SSH 会话管理(存根) | `SSHSessionManager.ts`, `createSSHSession.ts` | 2 |
|
|
123
|
+
| `src/jobs/` | 后台作业分类器(存根) | `classifier.ts` | 1 |
|
|
124
|
+
| `src/query/` | 查询子系统辅助 | `tokenBudget.ts`, `stopHooks.ts`, `config.ts` | 5 |
|
|
125
|
+
| `shims/` | 构建时垫片(替代 Bun bundler 编译时 API) | `bun-bundle.ts`, `globals.ts` | 2 |
|
|
126
|
+
| `stubs/` | 内部包存根(Anthropic 私有包占位) | `@ant/`, `@anthropic-ai/`, `color-diff-napi/` | 25 |
|
|
127
|
+
| `scripts/` | 构建脚本 | `patch-node-modules.sh` | 1 |
|
|
128
|
+
|
|
129
|
+
## 开发设置
|
|
130
|
+
|
|
131
|
+
```bash
|
|
132
|
+
bun install # 安装依赖 + 自动 patch node_modules
|
|
133
|
+
bun run start # 启动(需要 TTY + ANTHROPIC_API_KEY)
|
|
134
|
+
bun --preload ./shims/globals.ts src/main.tsx -p "prompt" # 非交互模式
|
|
135
|
+
```
|
|
136
|
+
|
|
137
|
+
`bun install` 后会自动通过 `postinstall` 运行 `scripts/patch-node-modules.sh` 来修补内部包。
|
|
138
|
+
|
|
139
|
+
### 构建时垫片
|
|
140
|
+
|
|
141
|
+
原始代码使用 Bun bundler 的编译时 API,本仓库用运行时垫片替代:
|
|
142
|
+
|
|
143
|
+
| 原始 | 垫片 | 用途 |
|
|
144
|
+
|------|------|------|
|
|
145
|
+
| `bun:bundle` -> `feature()` | `shims/bun-bundle.ts` | 特性开关(运行时,读取 `ENABLED_FEATURES` 环境变量) |
|
|
146
|
+
| `MACRO.VERSION` 等 | `shims/globals.ts` | 构建时常量(通过 `--preload` 加载) |
|
|
147
|
+
|
|
148
|
+
启用特性: `ENABLED_FEATURES="VOICE_MODE,PROACTIVE" bun run start`
|
|
149
|
+
|
|
150
|
+
### 内部包存根
|
|
151
|
+
|
|
152
|
+
以下内部包在 `stubs/` 中提供了存根,由 `scripts/patch-node-modules.sh` 安装:
|
|
153
|
+
- `@ant/computer-use-*`, `@ant/Codex-for-chrome-mcp` -- Computer Use / Chrome 集成
|
|
154
|
+
- `@anthropic-ai/mcpb` -- DXT 插件处理器
|
|
155
|
+
- `@anthropic-ai/sandbox-runtime` -- 沙箱执行
|
|
156
|
+
- `color-diff-napi` -- 原生 diff 着色
|
|
157
|
+
|
|
158
|
+
### 缺失源码模块(约123个文件)
|
|
159
|
+
|
|
160
|
+
部分模块为自动生成的存根(标记 `// AUTO-GENERATED STUB`)。主要包括:
|
|
161
|
+
- 特性门控工具(`MonitorTool`、`WebBrowserTool`、`SnipTool` 等)
|
|
162
|
+
- `src/proactive/` -- 主动模式
|
|
163
|
+
- `src/assistant/` -- KAIROS 助手模式
|
|
164
|
+
- `src/types/message.ts` -- 核心消息类型定义(用 `any` 存根)
|
|
165
|
+
- `src/constants/querySource.ts` -- 查询来源常量
|
|
166
|
+
- 各种缺失特性的 UI 组件
|
|
167
|
+
|
|
168
|
+
查找所有存根: `grep -rl "AUTO-GENERATED STUB" src/`
|
|
169
|
+
|
|
170
|
+
## 入口点: src/main.tsx
|
|
171
|
+
|
|
172
|
+
CLI 的 Commander.js 解析器和 React/Ink 渲染器初始化。前约 20 行故意在其他 import 完成前运行副作用(`startMdmRawRead()`、`startKeychainPrefetch()`)-- 这是刻意的启动并行化,用于在模块求值期间隐藏 macOS 钥匙串和 MDM I/O 延迟。
|
|
173
|
+
|
|
174
|
+
第 803 行的 TTY 检测: `!process.stdout.isTTY` 触发非交互模式 -- 不进行 Ink 渲染。
|
|
175
|
+
|
|
176
|
+
## 核心查询循环
|
|
177
|
+
|
|
178
|
+
API 调用循环跨越两个文件:
|
|
179
|
+
- **`src/query.ts`**(约1,700行):内层查询管线 -- 处理流式响应、工具调用分发、自动压缩触发和上下文折叠。这是热路径。
|
|
180
|
+
- **`src/QueryEngine.ts`**(约1,300行):外层引擎 -- 管理会话历史、系统提示组装、重试逻辑、token 计数和会话持久化。调用 `query.ts`。
|
|
181
|
+
|
|
182
|
+
## 工具系统 (src/tools/)
|
|
183
|
+
|
|
184
|
+
每个工具是一个自包含的目录,包含其输入 schema(Zod)、权限模型和执行逻辑。基础类型在 `src/Tool.ts`。工具注册在 `src/tools.ts`。每个工具调用的权限检查通过 `src/hooks/toolPermission/` -- 有三个处理器: `interactiveHandler.ts`(提示用户)、`swarmWorkerHandler.ts`(swarm agent)和 `coordinatorHandler.ts`(coordinator agent)。
|
|
185
|
+
|
|
186
|
+
## 命令系统 (src/commands/)
|
|
187
|
+
|
|
188
|
+
用 `/` 调用的斜杠命令。每个命令是 `src/commands/` 下的目录或 `.ts` 文件。注册和条件加载(远程模式、bridge 模式等)在 `src/commands.ts` 中完成。许多命令使用条件 `feature()` 导入进行死代码消除。
|
|
189
|
+
|
|
190
|
+
## 上下文组装 (src/context.ts)
|
|
191
|
+
|
|
192
|
+
构建系统提示。读取 AGENTS.md 文件(项目 + 父目录)、记忆文件、git 状态,并注入到提示中。使用 lodash 的 `memoize` -- 当系统提示注入发生变化时调用 `getUserContext.cache.clear?.()`。
|
|
193
|
+
|
|
194
|
+
## 状态管理 (src/state/)
|
|
195
|
+
|
|
196
|
+
`AppState.tsx` 是在 Ink 组件树中共享的中央 React 状态 store。`AppStateStore.ts` 提供订阅/更新机制。通过 `src/state/selectors.ts` 中的选择器在 hooks 中访问状态。
|
|
197
|
+
|
|
198
|
+
## 多代理系统
|
|
199
|
+
|
|
200
|
+
子代理通过 `AgentTool`(`src/tools/AgentTool/`)生成。代理定义来自 `~/.Codex/agents/` 中的 markdown 文件或 JSON,由 `loadAgentsDir.ts` 解析。`coordinator/` 模块处理多代理编排。`TeamCreateTool` 支持并行团队级工作。
|
|
201
|
+
|
|
202
|
+
## 记忆系统 (src/memdir/)
|
|
203
|
+
|
|
204
|
+
持久化记忆存储在 `~/.Codex/` 中,以带 YAML frontmatter 的 markdown 文件形式。`memdir.ts` 加载 `MEMORY.md` 索引(上限 200 行 / 25KB)。记忆类型: `user`、`feedback`、`project`、`reference`。
|
|
205
|
+
|
|
206
|
+
## Bridge 系统 (src/bridge/)
|
|
207
|
+
|
|
208
|
+
IDE 扩展与 CLI 之间的双向通信。`bridgeMain.ts` 是主循环;`bridgeMessaging.ts` 定义协议;使用 JWT 认证。
|
|
209
|
+
|
|
210
|
+
## 服务层 (src/services/)
|
|
211
|
+
|
|
212
|
+
关键子模块: `api/`(Anthropic SDK 客户端)、`mcp/`(MCP 服务器管理)、`oauth/`(认证)、`compact/`(上下文压缩)、`extractMemories/`(自动记忆提取)、`analytics/`(分析/遥测)、`lsp/`(LSP 语言服务器)。
|
|
213
|
+
|
|
214
|
+
## UI 组件 (src/components/)
|
|
215
|
+
|
|
216
|
+
React 19 + Ink 渲染的终端 UI 组件系统。核心组件包括 `App`(顶层封装)、`Messages`(虚拟滚动消息列表)、`TextInput`(支持语音波形光标)。子目录覆盖设置界面、消息类型渲染、后台任务状态、Shell 输出、记忆 UI 等。
|
|
217
|
+
|
|
218
|
+
## 工具函数 (src/utils/)
|
|
219
|
+
|
|
220
|
+
按职责划分的工具函数库。关键子模块:`settings/`(多层级配置系统 MDM>企业>项目>用户)、`swarm/`(多代理编排 backend)、`permissions/`(权限分类器)、`messages/`(SDK 消息映射)。
|
|
221
|
+
|
|
222
|
+
## 关键模式
|
|
223
|
+
|
|
224
|
+
**特性开关门控** -- 用条件导入包裹(不内联 `if`):
|
|
225
|
+
```typescript
|
|
226
|
+
import { feature } from 'bun:bundle'
|
|
227
|
+
const voiceModule = feature('VOICE_MODE')
|
|
228
|
+
? (require('./voice/index.js') as typeof import('./voice/index.js'))
|
|
229
|
+
: null
|
|
230
|
+
```
|
|
231
|
+
|
|
232
|
+
**导入路径** -- 所有导入必须使用 `.js` 扩展名(即使是 `.ts` 文件,Bun/ESM 约定)。内部绝对路径使用 `src/` 前缀。
|
|
233
|
+
|
|
234
|
+
**循环依赖打破** -- 共享类型提取到 `src/types/`。使用惰性 `require()` 加类型断言来打破循环。
|
|
235
|
+
|
|
236
|
+
**MACRO 常量** -- `MACRO.VERSION`、`MACRO.BUILD_TIME` 等定义在 `shims/globals.ts`(原本由 Bun bundler `--define` 注入)。
|
|
237
|
+
|
|
238
|
+
## 测试策略
|
|
239
|
+
|
|
240
|
+
代码中存在测试相关的工具(`TestingPermissionTool`)和条件分支(`process.env.NODE_ENV === 'test'`),表明原始项目有完整的测试套件。
|
|
241
|
+
|
|
242
|
+
## 编码规范
|
|
243
|
+
|
|
244
|
+
- TypeScript 严格模式(`tsconfig.json` 中 `strict: true`)
|
|
245
|
+
- 模块解析: `bundler`(Bun 风格)
|
|
246
|
+
- JSX: `react-jsx`
|
|
247
|
+
- 代码经 React Compiler 预编译(`_c` 辅助函数调用模式)
|
|
248
|
+
- `.js` 扩展名用于所有 import(ESM 约定)
|
|
249
|
+
- `eslint` 自定义规则: `custom-rules/no-top-level-side-effects`、`custom-rules/no-process-env-top-level`
|
|
250
|
+
- biome 用于导入组织
|
|
251
|
+
|
|
252
|
+
## AI 使用指引
|
|
253
|
+
|
|
254
|
+
- 查找特定工具实现: 查看 `src/tools/<ToolName>/` 目录
|
|
255
|
+
- 查找命令实现: 查看 `src/commands/<command-name>/` 或 `src/commands/<command>.ts`
|
|
256
|
+
- 理解 API 调用流程: `src/main.tsx` -> `src/QueryEngine.ts` -> `src/query.ts`
|
|
257
|
+
- 理解权限模型: `src/hooks/toolPermission/` + `src/utils/permissions/`
|
|
258
|
+
- 理解设置系统: `src/utils/settings/`(多层级配置: MDM > 企业 > 项目 > 用户)
|
|
259
|
+
- 查找自动生成的存根: `grep -rl "AUTO-GENERATED STUB" src/`
|
|
260
|
+
- 默认启用的特性开关: 查看 `shims/bun-bundle.ts` 中的 `DEFAULT_ENABLED` 集合
|
|
261
|
+
|
|
262
|
+
## 覆盖率报告
|
|
263
|
+
|
|
264
|
+
| 指标 | 值 |
|
|
265
|
+
|------|-----|
|
|
266
|
+
| 估算总源码文件数 (ts/tsx) | ~2,011 |
|
|
267
|
+
| 已扫描/分析文件数 | ~500 |
|
|
268
|
+
| 扫描覆盖率 | ~24.9% |
|
|
269
|
+
| 已识别模块数 | 33 |
|
|
270
|
+
| 已文档化模块数 | 33 |
|
|
271
|
+
| 自动存根文件数 | 123 |
|
|
272
|
+
| 缺失: CI/CD 配置 | 部分 |
|
|
273
|
+
|
|
274
|
+
### 各模块覆盖状况
|
|
275
|
+
|
|
276
|
+
| 模块 | 入口已读 | 接口已读 | 依赖已读 | 覆盖度 |
|
|
277
|
+
|------|---------|---------|---------|--------|
|
|
278
|
+
| 核心 (main/query/QueryEngine) | 是 | 是 | 是 | 高 |
|
|
279
|
+
| tools/ | 是 | 是 | 是 | 高 |
|
|
280
|
+
| commands/ | 是 | 是 | 是 | 高 |
|
|
281
|
+
| services/ | 是 | 部分 | 是 | 中 |
|
|
282
|
+
| state/ | 是 | 是 | 是 | 高 |
|
|
283
|
+
| bridge/ | 是 | 部分 | 是 | 中 |
|
|
284
|
+
| memdir/ | 是 | 是 | 是 | 高 |
|
|
285
|
+
| hooks/ | 部分 | 部分 | 是 | 中 |
|
|
286
|
+
| ink/ | 部分 | 部分 | 否 | 低 |
|
|
287
|
+
| components/ | 部分 | 部分 | 是 | 中 |
|
|
288
|
+
| utils/ | 部分 | 部分 | 是 | 中 |
|
|
289
|
+
| skills/ | 是 | 部分 | 是 | 中 |
|
|
290
|
+
| shims/ | 是 | 是 | 是 | 高 |
|
|
291
|
+
| stubs/ | 是 | 是 | 是 | 高 |
|
|
292
|
+
|
|
293
|
+
## 变更记录 (Changelog)
|
|
294
|
+
|
|
295
|
+
- **2026-03-31** -- 初始化开源仓库。更新项目愿景描述,去除 Anthropic 所有权相关表述。
|
|
296
|
+
- **2026-03-31 19:37:16** -- 初始化架构索引。生成根级 AGENTS.md(本文件),识别 33 个模块目录,统计约 2,011 个源码文件和 123 个自动存根。创建模块级 AGENTS.md 文档(tools、commands、services、state、bridge、memdir、hooks、ink)和 .Codex/index.json 索引。
|
|
297
|
+
- **2026-03-31 13:28:58** -- 完成全部 33 个模块的 AGENTS.md 文档初始化。更新根级 Mermaid 图添加 click 链接。更新覆盖率报告(已扫描 500 文件,~24.9%)。所有模块均已添加导航面包屑。
|
package/bin/mumucc
CHANGED
|
@@ -42,8 +42,7 @@ if [[ ! -d "$CLAUDE_CONFIG_DIR" ]]; then
|
|
|
42
42
|
# This is where getMcpConfigsByScope('user') reads from via getGlobalConfig()
|
|
43
43
|
GLOBAL_CONFIG="$CLAUDE_CONFIG_DIR/.mumucc.json"
|
|
44
44
|
if [[ -f "$PROJECT_ROOT/defaults/mcp-servers.json" ]]; then
|
|
45
|
-
|
|
46
|
-
sed "s|__MUMUCC_ROOT__|$PROJECT_ROOT|g" "$PROJECT_ROOT/defaults/mcp-servers.json" > "$GLOBAL_CONFIG"
|
|
45
|
+
cp "$PROJECT_ROOT/defaults/mcp-servers.json" "$GLOBAL_CONFIG"
|
|
47
46
|
elif [[ ! -f "$GLOBAL_CONFIG" ]]; then
|
|
48
47
|
echo '{"mcpServers":{}}' > "$GLOBAL_CONFIG"
|
|
49
48
|
fi
|
|
@@ -52,9 +51,8 @@ if [[ ! -d "$CLAUDE_CONFIG_DIR" ]]; then
|
|
|
52
51
|
echo " Run 'mumucc /login' to configure your API provider."
|
|
53
52
|
fi
|
|
54
53
|
|
|
55
|
-
# ── Disable Anthropic-specific traffic (version checks,
|
|
56
|
-
|
|
57
|
-
# 只禁用自动更新和遥测
|
|
54
|
+
# ── Disable Anthropic-specific traffic (version checks, telemetry) ──
|
|
55
|
+
export CLAUDE_CODE_DISABLE_NONESSENTIAL_TRAFFIC=1
|
|
58
56
|
export DISABLE_AUTOUPDATER=1
|
|
59
57
|
export DISABLE_TELEMETRY=1
|
|
60
58
|
|