1. 06 8月, 2026 10 次提交
    • 陈泽健's avatar
      fix(smart-locate): Claude服务支持Docker容器内通过SSH调用宿主机CLI · 208d5e63
      陈泽健 提交于
      - 新增3种调用方式(按优先级):本地CLI > SSH宿主机 > 容器内CLI
      - 新增_call_claude_via_ssh方法:通过SSH调用宿主机Claude CLI
      - 新增_call_claude_via_paramiko方法:paramiko回退方案
      - 支持环境变量配置SSH连接参数(CLAUDE_SSH_HOST/PORT/USER/PASS)
      - 已部署到192.168.5.60验证通过
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      208d5e63
    • 陈泽健's avatar
      feat(smart-locate): Claude语义增强智能定位 - 多候选元素自动语义排序 · 85b7cb33
      陈泽健 提交于
      - 新增 claude_service.py:Claude CLI 语义增强服务,含 Prompt 模板、调用、解析、容错
      - 改造 keyword_matcher.py:返回候选列表而非单一元素,新增 get_candidate_details()
      - 改造 smart_locate_service.py:集成 Claude 语义增强,use_claude 参数控制
      - 改造 smart_locate.py 路由:新增 use_claude 参数和 claude_enhanced/confidence/reason 响应字段
      - 新增 config.py 配置项:CLAUDE_ENABLED/TIMEOUT/MODEL/MAX_CANDIDATES
      - 新增集成测试脚本和 PRD/执行计划/技术调研文档
      
      预期效果:定位准确率 60% -> 85%+,解决关键词撞车问题
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      85b7cb33
    • 陈泽健's avatar
      docs(handoff): 更新UI自动化交接文档 - 记录2026-08-06会话进度 · 9040ac63
      陈泽健 提交于
      记录本次会话完成的全部工作:
      1. 用例串行执行机制
      2. 菜单选择器修正
      3. 模块选择器搜索功能
      4. 智能定位优化(关键词/元素范围/模式预处理)
      5. Docker headless 环境问题待排查
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      9040ac63
    • 陈泽健's avatar
      feat(smart-locate): 智能定位优化 - 修复选择器缺失问题 · f07b8861
      陈泽健 提交于
      改进:
      1. 放宽修饰词移除规则 - 移除"添加"/"新增"/"完成"等按钮名称词
      2. 扩展元素查询范围 - 添加 .el-button .el-checkbox .el-tabs__item 等
      3. 放宽文本匹配条件 - 支持 div/span/i/label/li 文本匹配
      4. 扩展文本提取范围 - 支持更多标签类型
      5. 增强语义回退策略 - 添加图标/复选框/Element Plus 按钮的查找
      6. 新增步骤模式预处理器:
         - "xxx选择:yyy" → 列表内复选框
         - "xxx切换为:yyy" → Tab 切换
      
      效果:
      - 步骤10(列表复选框)  模式匹配成功
      - 步骤11(Tab切换)  模式匹配成功
      - 其他按钮类步骤需要在导航到对应页面后才能验证
      
      已部署到 192.168.5.60
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      f07b8861
    • 陈泽健's avatar
      docs(smart-locate): 纠正会议室选择为列表复选框,更新优化方案 · 3e4d7b85
      陈泽健 提交于
      - 步骤10不是下拉选择,是右侧会议室列表的复选框
      - 新增列表内复选框定位策略
      - 新增 Tab 切换按钮定位策略
      - 更新执行计划
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      3e4d7b85
    • 陈泽健's avatar
      docs(smart-locate): 智能定位元素选择器缺失问题分析和执行计划 · 238cd456
      陈泽健 提交于
      问题:会议管理-新建会议用例 20 个步骤中 7 个缺少选择器(35%)
      根因:关键词提取不完善、点击操作匹配优先级低、下拉选择未处理、位置限定词缺失
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      238cd456
    • 陈泽健's avatar
      feat(frontend): 模块选择器添加搜索功能 + 模块层级调整 · 54c0b13d
      陈泽健 提交于
      改进:
      1. 模块选择器添加 filterable 属性,支持输入关键字快速检索
      2. 添加 clearable 属性,支持清除选择
      3. 更新 placeholder 提示文字
      4. 模块层级调整:会议管理、数据分析、运维管理、管理看板调整为一级模块
      
      部署:
      - 前端已部署到 192.168.5.60
      - 后端模块 parentId 已通过 API 清除
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      54c0b13d
    • 陈泽健's avatar
      fix(deploy): 修正部署脚本路径 + 支持 SFTP 上传 · 402c7621
      陈泽健 提交于
      - docker-compose.yml 在 deploy/ 子目录
      - 服务器上无 git 仓库,改用 SFTP 上传文件
      - 支持参数控制只重启后端/前端
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      402c7621
    • 陈泽健's avatar
      feat(execution): UI自动化用例串行执行机制 + 修正菜单选择器 · e0fb59f9
      陈泽健 提交于
      P0 问题修复:
      
      1. 实现用例串行执行机制
         - 添加全局执行锁,确保同一时间只有一个UI执行任务运行
         - 新增 is_execution_running() / set_running_execution() 函数
         - 新增 GET /api/executions/running-status API
         - Execution 模型新增 error_message 字段
      
      2. 修正菜单选择器
         - 功能中心抽屉内没有"会议管理"和"通知公告"菜单
         - 修正为实际存在的"会议列表"和"通知统计"
         - 更新 menu_mapping.py 直接菜单列表
      
      改动文件:
      - backend/app/services/execution_service.py
      - backend/app/models/execution.py
      - backend/app/routers/executions.py
      - backend/app/utils/menu_mapping.py
      - backend/scripts/create_ui_cases_all_modules.py
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      e0fb59f9
    • 陈泽健's avatar
      docs(handoff): 更新UI自动化交接文档 - 记录2026-08-06会话进度 · 3dfd66b7
      陈泽健 提交于
      会话内容:
      - 执行记录增加【查看详情】功能
      - 为17个模块创建19个UI自动化用例
      - 智能定位执行稳定性优化(选择器修正、抽屉等待、菜单点击优化)
      - 验证结果:单独执行通过率60%,并发执行仅20%
      
      关键发现:
      - 并发执行是用例失败的主要原因(共享浏览器页面)
      - 会议管理、通知公告菜单选择器仍需排查
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      3dfd66b7
  2. 05 8月, 2026 20 次提交
  3. 04 8月, 2026 1 次提交
  4. 03 8月, 2026 9 次提交
    • 陈泽健's avatar
      feat(element-locate): 元素定位功能优化 - API增强 + 配置面板 · 46a566f2
      陈泽健 提交于
      Phase 1: 后端 API 增强
      - 新增 BatchLocateRequest 参数: page_load_timeout, extra_wait_time, wait_for_selector, retry_on_empty, max_retries
      - 新增 BatchLocateResponse 字段: elements_extracted, retries, page_load_time
      - 增强 _do_locate_with_executor 支持配置参数和重试机制
      
      Phase 2: 微前端元素提取增强
      - 优化 extract_interactive_elements 函数,增强元素去重
      - 扩展 Element UI/Vuetify/Ant Design 组件支持
      - 提取更多元素属性(data-*, title, alt, role 等)
      
      Phase 3: 前端配置面板
      - 新增获取定位配置弹窗(支持配置等待时间、重试等参数)
      - 新增预览页面按钮
      - 优化定位结果显示(元素数量、耗时、重试次数)
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      46a566f2
    • 陈泽健's avatar
      docs(ui-cases): 更新UI自动化交接文档 + 新增元素定位优化PRD和计划 · 885b901c
      陈泽健 提交于
      - 更新 HANDOFF_UI自动化.md,记录本次会话完成的所有工作
      - 新增元素定位功能优化 PRD 文档(4个用户故事)
      - 新增元素定位功能优化计划执行文档(4个阶段)
      - 记录登录用例 8/8 成功、会议用例 2/7 的测试结果
      - 记录所有踩坑和解决方案
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      885b901c
    • 陈泽健's avatar
      fix(element-locate): 修复批量定位数据库更新问题,延长超时时间 · 82c6f778
      陈泽健 提交于
      - 增加批量定位超时时间从 90s 到 300s(5分钟)
      - 每个 SSH + Claude CLI 调用约需 15-20 秒,8 步骤需 2-3 分钟
      - 修复数据库更新:直接使用 SQLAlchemy update 语句绕过 schema 校验
      - 确保 locatorType/locatorValue/selector 三个字段都正确保存
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      82c6f778
    • 陈泽健's avatar
      fix(element-locate): 始终调用 Claude CLI 进行元素定位,不再依赖置信度判断 · fbb895f8
      陈泽健 提交于
      - 去掉置信度 < 0.6 的条件判断,每次定位都调用宿主机 Claude CLI
      - Claude 返回结果与关键词算法重复时,提升置信度并标记为 Claude 确认
      - 降低 Claude 结果采纳阈值为 0.3,确保有效结果不被丢弃
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      fbb895f8
    • 陈泽健's avatar
      fix(ui-cases): 修复步骤表格不显示定位信息问题 · b2854e30
      陈泽健 提交于
      - Cases.vue 新增"定位类型"和"定位值"两列
      - 兼容多种命名格式(locatorType/locator_type/params.selector)
      - formatParams 排除 selector 字段避免重复显示
      - element_locator.py 批量定位同时写入驼峰和蛇形命名
      - 新增批量获取定位按钮(绿色),一键获取用例所有步骤定位
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      b2854e30
    • 陈泽健's avatar
      fix(device-sim): 修复设备模拟模块多个问题 · 60ae5431
      陈泽健 提交于
      1. 数据库表未创建
         - 在 models/__init__.py 中导入 EnvConfig, DeviceSimulator, ReportLog
      
      2. 嵌套路由无法渲染
         - 创建 device-sim/index.vue 和 system/index.vue 父级容器
         - 更新路由配置,为父路由添加 component 属性
      
      3. 列表不显示数据
         - 修复 request.ts 响应拦截器,返回 response.data
      
      4. MQTT连接测试失败
         - 修复 test_env_connection 状态更新逻辑
         - 测试成功后更新数据库状态
      
      5. Schema 字段名冲突
         - 将 metadata 改为 extra_attrs,避免与 SQLAlchemy MetaData 冲突
      
      6. 前端优化
         - 环境配置页面简化,去掉主题配置
         - MQTT账号密码设置默认值
      
      7. 文档更新
         - 新增 HANDOFF_设备模拟.md 交接文档
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      60ae5431
    • 陈泽健's avatar
      feat: 本地元素定位功能 - 实际访问页面获取真实元素定位器 · 5848a57b
      陈泽健 提交于
      新增本地元素定位 API,通过 Playwright 实际访问被测页面,提取真实元素定位器:
      - backend/app/routers/element_locator.py: 新增 /api/element/locate 端点,支持 auto_login 和 micro-app 微前端
      - backend/app/main.py: 注册 element_locator 路由
      - frontend/src/api/elementLocate.ts: 新增前端元素定位 API 接口
      - frontend/src/components/IntentStepEditor.vue: 修改 handleLocate 调用本地 API,简化流程
      
      优势:本地开发可用,无需容器化部署;响应更快;支持离线使用
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      5848a57b
    • 陈泽健's avatar
      feat(device-sim): 优化环境配置新增弹窗用户体验 · b0f0d211
      陈泽健 提交于
      - MQTT 账号密码设置默认值(mqtt@cmdb / mqtt@webpassw0RD)
      - 主题配置移至高级选项折叠面板,简化表单布局
      - 优化表单字段顺序,突出核心配置项
      - 新增折叠面板样式,提升用户体验
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      b0f0d211
    • 陈泽健's avatar
      fix(device-sim): 修复设备模拟模块数据库表未创建问题 · f7f85ad9
      陈泽健 提交于
      - 在 models/__init__.py 中导入 EnvConfig, DeviceSimulator, ReportLog 模型
      - 确保 SQLAlchemy Base.metadata 注册设备模拟相关表
      - 解决新增环境配置后列表显示暂无数据的问题
      Co-Authored-By: 's avatarClaude <noreply@anthropic.com>
      f7f85ad9