feat: add CLI Command Node and Prompt Node components for orchestrator

- Implemented CliCommandNode component for executing CLI tools with AI models.
- Implemented PromptNode component for constructing AI prompts with context.
- Added styling for mode and tool badges in both components.
- Enhanced user experience with command and argument previews, execution status, and error handling.

test: add comprehensive tests for ask_question tool

- Created direct test for ask_question tool execution.
- Developed end-to-end tests to validate ask_question tool integration with WebSocket and A2UI surfaces.
- Implemented simple and integrated WebSocket tests to ensure proper message handling and surface reception.
- Added tool registration test to verify ask_question tool is correctly registered.

chore: add WebSocket listener and simulation tests

- Added WebSocket listener for A2UI surfaces to facilitate testing.
- Implemented frontend simulation test to validate complete flow from backend to frontend.
- Created various test scripts to ensure robust testing of ask_question tool functionality.
This commit is contained in:
catlog22
2026-02-03 23:10:36 +08:00
parent a806d70d9b
commit c6093ef741
134 changed files with 6392 additions and 634 deletions

View File

@@ -1,6 +1,11 @@
{
"title": "MCP Servers",
"description": "Manage Model Context Protocol (MCP) servers for cross-CLI integration",
"tabs": {
"templates": "Templates",
"servers": "Servers",
"crossCli": "Cross-CLI"
},
"mode": {
"claude": "Claude",
"codex": "Codex"
@@ -25,7 +30,26 @@
"codex": {
"configPath": "Config Path",
"readOnly": "Read-only",
"readOnlyNotice": "Codex MCP servers are managed via config.toml and cannot be edited here."
"readOnlyNotice": "Codex MCP servers are managed via config.toml and cannot be edited here.",
"editable": "Editable",
"editableNotice": "This server can be edited. Changes will be saved to config.toml.",
"deleteConfirm": {
"title": "Remove Server \"{name}\"?",
"description": "This will remove \"{name}\" from your Codex config.toml file. This action cannot be undone.",
"confirm": "Remove Server",
"cancel": "Cancel",
"deleting": "Removing..."
}
},
"windows": {
"title": "Windows Compatibility",
"description": "Some MCP server commands require Windows-specific configuration for proper execution.",
"missingCount": "{count} missing command(s)",
"checking": "Checking Windows compatibility...",
"fixing": "Applying Windows compatibility fix...",
"autoFix": "Auto-Fix Commands",
"autoFixHint": "This will wrap commands with 'cmd /c' prefix for Windows compatibility.",
"install": "Download"
},
"filters": {
"all": "All",
@@ -126,5 +150,148 @@
"saveConfig": "Save Configuration",
"saving": "Saving..."
}
},
"recommended": {
"title": "Recommended Servers",
"description": "Quickly install popular MCP servers with one click",
"servers": {
"ace": {
"name": "ACE Tool",
"description": "Advanced code search and context engine for intelligent code discovery",
"command": "mcp__ace-tool__search_context",
"install": "Install ACE",
"installing": "Installing..."
},
"chrome": {
"name": "Chrome DevTools",
"description": "Browser automation and debugging tools for web development",
"command": "mcp__chrome-devtools",
"install": "Install Chrome",
"installing": "Installing..."
},
"exa": {
"name": "Exa Search",
"description": "AI-powered web search with real-time crawling capabilities",
"command": "mcp__exa__search",
"install": "Install Exa",
"installing": "Installing..."
}
},
"actions": {
"install": "Install",
"installing": "Installing...",
"installed": "Installed",
"viewAll": "View All Servers"
}
},
"configType": {
"label": "Config Format",
"mcpJson": ".mcp.json",
"claudeJson": ".claude.json",
"switchWarning": "Switching config format will not migrate existing servers. You'll need to reconfigure servers in the new format.",
"switchConfirm": "Switch Config Format",
"switchCancel": "Keep Current"
},
"templates": {
"title": "Templates",
"description": "Reusable MCP server configuration templates",
"searchPlaceholder": "Search templates by name or description...",
"filter": {
"allCategories": "All Categories"
},
"actions": {
"install": "Install Template",
"delete": "Delete Template",
"saveAsTemplate": "Save as Template"
},
"loading": "Loading templates...",
"empty": {
"title": "No Templates Found",
"message": "Create your first template or install templates from the community",
"createFirst": "Create Your First Template"
},
"saveDialog": {
"title": "Save as Template",
"name": "Template Name",
"namePlaceholder": "e.g., My Python MCP Server",
"category": "Category",
"categoryPlaceholder": "Select a category",
"description": "Description",
"descriptionPlaceholder": "Brief description of what this template does...",
"validation": {
"nameRequired": "Template name is required"
},
"save": "Save Template",
"cancel": "Cancel"
},
"deleteDialog": {
"title": "Delete Template",
"message": "Are you sure you want to delete the template \"{name}\"? This action cannot be undone.",
"delete": "Delete",
"deleting": "Deleting...",
"cancel": "Cancel"
},
"categories": {
"stdio": "STDIO",
"sse": "SSE",
"language": "Language",
"official": "Official",
"custom": "Custom"
},
"feedback": {
"installSuccess": "Template installed successfully",
"installError": "Failed to install template",
"deleteSuccess": "Template deleted successfully",
"deleteError": "Failed to delete template",
"saveSuccess": "Template saved successfully",
"saveError": "Failed to save template"
}
},
"crossCli": {
"button": "Cross-CLI Copy",
"title": "Copy MCP Servers Between CLIs",
"selectServers": "Select servers to copy from {source}",
"selectServersHint": "Choose servers to copy. Configuration will be transformed for the target CLI format.",
"noServers": "No servers available in current configuration",
"selectedCount": "{count} server(s) selected",
"copying": "Copying...",
"copyButton": "Copy to {target}"
},
"allProjects": {
"title": "All Projects",
"name": "Project Name",
"servers": "Servers",
"lastModified": "Last Modified",
"actions": "Actions",
"current": "Current",
"openNewWindow": "Open in new window",
"empty": "No projects found",
"summary": "Showing {count} project(s)"
},
"otherProjects": {
"title": "Other Projects",
"description": "Discover and import MCP servers from your other projects",
"selectProject": "Select a project",
"selectProjectPlaceholder": "Choose a project...",
"noProjects": "No other projects available",
"noServers": "No MCP servers found in {project}",
"import": "Import",
"hint": "Imported servers will be added to your current project configuration"
},
"installCmd": {
"title": "Installation Command",
"cliCommand": "CLI Command",
"cliCommandHint": "Run this command in your terminal to install the server",
"jsonConfig": "JSON Configuration",
"jsonConfigHint": "Add this to your {filename} file",
"envVars": "Environment Variables",
"steps": "Installation Steps",
"step1": "Run the CLI command above in your terminal",
"step2": "Or manually add the JSON config to your configuration file",
"step3": "Restart your CLI to load the new server"
},
"enterprise": {
"label": "Enterprise",
"tooltip": "Enterprise MCP server"
}
}