[
  {
    "script_name": "Builder_user.js",
    "display_name": "Builder - 数据录入自动化",
    "versions": [
      {
        "version": "v2.5.9",
        "date": "2026-05-07",
        "summary": "| Select & Auto-Map | 2.5.9 | `@grant none` → `GM_xmlhttpRequest` |",
        "details": "| Select & Auto-Map | 2.5.9 | `@grant none` → `GM_xmlhttpRequest` |",
        "author": "Will"
      },
      {
        "version": "v2.5.10",
        "date": "2026-05-07",
        "summary": "| Select & Auto-Map | 2.5.10 |",
        "details": "| Select & Auto-Map | 2.5.10 |",
        "author": "Will"
      },
      {
        "version": "v2.6.3",
        "date": "2026-05-21",
        "summary": "你确认 Builder 的提醒也没收到吗？还是说你实际上只没收到过某些特定脚本的？另外 `Super Copy` 在 JSON 里有（2.6.3）但 localStorage 里没注册——这个脚本确实不会提醒。",
        "details": "你确认 Builder 的提醒也没收到吗？还是说你实际上只没收到过某些特定脚本的？另外 `Super Copy` 在 JSON 里有（2.6.3）但 localStorage 里没注册——这个脚本确实不会提醒。",
        "author": "Will"
      },
      {
        "version": "v2.22.3",
        "date": "2026-05-21",
        "summary": "\"Hotkeys\": \"2.22.3\",",
        "details": "\"Hotkeys\": \"2.22.3\",",
        "author": "Will"
      },
      {
        "version": "v3.5.2",
        "date": "2026-04-20",
        "summary": "**v3.5.2 语法检查通过。** 改动：",
        "details": "**v3.5.2 语法检查通过。** 改动：",
        "author": "Will"
      },
      {
        "version": "v3.7",
        "date": "2026-05-07",
        "summary": "\"NED Scope Builder\": \"3.7.x\",",
        "details": "\"NED Scope Builder\": \"3.7.x\",",
        "author": "Will"
      },
      {
        "version": "v3.7.2",
        "date": "2026-05-07",
        "summary": "| NED Scope Builder | 3.7.2 | 补加了 `dav.jianguoyun.com` |",
        "details": "| NED Scope Builder | 3.7.2 | 补加了 `dav.jianguoyun.com` |",
        "author": "Will"
      },
      {
        "version": "v3.7.3",
        "date": "2026-05-07",
        "summary": "| NED Scope Builder | 3.7.3 |",
        "details": "| NED Scope Builder | 3.7.3 |",
        "author": "Will"
      },
      {
        "version": "v3.7.4",
        "date": "2026-05-07",
        "summary": "| NED Scope Builder | 3.7.4 |",
        "details": "| NED Scope Builder | 3.7.4 |",
        "author": "Will"
      },
      {
        "version": "v3.7.18",
        "date": "2026-05-07",
        "summary": "| Highlighter | 3.7.18 |",
        "details": "| Highlighter | 3.7.18 |",
        "author": "Will"
      },
      {
        "version": "v4.2.5",
        "date": "2026-05-17",
        "summary": "v4.2.5 — 删除了 `_extractCapacities` 和 `cleanProd` 之间多出的一个 `}`，这个多余的闭合花括号提前关闭了外层函数作用域，导致后面的 `function` 声明出现在非法位置 → `SyntaxError`。`node -c` 语法检查已通过。",
        "details": "v4.2.5 — 删除了 `_extractCapacities` 和 `cleanProd` 之间多出的一个 `}`，这个多余的闭合花括号提前关闭了外层函数作用域，导致后面的 `function` 声明出现在非法位置 → `SyntaxError`。`node -c` 语法检查已通过。",
        "author": "Will"
      },
      {
        "version": "v4.2.45",
        "date": "2026-05-21",
        "summary": "\"Builder\": \"4.2.45\",",
        "details": "\"Builder\": \"4.2.45\",",
        "author": "Will"
      },
      {
        "version": "v4.4.74",
        "date": "2026-06-10",
        "summary": "**Builder v4.4.74** 已就绪,`node --check` + `new Function()` 双重验证通过。五处改动:",
        "details": "**Builder v4.4.74** 已就绪,`node --check` + `new Function()` 双重验证通过。五处改动:",
        "author": "Will"
      },
      {
        "version": "v4.4.75",
        "date": "2026-06-10",
        "summary": "**Builder v4.4.75** 已就绪。v4.4.74 失败的原因找到了——所有防护都被 `safeSetParserLatest` 里的 **TYC 保留逻辑\"洗白\"** 了:",
        "details": "**Builder v4.4.75** 已就绪。v4.4.74 失败的原因找到了——所有防护都被 `safeSetParserLatest` 里的 **TYC 保留逻辑\"洗白\"** 了:",
        "author": "Will"
      },
      {
        "version": "v5.33",
        "date": "2026-05-07",
        "summary": "\"Review Points for Project\": \"5.33.x\",",
        "details": "\"Review Points for Project\": \"5.33.x\",",
        "author": "Will"
      },
      {
        "version": "v5.33.53",
        "date": "2026-05-07",
        "summary": "| Review Points for Project | 5.33.53 | 补加了 `GM_xmlhttpRequest` |",
        "details": "| Review Points for Project | 5.33.53 | 补加了 `GM_xmlhttpRequest` |",
        "author": "Will"
      },
      {
        "version": "v5.33.54",
        "date": "2026-05-07",
        "summary": "| Review Points for Project | 5.33.54 |",
        "details": "| Review Points for Project | 5.33.54 |",
        "author": "Will"
      },
      {
        "version": "v5.33.55",
        "date": "2026-05-07",
        "summary": "| Review Points for Project | 5.33.55 |",
        "details": "| Review Points for Project | 5.33.55 |",
        "author": "Will"
      },
      {
        "version": "v7.17",
        "date": "2026-05-07",
        "summary": "\"Review Points for Plant Area Unit Company Site\": \"7.17.x\",",
        "details": "\"Review Points for Plant Area Unit Company Site\": \"7.17.x\",",
        "author": "Will"
      },
      {
        "version": "v7.17.0",
        "date": "2026-04-20",
        "summary": "**v7.17.0 语法检查通过。** 关键逻辑说明：",
        "details": "**v7.17.0 语法检查通过。** 关键逻辑说明：",
        "author": "Will"
      },
      {
        "version": "v7.17.11",
        "date": "2026-05-07",
        "summary": "| Review Points for Plant Area Unit Company Site | 7.17.11 | 已完成 |",
        "details": "| Review Points for Plant Area Unit Company Site | 7.17.11 | 已完成 |",
        "author": "Will"
      },
      {
        "version": "v7.17.12",
        "date": "2026-05-07",
        "summary": "| Review Points for Plant Area Unit Company Site | 7.17.12 |",
        "details": "| Review Points for Plant Area Unit Company Site | 7.17.12 |",
        "author": "Will"
      },
      {
        "version": "v7.17.13",
        "date": "2026-05-07",
        "summary": "| Review Points for Plant Area Unit Company Site | 7.17.13 |",
        "details": "| Review Points for Plant Area Unit Company Site | 7.17.13 |",
        "author": "Will"
      },
      {
        "version": "v7.18.2",
        "date": "2026-05-21",
        "summary": "\"Review Points for Plant Area Unit Company Site\": \"7.18.2\",",
        "details": "\"Review Points for Plant Area Unit Company Site\": \"7.18.2\",",
        "author": "Will"
      },
      {
        "version": "v7.18.47",
        "date": "2026-07-02",
        "summary": "可以实现,已经改好了(v7.18.47)。",
        "details": "可以实现,已经改好了(v7.18.47)。",
        "author": "Will"
      },
      {
        "version": "v7.18.48",
        "date": "2026-07-02",
        "summary": "已实现(v7.18.48)。核心改动就一行:",
        "details": "已实现(v7.18.48)。核心改动就一行:",
        "author": "Will"
      },
      {
        "version": "v10.43",
        "date": "2026-05-07",
        "summary": "| Brush | 10.43 | `@grant none` → `GM_xmlhttpRequest` |",
        "details": "| Brush | 10.43 | `@grant none` → `GM_xmlhttpRequest` |",
        "author": "Will"
      },
      {
        "version": "v10.44",
        "date": "2026-05-07",
        "summary": "| Brush | 10.44 |",
        "details": "| Brush | 10.44 |",
        "author": "Will"
      },
      {
        "version": "v10.45",
        "date": "2026-05-07",
        "summary": "| Brush | 10.45 |",
        "details": "| Brush | 10.45 |",
        "author": "Will"
      }
    ],
    "tags": [
      "数据录入",
      "表单自动化",
      "Tampermonkey"
    ]
  },
  {
    "script_name": "Review_Points_for_Plant_Area_Unit_Company_Site_user.js",
    "display_name": "Review Points - 厂区/单位/公司评审",
    "versions": [
      {
        "version": "v0.5",
        "date": "2026-01-29",
        "summary": "从搜索结果中我可以看到代码里已经有了tooltip的实现，但设置的是0.5秒消失。用户现在要求改为1.5秒。",
        "details": "从搜索结果中我可以看到代码里已经有了tooltip的实现，但设置的是0.5秒消失。用户现在要求改为1.5秒。",
        "author": "Will"
      },
      {
        "version": "v0.45",
        "date": "2026-04-01",
        "summary": "Plant 脚本的 badge 是**常驻显示**（count=0 时只变灰 `opacity: 0.45`），Project 脚本是 count=0 才隐藏。两个都没有检测 `btn-record-save` 按钮。",
        "details": "Plant 脚本的 badge 是**常驻显示**（count=0 时只变灰 `opacity: 0.45`），Project 脚本是 count=0 才隐藏。两个都没有检测 `btn-record-save` 按钮。",
        "author": "Will"
      },
      {
        "version": "v0.929175",
        "date": "2025-12-16",
        "summary": "- Green Hydrogen: multiply: [0.929175, 1.179869], format: 'double', units: ['Metric T/yr', 'Nm3/h']",
        "details": "- Green Hydrogen: multiply: [0.929175, 1.179869], format: 'double', units: ['Metric T/yr', 'Nm3/h']",
        "author": "Will"
      },
      {
        "version": "v1.5",
        "date": "2026-01-29",
        "summary": "第一 Unit页面的Converter复制结果时需要一个Tooltip提示1.5s后消失 调用PY修改脚本 只给我修改后的脚本 不需要其他文件",
        "details": "第一 Unit页面的Converter复制结果时需要一个Tooltip提示1.5s后消失 调用PY修改脚本 只给我修改后的脚本 不需要其他文件",
        "author": "Will"
      },
      {
        "version": "v1.8",
        "date": "2026-04-01",
        "summary": "**触发行为**：检测到匹配项时 block F1，把 CORR 按钮变红闪烁显示 `CORR first!`，1.8 秒后恢复",
        "details": "**触发行为**：检测到匹配项时 block F1，把 CORR 按钮变红闪烁显示 `CORR first!`，1.8 秒后恢复",
        "author": "Will"
      },
      {
        "version": "v1.8.0",
        "date": "2026-01-07",
        "summary": "版本更新至 1.8.0",
        "details": "版本更新至 1.8.0",
        "author": "Will"
      },
      {
        "version": "v2.0.1",
        "date": "2026-01-07",
        "summary": "版本更新至 2.0.1",
        "details": "版本更新至 2.0.1",
        "author": "Will"
      },
      {
        "version": "v2.1.1",
        "date": "2026-01-07",
        "summary": "版本更新至 2.1.1",
        "details": "版本更新至 2.1.1",
        "author": "Will"
      },
      {
        "version": "v2.1.2",
        "date": "2026-01-07",
        "summary": "版本更新至 2.1.2",
        "details": "版本更新至 2.1.2",
        "author": "Will"
      },
      {
        "version": "v2.1.3",
        "date": "2026-01-07",
        "summary": "版本更新至 2.1.3",
        "details": "版本更新至 2.1.3",
        "author": "Will"
      },
      {
        "version": "v2.1.4",
        "date": "2026-01-07",
        "summary": "版本更新至 2.1.4",
        "details": "版本更新至 2.1.4",
        "author": "Will"
      },
      {
        "version": "v2.1.5",
        "date": "2026-01-07",
        "summary": "版本更新至 2.1.5",
        "details": "版本更新至 2.1.5",
        "author": "Will"
      },
      {
        "version": "v2.2.0",
        "date": "2026-01-07",
        "summary": "版本更新至 2.2.0",
        "details": "版本更新至 2.2.0",
        "author": "Will"
      },
      {
        "version": "v2.15.40",
        "date": "2026-04-01",
        "summary": "**`Hotkeys_user.js` v2.15.40**",
        "details": "**`Hotkeys_user.js` v2.15.40**",
        "author": "Will"
      },
      {
        "version": "v2.15.44",
        "date": "2026-04-01",
        "summary": "**v2.15.44** 三处修改：",
        "details": "**v2.15.44** 三处修改：",
        "author": "Will"
      },
      {
        "version": "v2.15.45",
        "date": "2026-04-01",
        "summary": "**v2.15.45**，改动说明：",
        "details": "**v2.15.45**，改动说明：",
        "author": "Will"
      },
      {
        "version": "v2.15.46",
        "date": "2026-04-01",
        "summary": "**v2.15.46**，完整重写了 Guard 逻辑：",
        "details": "**v2.15.46**，完整重写了 Guard 逻辑：",
        "author": "Will"
      },
      {
        "version": "v2.15.47",
        "date": "2026-04-01",
        "summary": "**`Hotkeys_user.js` v2.15.47**：Guard 改为读 `window._plantDetailErrors`（Plant 脚本写入）和 `window._lastErrorLines`（Project 脚本写入），两者都是每次渲染时更新的完整 Detail 错误数组，与当前显示模式无关。",
        "details": "**`Hotkeys_user.js` v2.15.47**：Guard 改为读 `window._plantDetailErrors`（Plant 脚本写入）和 `window._lastErrorLines`（Project 脚本写入），两者都是每次渲染时更新的完整 Detail 错误数组，与当前显示模式无关。",
        "author": "Will"
      },
      {
        "version": "v2.15.48",
        "date": "2026-04-01",
        "summary": "- **Hotkeys v2.15.48**：Guard 通过 `const _uw = typeof unsafeWindow !== 'undefined' ? unsafeWindow : window` 统一访问，先读 `_uw._plantDetailErrors`（Plant/Area/Unit/CS），再读 `_uw._lastErrorLines`（Project），最后 fall",
        "details": "- **Hotkeys v2.15.48**：Guard 通过 `const _uw = typeof unsafeWindow !== 'undefined' ? unsafeWindow : window` 统一访问，先读 `_uw._plantDetailErrors`（Plant/Area/Unit/CS），再读 `_uw._lastErrorLines`（Project），最后 fall",
        "author": "Will"
      },
      {
        "version": "v2.15.62",
        "date": "2026-04-07",
        "summary": "**Hotkeys v2.15.62** — `onCorrFinishedEvent` 重写：",
        "details": "**Hotkeys v2.15.62** — `onCorrFinishedEvent` 重写：",
        "author": "Will"
      },
      {
        "version": "v2.15.64",
        "date": "2026-04-07",
        "summary": "- **Hotkeys**: v2.15.64",
        "details": "- **Hotkeys**: v2.15.64",
        "author": "Will"
      },
      {
        "version": "v2.125",
        "date": "2025-11-25",
        "summary": "另外 对于 <input _ngcontent-ng-c1094235820=\"\" type=\"text\" pinputtext=\"\" formcontrolname=\"plantName\" maxlength=\"60\" tabindex=\"3\" spellcheckdirective=\"\" class=\"form__input-field-style w-full ng-untouched ng",
        "details": "另外 对于 <input _ngcontent-ng-c1094235820=\"\" type=\"text\" pinputtext=\"\" formcontrolname=\"plantName\" maxlength=\"60\" tabindex=\"3\" spellcheckdirective=\"\" class=\"form__input-field-style w-full ng-untouched ng",
        "author": "Will"
      },
      {
        "version": "v4.1",
        "date": "2026-04-01",
        "summary": "完全清楚了，现在做修改。在化学名 mask 之后、4.1 检查之前，加入公司名 mask：",
        "details": "完全清楚了，现在做修改。在化学名 mask 之后、4.1 检查之前，加入公司名 mask：",
        "author": "Will"
      },
      {
        "version": "v4.2",
        "date": "2026-04-01",
        "summary": "1. **`NordKra` 加入 camelCase whitelist**（4.2 检测段）— 不再触发 `Missing space: NordKra` 误报",
        "details": "1. **`NordKra` 加入 camelCase whitelist**（4.2 检测段）— 不再触发 `Missing space: NordKra` 误报",
        "author": "Will"
      },
      {
        "version": "v5.5.15",
        "date": "2025-12-29",
        "summary": "完成! **v5.5.15** 已更新:",
        "details": "完成! **v5.5.15** 已更新:",
        "author": "Will"
      },
      {
        "version": "v5.5.16",
        "date": "2025-12-29",
        "summary": "### 第二次修改 (v5.5.16)",
        "details": "### 第二次修改 (v5.5.16)",
        "author": "Will"
      },
      {
        "version": "v5.9.5",
        "date": "2026-01-01",
        "summary": "// @version 5.9.5 Strip HTML Tags",
        "details": "// @version 5.9.5 Strip HTML Tags",
        "author": "Will"
      },
      {
        "version": "v5.9.38",
        "date": "2025-11-25",
        "summary": "[查看完整文件](computer:///mnt/user-data/outputs/Plant_Review_Points_v5.9.38_Shutdown_Date_Added.txt)",
        "details": "[查看完整文件](computer:///mnt/user-data/outputs/Plant_Review_Points_v5.9.38_Shutdown_Date_Added.txt)",
        "author": "Will"
      },
      {
        "version": "v5.9.39",
        "date": "2025-11-25",
        "summary": "[查看完整文件](computer:///mnt/user-data/outputs/Plant_Review_Points_v5.9.39_FeedProduct_Added.txt)",
        "details": "[查看完整文件](computer:///mnt/user-data/outputs/Plant_Review_Points_v5.9.39_FeedProduct_Added.txt)",
        "author": "Will"
      },
      {
        "version": "v5.9.40",
        "date": "2025-11-25",
        "summary": "[查看完整文件](computer:///mnt/user-data/outputs/Plant_Review_Points_v5.9.40_Fixed.txt)",
        "details": "[查看完整文件](computer:///mnt/user-data/outputs/Plant_Review_Points_v5.9.40_Fixed.txt)",
        "author": "Will"
      },
      {
        "version": "v5.9.41",
        "date": "2025-11-25",
        "summary": "[查看完整文件](computer:///mnt/user-data/outputs/Plant_Review_Points_v5.9.41_Stabilized.txt)",
        "details": "[查看完整文件](computer:///mnt/user-data/outputs/Plant_Review_Points_v5.9.41_Stabilized.txt)",
        "author": "Will"
      },
      {
        "version": "v5.9.42",
        "date": "2025-11-25",
        "summary": "[查看完整文件](computer:///mnt/user-data/outputs/Plant_Review_Points_v5.9.42_Fixed.txt)",
        "details": "[查看完整文件](computer:///mnt/user-data/outputs/Plant_Review_Points_v5.9.42_Fixed.txt)",
        "author": "Will"
      },
      {
        "version": "v5.9.43",
        "date": "2025-11-25",
        "summary": "[查看完整文件](computer:///mnt/user-data/outputs/Plant_Review_Points_v5.9.43_ProductDesc.txt)",
        "details": "[查看完整文件](computer:///mnt/user-data/outputs/Plant_Review_Points_v5.9.43_ProductDesc.txt)",
        "author": "Will"
      },
      {
        "version": "v5.9.44",
        "date": "2025-11-25",
        "summary": "[查看完整文件](computer:///mnt/user-data/outputs/Plant_Review_Points_v5.9.44.txt)",
        "details": "[查看完整文件](computer:///mnt/user-data/outputs/Plant_Review_Points_v5.9.44.txt)",
        "author": "Will"
      },
      {
        "version": "v5.18.0",
        "date": "2026-01-29",
        "summary": "完成了！现在让我总结一下修改内容。✅ **已完成！Project 页面 Unit Converter v5.18.0**",
        "details": "完成了！现在让我总结一下修改内容。✅ **已完成！Project 页面 Unit Converter v5.18.0**",
        "author": "Will"
      },
      {
        "version": "v5.32.11",
        "date": "2026-03-26",
        "summary": "**v5.32.11**，一行改动解决问题。",
        "details": "**v5.32.11**，一行改动解决问题。",
        "author": "Will"
      },
      {
        "version": "v5.32.12",
        "date": "2026-03-26",
        "summary": "**v5.32.12**，改动只在 Direction 1 的判断条件：",
        "details": "**v5.32.12**，改动只在 Direction 1 的判断条件：",
        "author": "Will"
      },
      {
        "version": "v5.32.13",
        "date": "2026-03-26",
        "summary": "**v5.32.13**，修改说明：",
        "details": "**v5.32.13**，修改说明：",
        "author": "Will"
      },
      {
        "version": "v5.32.19",
        "date": "2026-03-26",
        "summary": "**v5.32.19**，三项改动：",
        "details": "**v5.32.19**，三项改动：",
        "author": "Will"
      },
      {
        "version": "v5.32.21",
        "date": "2026-03-26",
        "summary": "**v5.32.21**，行为说明：",
        "details": "**v5.32.21**，行为说明：",
        "author": "Will"
      },
      {
        "version": "v5.32.22",
        "date": "2026-03-26",
        "summary": "**v5.32.22**，三层防护：",
        "details": "**v5.32.22**，三层防护：",
        "author": "Will"
      },
      {
        "version": "v5.32.23",
        "date": "2026-03-26",
        "summary": "**v5.32.23**，改动汇总：",
        "details": "**v5.32.23**，改动汇总：",
        "author": "Will"
      },
      {
        "version": "v5.32.30",
        "date": "2026-03-26",
        "summary": "**v5.32.30**，与 Plant 脚本逻辑完全一致：同一 ID 多次点击 Copy Errors，错误内容追加在同一条记录的第二行末尾，不新增行，不新增 ID 记录。",
        "details": "**v5.32.30**，与 Plant 脚本逻辑完全一致：同一 ID 多次点击 Copy Errors，错误内容追加在同一条记录的第二行末尾，不新增行，不新增 ID 记录。",
        "author": "Will"
      },
      {
        "version": "v5.32.70",
        "date": "2026-04-01",
        "summary": "**Project 脚本（5.32.70）**：",
        "details": "**Project 脚本（5.32.70）**：",
        "author": "Will"
      },
      {
        "version": "v5.32.71",
        "date": "2026-04-01",
        "summary": "**v5.32.71** 两处修改：",
        "details": "**v5.32.71** 两处修改：",
        "author": "Will"
      },
      {
        "version": "v5.32.72",
        "date": "2026-04-01",
        "summary": "**`Review_Points_for_Project_user.js` v5.32.72**",
        "details": "**`Review_Points_for_Project_user.js` v5.32.72**",
        "author": "Will"
      },
      {
        "version": "v5.32.73",
        "date": "2026-04-01",
        "summary": "**`Review_Points_for_Project_user.js` v5.32.73**，只修改这一个文件。",
        "details": "**`Review_Points_for_Project_user.js` v5.32.73**，只修改这一个文件。",
        "author": "Will"
      },
      {
        "version": "v5.32.79",
        "date": "2026-04-07",
        "summary": "| Review Points for Project | 5.32.79 → **5.32.80** | `performCorrection` 的 `finally` 块 | 在 `isApplyingCorrections = false` 之后 dispatch `corr-finished` 事件 |",
        "details": "| Review Points for Project | 5.32.79 → **5.32.80** | `performCorrection` 的 `finally` 块 | 在 `isApplyingCorrections = false` 之后 dispatch `corr-finished` 事件 |",
        "author": "Will"
      },
      {
        "version": "v5.32.81",
        "date": "2026-04-07",
        "summary": "**修复策略（改 Review Points，v5.32.81 → v5.32.82）：**",
        "details": "**修复策略（改 Review Points，v5.32.81 → v5.32.82）：**",
        "author": "Will"
      },
      {
        "version": "v5.32.83",
        "date": "2026-04-07",
        "summary": "**v5.32.83，核心改动说明：**",
        "details": "**v5.32.83，核心改动说明：**",
        "author": "Will"
      },
      {
        "version": "v5.32.84",
        "date": "2026-04-07",
        "summary": "**Review Points v5.32.84** — Step 10 简化：",
        "details": "**Review Points v5.32.84** — Step 10 简化：",
        "author": "Will"
      },
      {
        "version": "v5.32.86",
        "date": "2026-04-07",
        "summary": "**Review Points v5.32.86** — `autoFillReviewDate` 收尾新增 overlay 收起确认：",
        "details": "**Review Points v5.32.86** — `autoFillReviewDate` 收尾新增 overlay 收起确认：",
        "author": "Will"
      },
      {
        "version": "v5.32.87",
        "date": "2026-04-07",
        "summary": "**v5.32.87，改动说明**",
        "details": "**v5.32.87，改动说明**",
        "author": "Will"
      },
      {
        "version": "v5.32.88",
        "date": "2026-04-08",
        "summary": "| Project | **v5.32.88** |",
        "details": "| Project | **v5.32.88** |",
        "author": "Will"
      },
      {
        "version": "v6.0.0",
        "date": "2025-11-25",
        "summary": "[查看完整文件](computer:///mnt/user-data/outputs/Plant_Review_Points_v6.0.0_Merged.txt)",
        "details": "[查看完整文件](computer:///mnt/user-data/outputs/Plant_Review_Points_v6.0.0_Merged.txt)",
        "author": "Will"
      },
      {
        "version": "v6.0.1",
        "date": "2025-11-25",
        "summary": "[查看完整文件](computer:///mnt/user-data/outputs/Plant_Review_Points_v6.0.1_Fixed.txt)",
        "details": "[查看完整文件](computer:///mnt/user-data/outputs/Plant_Review_Points_v6.0.1_Fixed.txt)",
        "author": "Will"
      },
      {
        "version": "v6.0.2",
        "date": "2025-11-25",
        "summary": "[查看完整文件](computer:///mnt/user-data/outputs/Plant_Review_Points_v6.0.2_ContactCheck.txt)",
        "details": "[查看完整文件](computer:///mnt/user-data/outputs/Plant_Review_Points_v6.0.2_ContactCheck.txt)",
        "author": "Will"
      },
      {
        "version": "v6.0.3",
        "date": "2025-11-25",
        "summary": "[查看完整文件](computer:///mnt/user-data/outputs/Plant_Review_Points_v6.0.3_UnifiedUI.txt)",
        "details": "[查看完整文件](computer:///mnt/user-data/outputs/Plant_Review_Points_v6.0.3_UnifiedUI.txt)",
        "author": "Will"
      },
      {
        "version": "v6.0.4",
        "date": "2025-11-25",
        "summary": "[查看完整文件](computer:///mnt/user-data/outputs/Plant_Review_Points_v6.0.4_GrassrootFixed.txt)",
        "details": "[查看完整文件](computer:///mnt/user-data/outputs/Plant_Review_Points_v6.0.4_GrassrootFixed.txt)",
        "author": "Will"
      },
      {
        "version": "v6.0.5",
        "date": "2025-11-25",
        "summary": "[查看完整文件](computer:///mnt/user-data/outputs/Review_Points_v6.0.5.txt)",
        "details": "[查看完整文件](computer:///mnt/user-data/outputs/Review_Points_v6.0.5.txt)",
        "author": "Will"
      },
      {
        "version": "v6.0.6",
        "date": "2025-11-25",
        "summary": "[查看完整文件](computer:///mnt/user-data/outputs/Review_Points_v6.0.6.txt)",
        "details": "[查看完整文件](computer:///mnt/user-data/outputs/Review_Points_v6.0.6.txt)",
        "author": "Will"
      },
      {
        "version": "v6.0.7",
        "date": "2025-11-25",
        "summary": "[查看完整文件](computer:///mnt/user-data/outputs/Review_Points_v6.0.7.txt)",
        "details": "[查看完整文件](computer:///mnt/user-data/outputs/Review_Points_v6.0.7.txt)",
        "author": "Will"
      },
      {
        "version": "v6.0.8",
        "date": "2025-11-25",
        "summary": "[查看完整文件](computer:///mnt/user-data/outputs/Review_Points_v6.0.8.txt)",
        "details": "[查看完整文件](computer:///mnt/user-data/outputs/Review_Points_v6.0.8.txt)",
        "author": "Will"
      },
      {
        "version": "v6.0.9",
        "date": "2025-11-25",
        "summary": "[查看完整文件](computer:///mnt/user-data/outputs/Review_Points_v6.0.9.txt)",
        "details": "[查看完整文件](computer:///mnt/user-data/outputs/Review_Points_v6.0.9.txt)",
        "author": "Will"
      },
      {
        "version": "v6.1.0",
        "date": "2025-11-25",
        "summary": "[查看完整文件](computer:///mnt/user-data/outputs/Review_Points_v6.1.0.txt)",
        "details": "[查看完整文件](computer:///mnt/user-data/outputs/Review_Points_v6.1.0.txt)",
        "author": "Will"
      },
      {
        "version": "v6.1.1",
        "date": "2025-11-25",
        "summary": "[查看完整文件](computer:///mnt/user-data/outputs/Review_Points_v6.1.1.txt)",
        "details": "[查看完整文件](computer:///mnt/user-data/outputs/Review_Points_v6.1.1.txt)",
        "author": "Will"
      },
      {
        "version": "v6.1.2",
        "date": "2025-11-25",
        "summary": "[查看完整文件](computer:///mnt/user-data/outputs/Review_Points_v6.1.2.txt)",
        "details": "[查看完整文件](computer:///mnt/user-data/outputs/Review_Points_v6.1.2.txt)",
        "author": "Will"
      },
      {
        "version": "v6.1.3",
        "date": "2025-11-25",
        "summary": "[查看完整文件](computer:///mnt/user-data/outputs/Review_Points_v6.1.3.txt)",
        "details": "[查看完整文件](computer:///mnt/user-data/outputs/Review_Points_v6.1.3.txt)",
        "author": "Will"
      },
      {
        "version": "v6.1.4",
        "date": "2025-11-25",
        "summary": "[查看完整文件](computer:///mnt/user-data/outputs/Review_Points_v6.1.4.txt)",
        "details": "[查看完整文件](computer:///mnt/user-data/outputs/Review_Points_v6.1.4.txt)",
        "author": "Will"
      },
      {
        "version": "v6.1.5",
        "date": "2025-11-25",
        "summary": "[查看完整文件](computer:///mnt/user-data/outputs/Review_Points_v6.1.5.txt)",
        "details": "[查看完整文件](computer:///mnt/user-data/outputs/Review_Points_v6.1.5.txt)",
        "author": "Will"
      },
      {
        "version": "v6.1.6",
        "date": "2025-11-25",
        "summary": "[查看文件](computer:///mnt/user-data/outputs/Review_Points_v6.1.6.txt)",
        "details": "[查看文件](computer:///mnt/user-data/outputs/Review_Points_v6.1.6.txt)",
        "author": "Will"
      },
      {
        "version": "v6.1.7",
        "date": "2025-11-25",
        "summary": "[查看文件](computer:///mnt/user-data/outputs/Review_Points_v6.1.7.txt)",
        "details": "[查看文件](computer:///mnt/user-data/outputs/Review_Points_v6.1.7.txt)",
        "author": "Will"
      },
      {
        "version": "v6.1.8",
        "date": "2025-11-25",
        "summary": "[查看更新后的文件](computer:///mnt/user-data/outputs/Review_Points_v6.1.8.txt)",
        "details": "[查看更新后的文件](computer:///mnt/user-data/outputs/Review_Points_v6.1.8.txt)",
        "author": "Will"
      },
      {
        "version": "v6.1.9",
        "date": "2025-11-25",
        "summary": "[查看更新后的文件](computer:///mnt/user-data/outputs/Review_Points_v6.1.9.txt)",
        "details": "[查看更新后的文件](computer:///mnt/user-data/outputs/Review_Points_v6.1.9.txt)",
        "author": "Will"
      },
      {
        "version": "v6.2.0",
        "date": "2025-11-25",
        "summary": "[查看更新后的文件](computer:///mnt/user-data/outputs/Review_Points_v6.2.0.txt)",
        "details": "[查看更新后的文件](computer:///mnt/user-data/outputs/Review_Points_v6.2.0.txt)",
        "author": "Will"
      },
      {
        "version": "v6.2.1",
        "date": "2025-11-25",
        "summary": "[查看更新后的文件](computer:///mnt/user-data/outputs/Review_Points_v6.2.1.txt)",
        "details": "[查看更新后的文件](computer:///mnt/user-data/outputs/Review_Points_v6.2.1.txt)",
        "author": "Will"
      },
      {
        "version": "v7.7.0",
        "date": "2025-12-31",
        "summary": "完成。v7.7.0版本已经将\"OK All OK\"改回\"All OK\"。✅ v7.7.0",
        "details": "完成。v7.7.0版本已经将\"OK All OK\"改回\"All OK\"。✅ v7.7.0",
        "author": "Will"
      },
      {
        "version": "v7.7.2",
        "date": "2025-12-31",
        "summary": "v7.7.2 - 简化并修正Plant ID空值检查逻辑",
        "details": "v7.7.2 - 简化并修正Plant ID空值检查逻辑",
        "author": "Will"
      },
      {
        "version": "v7.7.3",
        "date": "2025-12-31",
        "summary": "完成。我已经修复了问题，在compact模式下，当Plant ID为空时会正确显示\"No data\"而不是\"All OK\"。✅ v7.7.3",
        "details": "完成。我已经修复了问题，在compact模式下，当Plant ID为空时会正确显示\"No data\"而不是\"All OK\"。✅ v7.7.3",
        "author": "Will"
      },
      {
        "version": "v7.7.5",
        "date": "2025-12-31",
        "summary": "8. ✅ 版本号更新为7.7.5",
        "details": "8. ✅ 版本号更新为7.7.5",
        "author": "Will"
      },
      {
        "version": "v7.7.6",
        "date": "2025-12-31",
        "summary": "已完成修改，v7.7.6脚本已生成。主要变更：",
        "details": "已完成修改，v7.7.6脚本已生成。主要变更：",
        "author": "Will"
      },
      {
        "version": "v7.9.1",
        "date": "2026-01-01",
        "summary": "### ❌ 之前 (v7.9.1)",
        "details": "### ❌ 之前 (v7.9.1)",
        "author": "Will"
      },
      {
        "version": "v7.10.0",
        "date": "2026-01-01",
        "summary": "### ✅ 现在 (v7.10.0)",
        "details": "### ✅ 现在 (v7.10.0)",
        "author": "Will"
      },
      {
        "version": "v7.12.8",
        "date": "2026-01-27",
        "summary": "现在Plant页面正常了 Project页面没有显示蓝框 控制台信息 [QC Review Points] Script loaded - version 7.12.8",
        "details": "现在Plant页面正常了 Project页面没有显示蓝框 控制台信息 [QC Review Points] Script loaded - version 7.12.8",
        "author": "Will"
      },
      {
        "version": "v7.12.9",
        "date": "2026-01-29",
        "summary": "- **v7.12.9**: 修复方向词逗号检测错误",
        "details": "- **v7.12.9**: 修复方向词逗号检测错误",
        "author": "Will"
      },
      {
        "version": "v7.13.0",
        "date": "2026-01-27",
        "summary": "让我总结一下情况并给出明确的建议。## ✅ Plant 脚本问题已修复 - v7.13.0",
        "details": "让我总结一下情况并给出明确的建议。## ✅ Plant 脚本问题已修复 - v7.13.0",
        "author": "Will"
      },
      {
        "version": "v7.14.4",
        "date": "2026-01-30",
        "summary": "1. 读取修改后的脚本（v7.14.4）",
        "details": "1. 读取修改后的脚本（v7.14.4）",
        "author": "Will"
      },
      {
        "version": "v7.14.5",
        "date": "2026-01-30",
        "summary": "**版本更新：** 7.14.5 → **7.14.6 Plant Name Check Enhanced**",
        "details": "**版本更新：** 7.14.5 → **7.14.6 Plant Name Check Enhanced**",
        "author": "Will"
      },
      {
        "version": "v7.14.6",
        "date": "2026-01-30",
        "summary": "**版本：** 7.14.6 Plant Name Check Enhanced",
        "details": "**版本：** 7.14.6 Plant Name Check Enhanced",
        "author": "Will"
      },
      {
        "version": "v7.14.8",
        "date": "2026-01-30",
        "summary": "**版本 7.14.8** - Plant Name 检查已改为更宽松逻辑",
        "details": "**版本 7.14.8** - Plant Name 检查已改为更宽松逻辑",
        "author": "Will"
      },
      {
        "version": "v7.14.9",
        "date": "2026-01-30",
        "summary": "**版本 7.14.9** - 修复了 Site 页面地址检查的关键问题",
        "details": "**版本 7.14.9** - 修复了 Site 页面地址检查的关键问题",
        "author": "Will"
      },
      {
        "version": "v7.16.33",
        "date": "2026-03-26",
        "summary": "**v7.16.33**，完成。",
        "details": "**v7.16.33**，完成。",
        "author": "Will"
      },
      {
        "version": "v7.16.38",
        "date": "2026-03-26",
        "summary": "**v7.16.38**，两个修复：",
        "details": "**v7.16.38**，两个修复：",
        "author": "Will"
      },
      {
        "version": "v7.16.39",
        "date": "2026-03-26",
        "summary": "**v7.16.39**，两个核心改动：",
        "details": "**v7.16.39**，两个核心改动：",
        "author": "Will"
      },
      {
        "version": "v7.16.40",
        "date": "2026-03-26",
        "summary": "**v7.16.40**，两项改动：",
        "details": "**v7.16.40**，两项改动：",
        "author": "Will"
      },
      {
        "version": "v7.16.41",
        "date": "2026-03-26",
        "summary": "**v7.16.41**，Map 页面蓝框现在与 Plant 页面完全一致：",
        "details": "**v7.16.41**，Map 页面蓝框现在与 Plant 页面完全一致：",
        "author": "Will"
      },
      {
        "version": "v7.16.42",
        "date": "2026-03-26",
        "summary": "**v7.16.42**，`nedLogAppend` 新逻辑：",
        "details": "**v7.16.42**，`nedLogAppend` 新逻辑：",
        "author": "Will"
      },
      {
        "version": "v7.16.58",
        "date": "2026-04-01",
        "summary": "**Plant 脚本（7.16.58）**：",
        "details": "**Plant 脚本（7.16.58）**：",
        "author": "Will"
      },
      {
        "version": "v7.16.59",
        "date": "2026-04-01",
        "summary": "**`Review_Points_for_Plant_Area_Unit_Company_Site_user.js` v7.16.59**",
        "details": "**`Review_Points_for_Plant_Area_Unit_Company_Site_user.js` v7.16.59**",
        "author": "Will"
      },
      {
        "version": "v7.16.60",
        "date": "2026-04-01",
        "summary": "**`Review_Points_for_Plant_Area_Unit_Company_Site_user.js` v7.16.60**：3处 `currentPageDetailErrors` 赋值后立即同步到 `window._plantDetailErrors`，覆盖 Plant / Area / Unit / Company / Site 所有页面的渲染路径。",
        "details": "**`Review_Points_for_Plant_Area_Unit_Company_Site_user.js` v7.16.60**：3处 `currentPageDetailErrors` 赋值后立即同步到 `window._plantDetailErrors`，覆盖 Plant / Area / Unit / Company / Site 所有页面的渲染路径。",
        "author": "Will"
      },
      {
        "version": "v7.16.65",
        "date": "2026-04-07",
        "summary": "**Plant 脚本 v7.16.65 → v7.16.66**",
        "details": "**Plant 脚本 v7.16.65 → v7.16.66**",
        "author": "Will"
      },
      {
        "version": "v7.16.66",
        "date": "2026-04-07",
        "summary": "- **Review Points for Plant/Area/Unit/Company/Site**: v7.16.66",
        "details": "- **Review Points for Plant/Area/Unit/Company/Site**: v7.16.66",
        "author": "Will"
      },
      {
        "version": "v7.16.73",
        "date": "2026-04-08",
        "summary": "const plantStatusCheck = await checkPlantStatusForPEC();  // ★ v7.16.73: now async",
        "details": "const plantStatusCheck = await checkPlantStatusForPEC();  // ★ v7.16.73: now async",
        "author": "Will"
      },
      {
        "version": "v7.16.74",
        "date": "2026-04-08",
        "summary": "**v7.16.74**，只改了 Plant 脚本（Project 脚本不需要动）。",
        "details": "**v7.16.74**，只改了 Plant 脚本（Project 脚本不需要动）。",
        "author": "Will"
      },
      {
        "version": "v7.17.8",
        "date": "2026-05-25",
        "summary": "Now I need to find where Record Status `S - Archived` is checked. The description mentions `v7.17.8` already skips some checks for Archived:",
        "details": "Now I need to find where Record Status `S - Archived` is checked. The description mentions `v7.17.8` already skips some checks for Archived:",
        "author": "Will"
      },
      {
        "version": "v7.18.1",
        "date": "2026-05-25",
        "summary": "* ★ v7.18.1: DeepSeek AI secondary validation for Company Name errors",
        "details": "* ★ v7.18.1: DeepSeek AI secondary validation for Company Name errors",
        "author": "Will"
      },
      {
        "version": "v7.18.3",
        "date": "2026-05-25",
        "summary": "The description says v7.18.3 converted Plant page pinyin to async/await. Let me look at the Plant page's `refreshOnce` flow:",
        "details": "The description says v7.18.3 converted Plant page pinyin to async/await. Let me look at the Plant page's `refreshOnce` flow:",
        "author": "Will"
      },
      {
        "version": "v7.01744",
        "date": "2025-12-19",
        "summary": "<div class=\"w-6 px-1\"><p-select showclear=\"true\" filterby=\"StatusID,StatusDescription\" resetfilteronhide=\"true\" optionlabel=\"StatusDescription\" optionvalue=\"StatusID\" formcontrolname=\"companyStatus\" c",
        "details": "<div class=\"w-6 px-1\"><p-select showclear=\"true\" filterby=\"StatusID,StatusDescription\" resetfilteronhide=\"true\" optionlabel=\"StatusDescription\" optionvalue=\"StatusID\" formcontrolname=\"companyStatus\" c",
        "author": "Will"
      },
      {
        "version": "v8.0.0",
        "date": "2026-01-27",
        "summary": "### 1️⃣ **Review_Points_Unified_v8.0.0.user.js** ⭐",
        "details": "### 1️⃣ **Review_Points_Unified_v8.0.0.user.js** ⭐",
        "author": "Will"
      },
      {
        "version": "v8.1.0",
        "date": "2026-01-27",
        "summary": "没出 现在报错 [QC Review Points] Script loaded - version 8.1.0",
        "details": "没出 现在报错 [QC Review Points] Script loaded - version 8.1.0",
        "author": "Will"
      },
      {
        "version": "v8.1.1",
        "date": "2026-01-27",
        "summary": "[QC Review Points] Script loaded - version 8.1.1  ← 必须是 8.1.1！",
        "details": "[QC Review Points] Script loaded - version 8.1.1  ← 必须是 8.1.1！",
        "author": "Will"
      },
      {
        "version": "v8.6.1",
        "date": "2026-01-27",
        "summary": "好的，现在让我创建一个简洁的功能总结文档。## 🎉 v8.6.1 完成！完整统一版本",
        "details": "好的，现在让我创建一个简洁的功能总结文档。## 🎉 v8.6.1 完成！完整统一版本",
        "author": "Will"
      },
      {
        "version": "v8.6.2",
        "date": "2026-01-27",
        "summary": "- v8.6.2 是基于 Plant 脚本的成功集成，框架已经验证可用",
        "details": "- v8.6.2 是基于 Plant 脚本的成功集成，框架已经验证可用",
        "author": "Will"
      },
      {
        "version": "v8.01186",
        "date": "2025-11-25",
        "summary": "对于UnitStatus是Shuttered和Mothballed状态 要求有一个past date在Shutdown Date这个地方 <div class=\"flex align-items-center\"><label class=\"w-3 text-right font-bold text-xs\">Unit Status:</label><div class=\"w-5 px-1\"><p-s",
        "details": "对于UnitStatus是Shuttered和Mothballed状态 要求有一个past date在Shutdown Date这个地方 <div class=\"flex align-items-center\"><label class=\"w-3 text-right font-bold text-xs\">Unit Status:</label><div class=\"w-5 px-1\"><p-s",
        "author": "Will"
      },
      {
        "version": "v9.0.0",
        "date": "2026-01-27",
        "summary": "1. 首先需要确认用户是否安装了 v9.0.0",
        "details": "1. 首先需要确认用户是否安装了 v9.0.0",
        "author": "Will"
      },
      {
        "version": "v9.3.1",
        "date": "2026-01-27",
        "summary": "### 📋 v9.3.1 FINAL 完整特性",
        "details": "### 📋 v9.3.1 FINAL 完整特性",
        "author": "Will"
      },
      {
        "version": "v9.3.3",
        "date": "2026-01-27",
        "summary": "### 📋 v9.3.3 COMPLETE 完整特性",
        "details": "### 📋 v9.3.3 COMPLETE 完整特性",
        "author": "Will"
      },
      {
        "version": "v9.5",
        "date": "2026-04-07",
        "summary": "- **Step 7-9.5**（lines 9597-9866）：都是同步/快速操作",
        "details": "- **Step 7-9.5**（lines 9597-9866）：都是同步/快速操作",
        "author": "Will"
      },
      {
        "version": "v10.19",
        "date": "2026-04-10",
        "summary": "**v10.19** 完成，改动摘要：",
        "details": "**v10.19** 完成，改动摘要：",
        "author": "Will"
      }
    ],
    "tags": [
      "评审",
      "厂区",
      "单位",
      "公司"
    ]
  },
  {
    "script_name": "Review_Points_for_Project_user.js",
    "display_name": "Review Points - 项目评审",
    "versions": [
      {
        "version": "v000.00",
        "date": "2026-03-28",
        "summary": "userscript.html?name=Review-Points-for-Project.user.js&id=10002287-26a5-455c-aa14-75a2f56b7916:335 [Project Converter] Row 1 - Product: \"Anhydrous Ammonia\", UOM: \"Metric T/yr\", Installed: \"\", Planned:",
        "details": "userscript.html?name=Review-Points-for-Project.user.js&id=10002287-26a5-455c-aa14-75a2f56b7916:335 [Project Converter] Row 1 - Product: \"Anhydrous Ammonia\", UOM: \"Metric T/yr\", Installed: \"\", Planned:",
        "author": "Will"
      },
      {
        "version": "v0.45",
        "date": "2026-04-01",
        "summary": "Plant 脚本的 badge 是**常驻显示**（count=0 时只变灰 `opacity: 0.45`），Project 脚本是 count=0 才隐藏。两个都没有检测 `btn-record-save` 按钮。",
        "details": "Plant 脚本的 badge 是**常驻显示**（count=0 时只变灰 `opacity: 0.45`），Project 脚本是 count=0 才隐藏。两个都没有检测 `btn-record-save` 按钮。",
        "author": "Will"
      },
      {
        "version": "v1.5",
        "date": "2026-02-03",
        "summary": "好 解决了, 现在修改两处, 第一, 如果是多行产品, 如果所有行都是空值, 那么先执行第一行的换算, 然后执行第二行换算, 如果所有行都已经有值, 也就是Planned 或者 Installed有值, 那么默认到第一行的换算 也就是换算器不要消失. 第二, 现在结果复制后加一个Tooltip提示1.5s后消失. 第三点 我需要加一个Capacity的Icon在同一行的最左侧, 图标类似于我上传的",
        "details": "好 解决了, 现在修改两处, 第一, 如果是多行产品, 如果所有行都是空值, 那么先执行第一行的换算, 然后执行第二行换算, 如果所有行都已经有值, 也就是Planned 或者 Installed有值, 那么默认到第一行的换算 也就是换算器不要消失. 第二, 现在结果复制后加一个Tooltip提示1.5s后消失. 第三点 我需要加一个Capacity的Icon在同一行的最左侧, 图标类似于我上传的",
        "author": "Will"
      },
      {
        "version": "v2.7",
        "date": "2025-12-25",
        "summary": "// @version      2.7",
        "details": "// @version      2.7",
        "author": "Will"
      },
      {
        "version": "v2.7.24",
        "date": "2025-12-25",
        "summary": "// @version      2.7.24",
        "details": "// @version      2.7.24",
        "author": "Will"
      },
      {
        "version": "v2.13.0",
        "date": "2026-03-06",
        "summary": "v2.13.0，新增逻辑如下：",
        "details": "v2.13.0，新增逻辑如下：",
        "author": "Will"
      },
      {
        "version": "v2.15.10",
        "date": "2026-03-28",
        "summary": "v2.15.10，修改内容：",
        "details": "v2.15.10，修改内容：",
        "author": "Will"
      },
      {
        "version": "v2.15.12",
        "date": "2026-03-28",
        "summary": "查一下 v2.15.12 和当前版本的差异在哪里，然后精确回退：",
        "details": "查一下 v2.15.12 和当前版本的差异在哪里，然后精确回退：",
        "author": "Will"
      },
      {
        "version": "v2.15.13",
        "date": "2026-03-28",
        "summary": "已恢复到 v2.15.13 的可用逻辑：**剪贴板有 SIC → 查映射表 → 填入 + 回车**。",
        "details": "已恢复到 v2.15.13 的可用逻辑：**剪贴板有 SIC → 查映射表 → 填入 + 回车**。",
        "author": "Will"
      },
      {
        "version": "v2.15.22",
        "date": "2026-03-28",
        "summary": "v2.15.22，完整流程如下：",
        "details": "v2.15.22，完整流程如下：",
        "author": "Will"
      },
      {
        "version": "v2.15.45",
        "date": "2026-04-01",
        "summary": "**v2.15.45**，改动说明：",
        "details": "**v2.15.45**，改动说明：",
        "author": "Will"
      },
      {
        "version": "v2.15.46",
        "date": "2026-04-01",
        "summary": "**v2.15.46**，完整重写了 Guard 逻辑：",
        "details": "**v2.15.46**，完整重写了 Guard 逻辑：",
        "author": "Will"
      },
      {
        "version": "v2.15.47",
        "date": "2026-04-01",
        "summary": "**`Hotkeys_user.js` v2.15.47**：Guard 改为读 `window._plantDetailErrors`（Plant 脚本写入）和 `window._lastErrorLines`（Project 脚本写入），两者都是每次渲染时更新的完整 Detail 错误数组，与当前显示模式无关。",
        "details": "**`Hotkeys_user.js` v2.15.47**：Guard 改为读 `window._plantDetailErrors`（Plant 脚本写入）和 `window._lastErrorLines`（Project 脚本写入），两者都是每次渲染时更新的完整 Detail 错误数组，与当前显示模式无关。",
        "author": "Will"
      },
      {
        "version": "v2.15.48",
        "date": "2026-04-01",
        "summary": "- **Hotkeys v2.15.48**：Guard 通过 `const _uw = typeof unsafeWindow !== 'undefined' ? unsafeWindow : window` 统一访问，先读 `_uw._plantDetailErrors`（Plant/Area/Unit/CS），再读 `_uw._lastErrorLines`（Project），最后 fall",
        "details": "- **Hotkeys v2.15.48**：Guard 通过 `const _uw = typeof unsafeWindow !== 'undefined' ? unsafeWindow : window` 统一访问，先读 `_uw._plantDetailErrors`（Plant/Area/Unit/CS），再读 `_uw._lastErrorLines`（Project），最后 fall",
        "author": "Will"
      },
      {
        "version": "v2.15.60",
        "date": "2026-04-07",
        "summary": "**v2.15.60**，改动集中在 `setupAltYCorrHotkey` 里的 Project 页面导航逻辑，原来的 `setTimeout(..., 300)` 替换为三重判断机制：",
        "details": "**v2.15.60**，改动集中在 `setupAltYCorrHotkey` 里的 Project 页面导航逻辑，原来的 `setTimeout(..., 300)` 替换为三重判断机制：",
        "author": "Will"
      },
      {
        "version": "v2.15.62",
        "date": "2026-04-07",
        "summary": "**Hotkeys v2.15.62** — `onCorrFinishedEvent` 重写：",
        "details": "**Hotkeys v2.15.62** — `onCorrFinishedEvent` 重写：",
        "author": "Will"
      },
      {
        "version": "v2.15.64",
        "date": "2026-04-07",
        "summary": "- **Hotkeys**: v2.15.64",
        "details": "- **Hotkeys**: v2.15.64",
        "author": "Will"
      },
      {
        "version": "v2.125",
        "date": "2026-01-16",
        "summary": "<input _ngcontent-ng-c3219333051=\"\" type=\"text\" pinputtext=\"\" appuppercase=\"\" formcontrolname=\"projectName\" maxlength=\"80\" tabindex=\"7\" spellcheckdirective=\"\" class=\"form__input-field-style w-full ng-",
        "details": "<input _ngcontent-ng-c3219333051=\"\" type=\"text\" pinputtext=\"\" appuppercase=\"\" formcontrolname=\"projectName\" maxlength=\"80\" tabindex=\"7\" spellcheckdirective=\"\" class=\"form__input-field-style w-full ng-",
        "author": "Will"
      },
      {
        "version": "v4.43",
        "date": "2025-12-03",
        "summary": "1. [**Review_Points_for_Project_user_v4.43.js**](computer:///mnt/user-data/outputs/Review_Points_for_Project_user_v4.43.js) - 主脚本文件",
        "details": "1. [**Review_Points_for_Project_user_v4.43.js**](computer:///mnt/user-data/outputs/Review_Points_for_Project_user_v4.43.js) - 主脚本文件",
        "author": "Will"
      },
      {
        "version": "v4.44.0",
        "date": "2025-12-03",
        "summary": "已完成修改。现在脚本的所有 OK 结果会合并显示在第一行，错误显示在第二行。版本号已更新为 v4.44.0。已完成更新。",
        "details": "已完成修改。现在脚本的所有 OK 结果会合并显示在第一行，错误显示在第二行。版本号已更新为 v4.44.0。已完成更新。",
        "author": "Will"
      },
      {
        "version": "v4.45.0",
        "date": "2025-12-03",
        "summary": "**版本**: v4.45.0",
        "details": "**版本**: v4.45.0",
        "author": "Will"
      },
      {
        "version": "v4.48.0",
        "date": "2025-12-04",
        "summary": "**版本：v4.48.0**",
        "details": "**版本：v4.48.0**",
        "author": "Will"
      },
      {
        "version": "v4.49.0",
        "date": "2025-12-04",
        "summary": "## ✅ Update Complete - v4.49.0",
        "details": "## ✅ Update Complete - v4.49.0",
        "author": "Will"
      },
      {
        "version": "v4.50.0",
        "date": "2025-12-05",
        "summary": "**版本更新：** v4.50.0 → v4.51.0",
        "details": "**版本更新：** v4.50.0 → v4.51.0",
        "author": "Will"
      },
      {
        "version": "v4.51.0",
        "date": "2025-12-05",
        "summary": "**版本更新：** v4.51.0 → v4.52.0",
        "details": "**版本更新：** v4.51.0 → v4.52.0",
        "author": "Will"
      },
      {
        "version": "v4.55.0",
        "date": "2025-12-05",
        "summary": "5. 更新版本号到4.55.0",
        "details": "5. 更新版本号到4.55.0",
        "author": "Will"
      },
      {
        "version": "v4.56.0",
        "date": "2025-12-05",
        "summary": "3. ✅ 更新了版本号到 4.56.0[View your script](computer:///mnt/user-data/outputs/Review_Points_for_Project_en_by_Claude_FIXED.txt)",
        "details": "3. ✅ 更新了版本号到 4.56.0[View your script](computer:///mnt/user-data/outputs/Review_Points_for_Project_en_by_Claude_FIXED.txt)",
        "author": "Will"
      },
      {
        "version": "v4.91.0",
        "date": "2025-12-16",
        "summary": "**版本号更新：** v4.91.0 → v4.92.0",
        "details": "**版本号更新：** v4.91.0 → v4.92.0",
        "author": "Will"
      },
      {
        "version": "v4.92.0",
        "date": "2025-12-16",
        "summary": "**版本号：** v4.92.0 → v4.93.0",
        "details": "**版本号：** v4.92.0 → v4.93.0",
        "author": "Will"
      },
      {
        "version": "v4.93.0",
        "date": "2025-12-16",
        "summary": "**版本号：** v4.93.0 → v4.94.0",
        "details": "**版本号：** v4.93.0 → v4.94.0",
        "author": "Will"
      },
      {
        "version": "v4.94.0",
        "date": "2025-12-16",
        "summary": "**版本号：** v4.94.0 → v4.95.0",
        "details": "**版本号：** v4.94.0 → v4.95.0",
        "author": "Will"
      },
      {
        "version": "v4.97",
        "date": "2025-12-19",
        "summary": "1. **Review_Points_for_Project_Enhanced_v4.97.js** - 修改后的完整脚本",
        "details": "1. **Review_Points_for_Project_Enhanced_v4.97.js** - 修改后的完整脚本",
        "author": "Will"
      },
      {
        "version": "v4.98",
        "date": "2025-12-19",
        "summary": "现在我需要在v4.98脚本中：",
        "details": "现在我需要在v4.98脚本中：",
        "author": "Will"
      },
      {
        "version": "v5.2.2",
        "date": "2025-12-25",
        "summary": "2. **v5.2.2_FIX_NOTES.md** - 详细的修复说明和测试报告",
        "details": "2. **v5.2.2_FIX_NOTES.md** - 详细的修复说明和测试报告",
        "author": "Will"
      },
      {
        "version": "v5.2.9",
        "date": "2025-12-25",
        "summary": "让我完成这个任务并提交文件。完成！v5.2.9",
        "details": "让我完成这个任务并提交文件。完成！v5.2.9",
        "author": "Will"
      },
      {
        "version": "v5.3.9",
        "date": "2025-12-25",
        "summary": "1. **Review_Points_for_Project_user.js (v5.3.9)** - 主脚本，添加了调试日志",
        "details": "1. **Review_Points_for_Project_user.js (v5.3.9)** - 主脚本，添加了调试日志",
        "author": "Will"
      },
      {
        "version": "v5.4.0",
        "date": "2025-12-25",
        "summary": "| Project Product SIC | v5.4.0 | v5.4.1 |",
        "details": "| Project Product SIC | v5.4.0 | v5.4.1 |",
        "author": "Will"
      },
      {
        "version": "v5.4.1",
        "date": "2025-12-25",
        "summary": "1. **Review_Points_for_Project_user.js (v5.4.1)** - 主脚本",
        "details": "1. **Review_Points_for_Project_user.js (v5.4.1)** - 主脚本",
        "author": "Will"
      },
      {
        "version": "v5.4.3",
        "date": "2025-12-25",
        "summary": "1. **Review_Points_for_Project_user.js (v5.4.3)** - 主脚本",
        "details": "1. **Review_Points_for_Project_user.js (v5.4.3)** - 主脚本",
        "author": "Will"
      },
      {
        "version": "v5.4.4",
        "date": "2025-12-25",
        "summary": "**版本：** v5.4.4",
        "details": "**版本：** v5.4.4",
        "author": "Will"
      },
      {
        "version": "v5.5.0",
        "date": "2025-12-31",
        "summary": "用户之前上传的可用版本是 1767166006529_Review_Points_for_Project_user.js，版本号是 v5.5.0。用户现在提到 v5.5.23，但我没有看到这个文件被上传过。",
        "details": "用户之前上传的可用版本是 1767166006529_Review_Points_for_Project_user.js，版本号是 v5.5.0。用户现在提到 v5.5.23，但我没有看到这个文件被上传过。",
        "author": "Will"
      },
      {
        "version": "v5.5.2",
        "date": "2025-12-25",
        "summary": "功能已完成并更新到v5.5.2。完成！**v5.5.2** 已添加Scope Project Justification修正功能。",
        "details": "功能已完成并更新到v5.5.2。完成！**v5.5.2** 已添加Scope Project Justification修正功能。",
        "author": "Will"
      },
      {
        "version": "v5.5.15",
        "date": "2025-12-29",
        "summary": "完成! **v5.5.15** 已更新:",
        "details": "完成! **v5.5.15** 已更新:",
        "author": "Will"
      },
      {
        "version": "v5.5.16",
        "date": "2025-12-29",
        "summary": "### 第二次修改 (v5.5.16)",
        "details": "### 第二次修改 (v5.5.16)",
        "author": "Will"
      },
      {
        "version": "v5.5.23",
        "date": "2025-12-31",
        "summary": "用户说5.5.23版本可以执行修正，但现在的5.8.8版本没有进行修正。让我检查两个脚本的差异，特别是performCorrection函数被调用的部分。",
        "details": "用户说5.5.23版本可以执行修正，但现在的5.8.8版本没有进行修正。让我检查两个脚本的差异，特别是performCorrection函数被调用的部分。",
        "author": "Will"
      },
      {
        "version": "v5.8.3",
        "date": "2025-12-31",
        "summary": "1. **Review_Points_for_Project_v5.8.3.user.js** - 修正后的完整脚本",
        "details": "1. **Review_Points_for_Project_v5.8.3.user.js** - 修正后的完整脚本",
        "author": "Will"
      },
      {
        "version": "v5.9.0",
        "date": "2025-12-31",
        "summary": "**步骤1：** 安装脚本 v5.9.0（已提供）",
        "details": "**步骤1：** 安装脚本 v5.9.0（已提供）",
        "author": "Will"
      },
      {
        "version": "v5.9.1",
        "date": "2025-12-31",
        "summary": "**1. Review_Points_for_Project_user.js (v5.9.1)**",
        "details": "**1. Review_Points_for_Project_user.js (v5.9.1)**",
        "author": "Will"
      },
      {
        "version": "v5.9.2",
        "date": "2025-12-31",
        "summary": "**1. Review_Points_for_Project_user.js (v5.9.2)**",
        "details": "**1. Review_Points_for_Project_user.js (v5.9.2)**",
        "author": "Will"
      },
      {
        "version": "v5.9.5",
        "date": "2025-12-31",
        "summary": "// @version 5.9.5 Strip HTML Tags",
        "details": "// @version 5.9.5 Strip HTML Tags",
        "author": "Will"
      },
      {
        "version": "v5.13.0",
        "date": "2026-01-06",
        "summary": "1. **Review_Points_for_Project_user.js** (v5.13.0)",
        "details": "1. **Review_Points_for_Project_user.js** (v5.13.0)",
        "author": "Will"
      },
      {
        "version": "v5.14.0",
        "date": "2026-01-06",
        "summary": "1. **Review_Points_for_Project_user.js** (v5.14.0 Phase 1)",
        "details": "1. **Review_Points_for_Project_user.js** (v5.14.0 Phase 1)",
        "author": "Will"
      },
      {
        "version": "v5.24.1",
        "date": "2026-01-31",
        "summary": "- 使用 `Review_Points_for_Project_v5.24.1_DEBUG.user.js`",
        "details": "- 使用 `Review_Points_for_Project_v5.24.1_DEBUG.user.js`",
        "author": "Will"
      },
      {
        "version": "v5.25",
        "date": "2026-01-31",
        "summary": "详细使用说明请查看 **GUIDE_v5.25.md**！",
        "details": "详细使用说明请查看 **GUIDE_v5.25.md**！",
        "author": "Will"
      },
      {
        "version": "v5.27.0",
        "date": "2026-01-31",
        "summary": "详细说明请查看 **UPDATE_v5.27.0.md**！",
        "details": "详细说明请查看 **UPDATE_v5.27.0.md**！",
        "author": "Will"
      },
      {
        "version": "v5.27.2",
        "date": "2026-01-31",
        "summary": "- Review Points v5.27.2 脚本未加载",
        "details": "- Review Points v5.27.2 脚本未加载",
        "author": "Will"
      },
      {
        "version": "v5.28.2",
        "date": "2026-01-31",
        "summary": "4. 安装新的 **v5.28.2** 脚本",
        "details": "4. 安装新的 **v5.28.2** 脚本",
        "author": "Will"
      },
      {
        "version": "v5.29.0",
        "date": "2026-02-01",
        "summary": "- ✓ 版本号更新为 5.29.0",
        "details": "- ✓ 版本号更新为 5.29.0",
        "author": "Will"
      },
      {
        "version": "v5.32.13",
        "date": "2026-03-26",
        "summary": "**v5.32.13**，修改说明：",
        "details": "**v5.32.13**，修改说明：",
        "author": "Will"
      },
      {
        "version": "v5.32.26",
        "date": "2026-03-26",
        "summary": "**v5.32.26**，逻辑：",
        "details": "**v5.32.26**，逻辑：",
        "author": "Will"
      },
      {
        "version": "v5.32.30",
        "date": "2026-03-26",
        "summary": "**v5.32.30**，与 Plant 脚本逻辑完全一致：同一 ID 多次点击 Copy Errors，错误内容追加在同一条记录的第二行末尾，不新增行，不新增 ID 记录。",
        "details": "**v5.32.30**，与 Plant 脚本逻辑完全一致：同一 ID 多次点击 Copy Errors，错误内容追加在同一条记录的第二行末尾，不新增行，不新增 ID 记录。",
        "author": "Will"
      },
      {
        "version": "v5.32.51",
        "date": "2026-03-27",
        "summary": "**Review_Points_for_Project_user.js** → v5.32.51",
        "details": "**Review_Points_for_Project_user.js** → v5.32.51",
        "author": "Will"
      },
      {
        "version": "v5.32.53",
        "date": "2026-03-27",
        "summary": "**v5.32.53** 已输出。两个修复：",
        "details": "**v5.32.53** 已输出。两个修复：",
        "author": "Will"
      },
      {
        "version": "v5.32.54",
        "date": "2026-03-27",
        "summary": "A: v5.32.54（刚刚下载的）",
        "details": "A: v5.32.54（刚刚下载的）",
        "author": "Will"
      },
      {
        "version": "v5.32.55",
        "date": "2026-03-27",
        "summary": "**v5.32.55** 已输出。",
        "details": "**v5.32.55** 已输出。",
        "author": "Will"
      },
      {
        "version": "v5.32.56",
        "date": "2026-03-27",
        "summary": "**v5.32.56** 已输出。",
        "details": "**v5.32.56** 已输出。",
        "author": "Will"
      },
      {
        "version": "v5.32.57",
        "date": "2026-03-31",
        "summary": "v5.32.57，`'Paraxylene': ['p-Xylene (Paraxylene)', 'Paraxylene']` 已更新。",
        "details": "v5.32.57，`'Paraxylene': ['p-Xylene (Paraxylene)', 'Paraxylene']` 已更新。",
        "author": "Will"
      },
      {
        "version": "v5.32.70",
        "date": "2026-04-01",
        "summary": "**Project 脚本（5.32.70）**：",
        "details": "**Project 脚本（5.32.70）**：",
        "author": "Will"
      },
      {
        "version": "v5.32.71",
        "date": "2026-04-01",
        "summary": "**`Review_Points_for_Project_user.js` v5.32.71**",
        "details": "**`Review_Points_for_Project_user.js` v5.32.71**",
        "author": "Will"
      },
      {
        "version": "v5.32.72",
        "date": "2026-04-01",
        "summary": "**`Review_Points_for_Project_user.js` v5.32.72**",
        "details": "**`Review_Points_for_Project_user.js` v5.32.72**",
        "author": "Will"
      },
      {
        "version": "v5.32.73",
        "date": "2026-04-01",
        "summary": "**`Review_Points_for_Project_user.js` v5.32.73**，只修改这一个文件。",
        "details": "**`Review_Points_for_Project_user.js` v5.32.73**，只修改这一个文件。",
        "author": "Will"
      },
      {
        "version": "v5.32.79",
        "date": "2026-04-07",
        "summary": "| Review Points for Project | 5.32.79 → **5.32.80** | `performCorrection` 的 `finally` 块 | 在 `isApplyingCorrections = false` 之后 dispatch `corr-finished` 事件 |",
        "details": "| Review Points for Project | 5.32.79 → **5.32.80** | `performCorrection` 的 `finally` 块 | 在 `isApplyingCorrections = false` 之后 dispatch `corr-finished` 事件 |",
        "author": "Will"
      },
      {
        "version": "v5.32.80",
        "date": "2026-04-07",
        "summary": "**Project 脚本 v5.32.80 → v5.32.81**",
        "details": "**Project 脚本 v5.32.80 → v5.32.81**",
        "author": "Will"
      },
      {
        "version": "v5.32.81",
        "date": "2026-04-07",
        "summary": "**修复策略（改 Review Points，v5.32.81 → v5.32.82）：**",
        "details": "**修复策略（改 Review Points，v5.32.81 → v5.32.82）：**",
        "author": "Will"
      },
      {
        "version": "v5.32.84",
        "date": "2026-04-07",
        "summary": "**Review Points v5.32.84** — Step 10 简化：",
        "details": "**Review Points v5.32.84** — Step 10 简化：",
        "author": "Will"
      },
      {
        "version": "v5.32.86",
        "date": "2026-04-07",
        "summary": "**Review Points v5.32.86** — `autoFillReviewDate` 收尾新增 overlay 收起确认：",
        "details": "**Review Points v5.32.86** — `autoFillReviewDate` 收尾新增 overlay 收起确认：",
        "author": "Will"
      },
      {
        "version": "v5.32.87",
        "date": "2026-04-07",
        "summary": "**v5.32.87，改动说明**",
        "details": "**v5.32.87，改动说明**",
        "author": "Will"
      },
      {
        "version": "v5.48.30",
        "date": "2026-06-26",
        "summary": "已添加新的审查规则,版本号升到 5.48.30。",
        "details": "已添加新的审查规则,版本号升到 5.48.30。",
        "author": "Will"
      },
      {
        "version": "v5.48.33",
        "date": "2026-07-01",
        "summary": "四处改动都已完成（v5.48.33），语法检查通过：",
        "details": "四处改动都已完成（v5.48.33），语法检查通过：",
        "author": "Will"
      },
      {
        "version": "v7.5",
        "date": "2025-12-25",
        "summary": "1. 在performCorrection函数中添加了新的步骤7.5",
        "details": "1. 在performCorrection函数中添加了新的步骤7.5",
        "author": "Will"
      },
      {
        "version": "v7.7.4",
        "date": "2025-12-31",
        "summary": "3. **版本更新**：7.7.4 → 7.7.5",
        "details": "3. **版本更新**：7.7.4 → 7.7.5",
        "author": "Will"
      },
      {
        "version": "v7.7.5",
        "date": "2025-12-31",
        "summary": "用户上传了一个新的脚本 Review_Points_for_Project_user.js，并希望将其中的\"Copy All Errors\"功能和调用方式应用到当前的脚本中（Review_Points_for_Plant_Area_Unit_Company_Site_user_v7.7.5.js）。",
        "details": "用户上传了一个新的脚本 Review_Points_for_Project_user.js，并希望将其中的\"Copy All Errors\"功能和调用方式应用到当前的脚本中（Review_Points_for_Plant_Area_Unit_Company_Site_user_v7.7.5.js）。",
        "author": "Will"
      },
      {
        "version": "v7.7.6",
        "date": "2025-12-31",
        "summary": "## ✓ v7.7.6 完成",
        "details": "## ✓ v7.7.6 完成",
        "author": "Will"
      },
      {
        "version": "v7.9.0",
        "date": "2026-01-01",
        "summary": "## ✅ 完成！脚本已更新到 v7.9.0",
        "details": "## ✅ 完成！脚本已更新到 v7.9.0",
        "author": "Will"
      },
      {
        "version": "v7.12.8",
        "date": "2026-01-27",
        "summary": "现在Plant页面正常了 Project页面没有显示蓝框 控制台信息 [QC Review Points] Script loaded - version 7.12.8",
        "details": "现在Plant页面正常了 Project页面没有显示蓝框 控制台信息 [QC Review Points] Script loaded - version 7.12.8",
        "author": "Will"
      },
      {
        "version": "v7.13.0",
        "date": "2026-01-27",
        "summary": "- **Plant 脚本**：`Review_Points_Plant_v7.13.0_COMPLETE_FIX.user.js`（刚才提供的）",
        "details": "- **Plant 脚本**：`Review_Points_Plant_v7.13.0_COMPLETE_FIX.user.js`（刚才提供的）",
        "author": "Will"
      },
      {
        "version": "v7.15.1",
        "date": "2026-02-01",
        "summary": "我已经安装了最新脚本 目前蓝框不出现 控制台报错 [QC Review Points] Script loaded - version 7.15.1",
        "details": "我已经安装了最新脚本 目前蓝框不出现 控制台报错 [QC Review Points] Script loaded - version 7.15.1",
        "author": "Will"
      },
      {
        "version": "v7.16.33",
        "date": "2026-03-26",
        "summary": "**v7.16.33**，新增内容：",
        "details": "**v7.16.33**，新增内容：",
        "author": "Will"
      },
      {
        "version": "v7.16.59",
        "date": "2026-04-01",
        "summary": "**`Review_Points_for_Plant_Area_Unit_Company_Site_user.js` v7.16.59**",
        "details": "**`Review_Points_for_Plant_Area_Unit_Company_Site_user.js` v7.16.59**",
        "author": "Will"
      },
      {
        "version": "v7.16.60",
        "date": "2026-04-01",
        "summary": "**`Review_Points_for_Plant_Area_Unit_Company_Site_user.js` v7.16.60**：3处 `currentPageDetailErrors` 赋值后立即同步到 `window._plantDetailErrors`，覆盖 Plant / Area / Unit / Company / Site 所有页面的渲染路径。",
        "details": "**`Review_Points_for_Plant_Area_Unit_Company_Site_user.js` v7.16.60**：3处 `currentPageDetailErrors` 赋值后立即同步到 `window._plantDetailErrors`，覆盖 Plant / Area / Unit / Company / Site 所有页面的渲染路径。",
        "author": "Will"
      },
      {
        "version": "v7.16.66",
        "date": "2026-04-07",
        "summary": "- **Review Points for Plant/Area/Unit/Company/Site**: v7.16.66",
        "details": "- **Review Points for Plant/Area/Unit/Company/Site**: v7.16.66",
        "author": "Will"
      },
      {
        "version": "v7.17.4",
        "date": "2026-04-24",
        "summary": "另外，你上传的原始脚本（7.17.4）里 `writeValue` 还是旧的 `new Event`，你是否已经把我修改好的 **7.17.5** 版本安装到 Tampermonkey 了？如果还没有，先装上，再测试 CORR 按钮。",
        "details": "另外，你上传的原始脚本（7.17.4）里 `writeValue` 还是旧的 `new Event`，你是否已经把我修改好的 **7.17.5** 版本安装到 Tampermonkey 了？如果还没有，先装上，再测试 CORR 按钮。",
        "author": "Will"
      },
      {
        "version": "v7.17.5",
        "date": "2026-04-24",
        "summary": "如果确认是 7.17.5 但 CORR 还是不行，请在点击 CORR 后看控制台有没有输出 `[Schedule/Scope CORR]` 开头的日志，把日志贴给我。",
        "details": "如果确认是 7.17.5 但 CORR 还是不行，请在点击 CORR 后看控制台有没有输出 `[Schedule/Scope CORR]` 开头的日志，把日志贴给我。",
        "author": "Will"
      },
      {
        "version": "v7.18.1",
        "date": "2026-05-25",
        "summary": "* ★ v7.18.1: DeepSeek AI secondary validation for Company Name errors",
        "details": "* ★ v7.18.1: DeepSeek AI secondary validation for Company Name errors",
        "author": "Will"
      },
      {
        "version": "v7.18.46",
        "date": "2026-07-01",
        "summary": "三个补丁已加上（v7.18.46），语法检查通过：",
        "details": "三个补丁已加上（v7.18.46），语法检查通过：",
        "author": "Will"
      },
      {
        "version": "v7.01744",
        "date": "2026-05-25",
        "summary": "<p-select _ngcontent-ng-c2730233162=\"\" showclear=\"true\" filterby=\"RecordStatusID,RecordStatusDescription\" resetfilteronhide=\"true\" optionlabel=\"RecordStatusDescription\" optionvalue=\"RecordStatusID\" fo",
        "details": "<p-select _ngcontent-ng-c2730233162=\"\" showclear=\"true\" filterby=\"RecordStatusID,RecordStatusDescription\" resetfilteronhide=\"true\" optionlabel=\"RecordStatusDescription\" optionvalue=\"RecordStatusID\" fo",
        "author": "Will"
      },
      {
        "version": "v8.0.0",
        "date": "2026-01-27",
        "summary": "由于文件太大，我会创建一个简化版本展示合并思路，然后提供完整的合并策略。让我创建**第一版合并脚本**（v8.0.0），这是一个过渡版本，先添加 Project 页面的基础支持：",
        "details": "由于文件太大，我会创建一个简化版本展示合并思路，然后提供完整的合并策略。让我创建**第一版合并脚本**（v8.0.0），这是一个过渡版本，先添加 Project 页面的基础支持：",
        "author": "Will"
      },
      {
        "version": "v8.1.0",
        "date": "2026-01-27",
        "summary": "2. 版本号是 8.1.0",
        "details": "2. 版本号是 8.1.0",
        "author": "Will"
      },
      {
        "version": "v8.1.1",
        "date": "2026-01-27",
        "summary": "5. 安装新的 v8.1.1 脚本",
        "details": "5. 安装新的 v8.1.1 脚本",
        "author": "Will"
      },
      {
        "version": "v8.2.0",
        "date": "2026-01-27",
        "summary": "### 🆕 新增功能（v8.2.0）",
        "details": "### 🆕 新增功能（v8.2.0）",
        "author": "Will"
      },
      {
        "version": "v8.3.0",
        "date": "2026-01-27",
        "summary": "现在用户已经有了 v8.3.0，包含 11 个验证规则。我应该总结一下目前的状态，并询问用户是否需要继续添加更多功能。## ✅ v8.3.0 完成！现已支持 11 个 Project 验证规则",
        "details": "现在用户已经有了 v8.3.0，包含 11 个验证规则。我应该总结一下目前的状态，并询问用户是否需要继续添加更多功能。## ✅ v8.3.0 完成！现已支持 11 个 Project 验证规则",
        "author": "Will"
      },
      {
        "version": "v8.4.0",
        "date": "2026-01-27",
        "summary": "让我开始添加这些功能。## ✅ v8.4.0 完成！包含 23 个完整验证规则",
        "details": "让我开始添加这些功能。## ✅ v8.4.0 完成！包含 23 个完整验证规则",
        "author": "Will"
      },
      {
        "version": "v8.6.1",
        "date": "2026-01-27",
        "summary": "好的，现在让我创建一个简洁的功能总结文档。## 🎉 v8.6.1 完成！完整统一版本",
        "details": "好的，现在让我创建一个简洁的功能总结文档。## 🎉 v8.6.1 完成！完整统一版本",
        "author": "Will"
      },
      {
        "version": "v8.6.2",
        "date": "2026-01-27",
        "summary": "**请测试 v8.6.2，如果还有任何不存在的验证逻辑报错，请告诉我！**",
        "details": "**请测试 v8.6.2，如果还有任何不存在的验证逻辑报错，请告诉我！**",
        "author": "Will"
      },
      {
        "version": "v8.01186",
        "date": "2026-01-22",
        "summary": "Plant Status这个逻辑 需要修改为 Project Status为Active是进行审查 其他Status时需要跳过审查 <div _ngcontent-ng-c3219333051=\"\" class=\"flex align-items-center\"><label _ngcontent-ng-c3219333051=\"\" class=\"w-3 text-right font-bold ",
        "details": "Plant Status这个逻辑 需要修改为 Project Status为Active是进行审查 其他Status时需要跳过审查 <div _ngcontent-ng-c3219333051=\"\" class=\"flex align-items-center\"><label _ngcontent-ng-c3219333051=\"\" class=\"w-3 text-right font-bold ",
        "author": "Will"
      },
      {
        "version": "v9.0",
        "date": "2026-01-27",
        "summary": "- 9.0 是一个完整版本（包含了从 Project 脚本提取的 8000 行代码）",
        "details": "- 9.0 是一个完整版本（包含了从 Project 脚本提取的 8000 行代码）",
        "author": "Will"
      },
      {
        "version": "v9.0.0",
        "date": "2026-01-27",
        "summary": "Good! Now I need to explain what the \"34 validation rules\" were about. Let me clarify this in Chinese.## ✅ v9.0.0 完成！原封不动的 Project 集成",
        "details": "Good! Now I need to explain what the \"34 validation rules\" were about. Let me clarify this in Chinese.## ✅ v9.0.0 完成！原封不动的 Project 集成",
        "author": "Will"
      },
      {
        "version": "v9.1.0",
        "date": "2026-01-27",
        "summary": "好的，原 Project 脚本确实调用了 createBox()。让我查看 createBox 函数的定义，然后在 v9.1.0 中修改，让 update() 调用 createOrUpdateFloatingBox。",
        "details": "好的，原 Project 脚本确实调用了 createBox()。让我查看 createBox 函数的定义，然后在 v9.1.0 中修改，让 update() 调用 createOrUpdateFloatingBox。",
        "author": "Will"
      },
      {
        "version": "v9.2.0",
        "date": "2026-01-27",
        "summary": "很好！v9.2.0 已经创建成功。现在让我验证一下 refreshOnce 函数是否正确调用了这些原始的验证函数。现在让我检查 refreshOnce 是否正确调用了原 Project 脚本的验证函数：",
        "details": "很好！v9.2.0 已经创建成功。现在让我验证一下 refreshOnce 函数是否正确调用了这些原始的验证函数。现在让我检查 refreshOnce 是否正确调用了原 Project 脚本的验证函数：",
        "author": "Will"
      },
      {
        "version": "v9.3.1",
        "date": "2026-01-27",
        "summary": "2. **安装 v9.3.1 FINAL**",
        "details": "2. **安装 v9.3.1 FINAL**",
        "author": "Will"
      },
      {
        "version": "v9.3.3",
        "date": "2026-01-27",
        "summary": "### 📋 v9.3.3 COMPLETE 完整特性",
        "details": "### 📋 v9.3.3 COMPLETE 完整特性",
        "author": "Will"
      },
      {
        "version": "v9.5",
        "date": "2026-04-07",
        "summary": "- **Step 7-9.5**（lines 9597-9866）：都是同步/快速操作",
        "details": "- **Step 7-9.5**（lines 9597-9866）：都是同步/快速操作",
        "author": "Will"
      },
      {
        "version": "v9.5.1",
        "date": "2026-05-11",
        "summary": "Everything looks correct. Now let me also verify the `autoCheckExtraKeyNeeds` helper function is still in scope (it was defined in section 9.5.1 which wasn't moved):",
        "details": "Everything looks correct. Now let me also verify the `autoCheckExtraKeyNeeds` helper function is still in scope (it was defined in section 9.5.1 which wasn't moved):",
        "author": "Will"
      },
      {
        "version": "v9.6",
        "date": "2026-05-11",
        "summary": "Now let me also update the internal variable names that referenced old section numbers (reviewBox96, boxText96 etc.) and make sure the `reviewBox97` / `reviewText97` vars in section 9.6 don't conflict",
        "details": "Now let me also update the internal variable names that referenced old section numbers (reviewBox96, boxText96 etc.) and make sure the `reviewBox97` / `reviewText97` vars in section 9.6 don't conflict",
        "author": "Will"
      },
      {
        "version": "v9.7",
        "date": "2026-05-11",
        "summary": "4. Add Packaging autoFixCategory in section 9.7",
        "details": "4. Add Packaging autoFixCategory in section 9.7",
        "author": "Will"
      },
      {
        "version": "v9.8",
        "date": "2026-05-11",
        "summary": "测试时可以看 console 里的 `[CORR] 9.8: waited 300ms` 和 `[CORR] HeatTransfer EKN:` 日志来确认是否正常执行。如果还是看到 \"triangle button not found\"，说明 label 的 `for` 属性值可能不是 `HeatTransfer` — 到时候把那个 checkbox 区域的 DOM 发给我看一下就能确认。",
        "details": "测试时可以看 console 里的 `[CORR] 9.8: waited 300ms` 和 `[CORR] HeatTransfer EKN:` 日志来确认是否正常执行。如果还是看到 \"triangle button not found\"，说明 label 的 `for` 属性值可能不是 `HeatTransfer` — 到时候把那个 checkbox 区域的 DOM 发给我看一下就能确认。",
        "author": "Will"
      }
    ],
    "tags": [
      "评审",
      "项目"
    ]
  },
  {
    "script_name": "Hotkeys_user.js",
    "display_name": "Hotkeys - 快捷键工具",
    "versions": [
      {
        "version": "v0.2",
        "date": "2026-03-13",
        "summary": "| Highlighter (keyword highlight overlay) | at least 4 (v0.2 → v0.3 → v0.4 → further mods) |",
        "details": "| Highlighter (keyword highlight overlay) | at least 4 (v0.2 → v0.3 → v0.4 → further mods) |",
        "author": "Will"
      },
      {
        "version": "v1.5",
        "date": "2026-04-13",
        "summary": "| `1.5亿元` | → `150000000` ✓ |",
        "details": "| `1.5亿元` | → `150000000` ✓ |",
        "author": "Will"
      },
      {
        "version": "v1.7.16",
        "date": "2026-06-10",
        "summary": "改好了，**Push2Notion v1.7.16**，只动了一行：轮询恢复显示时 `w.style.display = ''` → `'grid'`。",
        "details": "改好了，**Push2Notion v1.7.16**，只动了一行：轮询恢复显示时 `w.style.display = ''` → `'grid'`。",
        "author": "Will"
      },
      {
        "version": "v1.9.0",
        "date": "2026-01-15",
        "summary": "1. **版本号**：从 1.9.0 升级到 2.0.0",
        "details": "1. **版本号**：从 1.9.0 升级到 2.0.0",
        "author": "Will"
      },
      {
        "version": "v1.94.217",
        "date": "2026-05-16",
        "summary": "但实际测试中你发现能跨域读到，是因为 Tampermonkey 的 `GM_getValue`/`GM_setValue` 的作用域是 **per-script（按 @name）而非 per-domain**。也就是说只要是同一个脚本（`Hotkeys_user.js`），无论在 `ed.industrialinfo.com` 还是 `1.94.217.116` 上运行，读写的是同一份 GM 存储",
        "details": "但实际测试中你发现能跨域读到，是因为 Tampermonkey 的 `GM_getValue`/`GM_setValue` 的作用域是 **per-script（按 @name）而非 per-domain**。也就是说只要是同一个脚本（`Hotkeys_user.js`），无论在 `ed.industrialinfo.com` 还是 `1.94.217.116` 上运行，读写的是同一份 GM 存储",
        "author": "Will"
      },
      {
        "version": "v2.0",
        "date": "2026-03-27",
        "summary": "你现在用的那个旧脚本是 **AHK v1** 语法，但新脚本开头写了 `#Requires AutoHotkey v2.0`，两者不能混用。",
        "details": "你现在用的那个旧脚本是 **AHK v1** 语法，但新脚本开头写了 `#Requires AutoHotkey v2.0`，两者不能混用。",
        "author": "Will"
      },
      {
        "version": "v2.0.0",
        "date": "2026-01-15",
        "summary": "// @version      2.0.0",
        "details": "// @version      2.0.0",
        "author": "Will"
      },
      {
        "version": "v2.3.4",
        "date": "2026-03-13",
        "summary": "**Select & Auto-Map v2.3.4** — 11 sections, same color palette as Brush/Hotkeys:",
        "details": "**Select & Auto-Map v2.3.4** — 11 sections, same color palette as Brush/Hotkeys:",
        "author": "Will"
      },
      {
        "version": "v2.4.0",
        "date": "2026-02-11",
        "summary": "- 版本更新到 2.4.0",
        "details": "- 版本更新到 2.4.0",
        "author": "Will"
      },
      {
        "version": "v2.5.0",
        "date": "2026-02-11",
        "summary": "Done.已新增 **PART 5: BIDCENTER HOTKEYS**，通过 `li[tid=\"17\"] a` 选择器精准定位\"审批公示\"标签并点击。版本更新到 2.5.0。",
        "details": "Done.已新增 **PART 5: BIDCENTER HOTKEYS**，通过 `li[tid=\"17\"] a` 选择器精准定位\"审批公示\"标签并点击。版本更新到 2.5.0。",
        "author": "Will"
      },
      {
        "version": "v2.5.11",
        "date": "2026-05-12",
        "summary": "数据库现在总共 **50 条**，脚本 v2.5.11 的所有功能点已完整同步到 Notion。",
        "details": "数据库现在总共 **50 条**，脚本 v2.5.11 的所有功能点已完整同步到 Notion。",
        "author": "Will"
      },
      {
        "version": "v2.6.0",
        "date": "2026-02-11",
        "summary": "Done.已新增 **PART 6: BAIDU HOTKEYS**，Alt+L 按下后通过文本匹配找到\"一年内\"的 `<li>` 元素并点击。由于该元素的 class 名包含动态哈希值（如 `time_li_3_ArK`），用文本匹配比 class 选择器更稳定可靠。版本更新到 2.6.0。",
        "details": "Done.已新增 **PART 6: BAIDU HOTKEYS**，Alt+L 按下后通过文本匹配找到\"一年内\"的 `<li>` 元素并点击。由于该元素的 class 名包含动态哈希值（如 `time_li_3_ArK`），用文本匹配比 class 选择器更稳定可靠。版本更新到 2.6.0。",
        "author": "Will"
      },
      {
        "version": "v2.6.3",
        "date": "2026-05-07",
        "summary": "| Super Copy | 2.6.3 |",
        "details": "| Super Copy | 2.6.3 |",
        "author": "Will"
      },
      {
        "version": "v2.11.6",
        "date": "2026-01-15",
        "summary": "我的bat文件 从源目录到目标目录 目前好像是双向的  我需要修改以下 :: =============================== :: 配置文件路径定义 :: =============================== set \"espanso_src=C:\\Users\\touch\\AppData\\Roaming\\espanso\\match\\base.yml\" set \"espan",
        "details": "我的bat文件 从源目录到目标目录 目前好像是双向的  我需要修改以下 :: =============================== :: 配置文件路径定义 :: =============================== set \"espanso_src=C:\\Users\\touch\\AppData\\Roaming\\espanso\\match\\base.yml\" set \"espan",
        "author": "Will"
      },
      {
        "version": "v2.12.0",
        "date": "2026-02-24",
        "summary": "3. 查看版本号是否还是 **2.12.0**（新文件没改版本号，所以需要手动确认代码内容）",
        "details": "3. 查看版本号是否还是 **2.12.0**（新文件没改版本号，所以需要手动确认代码内容）",
        "author": "Will"
      },
      {
        "version": "v2.13.0",
        "date": "2026-03-06",
        "summary": "v2.13.0，新增逻辑如下：",
        "details": "v2.13.0，新增逻辑如下：",
        "author": "Will"
      },
      {
        "version": "v2.14.3",
        "date": "2026-03-25",
        "summary": "改动说明（v2.14.3 → v2.14.5）：",
        "details": "改动说明（v2.14.3 → v2.14.5）：",
        "author": "Will"
      },
      {
        "version": "v2.15.3",
        "date": "2026-03-25",
        "summary": "三个文件版本：**Hotkeys v2.15.3**、**Plant/Area/Unit/Company/Site v7.16.31**、**Project v5.32.10**。",
        "details": "三个文件版本：**Hotkeys v2.15.3**、**Plant/Area/Unit/Company/Site v7.16.31**、**Project v5.32.10**。",
        "author": "Will"
      },
      {
        "version": "v2.15.4",
        "date": "2026-03-25",
        "summary": "**Hotkeys v2.15.4**，两处改动：",
        "details": "**Hotkeys v2.15.4**，两处改动：",
        "author": "Will"
      },
      {
        "version": "v2.15.14",
        "date": "2026-03-28",
        "summary": "**Hotkeys v2.15.14 — R键新流程：**",
        "details": "**Hotkeys v2.15.14 — R键新流程：**",
        "author": "Will"
      },
      {
        "version": "v2.15.20",
        "date": "2026-03-28",
        "summary": "1. Tampermonkey dashboard 里 Hotkeys 脚本的版本号是否显示 `2.15.20`",
        "details": "1. Tampermonkey dashboard 里 Hotkeys 脚本的版本号是否显示 `2.15.20`",
        "author": "Will"
      },
      {
        "version": "v2.15.21",
        "date": "2026-03-28",
        "summary": "版本号是 `2.15.21`。确认 Tampermonkey 里安装的是否也是这个版本，如果不是说明你装的还是旧文件。",
        "details": "版本号是 `2.15.21`。确认 Tampermonkey 里安装的是否也是这个版本，如果不是说明你装的还是旧文件。",
        "author": "Will"
      },
      {
        "version": "v2.15.39",
        "date": "2026-03-31",
        "summary": "没问题。版本号只是我在输出文件时自动+1了，你本地安装的原始文件还是 v2.15.39，直接用我给的输出文件替换即可，它就是 v2.15.40。",
        "details": "没问题。版本号只是我在输出文件时自动+1了，你本地安装的原始文件还是 v2.15.39，直接用我给的输出文件替换即可，它就是 v2.15.40。",
        "author": "Will"
      },
      {
        "version": "v2.15.40",
        "date": "2026-03-31",
        "summary": "**Hotkeys_user.js** → v2.15.40",
        "details": "**Hotkeys_user.js** → v2.15.40",
        "author": "Will"
      },
      {
        "version": "v2.15.41",
        "date": "2026-04-01",
        "summary": "**`Hotkeys_user.js` v2.15.41**",
        "details": "**`Hotkeys_user.js` v2.15.41**",
        "author": "Will"
      },
      {
        "version": "v2.15.42",
        "date": "2026-04-01",
        "summary": "**`Hotkeys_user.js` v2.15.42**",
        "details": "**`Hotkeys_user.js` v2.15.42**",
        "author": "Will"
      },
      {
        "version": "v2.15.43",
        "date": "2026-04-01",
        "summary": "**`Hotkeys_user.js` v2.15.43**，改动说明：",
        "details": "**`Hotkeys_user.js` v2.15.43**，改动说明：",
        "author": "Will"
      },
      {
        "version": "v2.15.47",
        "date": "2026-04-01",
        "summary": "**`Hotkeys_user.js` v2.15.47**：Guard 改为读 `window._plantDetailErrors`（Plant 脚本写入）和 `window._lastErrorLines`（Project 脚本写入），两者都是每次渲染时更新的完整 Detail 错误数组，与当前显示模式无关。",
        "details": "**`Hotkeys_user.js` v2.15.47**：Guard 改为读 `window._plantDetailErrors`（Plant 脚本写入）和 `window._lastErrorLines`（Project 脚本写入），两者都是每次渲染时更新的完整 Detail 错误数组，与当前显示模式无关。",
        "author": "Will"
      },
      {
        "version": "v2.15.48",
        "date": "2026-04-01",
        "summary": "- **Hotkeys v2.15.48**：Guard 通过 `const _uw = typeof unsafeWindow !== 'undefined' ? unsafeWindow : window` 统一访问，先读 `_uw._plantDetailErrors`（Plant/Area/Unit/CS），再读 `_uw._lastErrorLines`（Project），最后 fall",
        "details": "- **Hotkeys v2.15.48**：Guard 通过 `const _uw = typeof unsafeWindow !== 'undefined' ? unsafeWindow : window` 统一访问，先读 `_uw._plantDetailErrors`（Plant/Area/Unit/CS），再读 `_uw._lastErrorLines`（Project），最后 fall",
        "author": "Will"
      },
      {
        "version": "v2.15.49",
        "date": "2026-04-01",
        "summary": "**`Hotkeys_user.js` v2.15.49**，F1 Guard 现在是三段式逻辑：",
        "details": "**`Hotkeys_user.js` v2.15.49**，F1 Guard 现在是三段式逻辑：",
        "author": "Will"
      },
      {
        "version": "v2.15.57",
        "date": "2026-04-03",
        "summary": "**Hotkeys v2.15.57 / Brush v10.9**，改动总结：",
        "details": "**Hotkeys v2.15.57 / Brush v10.9**，改动总结：",
        "author": "Will"
      },
      {
        "version": "v2.15.60",
        "date": "2026-04-07",
        "summary": "Hotkeys 侧收到事件后直接导航，不再叠加额外延迟（已从 v2.15.60 里移除）。",
        "details": "Hotkeys 侧收到事件后直接导航，不再叠加额外延迟（已从 v2.15.60 里移除）。",
        "author": "Will"
      },
      {
        "version": "v2.15.62",
        "date": "2026-04-07",
        "summary": "**Hotkeys v2.15.62** — `onCorrFinishedEvent` 重写：",
        "details": "**Hotkeys v2.15.62** — `onCorrFinishedEvent` 重写：",
        "author": "Will"
      },
      {
        "version": "v2.15.64",
        "date": "2026-04-07",
        "summary": "**Hotkeys v2.15.64** — 导航逻辑简化：",
        "details": "**Hotkeys v2.15.64** — 导航逻辑简化：",
        "author": "Will"
      },
      {
        "version": "v2.16.0",
        "date": "2026-03-27",
        "summary": "**`Hotkeys_user.js` → v2.16.0**",
        "details": "**`Hotkeys_user.js` → v2.16.0**",
        "author": "Will"
      },
      {
        "version": "v2.17.1",
        "date": "2026-04-17",
        "summary": "- 如果还是装的原版 **2.17.1**，`e.key` 判断失败，但下面的 `[CORR] Starting` 说明是**另一个脚本**（Review Points）触发了，不是 Hotkeys 里的 Alt+Y",
        "details": "- 如果还是装的原版 **2.17.1**，`e.key` 判断失败，但下面的 `[CORR] Starting` 说明是**另一个脚本**（Review Points）触发了，不是 Hotkeys 里的 Alt+Y",
        "author": "Will"
      },
      {
        "version": "v2.17.2",
        "date": "2026-04-17",
        "summary": "- 如果已经装了我给你的 **2.17.2**，那 Alt+Y 应该已经能触发了",
        "details": "- 如果已经装了我给你的 **2.17.2**，那 Alt+Y 应该已经能触发了",
        "author": "Will"
      },
      {
        "version": "v2.17.9",
        "date": "2026-05-06",
        "summary": "| `Version` | Rich Text | `2.17.9` |",
        "details": "| `Version` | Rich Text | `2.17.9` |",
        "author": "Will"
      },
      {
        "version": "v2.18.2",
        "date": "2026-04-27",
        "summary": "4. **拼音字典扩充**（v2.18.2~2.18.5，字典本身不作为独立规则，归入第1条）",
        "details": "4. **拼音字典扩充**（v2.18.2~2.18.5，字典本身不作为独立规则，归入第1条）",
        "author": "Will"
      },
      {
        "version": "v2.18.3",
        "date": "2026-05-07",
        "summary": "**使用前需要做一件事：** 在坚果云里创建文件 `Hotkeys_version.txt`，内容只写当前最新版本号，比如：",
        "details": "**使用前需要做一件事：** 在坚果云里创建文件 `Hotkeys_version.txt`，内容只写当前最新版本号，比如：",
        "author": "Will"
      },
      {
        "version": "v2.18.4",
        "date": "2026-05-07",
        "summary": "**v2.18.4**，改动：读取从 `Hotkeys_version.txt` 改为 `Tampermonkey/NED_versions.json`，用 `GM_info.script.name` 作为 key 查对应版本号。",
        "details": "**v2.18.4**，改动：读取从 `Hotkeys_version.txt` 改为 `Tampermonkey/NED_versions.json`，用 `GM_info.script.name` 作为 key 查对应版本号。",
        "author": "Will"
      },
      {
        "version": "v2.18.5",
        "date": "2026-05-07",
        "summary": "| Hotkeys | 2.18.5 | 已完成 |",
        "details": "| Hotkeys | 2.18.5 | 已完成 |",
        "author": "Will"
      },
      {
        "version": "v2.18.6",
        "date": "2026-05-07",
        "summary": "| Hotkeys | 2.18.6 |",
        "details": "| Hotkeys | 2.18.6 |",
        "author": "Will"
      },
      {
        "version": "v2.18.7",
        "date": "2026-05-07",
        "summary": "**v2.18.7**，Hotkeys 改造完成。",
        "details": "**v2.18.7**，Hotkeys 改造完成。",
        "author": "Will"
      },
      {
        "version": "v2.19.0",
        "date": "2026-05-16",
        "summary": "// @version      2.19.0",
        "details": "// @version      2.19.0",
        "author": "Will"
      },
      {
        "version": "v2.22.3",
        "date": "2026-05-21",
        "summary": "\"Hotkeys\": \"2.22.3\",",
        "details": "\"Hotkeys\": \"2.22.3\",",
        "author": "Will"
      },
      {
        "version": "v2.22.14",
        "date": "2026-06-10",
        "summary": "Looking at the Hotkeys script version 2.22.14, I can see the feature already exists — there's a handler at line 2723-2731 that triggers when pressing R on a plant page, reads the employee count field,",
        "details": "Looking at the Hotkeys script version 2.22.14, I can see the feature already exists — there's a handler at line 2723-2731 that triggers when pressing R on a plant page, reads the employee count field,",
        "author": "Will"
      },
      {
        "version": "v2.22.15",
        "date": "2026-06-10",
        "summary": "The implementation plan is straightforward: copy both files, update Hotkeys to check localStorage first in the 情况0a/0b sections (bumping to 2.22.15), add localStorage writes to Push2Notion's fetchPlan",
        "details": "The implementation plan is straightforward: copy both files, update Hotkeys to check localStorage first in the 情况0a/0b sections (bumping to 2.22.15), add localStorage writes to Push2Notion's fetchPlan",
        "author": "Will"
      },
      {
        "version": "v2.22.24",
        "date": "2026-06-11",
        "summary": "**Hotkeys.user.js v2.22.24 — 新增 PART 9**",
        "details": "**Hotkeys.user.js v2.22.24 — 新增 PART 9**",
        "author": "Will"
      },
      {
        "version": "v2.22.25",
        "date": "2026-06-11",
        "summary": "**Hotkeys.user.js v2.22.25**：标题标记升级为两级状态——",
        "details": "**Hotkeys.user.js v2.22.25**：标题标记升级为两级状态——",
        "author": "Will"
      },
      {
        "version": "v2.22.26",
        "date": "2026-06-11",
        "summary": "**Hotkeys.user.js v2.22.26**：标记改为零宽字符 `U+2060`（路由标记）和 `U+200B`（焦点标记），标签页标题上完全不可见，⌨/✎ 图标不会再显示。",
        "details": "**Hotkeys.user.js v2.22.26**：标记改为零宽字符 `U+2060`（路由标记）和 `U+200B`（焦点标记），标签页标题上完全不可见，⌨/✎ 图标不会再显示。",
        "author": "Will"
      },
      {
        "version": "v2.22.27",
        "date": "2026-06-11",
        "summary": "**Hotkeys.user.js v2.22.27 — PART 9 重写**",
        "details": "**Hotkeys.user.js v2.22.27 — PART 9 重写**",
        "author": "Will"
      },
      {
        "version": "v2.22.28",
        "date": "2026-06-11",
        "summary": "**Hotkeys.user.js v2.22.28** — PART 9 整体替换为「日期框防中文锁死」：",
        "details": "**Hotkeys.user.js v2.22.28** — PART 9 整体替换为「日期框防中文锁死」：",
        "author": "Will"
      },
      {
        "version": "v2.22.29",
        "date": "2026-06-11",
        "summary": "**Hotkeys.user.js v2.22.29** 已输出。你这条补充信息（日志照打、值不变）正是确诊依据——`setAngularValue` 确实执行了、`input` 事件也发了，但 Angular 的 `DefaultValueAccessor` 卡在组词缓冲模式里把它们全吞了。修了四处：",
        "details": "**Hotkeys.user.js v2.22.29** 已输出。你这条补充信息（日志照打、值不变）正是确诊依据——`setAngularValue` 确实执行了、`input` 事件也发了，但 Angular 的 `DefaultValueAccessor` 卡在组词缓冲模式里把它们全吞了。修了四处：",
        "author": "Will"
      },
      {
        "version": "v2.22.30",
        "date": "2026-06-11",
        "summary": "**Hotkeys.user.js v2.22.30** 已输出，拨号按钮三处改动：",
        "details": "**Hotkeys.user.js v2.22.30** 已输出，拨号按钮三处改动：",
        "author": "Will"
      },
      {
        "version": "v3.7.18",
        "date": "2026-05-07",
        "summary": "| Highlighter | 3.7.18 |",
        "details": "| Highlighter | 3.7.18 |",
        "author": "Will"
      },
      {
        "version": "v4.2.45",
        "date": "2026-05-21",
        "summary": "\"Builder\": \"4.2.45\",",
        "details": "\"Builder\": \"4.2.45\",",
        "author": "Will"
      },
      {
        "version": "v5.32.73",
        "date": "2026-04-01",
        "summary": "**`Review_Points_for_Project_user.js` v5.32.73**，只修改这一个文件。",
        "details": "**`Review_Points_for_Project_user.js` v5.32.73**，只修改这一个文件。",
        "author": "Will"
      },
      {
        "version": "v5.32.81",
        "date": "2026-04-07",
        "summary": "**修复策略（改 Review Points，v5.32.81 → v5.32.82）：**",
        "details": "**修复策略（改 Review Points，v5.32.81 → v5.32.82）：**",
        "author": "Will"
      },
      {
        "version": "v5.32.83",
        "date": "2026-04-07",
        "summary": "**v5.32.83，核心改动说明：**",
        "details": "**v5.32.83，核心改动说明：**",
        "author": "Will"
      },
      {
        "version": "v5.32.87",
        "date": "2026-04-07",
        "summary": "- **Review Points for Project**: v5.32.87",
        "details": "- **Review Points for Project**: v5.32.87",
        "author": "Will"
      },
      {
        "version": "v5.33",
        "date": "2026-05-07",
        "summary": "\"Review Points for Project\": \"5.33.x\",",
        "details": "\"Review Points for Project\": \"5.33.x\",",
        "author": "Will"
      },
      {
        "version": "v5.33.21",
        "date": "2026-04-24",
        "summary": "`5.33.21` / `2.17.6`（Hotkeys 无变动）。Settings 面板热键区段最终效果：",
        "details": "`5.33.21` / `2.17.6`（Hotkeys 无变动）。Settings 面板热键区段最终效果：",
        "author": "Will"
      },
      {
        "version": "v5.33.26",
        "date": "2026-04-27",
        "summary": "**v5.33.26** — F2 彻底重写，改动说明：",
        "details": "**v5.33.26** — F2 彻底重写，改动说明：",
        "author": "Will"
      },
      {
        "version": "v5.33.53",
        "date": "2026-05-07",
        "summary": "| Review Points for Project | 5.33.53 | 补加了 `GM_xmlhttpRequest` |",
        "details": "| Review Points for Project | 5.33.53 | 补加了 `GM_xmlhttpRequest` |",
        "author": "Will"
      },
      {
        "version": "v5.33.54",
        "date": "2026-05-07",
        "summary": "| Review Points for Project | 5.33.54 |",
        "details": "| Review Points for Project | 5.33.54 |",
        "author": "Will"
      },
      {
        "version": "v5.48.8",
        "date": "2026-05-21",
        "summary": "\"Review Points for Project\": \"5.48.8\",",
        "details": "\"Review Points for Project\": \"5.48.8\",",
        "author": "Will"
      },
      {
        "version": "v7.12.3",
        "date": "2026-01-22",
        "summary": "[QC Review Points] Script loaded - version 7.12.3",
        "details": "[QC Review Points] Script loaded - version 7.12.3",
        "author": "Will"
      },
      {
        "version": "v7.14.5",
        "date": "2026-04-10",
        "summary": "★ NEW v7.14.5: Check if Plant Name is Location Only",
        "details": "★ NEW v7.14.5: Check if Plant Name is Location Only",
        "author": "Will"
      },
      {
        "version": "v7.16.0",
        "date": "2026-04-10",
        "summary": "★ MODIFIED v7.16.0: Simplified logic - only check if Plant Name minus City is in Address",
        "details": "★ MODIFIED v7.16.0: Simplified logic - only check if Plant Name minus City is in Address",
        "author": "Will"
      },
      {
        "version": "v7.16.60",
        "date": "2026-04-01",
        "summary": "**`Review_Points_for_Plant_Area_Unit_Company_Site_user.js` v7.16.60**：3处 `currentPageDetailErrors` 赋值后立即同步到 `window._plantDetailErrors`，覆盖 Plant / Area / Unit / Company / Site 所有页面的渲染路径。",
        "details": "**`Review_Points_for_Plant_Area_Unit_Company_Site_user.js` v7.16.60**：3处 `currentPageDetailErrors` 赋值后立即同步到 `window._plantDetailErrors`，覆盖 Plant / Area / Unit / Company / Site 所有页面的渲染路径。",
        "author": "Will"
      },
      {
        "version": "v7.16.66",
        "date": "2026-04-07",
        "summary": "- **Review Points for Plant/Area/Unit/Company/Site**: v7.16.66",
        "details": "- **Review Points for Plant/Area/Unit/Company/Site**: v7.16.66",
        "author": "Will"
      },
      {
        "version": "v7.17",
        "date": "2026-05-07",
        "summary": "\"Review Points for Plant Area Unit Company Site\": \"7.17.x\",",
        "details": "\"Review Points for Plant Area Unit Company Site\": \"7.17.x\",",
        "author": "Will"
      },
      {
        "version": "v7.17.11",
        "date": "2026-05-07",
        "summary": "| Review Points for Plant Area Unit Company Site | 7.17.11 | 已完成 |",
        "details": "| Review Points for Plant Area Unit Company Site | 7.17.11 | 已完成 |",
        "author": "Will"
      },
      {
        "version": "v7.17.12",
        "date": "2026-05-07",
        "summary": "| Review Points for Plant Area Unit Company Site | 7.17.12 |",
        "details": "| Review Points for Plant Area Unit Company Site | 7.17.12 |",
        "author": "Will"
      },
      {
        "version": "v7.17.16",
        "date": "2026-05-21",
        "summary": "- Review Points for Plant Area Unit Company Site: 本地 7.17.16 → 远端 7.18.2 ✔",
        "details": "- Review Points for Plant Area Unit Company Site: 本地 7.17.16 → 远端 7.18.2 ✔",
        "author": "Will"
      },
      {
        "version": "v7.18.0",
        "date": "2026-04-10",
        "summary": "★ MODIFIED v7.18.0: Added Hotkeys city list cross-check + Pinyin second-pass detection",
        "details": "★ MODIFIED v7.18.0: Added Hotkeys city list cross-check + Pinyin second-pass detection",
        "author": "Will"
      },
      {
        "version": "v8.01186",
        "date": "2026-03-28",
        "summary": "太好了 成功了 现在开始考虑没有Area ID的情况 需要走这条路 还是Related Info表格 打开Plant ID指向的页面， 点击 Add an Area按钮<button type=\"button\" class=\"btn-row w-max ng-star-inserted\" tabindex=\"520\" title=\"Add an Area\"> Add an Area </butto",
        "details": "太好了 成功了 现在开始考虑没有Area ID的情况 需要走这条路 还是Related Info表格 打开Plant ID指向的页面， 点击 Add an Area按钮<button type=\"button\" class=\"btn-row w-max ng-star-inserted\" tabindex=\"520\" title=\"Add an Area\"> Add an Area </butto",
        "author": "Will"
      },
      {
        "version": "v9.5",
        "date": "2026-04-07",
        "summary": "实际被遗漏的是：**`review-date-filled` dispatch 之后，`autoFillReviewDate` 返回，CORR 还要继续跑 Step 7-9.5，最后 Step 10 的 `setTimeout(async()=>{ await update(); dispatch corr-finished }, 500)`——这段期间如果 `update()` 内部有触发 fo",
        "details": "实际被遗漏的是：**`review-date-filled` dispatch 之后，`autoFillReviewDate` 返回，CORR 还要继续跑 Step 7-9.5，最后 Step 10 的 `setTimeout(async()=>{ await update(); dispatch corr-finished }, 500)`——这段期间如果 `update()` 内部有触发 fo",
        "author": "Will"
      },
      {
        "version": "v9.99.0",
        "date": "2026-05-07",
        "summary": "\"Hotkeys\": \"9.99.0\"",
        "details": "\"Hotkeys\": \"9.99.0\"",
        "author": "Will"
      },
      {
        "version": "v10.22",
        "date": "2026-04-17",
        "summary": "完成，v10.22。",
        "details": "完成，v10.22。",
        "author": "Will"
      },
      {
        "version": "v10.45",
        "date": "2026-05-07",
        "summary": "| Brush | 10.45 |",
        "details": "| Brush | 10.45 |",
        "author": "Will"
      },
      {
        "version": "v10.55",
        "date": "2026-05-21",
        "summary": "\"Brush\": \"10.55\",",
        "details": "\"Brush\": \"10.55\",",
        "author": "Will"
      },
      {
        "version": "v10.7838",
        "date": "2026-03-11",
        "summary": "<div _ngcontent-ng-c1101592064=\"\" class=\"flex align-items-center\"><label _ngcontent-ng-c1101592064=\"\" class=\"w-4 xl:w-5 lg:w-6 md:w-6 sm:w-6 text-right font-bold text-xs\">Completion Date:</label><div ",
        "details": "<div _ngcontent-ng-c1101592064=\"\" class=\"flex align-items-center\"><label _ngcontent-ng-c1101592064=\"\" class=\"w-4 xl:w-5 lg:w-6 md:w-6 sm:w-6 text-right font-bold text-xs\">Completion Date:</label><div ",
        "author": "Will"
      },
      {
        "version": "v39.9447415",
        "date": "2026-06-11",
        "summary": "我在这个页面 https://www.google.com/maps/@39.9447415,116.2540845,6907m/data=!3m1!1e3?entry=ttu&g_ep=EgoyMDI2MDYwMy4xIKXMDSoASAFQAw%3D%3D 搜索框 按下 R 只是输出了r, 没有读取粘贴板并执行转换并输出 我的粘贴板内容为 116.63,40.25",
        "details": "我在这个页面 https://www.google.com/maps/@39.9447415,116.2540845,6907m/data=!3m1!1e3?entry=ttu&g_ep=EgoyMDI2MDYwMy4xIKXMDSoASAFQAw%3D%3D 搜索框 按下 R 只是输出了r, 没有读取粘贴板并执行转换并输出 我的粘贴板内容为 116.63,40.25",
        "author": "Will"
      }
    ],
    "tags": [
      "快捷键",
      "效率工具"
    ]
  },
  {
    "script_name": "Brush_user.js",
    "display_name": "Brush - 刷子工具",
    "versions": [
      {
        "version": "v0.2",
        "date": "2026-03-13",
        "summary": "| Highlighter (keyword highlight overlay) | at least 4 (v0.2 → v0.3 → v0.4 → further mods) |",
        "details": "| Highlighter (keyword highlight overlay) | at least 4 (v0.2 → v0.3 → v0.4 → further mods) |",
        "author": "Will"
      },
      {
        "version": "v2.3.4",
        "date": "2026-03-13",
        "summary": "**Select & Auto-Map v2.3.4** — 11 sections, same color palette as Brush/Hotkeys:",
        "details": "**Select & Auto-Map v2.3.4** — 11 sections, same color palette as Brush/Hotkeys:",
        "author": "Will"
      },
      {
        "version": "v2.5.9",
        "date": "2026-05-07",
        "summary": "**v2.5.9**，完成。同 Brush，`@grant none` 替换为 `GM_xmlhttpRequest` + `@connect`。",
        "details": "**v2.5.9**，完成。同 Brush，`@grant none` 替换为 `GM_xmlhttpRequest` + `@connect`。",
        "author": "Will"
      },
      {
        "version": "v2.5.10",
        "date": "2026-05-07",
        "summary": "| Select & Auto-Map | 2.5.10 |",
        "details": "| Select & Auto-Map | 2.5.10 |",
        "author": "Will"
      },
      {
        "version": "v2.6.1",
        "date": "2026-05-07",
        "summary": "| Super Copy | 2.6.1 | 补加了 `GM_xmlhttpRequest` |",
        "details": "| Super Copy | 2.6.1 | 补加了 `GM_xmlhttpRequest` |",
        "author": "Will"
      },
      {
        "version": "v2.6.2",
        "date": "2026-05-07",
        "summary": "| Super Copy | 2.6.2 |",
        "details": "| Super Copy | 2.6.2 |",
        "author": "Will"
      },
      {
        "version": "v2.6.3",
        "date": "2026-05-21",
        "summary": "\"Super Copy\": \"2.6.3\",",
        "details": "\"Super Copy\": \"2.6.3\",",
        "author": "Will"
      },
      {
        "version": "v2.14.3",
        "date": "2026-03-25",
        "summary": "改动说明（v2.14.3 → v2.14.5）：",
        "details": "改动说明（v2.14.3 → v2.14.5）：",
        "author": "Will"
      },
      {
        "version": "v2.15.57",
        "date": "2026-04-03",
        "summary": "**Hotkeys v2.15.57 / Brush v10.9**，改动总结：",
        "details": "**Hotkeys v2.15.57 / Brush v10.9**，改动总结：",
        "author": "Will"
      },
      {
        "version": "v2.17.9",
        "date": "2026-05-06",
        "summary": "| `Version` | Rich Text | `2.17.9` |",
        "details": "| `Version` | Rich Text | `2.17.9` |",
        "author": "Will"
      },
      {
        "version": "v2.18.6",
        "date": "2026-05-07",
        "summary": "1. **toast 堆叠**：多个更新时是想逐条显示（间隔出现）还是合并成一条（如 `⬆ 3 个脚本有新版本：Hotkeys 2.18.6、Brush 10.44、...`）？",
        "details": "1. **toast 堆叠**：多个更新时是想逐条显示（间隔出现）还是合并成一条（如 `⬆ 3 个脚本有新版本：Hotkeys 2.18.6、Brush 10.44、...`）？",
        "author": "Will"
      },
      {
        "version": "v2.18.7",
        "date": "2026-05-07",
        "summary": "| Hotkeys | 2.18.7 |",
        "details": "| Hotkeys | 2.18.7 |",
        "author": "Will"
      },
      {
        "version": "v2.18.12",
        "date": "2026-05-10",
        "summary": "v2.18.12，新增 D/F 单键快捷键（1765-1823行）。逻辑如下：",
        "details": "v2.18.12，新增 D/F 单键快捷键（1765-1823行）。逻辑如下：",
        "author": "Will"
      },
      {
        "version": "v2.22.3",
        "date": "2026-05-21",
        "summary": "\"Hotkeys\": \"2.22.3\",",
        "details": "\"Hotkeys\": \"2.22.3\",",
        "author": "Will"
      },
      {
        "version": "v2.22.15",
        "date": "2026-06-11",
        "summary": "另外注意你的 Hotkeys 和 Brush 等脚本之间 GM 存储不互通（你 v2.22.15 的更新日志里也提过这个坑）——如果别的脚本也要用这个 key，要么各自存一份，要么用 BroadcastChannel 传，不能直接 GM_getValue 跨脚本读。",
        "details": "另外注意你的 Hotkeys 和 Brush 等脚本之间 GM 存储不互通（你 v2.22.15 的更新日志里也提过这个坑）——如果别的脚本也要用这个 key，要么各自存一份，要么用 BroadcastChannel 传，不能直接 GM_getValue 跨脚本读。",
        "author": "Will"
      },
      {
        "version": "v2.125",
        "date": "2026-04-10",
        "summary": "https://ed.industrialinfo.com/NED/ui/#/ED/confirmedProject页面 对于Project Type为1 也就是Grassroot类型的项目的<input _ngcontent-ng-c415394676=\"\" type=\"text\" pinputtext=\"\" appuppercase=\"\" formcontrolname=\"projectNam",
        "details": "https://ed.industrialinfo.com/NED/ui/#/ED/confirmedProject页面 对于Project Type为1 也就是Grassroot类型的项目的<input _ngcontent-ng-c415394676=\"\" type=\"text\" pinputtext=\"\" appuppercase=\"\" formcontrolname=\"projectNam",
        "author": "Will"
      },
      {
        "version": "v3.7",
        "date": "2026-05-07",
        "summary": "\"NED Scope Builder\": \"3.7.x\",",
        "details": "\"NED Scope Builder\": \"3.7.x\",",
        "author": "Will"
      },
      {
        "version": "v3.7.2",
        "date": "2026-05-07",
        "summary": "| NED Scope Builder | 3.7.2 | 补加了 `dav.jianguoyun.com` |",
        "details": "| NED Scope Builder | 3.7.2 | 补加了 `dav.jianguoyun.com` |",
        "author": "Will"
      },
      {
        "version": "v3.7.3",
        "date": "2026-05-07",
        "summary": "| NED Scope Builder | 3.7.3 |",
        "details": "| NED Scope Builder | 3.7.3 |",
        "author": "Will"
      },
      {
        "version": "v3.7.4",
        "date": "2026-05-07",
        "summary": "| NED Scope Builder | 3.7.4 |",
        "details": "| NED Scope Builder | 3.7.4 |",
        "author": "Will"
      },
      {
        "version": "v3.7.18",
        "date": "2026-05-07",
        "summary": "| Highlighter | 3.7.18 |",
        "details": "| Highlighter | 3.7.18 |",
        "author": "Will"
      },
      {
        "version": "v5.32.72",
        "date": "2026-04-01",
        "summary": "**`Review_Points_for_Project_user.js` v5.32.72**",
        "details": "**`Review_Points_for_Project_user.js` v5.32.72**",
        "author": "Will"
      },
      {
        "version": "v5.33",
        "date": "2026-05-07",
        "summary": "\"Review Points for Project\": \"5.33.x\",",
        "details": "\"Review Points for Project\": \"5.33.x\",",
        "author": "Will"
      },
      {
        "version": "v5.33.20",
        "date": "2026-04-24",
        "summary": "两个文件均已更新（`5.33.20` / `2.17.6`），改动说明：",
        "details": "两个文件均已更新（`5.33.20` / `2.17.6`），改动说明：",
        "author": "Will"
      },
      {
        "version": "v5.33.53",
        "date": "2026-05-07",
        "summary": "| Review Points for Project | 5.33.53 | 补加了 `GM_xmlhttpRequest` |",
        "details": "| Review Points for Project | 5.33.53 | 补加了 `GM_xmlhttpRequest` |",
        "author": "Will"
      },
      {
        "version": "v5.33.54",
        "date": "2026-05-07",
        "summary": "| Review Points for Project | 5.33.54 |",
        "details": "| Review Points for Project | 5.33.54 |",
        "author": "Will"
      },
      {
        "version": "v7.12.3",
        "date": "2026-01-22",
        "summary": "[QC Review Points] Script loaded - version 7.12.3",
        "details": "[QC Review Points] Script loaded - version 7.12.3",
        "author": "Will"
      },
      {
        "version": "v7.16.27",
        "date": "2026-03-13",
        "summary": "在这个版本的基础上改v7.16.27.user  现在还是跳出p-canlendar 为什么Brush读取日期并修改的逻辑可以成立 参考Brush",
        "details": "在这个版本的基础上改v7.16.27.user  现在还是跳出p-canlendar 为什么Brush读取日期并修改的逻辑可以成立 参考Brush",
        "author": "Will"
      },
      {
        "version": "v7.17.5",
        "date": "2026-04-24",
        "summary": "**v7.17.5**，两处改动：",
        "details": "**v7.17.5**，两处改动：",
        "author": "Will"
      },
      {
        "version": "v7.18.42",
        "date": "2026-07-02",
        "summary": "I'm finding four instances of this button row across different page contexts and need to check how each one is structured, then look at the createPreferencesPanel function to see how existing toggles ",
        "details": "I'm finding four instances of this button row across different page contexts and need to check how each one is structured, then look at the createPreferencesPanel function to see how existing toggles ",
        "author": "Will"
      },
      {
        "version": "v7.18.47",
        "date": "2026-07-02",
        "summary": "可以实现,已经改好了(v7.18.47)。",
        "details": "可以实现,已经改好了(v7.18.47)。",
        "author": "Will"
      },
      {
        "version": "v7.18.48",
        "date": "2026-07-02",
        "summary": "已实现(v7.18.48)。核心改动就一行:",
        "details": "已实现(v7.18.48)。核心改动就一行:",
        "author": "Will"
      },
      {
        "version": "v8.01186",
        "date": "2026-03-27",
        "summary": "太好了 成功了 现在开始考虑没有Area ID的情况 需要走这条路 还是Related Info表格 打开Plant ID指向的页面， 点击 Add an Area按钮<button type=\"button\" class=\"btn-row w-max ng-star-inserted\" tabindex=\"520\" title=\"Add an Area\"> Add an Area </butto",
        "details": "太好了 成功了 现在开始考虑没有Area ID的情况 需要走这条路 还是Related Info表格 打开Plant ID指向的页面， 点击 Add an Area按钮<button type=\"button\" class=\"btn-row w-max ng-star-inserted\" tabindex=\"520\" title=\"Add an Area\"> Add an Area </butto",
        "author": "Will"
      },
      {
        "version": "v9.0",
        "date": "2026-01-20",
        "summary": "1. 脚本名称改为 \"IIR Brush\"，版本升级到 9.0",
        "details": "1. 脚本名称改为 \"IIR Brush\"，版本升级到 9.0",
        "author": "Will"
      },
      {
        "version": "v9.3",
        "date": "2026-02-03",
        "summary": "1. **检查 Tampermonkey 里 Brush 脚本版本是否是 9.3**",
        "details": "1. **检查 Tampermonkey 里 Brush 脚本版本是否是 9.3**",
        "author": "Will"
      },
      {
        "version": "v10.0",
        "date": "2026-02-05",
        "summary": "3. **刷新页面** → 应该看到 `🚀 Brush v10.0 loaded successfully!`",
        "details": "3. **刷新页面** → 应该看到 `🚀 Brush v10.0 loaded successfully!`",
        "author": "Will"
      },
      {
        "version": "v10.1",
        "date": "2026-02-12",
        "summary": "## ✅ **修复完成 - Brush v10.1**",
        "details": "## ✅ **修复完成 - Brush v10.1**",
        "author": "Will"
      },
      {
        "version": "v10.9",
        "date": "2026-04-03",
        "summary": "基于完整分析，三个问题的根因和修改方案如下，但这次修改量较大，**能否上传当前的 Brush 脚本文件**（你本地最新版），这样我可以在正确的基础上做修改？我手头的 `/home/claude/Brush_user.js` 是刚才改过 Company Limited 那版（v10.9），但现在这几个问题都在其中。",
        "details": "基于完整分析，三个问题的根因和修改方案如下，但这次修改量较大，**能否上传当前的 Brush 脚本文件**（你本地最新版），这样我可以在正确的基础上做修改？我手头的 `/home/claude/Brush_user.js` 是刚才改过 Company Limited 那版（v10.9），但现在这几个问题都在其中。",
        "author": "Will"
      },
      {
        "version": "v10.10",
        "date": "2026-04-03",
        "summary": "**Brush v10.10**，六处改动：",
        "details": "**Brush v10.10**，六处改动：",
        "author": "Will"
      },
      {
        "version": "v10.11",
        "date": "2026-04-03",
        "summary": "**Brush v10.11**，TIV Currency 逻辑简化为三行核心逻辑：",
        "details": "**Brush v10.11**，TIV Currency 逻辑简化为三行核心逻辑：",
        "author": "Will"
      },
      {
        "version": "v10.12",
        "date": "2026-04-03",
        "summary": "**Brush v10.12**，两处还原：",
        "details": "**Brush v10.12**，两处还原：",
        "author": "Will"
      },
      {
        "version": "v10.13",
        "date": "2026-04-03",
        "summary": "**Brush v10.13**，一行修复：",
        "details": "**Brush v10.13**，一行修复：",
        "author": "Will"
      },
      {
        "version": "v10.14",
        "date": "2026-04-03",
        "summary": "**Brush v10.14**，包含两个有效改动：",
        "details": "**Brush v10.14**，包含两个有效改动：",
        "author": "Will"
      },
      {
        "version": "v10.15",
        "date": "2026-04-03",
        "summary": "**Brush v10.15**，根因和修复：",
        "details": "**Brush v10.15**，根因和修复：",
        "author": "Will"
      },
      {
        "version": "v10.43",
        "date": "2026-05-07",
        "summary": "**v10.43**，完成。这个脚本原来是 `@grant none`，已替换为 `GM_xmlhttpRequest` + `@connect dav.jianguoyun.com`。",
        "details": "**v10.43**，完成。这个脚本原来是 `@grant none`，已替换为 `GM_xmlhttpRequest` + `@connect dav.jianguoyun.com`。",
        "author": "Will"
      },
      {
        "version": "v10.44",
        "date": "2026-05-07",
        "summary": "| Brush | 10.44 |",
        "details": "| Brush | 10.44 |",
        "author": "Will"
      },
      {
        "version": "v10.45",
        "date": "2026-05-07",
        "summary": "| Brush | 10.45 |",
        "details": "| Brush | 10.45 |",
        "author": "Will"
      },
      {
        "version": "v10.7838",
        "date": "2026-03-11",
        "summary": "<div _ngcontent-ng-c1101592064=\"\" class=\"flex align-items-center\"><label _ngcontent-ng-c1101592064=\"\" class=\"w-4 xl:w-5 lg:w-6 md:w-6 sm:w-6 text-right font-bold text-xs\">Completion Date:</label><div ",
        "details": "<div _ngcontent-ng-c1101592064=\"\" class=\"flex align-items-center\"><label _ngcontent-ng-c1101592064=\"\" class=\"w-4 xl:w-5 lg:w-6 md:w-6 sm:w-6 text-right font-bold text-xs\">Completion Date:</label><div ",
        "author": "Will"
      }
    ],
    "tags": [
      "涂刷",
      "批量操作"
    ]
  },
  {
    "script_name": "Select___Auto-Map_user.js",
    "display_name": "Select & Auto-Map - 自动映射",
    "versions": [
      {
        "version": "v2.3.0",
        "date": "2026-03-12",
        "summary": "### 2. `Select___Auto-Map_user.js` — 更新后的 Tampermonkey 脚本 (v2.3.0)",
        "details": "### 2. `Select___Auto-Map_user.js` — 更新后的 Tampermonkey 脚本 (v2.3.0)",
        "author": "Will"
      }
    ],
    "tags": [
      "自动映射",
      "数据关联"
    ]
  },
  {
    "script_name": "Super_Copy_user.js",
    "display_name": "Super Copy - 超级复制",
    "versions": [
      {
        "version": "v2.4.0",
        "date": "2026-03-28",
        "summary": "请确认一下：打开 Tampermonkey 面板，Super Copy 脚本的版本号显示的是 `2.4.0` 还是 `2.5.0`？",
        "details": "请确认一下：打开 Tampermonkey 面板，Super Copy 脚本的版本号显示的是 `2.4.0` 还是 `2.5.0`？",
        "author": "Will"
      },
      {
        "version": "v2.5.0",
        "date": "2026-03-28",
        "summary": "7. 确认编辑器顶部版本号显示 `@version 2.5.0`",
        "details": "7. 确认编辑器顶部版本号显示 `@version 2.5.0`",
        "author": "Will"
      }
    ],
    "tags": [
      "复制",
      "剪贴板"
    ]
  }
]