mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-13 02:41:50 +08:00
feat: Add CodexLens Manager Page with tabbed interface for managing CodexLens features
feat: Implement ConflictTab component to display conflict resolution decisions in session detail feat: Create ImplPlanTab component to show implementation plan with modal viewer in session detail feat: Develop ReviewTab component to display review findings by dimension in session detail test: Add end-to-end tests for CodexLens Manager functionality including navigation, tab switching, and settings validation
This commit is contained in:
@@ -66,6 +66,10 @@
|
||||
"automation": "Automation"
|
||||
},
|
||||
"templates": {
|
||||
"ccw-status-tracker": {
|
||||
"name": "CCW Status Tracker",
|
||||
"description": "Parse CCW status.json and display current/next command"
|
||||
},
|
||||
"ccw-notify": {
|
||||
"name": "CCW Dashboard Notify",
|
||||
"description": "Send notifications to CCW dashboard when files are written"
|
||||
|
||||
178
ccw/frontend/src/locales/en/codexlens.json
Normal file
178
ccw/frontend/src/locales/en/codexlens.json
Normal file
@@ -0,0 +1,178 @@
|
||||
{
|
||||
"title": "CodexLens",
|
||||
"description": "Semantic code search engine",
|
||||
"bootstrap": "Bootstrap",
|
||||
"bootstrapping": "Bootstrapping...",
|
||||
"uninstall": "Uninstall",
|
||||
"uninstalling": "Uninstalling...",
|
||||
"confirmUninstall": "Are you sure you want to uninstall CodexLens? This action cannot be undone.",
|
||||
"confirmUninstallTitle": "Confirm Uninstall",
|
||||
"notInstalled": "CodexLens is not installed",
|
||||
"comingSoon": "Coming Soon",
|
||||
"tabs": {
|
||||
"overview": "Overview",
|
||||
"settings": "Settings",
|
||||
"models": "Models",
|
||||
"advanced": "Advanced"
|
||||
},
|
||||
"overview": {
|
||||
"status": {
|
||||
"installation": "Installation Status",
|
||||
"ready": "Ready",
|
||||
"notReady": "Not Ready",
|
||||
"version": "Version",
|
||||
"indexPath": "Index Path",
|
||||
"indexCount": "Index Count"
|
||||
},
|
||||
"notInstalled": {
|
||||
"title": "CodexLens Not Installed",
|
||||
"message": "Please install CodexLens to use semantic code search features."
|
||||
},
|
||||
"actions": {
|
||||
"title": "Quick Actions",
|
||||
"ftsFull": "FTS Full",
|
||||
"ftsFullDesc": "Rebuild full-text index",
|
||||
"ftsIncremental": "FTS Incremental",
|
||||
"ftsIncrementalDesc": "Incremental update full-text index",
|
||||
"vectorFull": "Vector Full",
|
||||
"vectorFullDesc": "Rebuild vector index",
|
||||
"vectorIncremental": "Vector Incremental",
|
||||
"vectorIncrementalDesc": "Incremental update vector index"
|
||||
},
|
||||
"venv": {
|
||||
"title": "Python Virtual Environment Details",
|
||||
"pythonVersion": "Python Version",
|
||||
"venvPath": "Virtual Environment Path",
|
||||
"lastCheck": "Last Check Time"
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"currentCount": "Current Index Count",
|
||||
"currentWorkers": "Current Workers",
|
||||
"currentBatchSize": "Current Batch Size",
|
||||
"configTitle": "Basic Configuration",
|
||||
"indexDir": {
|
||||
"label": "Index Directory",
|
||||
"placeholder": "~/.codexlens/indexes",
|
||||
"hint": "Directory path for storing code indexes"
|
||||
},
|
||||
"maxWorkers": {
|
||||
"label": "Max Workers",
|
||||
"hint": "API concurrent processing threads (1-32)"
|
||||
},
|
||||
"batchSize": {
|
||||
"label": "Batch Size",
|
||||
"hint": "Number of files processed per batch (1-64)"
|
||||
},
|
||||
"validation": {
|
||||
"indexDirRequired": "Index directory is required",
|
||||
"maxWorkersRange": "Workers must be between 1 and 32",
|
||||
"batchSizeRange": "Batch size must be between 1 and 64"
|
||||
},
|
||||
"save": "Save",
|
||||
"saving": "Saving...",
|
||||
"reset": "Reset",
|
||||
"saveSuccess": "Configuration saved",
|
||||
"saveFailed": "Save failed",
|
||||
"configUpdated": "Configuration updated successfully",
|
||||
"saveError": "Error saving configuration",
|
||||
"unknownError": "An unknown error occurred"
|
||||
},
|
||||
"gpu": {
|
||||
"title": "GPU Settings",
|
||||
"status": "GPU Status",
|
||||
"enabled": "Enabled",
|
||||
"available": "Available",
|
||||
"unavailable": "Unavailable",
|
||||
"supported": "Your system supports GPU acceleration",
|
||||
"notSupported": "Your system does not support GPU acceleration",
|
||||
"detect": "Detect",
|
||||
"detectSuccess": "GPU detection completed",
|
||||
"detectFailed": "GPU detection failed",
|
||||
"detectComplete": "Detected {count} GPU devices",
|
||||
"detectError": "Error detecting GPU",
|
||||
"select": "Select",
|
||||
"selected": "Selected",
|
||||
"active": "Current",
|
||||
"selectSuccess": "GPU selected",
|
||||
"selectFailed": "GPU selection failed",
|
||||
"gpuSelected": "GPU device enabled",
|
||||
"selectError": "Error selecting GPU",
|
||||
"reset": "Reset",
|
||||
"resetSuccess": "GPU reset",
|
||||
"resetFailed": "GPU reset failed",
|
||||
"gpuReset": "GPU disabled, will use CPU",
|
||||
"resetError": "Error resetting GPU",
|
||||
"unknownError": "An unknown error occurred",
|
||||
"noDevices": "No GPU devices detected",
|
||||
"notAvailable": "GPU functionality not available",
|
||||
"unknownDevice": "Unknown device",
|
||||
"type": "Type",
|
||||
"driver": "Driver Version",
|
||||
"memory": "Memory"
|
||||
},
|
||||
"advanced": {
|
||||
"warningTitle": "Sensitive Operations Warning",
|
||||
"warningMessage": "Modifying environment variables may affect CodexLens operation. Ensure you understand each variable's purpose.",
|
||||
"currentVars": "Current Environment Variables",
|
||||
"settingsVars": "Settings Variables",
|
||||
"customVars": "Custom Variables",
|
||||
"envEditor": "Environment Variable Editor",
|
||||
"envFile": "File",
|
||||
"envContent": "Environment Variable Content",
|
||||
"envPlaceholder": "# Comment lines start with #\nKEY=value\nANOTHER_KEY=\"another value\"",
|
||||
"envHint": "One variable per line, format: KEY=value. Comment lines start with #",
|
||||
"save": "Save",
|
||||
"saving": "Saving...",
|
||||
"reset": "Reset",
|
||||
"saveSuccess": "Environment variables saved",
|
||||
"saveFailed": "Save failed",
|
||||
"envUpdated": "Environment variables updated, restart service to take effect",
|
||||
"saveError": "Error saving environment variables",
|
||||
"unknownError": "An unknown error occurred",
|
||||
"validation": {
|
||||
"invalidKeys": "Invalid variable names: {keys}"
|
||||
},
|
||||
"helpTitle": "Format Help",
|
||||
"helpComment": "Comment lines start with #",
|
||||
"helpFormat": "Variable format: KEY=value",
|
||||
"helpQuotes": "Values with spaces should use quotes",
|
||||
"helpRestart": "Restart service after changes to take effect"
|
||||
},
|
||||
"models": {
|
||||
"title": "Model Management",
|
||||
"searchPlaceholder": "Search models...",
|
||||
"downloading": "Downloading...",
|
||||
"status": {
|
||||
"downloaded": "Downloaded",
|
||||
"available": "Available"
|
||||
},
|
||||
"types": {
|
||||
"embedding": "Embedding Models",
|
||||
"reranker": "Reranker Models"
|
||||
},
|
||||
"filters": {
|
||||
"label": "Filter",
|
||||
"all": "All"
|
||||
},
|
||||
"actions": {
|
||||
"download": "Download",
|
||||
"delete": "Delete",
|
||||
"cancel": "Cancel"
|
||||
},
|
||||
"custom": {
|
||||
"title": "Custom Model",
|
||||
"placeholder": "HuggingFace model name (e.g., BAAI/bge-small-zh-v1.5)",
|
||||
"description": "Download custom models from HuggingFace. Ensure the model name is correct."
|
||||
},
|
||||
"deleteConfirm": "Are you sure you want to delete model {modelName}?",
|
||||
"notInstalled": {
|
||||
"title": "CodexLens Not Installed",
|
||||
"description": "Please install CodexLens to use model management features."
|
||||
},
|
||||
"empty": {
|
||||
"title": "No models found",
|
||||
"description": "Try adjusting your search or filter criteria"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -23,6 +23,7 @@ import skills from './skills.json';
|
||||
import cliManager from './cli-manager.json';
|
||||
import cliMonitor from './cli-monitor.json';
|
||||
import mcpManager from './mcp-manager.json';
|
||||
import codexlens from './codexlens.json';
|
||||
import theme from './theme.json';
|
||||
import executionMonitor from './execution-monitor.json';
|
||||
import cliHooks from './cli-hooks.json';
|
||||
@@ -77,9 +78,10 @@ export default {
|
||||
...flattenMessages(reviewSession, 'reviewSession'),
|
||||
...flattenMessages(sessionDetail, 'sessionDetail'),
|
||||
...flattenMessages(skills, 'skills'),
|
||||
...flattenMessages(cliManager), // No prefix - has cliEndpoints, cliInstallations, etc. as top-level keys
|
||||
...flattenMessages(cliManager, 'cli-manager'),
|
||||
...flattenMessages(cliMonitor, 'cliMonitor'),
|
||||
...flattenMessages(mcpManager, 'mcp'),
|
||||
...flattenMessages(codexlens, 'codexlens'),
|
||||
...flattenMessages(theme, 'theme'),
|
||||
...flattenMessages(cliHooks, 'cliHooks'),
|
||||
...flattenMessages(executionMonitor, 'executionMonitor'),
|
||||
|
||||
@@ -97,6 +97,23 @@
|
||||
"noSessions": "No sessions found",
|
||||
"noSessionsDescription": "Start a new discovery session to begin",
|
||||
"findingsDetail": "Findings Detail",
|
||||
"selectSession": "Select a session to view findings",
|
||||
"sessionId": "Session ID",
|
||||
"name": "Name",
|
||||
"status": "Status",
|
||||
"createdAt": "Created At",
|
||||
"completedAt": "Completed At",
|
||||
"progress": "Progress",
|
||||
"findingsCount": "Findings Count",
|
||||
"export": "Export JSON",
|
||||
"exportSelected": "Export Selected ({count})",
|
||||
"exporting": "Exporting...",
|
||||
"exportAsIssues": "Export as Issues",
|
||||
"severityBreakdown": "Severity Breakdown",
|
||||
"typeBreakdown": "Type Breakdown",
|
||||
"tabFindings": "Findings",
|
||||
"tabProgress": "Progress",
|
||||
"tabInfo": "Session Info",
|
||||
"stats": {
|
||||
"totalSessions": "Total Sessions",
|
||||
"completed": "Completed",
|
||||
@@ -129,8 +146,31 @@
|
||||
"type": {
|
||||
"all": "All Types"
|
||||
},
|
||||
"exportedStatus": {
|
||||
"all": "All Export Status",
|
||||
"exported": "Exported",
|
||||
"notExported": "Not Exported"
|
||||
},
|
||||
"issueStatus": {
|
||||
"all": "All Issue Status",
|
||||
"hasIssue": "Has Issue",
|
||||
"noIssue": "No Issue"
|
||||
},
|
||||
"noFindings": "No findings found",
|
||||
"export": "Export"
|
||||
"noFindingsDescription": "No matching findings found",
|
||||
"searchPlaceholder": "Search findings...",
|
||||
"filterBySeverity": "Filter by severity",
|
||||
"filterByType": "Filter by type",
|
||||
"filterByExported": "Filter by export status",
|
||||
"filterByIssue": "Filter by issue link",
|
||||
"allSeverities": "All severities",
|
||||
"allTypes": "All types",
|
||||
"showingCount": "Showing {count} findings",
|
||||
"exported": "Exported",
|
||||
"hasIssue": "Linked",
|
||||
"export": "Export",
|
||||
"selectAll": "Select All",
|
||||
"deselectAll": "Deselect All"
|
||||
},
|
||||
"tabs": {
|
||||
"findings": "Findings",
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
"prompts": "Prompt History",
|
||||
"settings": "Settings",
|
||||
"mcp": "MCP Servers",
|
||||
"codexlens": "CodexLens",
|
||||
"endpoints": "CLI Endpoints",
|
||||
"installations": "Installations",
|
||||
"help": "Help",
|
||||
|
||||
@@ -6,13 +6,25 @@
|
||||
"tabs": {
|
||||
"tasks": "Tasks",
|
||||
"context": "Context",
|
||||
"summary": "Summary"
|
||||
"summary": "Summary",
|
||||
"implPlan": "IMPL Plan",
|
||||
"conflict": "Conflict",
|
||||
"review": "Review"
|
||||
},
|
||||
"tasks": {
|
||||
"completed": "completed",
|
||||
"inProgress": "in progress",
|
||||
"pending": "pending",
|
||||
"blocked": "blocked",
|
||||
"quickActions": {
|
||||
"markAllPending": "All Pending",
|
||||
"markAllInProgress": "All In Progress",
|
||||
"markAllCompleted": "All Completed"
|
||||
},
|
||||
"statusUpdate": {
|
||||
"success": "Task status updated successfully",
|
||||
"error": "Failed to update task status"
|
||||
},
|
||||
"status": {
|
||||
"pending": "Pending",
|
||||
"inProgress": "In Progress",
|
||||
@@ -36,15 +48,114 @@
|
||||
"empty": {
|
||||
"title": "No Context Available",
|
||||
"message": "This session has no context information."
|
||||
},
|
||||
"explorations": {
|
||||
"title": "Explorations",
|
||||
"angles": "angles",
|
||||
"projectStructure": "Project Structure",
|
||||
"relevantFiles": "Relevant Files",
|
||||
"patterns": "Patterns",
|
||||
"dependencies": "Dependencies",
|
||||
"integrationPoints": "Integration Points",
|
||||
"testing": "Testing"
|
||||
},
|
||||
"categories": {
|
||||
"documentation": "Documentation",
|
||||
"sourceCode": "Source Code",
|
||||
"tests": "Tests"
|
||||
},
|
||||
"assets": {
|
||||
"title": "Assets",
|
||||
"noData": "No assets found",
|
||||
"scope": "Scope",
|
||||
"contains": "Contains"
|
||||
},
|
||||
"dependencies": {
|
||||
"title": "Dependencies",
|
||||
"internal": "Internal",
|
||||
"external": "External",
|
||||
"from": "From",
|
||||
"to": "To",
|
||||
"type": "Type"
|
||||
},
|
||||
"testContext": {
|
||||
"title": "Test Context",
|
||||
"tests": "tests",
|
||||
"existingTests": "existing tests",
|
||||
"markers": "markers",
|
||||
"coverage": "Coverage Configuration",
|
||||
"backend": "Backend",
|
||||
"frontend": "Frontend",
|
||||
"framework": "Framework"
|
||||
},
|
||||
"conflictDetection": {
|
||||
"title": "Conflict Detection",
|
||||
"riskLevel": {
|
||||
"low": "Low Risk",
|
||||
"medium": "Medium Risk",
|
||||
"high": "High Risk",
|
||||
"critical": "Critical Risk"
|
||||
},
|
||||
"mitigation": "Mitigation Strategy",
|
||||
"riskFactors": "Risk Factors",
|
||||
"testGaps": "Test Gaps",
|
||||
"existingImplementations": "Existing Implementations",
|
||||
"affectedModules": "Affected Modules"
|
||||
}
|
||||
},
|
||||
"summary": {
|
||||
"default": "Summary",
|
||||
"title": "Session Summary",
|
||||
"lines": "lines",
|
||||
"empty": {
|
||||
"title": "No Summary Available",
|
||||
"message": "This session has no summary yet."
|
||||
}
|
||||
},
|
||||
"implPlan": {
|
||||
"title": "Implementation Plan",
|
||||
"empty": {
|
||||
"title": "No IMPL Plan Available",
|
||||
"message": "This session has no implementation plan yet."
|
||||
},
|
||||
"viewFull": "View Full Plan ({count} lines)"
|
||||
},
|
||||
"conflict": {
|
||||
"title": "Conflict Resolution",
|
||||
"comingSoon": "Conflict Resolution (Coming Soon)",
|
||||
"comingSoonMessage": "This tab will display conflict resolution decisions and user choices.",
|
||||
"empty": {
|
||||
"title": "No Conflict Resolution Data",
|
||||
"message": "This session has no conflict resolution information."
|
||||
},
|
||||
"resolvedAt": "Resolved",
|
||||
"userDecisions": "User Decisions",
|
||||
"description": "Description",
|
||||
"implications": "Implications",
|
||||
"resolvedConflicts": "Resolved Conflicts",
|
||||
"strategy": "Strategy"
|
||||
},
|
||||
"review": {
|
||||
"title": "Code Review",
|
||||
"comingSoon": "Code Review (Coming Soon)",
|
||||
"comingSoonMessage": "This tab will display review findings and recommendations.",
|
||||
"empty": {
|
||||
"title": "No Review Data",
|
||||
"message": "This session has no review information."
|
||||
},
|
||||
"noFindings": {
|
||||
"title": "No Findings Found",
|
||||
"message": "No findings match the current severity filter."
|
||||
},
|
||||
"filterBySeverity": "Filter by Severity",
|
||||
"severity": {
|
||||
"all": "All Severities",
|
||||
"critical": "Critical",
|
||||
"high": "High",
|
||||
"medium": "Medium",
|
||||
"low": "Low"
|
||||
}
|
||||
},
|
||||
"info": {
|
||||
"created": "Created",
|
||||
"updated": "Updated",
|
||||
|
||||
@@ -66,6 +66,10 @@
|
||||
"automation": "自动化"
|
||||
},
|
||||
"templates": {
|
||||
"ccw-status-tracker": {
|
||||
"name": "CCW 状态追踪器",
|
||||
"description": "解析 CCW status.json 并显示当前/下一个命令"
|
||||
},
|
||||
"ccw-notify": {
|
||||
"name": "CCW 面板通知",
|
||||
"description": "当文件被写入时向 CCW 面板发送通知"
|
||||
|
||||
178
ccw/frontend/src/locales/zh/codexlens.json
Normal file
178
ccw/frontend/src/locales/zh/codexlens.json
Normal file
@@ -0,0 +1,178 @@
|
||||
{
|
||||
"title": "CodexLens",
|
||||
"description": "语义代码搜索引擎",
|
||||
"bootstrap": "引导安装",
|
||||
"bootstrapping": "安装中...",
|
||||
"uninstall": "卸载",
|
||||
"uninstalling": "卸载中...",
|
||||
"confirmUninstall": "确定要卸载 CodexLens 吗?此操作无法撤销。",
|
||||
"confirmUninstallTitle": "确认卸载",
|
||||
"notInstalled": "CodexLens 尚未安装",
|
||||
"comingSoon": "即将推出",
|
||||
"tabs": {
|
||||
"overview": "概览",
|
||||
"settings": "设置",
|
||||
"models": "模型",
|
||||
"advanced": "高级"
|
||||
},
|
||||
"overview": {
|
||||
"status": {
|
||||
"installation": "安装状态",
|
||||
"ready": "就绪",
|
||||
"notReady": "未就绪",
|
||||
"version": "版本",
|
||||
"indexPath": "索引路径",
|
||||
"indexCount": "索引数量"
|
||||
},
|
||||
"notInstalled": {
|
||||
"title": "CodexLens 未安装",
|
||||
"message": "请先安装 CodexLens 以使用语义代码搜索功能。"
|
||||
},
|
||||
"actions": {
|
||||
"title": "快速操作",
|
||||
"ftsFull": "FTS 全量",
|
||||
"ftsFullDesc": "重建全文索引",
|
||||
"ftsIncremental": "FTS 增量",
|
||||
"ftsIncrementalDesc": "增量更新全文索引",
|
||||
"vectorFull": "向量全量",
|
||||
"vectorFullDesc": "重建向量索引",
|
||||
"vectorIncremental": "向量增量",
|
||||
"vectorIncrementalDesc": "增量更新向量索引"
|
||||
},
|
||||
"venv": {
|
||||
"title": "Python 虚拟环境详情",
|
||||
"pythonVersion": "Python 版本",
|
||||
"venvPath": "虚拟环境路径",
|
||||
"lastCheck": "最后检查时间"
|
||||
}
|
||||
},
|
||||
"settings": {
|
||||
"currentCount": "当前索引数量",
|
||||
"currentWorkers": "当前工作线程",
|
||||
"currentBatchSize": "当前批次大小",
|
||||
"configTitle": "基本配置",
|
||||
"indexDir": {
|
||||
"label": "索引目录",
|
||||
"placeholder": "~/.codexlens/indexes",
|
||||
"hint": "存储代码索引的目录路径"
|
||||
},
|
||||
"maxWorkers": {
|
||||
"label": "最大工作线程",
|
||||
"hint": "API 并发处理线程数 (1-32)"
|
||||
},
|
||||
"batchSize": {
|
||||
"label": "批次大小",
|
||||
"hint": "每次批量处理的文件数量 (1-64)"
|
||||
},
|
||||
"validation": {
|
||||
"indexDirRequired": "索引目录不能为空",
|
||||
"maxWorkersRange": "工作线程数必须在 1-32 之间",
|
||||
"batchSizeRange": "批次大小必须在 1-64 之间"
|
||||
},
|
||||
"save": "保存",
|
||||
"saving": "保存中...",
|
||||
"reset": "重置",
|
||||
"saveSuccess": "配置已保存",
|
||||
"saveFailed": "保存失败",
|
||||
"configUpdated": "配置更新成功",
|
||||
"saveError": "保存配置时出错",
|
||||
"unknownError": "发生未知错误"
|
||||
},
|
||||
"gpu": {
|
||||
"title": "GPU 设置",
|
||||
"status": "GPU 状态",
|
||||
"enabled": "已启用",
|
||||
"available": "可用",
|
||||
"unavailable": "不可用",
|
||||
"supported": "您的系统支持 GPU 加速",
|
||||
"notSupported": "您的系统不支持 GPU 加速",
|
||||
"detect": "检测",
|
||||
"detectSuccess": "GPU 检测完成",
|
||||
"detectFailed": "GPU 检测失败",
|
||||
"detectComplete": "检测到 {count} 个 GPU 设备",
|
||||
"detectError": "检测 GPU 时出错",
|
||||
"select": "选择",
|
||||
"selected": "已选择",
|
||||
"active": "当前",
|
||||
"selectSuccess": "GPU 已选择",
|
||||
"selectFailed": "GPU 选择失败",
|
||||
"gpuSelected": "GPU 设备已启用",
|
||||
"selectError": "选择 GPU 时出错",
|
||||
"reset": "重置",
|
||||
"resetSuccess": "GPU 已重置",
|
||||
"resetFailed": "GPU 重置失败",
|
||||
"gpuReset": "GPU 已禁用,将使用 CPU",
|
||||
"resetError": "重置 GPU 时出错",
|
||||
"unknownError": "发生未知错误",
|
||||
"noDevices": "未检测到 GPU 设备",
|
||||
"notAvailable": "GPU 功能不可用",
|
||||
"unknownDevice": "未知设备",
|
||||
"type": "类型",
|
||||
"driver": "驱动版本",
|
||||
"memory": "显存"
|
||||
},
|
||||
"advanced": {
|
||||
"warningTitle": "敏感操作警告",
|
||||
"warningMessage": "修改环境变量可能影响 CodexLens 的正常运行。请确保您了解每个变量的作用。",
|
||||
"currentVars": "当前环境变量",
|
||||
"settingsVars": "设置变量",
|
||||
"customVars": "自定义变量",
|
||||
"envEditor": "环境变量编辑器",
|
||||
"envFile": "文件",
|
||||
"envContent": "环境变量内容",
|
||||
"envPlaceholder": "# 注释行以 # 开头\nKEY=value\nANOTHER_KEY=\"another value\"",
|
||||
"envHint": "每行一个变量,格式:KEY=value。注释行以 # 开头",
|
||||
"save": "保存",
|
||||
"saving": "保存中...",
|
||||
"reset": "重置",
|
||||
"saveSuccess": "环境变量已保存",
|
||||
"saveFailed": "保存失败",
|
||||
"envUpdated": "环境变量更新成功,重启服务后生效",
|
||||
"saveError": "保存环境变量时出错",
|
||||
"unknownError": "发生未知错误",
|
||||
"validation": {
|
||||
"invalidKeys": "无效的变量名: {keys}"
|
||||
},
|
||||
"helpTitle": "格式说明",
|
||||
"helpComment": "注释行以 # 开头",
|
||||
"helpFormat": "变量格式:KEY=value",
|
||||
"helpQuotes": "包含空格的值建议使用引号",
|
||||
"helpRestart": "修改后需要重启服务才能生效"
|
||||
},
|
||||
"models": {
|
||||
"title": "模型管理",
|
||||
"searchPlaceholder": "搜索模型...",
|
||||
"downloading": "下载中...",
|
||||
"status": {
|
||||
"downloaded": "已下载",
|
||||
"available": "可用"
|
||||
},
|
||||
"types": {
|
||||
"embedding": "嵌入模型",
|
||||
"reranker": "重排序模型"
|
||||
},
|
||||
"filters": {
|
||||
"label": "筛选",
|
||||
"all": "全部"
|
||||
},
|
||||
"actions": {
|
||||
"download": "下载",
|
||||
"delete": "删除",
|
||||
"cancel": "取消"
|
||||
},
|
||||
"custom": {
|
||||
"title": "自定义模型",
|
||||
"placeholder": "HuggingFace 模型名称 (如: BAAI/bge-small-zh-v1.5)",
|
||||
"description": "从 HuggingFace 下载自定义模型。请确保模型名称正确。"
|
||||
},
|
||||
"deleteConfirm": "确定要删除模型 {modelName} 吗?",
|
||||
"notInstalled": {
|
||||
"title": "CodexLens 未安装",
|
||||
"description": "请先安装 CodexLens 以使用模型管理功能。"
|
||||
},
|
||||
"empty": {
|
||||
"title": "没有找到模型",
|
||||
"description": "尝试调整搜索或筛选条件"
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -36,7 +36,10 @@
|
||||
"submit": "提交",
|
||||
"reset": "重置",
|
||||
"resetDesc": "将所有用户偏好重置为默认值。此操作无法撤销。",
|
||||
"saving": "Saving...",
|
||||
"saving": "保存中...",
|
||||
"deleting": "删除中...",
|
||||
"merging": "合并中...",
|
||||
"splitting": "拆分中...",
|
||||
"resetConfirm": "确定要将所有设置重置为默认值吗?",
|
||||
"resetToDefaults": "重置为默认值",
|
||||
"enable": "启用",
|
||||
@@ -51,7 +54,8 @@
|
||||
"clearAll": "清除全部",
|
||||
"select": "选择",
|
||||
"selectAll": "全选",
|
||||
"deselectAll": "取消全选"
|
||||
"deselectAll": "取消全选",
|
||||
"openMenu": "打开菜单"
|
||||
},
|
||||
"status": {
|
||||
"active": "活跃",
|
||||
|
||||
@@ -23,6 +23,7 @@ import skills from './skills.json';
|
||||
import cliManager from './cli-manager.json';
|
||||
import cliMonitor from './cli-monitor.json';
|
||||
import mcpManager from './mcp-manager.json';
|
||||
import codexlens from './codexlens.json';
|
||||
import theme from './theme.json';
|
||||
import executionMonitor from './execution-monitor.json';
|
||||
import cliHooks from './cli-hooks.json';
|
||||
@@ -77,9 +78,10 @@ export default {
|
||||
...flattenMessages(reviewSession, 'reviewSession'),
|
||||
...flattenMessages(sessionDetail, 'sessionDetail'),
|
||||
...flattenMessages(skills, 'skills'),
|
||||
...flattenMessages(cliManager), // No prefix - has cliEndpoints, cliInstallations, etc. as top-level keys
|
||||
...flattenMessages(cliManager, 'cli-manager'),
|
||||
...flattenMessages(cliMonitor, 'cliMonitor'),
|
||||
...flattenMessages(mcpManager, 'mcp'),
|
||||
...flattenMessages(codexlens, 'codexlens'),
|
||||
...flattenMessages(theme, 'theme'),
|
||||
...flattenMessages(cliHooks, 'cliHooks'),
|
||||
...flattenMessages(executionMonitor, 'executionMonitor'),
|
||||
|
||||
@@ -61,29 +61,130 @@
|
||||
"updatedAt": "更新时间",
|
||||
"solutions": "{count, plural, one {解决方案} other {解决方案}}"
|
||||
},
|
||||
"detail": {
|
||||
"title": "问题详情",
|
||||
"tabs": {
|
||||
"overview": "概览",
|
||||
"solutions": "解决方案",
|
||||
"history": "历史",
|
||||
"json": "JSON"
|
||||
},
|
||||
"overview": {
|
||||
"title": "标题",
|
||||
"status": "状态",
|
||||
"priority": "优先级",
|
||||
"createdAt": "创建时间",
|
||||
"updatedAt": "更新时间",
|
||||
"context": "上下文",
|
||||
"labels": "标签",
|
||||
"assignee": "受理人"
|
||||
},
|
||||
"solutions": {
|
||||
"title": "解决方案",
|
||||
"empty": "暂无解决方案",
|
||||
"addSolution": "添加解决方案",
|
||||
"boundSolution": "已绑定解决方案"
|
||||
},
|
||||
"history": {
|
||||
"title": "历史记录",
|
||||
"empty": "暂无历史记录"
|
||||
}
|
||||
},
|
||||
"queue": {
|
||||
"title": "队列",
|
||||
"pageTitle": "问题队列",
|
||||
"description": "管理问题执行队列和执行组",
|
||||
"status": {
|
||||
"pending": "待处理",
|
||||
"ready": "就绪",
|
||||
"executing": "执行中",
|
||||
"completed": "已完成",
|
||||
"failed": "失败",
|
||||
"blocked": "已阻塞",
|
||||
"active": "活动",
|
||||
"inactive": "非活动"
|
||||
},
|
||||
"stats": {
|
||||
"totalItems": "总项目",
|
||||
"groups": "执行组",
|
||||
"tasks": "任务",
|
||||
"solutions": "解决方案"
|
||||
"solutions": "解决方案",
|
||||
"items": "项目",
|
||||
"executionGroups": "执行组"
|
||||
},
|
||||
"actions": {
|
||||
"activate": "激活",
|
||||
"deactivate": "停用",
|
||||
"delete": "删除",
|
||||
"merge": "合并",
|
||||
"split": "拆分",
|
||||
"confirmDelete": "确定要删除此队列吗?"
|
||||
},
|
||||
"executionGroup": "执行组",
|
||||
"executionGroups": "执行组",
|
||||
"parallelGroup": "并行组",
|
||||
"sequentialGroup": "顺序组",
|
||||
"items": "项目",
|
||||
"itemCount": "{count} 项",
|
||||
"groups": "组",
|
||||
"parallel": "并行",
|
||||
"sequential": "顺序",
|
||||
"emptyState": "无队列数据",
|
||||
"empty": "无数据",
|
||||
"conflicts": "队列中检测到冲突",
|
||||
"noQueueData": "无队列数据"
|
||||
"noQueueData": "无队列数据",
|
||||
"emptyState": {
|
||||
"title": "暂无队列",
|
||||
"description": "当前没有可用的执行队列"
|
||||
},
|
||||
"error": {
|
||||
"title": "加载失败",
|
||||
"message": "无法加载队列数据,请稍后重试"
|
||||
},
|
||||
"conflicts": {
|
||||
"title": "队列冲突",
|
||||
"description": "个冲突"
|
||||
},
|
||||
"deleteDialog": {
|
||||
"title": "删除队列",
|
||||
"description": "确定要删除此队列吗?此操作无法撤销。"
|
||||
},
|
||||
"mergeDialog": {
|
||||
"title": "合并队列",
|
||||
"targetQueueLabel": "目标队列ID",
|
||||
"targetQueuePlaceholder": "输入要合并到的队列ID"
|
||||
},
|
||||
"splitDialog": {
|
||||
"title": "拆分队列",
|
||||
"selected": "已选择 {count}/{total} 项",
|
||||
"selectAll": "全选",
|
||||
"clearAll": "清空",
|
||||
"noSelection": "请选择要拆分的项目",
|
||||
"cannotSplitAll": "不能拆分所有项目,源队列至少需保留一项"
|
||||
}
|
||||
},
|
||||
"solution": {
|
||||
"issue": "问题",
|
||||
"solution": "解决方案",
|
||||
"shortIssue": "问题",
|
||||
"shortSolution": "方案",
|
||||
"tabs": {
|
||||
"overview": "概览",
|
||||
"tasks": "任务",
|
||||
"json": "JSON"
|
||||
},
|
||||
"overview": {
|
||||
"executionInfo": "执行信息",
|
||||
"executionOrder": "执行顺序",
|
||||
"semanticPriority": "语义优先级",
|
||||
"group": "执行组",
|
||||
"taskCount": "任务数量",
|
||||
"dependencies": "依赖项",
|
||||
"filesTouched": "涉及文件"
|
||||
},
|
||||
"tasks": {
|
||||
"comingSoon": "任务列表即将推出"
|
||||
}
|
||||
},
|
||||
"discovery": {
|
||||
"title": "发现",
|
||||
@@ -97,6 +198,23 @@
|
||||
"noSessions": "未发现会话",
|
||||
"noSessionsDescription": "启动新的问题发现会话以开始",
|
||||
"findingsDetail": "发现详情",
|
||||
"selectSession": "选择会话以查看发现",
|
||||
"sessionId": "会话ID",
|
||||
"name": "名称",
|
||||
"status": "状态",
|
||||
"createdAt": "创建时间",
|
||||
"completedAt": "完成时间",
|
||||
"progress": "进度",
|
||||
"findingsCount": "发现数量",
|
||||
"export": "导出JSON",
|
||||
"exportSelected": "导出选中的 {count} 项",
|
||||
"exporting": "导出中...",
|
||||
"exportAsIssues": "导出为问题",
|
||||
"severityBreakdown": "严重程度分布",
|
||||
"typeBreakdown": "类型分布",
|
||||
"tabFindings": "发现",
|
||||
"tabProgress": "进度",
|
||||
"tabInfo": "会话信息",
|
||||
"stats": {
|
||||
"totalSessions": "总会话数",
|
||||
"completed": "已完成",
|
||||
@@ -124,13 +242,37 @@
|
||||
"critical": "严重",
|
||||
"high": "高",
|
||||
"medium": "中",
|
||||
"low": "低"
|
||||
"low": "低",
|
||||
"unknown": "未知"
|
||||
},
|
||||
"type": {
|
||||
"all": "全部类型"
|
||||
},
|
||||
"exportedStatus": {
|
||||
"all": "全部导出状态",
|
||||
"exported": "已导出",
|
||||
"notExported": "未导出"
|
||||
},
|
||||
"issueStatus": {
|
||||
"all": "全部问题状态",
|
||||
"hasIssue": "已关联问题",
|
||||
"noIssue": "未关联问题"
|
||||
},
|
||||
"noFindings": "未发现结果",
|
||||
"export": "导出"
|
||||
"noFindingsDescription": "没有找到匹配的发现结果",
|
||||
"searchPlaceholder": "搜索发现...",
|
||||
"filterBySeverity": "按严重程度筛选",
|
||||
"filterByType": "按类型筛选",
|
||||
"filterByExported": "按导出状态筛选",
|
||||
"filterByIssue": "按关联问题筛选",
|
||||
"allSeverities": "全部严重程度",
|
||||
"allTypes": "全部类型",
|
||||
"showingCount": "显示 {count} 条发现",
|
||||
"exported": "已导出",
|
||||
"hasIssue": "已关联",
|
||||
"export": "导出",
|
||||
"selectAll": "全选",
|
||||
"deselectAll": "取消全选"
|
||||
},
|
||||
"tabs": {
|
||||
"findings": "发现",
|
||||
|
||||
@@ -16,6 +16,7 @@
|
||||
"prompts": "提示历史",
|
||||
"settings": "设置",
|
||||
"mcp": "MCP 服务器",
|
||||
"codexlens": "CodexLens",
|
||||
"endpoints": "CLI 端点",
|
||||
"installations": "安装",
|
||||
"help": "帮助",
|
||||
|
||||
@@ -6,13 +6,25 @@
|
||||
"tabs": {
|
||||
"tasks": "任务",
|
||||
"context": "上下文",
|
||||
"summary": "摘要"
|
||||
"summary": "摘要",
|
||||
"implPlan": "IMPL 计划",
|
||||
"conflict": "冲突",
|
||||
"review": "审查"
|
||||
},
|
||||
"tasks": {
|
||||
"completed": "已完成",
|
||||
"inProgress": "进行中",
|
||||
"pending": "待处理",
|
||||
"blocked": "已阻塞",
|
||||
"quickActions": {
|
||||
"markAllPending": "全部待处理",
|
||||
"markAllInProgress": "全部进行中",
|
||||
"markAllCompleted": "全部已完成"
|
||||
},
|
||||
"statusUpdate": {
|
||||
"success": "任务状态更新成功",
|
||||
"error": "更新任务状态失败"
|
||||
},
|
||||
"status": {
|
||||
"pending": "待处理",
|
||||
"inProgress": "进行中",
|
||||
@@ -36,6 +48,59 @@
|
||||
"empty": {
|
||||
"title": "暂无上下文",
|
||||
"message": "该会话暂无上下文信息。"
|
||||
},
|
||||
"explorations": {
|
||||
"title": "探索结果",
|
||||
"angles": "个角度",
|
||||
"projectStructure": "项目结构",
|
||||
"relevantFiles": "相关文件",
|
||||
"patterns": "模式",
|
||||
"dependencies": "依赖关系",
|
||||
"integrationPoints": "集成点",
|
||||
"testing": "测试"
|
||||
},
|
||||
"categories": {
|
||||
"documentation": "文档",
|
||||
"sourceCode": "源代码",
|
||||
"tests": "测试"
|
||||
},
|
||||
"assets": {
|
||||
"title": "资源",
|
||||
"noData": "未找到资源",
|
||||
"scope": "范围",
|
||||
"contains": "包含"
|
||||
},
|
||||
"dependencies": {
|
||||
"title": "依赖",
|
||||
"internal": "内部依赖",
|
||||
"external": "外部依赖",
|
||||
"from": "来源",
|
||||
"to": "目标",
|
||||
"type": "类型"
|
||||
},
|
||||
"testContext": {
|
||||
"title": "测试上下文",
|
||||
"tests": "个测试",
|
||||
"existingTests": "个现有测试",
|
||||
"markers": "个标记",
|
||||
"coverage": "覆盖率配置",
|
||||
"backend": "后端",
|
||||
"frontend": "前端",
|
||||
"framework": "框架"
|
||||
},
|
||||
"conflictDetection": {
|
||||
"title": "冲突检测",
|
||||
"riskLevel": {
|
||||
"low": "低风险",
|
||||
"medium": "中等风险",
|
||||
"high": "高风险",
|
||||
"critical": "严重风险"
|
||||
},
|
||||
"mitigation": "缓解策略",
|
||||
"riskFactors": "风险因素",
|
||||
"testGaps": "测试缺失",
|
||||
"existingImplementations": "现有实现",
|
||||
"affectedModules": "受影响模块"
|
||||
}
|
||||
},
|
||||
"summary": {
|
||||
@@ -45,6 +110,50 @@
|
||||
"message": "该会话暂无摘要。"
|
||||
}
|
||||
},
|
||||
"implPlan": {
|
||||
"title": "实现计划",
|
||||
"empty": {
|
||||
"title": "暂无 IMPL 计划",
|
||||
"message": "该会话暂无实现计划。"
|
||||
},
|
||||
"viewFull": "查看完整计划({count} 行)"
|
||||
},
|
||||
"conflict": {
|
||||
"title": "冲突解决",
|
||||
"comingSoon": "冲突解决(即将推出)",
|
||||
"comingSoonMessage": "此标签页将显示冲突解决决策和用户选择。",
|
||||
"empty": {
|
||||
"title": "暂无冲突解决数据",
|
||||
"message": "该会话暂无冲突解决信息。"
|
||||
},
|
||||
"resolvedAt": "已解决",
|
||||
"userDecisions": "用户决策",
|
||||
"description": "描述",
|
||||
"implications": "影响",
|
||||
"resolvedConflicts": "已解决冲突",
|
||||
"strategy": "策略"
|
||||
},
|
||||
"review": {
|
||||
"title": "代码审查",
|
||||
"comingSoon": "代码审查(即将推出)",
|
||||
"comingSoonMessage": "此标签页将显示审查结果和建议。",
|
||||
"empty": {
|
||||
"title": "暂无审查数据",
|
||||
"message": "该会话暂无审查信息。"
|
||||
},
|
||||
"noFindings": {
|
||||
"title": "未发现审查结果",
|
||||
"message": "没有匹配当前严重程度筛选器的审查结果。"
|
||||
},
|
||||
"filterBySeverity": "按严重程度筛选",
|
||||
"severity": {
|
||||
"all": "全部严重程度",
|
||||
"critical": "严重",
|
||||
"high": "高",
|
||||
"medium": "中",
|
||||
"low": "低"
|
||||
}
|
||||
},
|
||||
"info": {
|
||||
"created": "创建时间",
|
||||
"updated": "更新时间",
|
||||
|
||||
Reference in New Issue
Block a user