mirror of
https://github.com/catlog22/Claude-Code-Workflow.git
synced 2026-02-14 02:42:04 +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": "自动化"
|
||||
},
|
||||
"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