Files
ctbjrj/.zcode/plans/plan-sess_1f36d213-6b52-4aa3-8954-2ffd6d5c98c2.md
T

4.8 KiB
Raw Blame History

方案:AI 快筛异常断路器 + 选型页可视化替换流水线(快+准,不走 SQL)

一、需求拆解(按你的原话)

  1. 快筛+理解判断:AI 从选型页规格文本里筛出塑壳/微型断路器中文本异常的行(如 CDM3S-400F/3300400A 壳架电流粘连、NM1-125/3300 100A 脱扣码混写、疑似断路器但写法怪异),由 LLM 理解判断(不是死规则)它是不是断路器、异常在哪、正确型号应是什么
  2. 不直接操作数据库:替换不走 SQL UPDATE,改走软件选型页的编辑业务链路(与你手改选型页单元格完全同一条链)
  3. AI 点击选型界面对应行:AI 选中选型页那行(你能看到行被选中、下方明细联动)——"页面定位"
  4. 元件库负责选型取价:元件库页面上选规格/读真实价格(页面真实渲染值),替换动作回到选型页执行
  5. 元件库快速定位:AI 在元件库页面快速定位目标系列/壳架/极数/电流(含反向:按软件选型行的规格在页面上自动选中对应选项)

二、总体架构(三阶段流水线)

阶段① AI 理解筛选(秒级,一次 LLM 调用)
  GET /api/xuanxing 全量清单
  → 正则快筛可疑特征(电流粘连/3300后无空格/壳架>2000/前缀不在常见表…)缩小范围
  → GLM 批量理解判断:是断路器吗?异常类型?推断正确壳架/极数/电流
  → 产出《异常行清单+修正方案》给用户过目

阶段② 元件库取价(每行 1 次往返,~100ms)
  /api/page 发一条组合 JS(在元件库页面上下文里):
    fetch 页面同款接口拉目标系列价格平表(签名由技能脚本本地生成)
    → 页面内解码 → 返回 壳架×极数×电流×价格 平表
  (可再发一条点击 JS 把对应选项点上——你要"看得见"就点,追求速度就跳过点击)
  → AI 按①的修正方案在平表里匹配 → 得到页面真实型号/价格/品名

阶段③ 选型页替换(走编辑链路,零 SQL,你能看到全过程)
  POST /api/selectselection {name,guige}   → 选型页该行被选中+滚动可见+下方明细联动(AI 的"手指"点在选型界面)
  POST /api/editselection {定位键+新值}      → 复刻"你在选型页手改单元格":
      写 元件名称/规格/表价/采购系数/品牌/系列 → RecalcSelectionRow 行内重算
      → _selectionSummaryDirty 置脏 → SyncSelectionChangesToDb()(现有方法:按名称+规格全项目同步,
        ★SET 天然不含数量列)→ RefreshQuotePageAfterSelectionEdit(报价页/项目汇总刷新)
  → 选型页立即显示新值(绑定表就是显示表)

三、改动清单

1. AI助手接口.cs 新增两接口(零新 SQL,全部复用现有业务方法):

  • /api/selectselection:UI Invoke 里遍历 _selectionSummaryTable 匹配行 → advancedDataGridView1.CurrentCell 选中 + FirstDisplayedScrollingRowIndex 滚动可见(自然触发 SelectionChanged→明细联动)
  • /api/editselection:body={jiu_name,jiu_guige, xin_name?,xin_guige,xin_biaojia,xin_xishu,xin_pinpai,xin_xilie};定位行→逐列赋值(类型按列转换)→ RecalcSelectionRow(i) → 置脏 → SyncSelectionChangesToDb() → RefreshQuotePageAfterSelectionEdit();拒绝任何数量字段(铁律);找不到定位行返回明确错误
  • 新 SQL:无(SyncSelectionChangesToDb 为现有基线方法,其 UPDATE 本就全参数化且 SET 无数量列)

2. 技能 SKILL.md 重写工作流(dqb-xuanxing v3):

  • 阶段①的快筛正则清单+LLM 判断提示词模板(一次批量判断,禁逐行问模型)
  • 阶段②页面上下文取价 JS 模板(fetch+页面内解码平表,附现成片段;点选项作为可选视觉步骤)
  • 阶段③ select+edit 组合节奏(每行两次 HTTP)
  • 铁律不变:fenlei 只认塑壳/微型;数量绝不碰;结果对照表汇报

3. 保留兼容:/api/replaceall 保留(老路线备用),页面替换按钮链路不动

四、验证标准

  1. csc 零错误;selectselection 点中行后选型页可见选中+明细联动(日志+用户目视)
  2. editselection 替换一行:选型页立即变新值、库内全项目同名行同步、数量逐位不变、派生价正确——全走 SyncSelectionChangesToDb(diag 日志"[选型页] 已把 N 条元件修改写入数据库"为证)
  3. 端到端:真实项目跑一轮"筛异常→取价→替换"(含 CDM3S-400F/3300400A 这类粘连行),修正为规范型号
  4. 速度:50 行异常行全流程 ≤ 2 分钟(筛选 1 次 LLM + 每行 3 次 HTTP)

五、明确不做

  • 不写任何新 SQL(Mimosa 参数绑定约束天然满足)
  • 不动选型页现有 UI/编辑逻辑(纯复用)
  • 不自动改"类型列"(保持原值,分类防线照旧)