2026-10-23 活動快照 snapshot · 數字為當時狀態,最新統計見 BIM_MCP 知識站
2026-10-23 UPDATE · FORK HARVEST

五個 fork 收編

這一輪收編了五位貢獻者的 fork 內容:@s9101800111-byte、@a0917-cell、@hb5138111、@huynvk19-cell、@penny116889。起點是 2026-10-22 的任務指示:回溯每個 fork 找出有改動卻沒提 PR 的貢獻者。盤點判定見 log 2026-10-22 17:30 的 14 位 CHANGED_LOCAL 表;本頁只記其中收編的五位。

+19
MCP 工具
220 → 239
+4
新增 domain SOP
90 → 94
Mac
驗收範圍僅限
無 Windows、無 Revit 實機
SECTION 01 · 收了什麼

逐 commit、逐來源 ref

本頁只放兩類句子:可用指令重跑的事實,與逐字引用 commit 內文或 log/2026-10.md 的引文(以引號標示出處)。引文以外不下因果或優劣判斷。貢獻者只以 GitHub handle 稱呼。

貢獻者收編 commit來源 ref(merge-base)收錄內容收編 commit 自述的「相對 fork 的修正」(引自 commit 內文;是否為 fork 缺陷本頁不判定)
@s9101800111-byted89672cbyte/main(9a6ebf5)7 支新工具:create_grids、preview_dwg_grids、create_grids_from_dwg、create_opening_types、get_all_tags、create_wall_sweeps、get_door_window_coordinates
  • create_wall_sweeps:專案端 doc.LoadFamily 原本在 Transaction 外,改為自開載入交易
  • create_wall_sweeps:同名類型已存在時不再靜默改寫其輪廓(會連動既有飾條)
  • create_wall_sweeps:族群樣板路徑改由執行中的 Revit 版本推導
  • create_grids:座標缺漏時拋出點名索引的錯誤,而非 NullReferenceException
  • get_all_tags:IsLeaderVisible 以 #if REVIT2023_OR_GREATER 包住,R22 可編譯
@hb51381111eee3e5tanner/feature/model-review-tools(2faacc5)8 支新工具:get_model_snapshot、get_model_warnings、get_recent_changes、export_view_image、batch_modify_elements、check_beam_clear_height、check_mep_spacing、clear_review_markers;domain:domain/beam-clear-height-check.md、domain/mep-spacing-clearance-check.md
  • export_view_image 回傳欄位改為 PascalCase ImageBase64/MimeType,否則既有的 影像分支接不到,PNG 會以數 MB base64 文字送給 AI
  • 四支長時間檢討工具改用 300 秒逾時(LONG_RUNNING_COMMANDS),SLOW_COMMANDS 不動
  • ChangeTracker 改為首次呼叫時才訂閱 DocumentChanged,handler 內只記 id, 類別名稱延後到 get_recent_changes 才解析(符合 CLAUDE.md 的 DocumentChanged 規則)
  • 新增 ChangeTracker.Unsubscribe(尚未接上 Application.cs 的 OnShutdown)
@a0917-celle934da6tkgcc/main(be5cb2b)4 支新工具:align_structural_framing、create_floor_area_formula、renumber_parking_spaces、create_sequence_numbers;domain:domain/permit-floor-area-formula.md、domain/sequence-numbering.md、domain/parking-auto-numbering.md(front matter version 1.0→2.0);tests/
  • permit-floor-area-formula §5 三角形列補上 handler 的直角三角形分支
  • FramingAlign 檢查 Commit 狀態;新 handler 的 new ElementId 改用 ToElementId(R24 CS0618)
  • renumber_parking_spaces:parameterName 為「備註」/"Comments" 時一律走 BuiltInParameter,不受 Revit 語系影響
  • tests/ 的 Nice3point 套件釘版為 2023.1.90
@huynvk19-cell、@penny11688953fcd9ehuynv/claude/employee-repo-access-8y710w(be5cb2b)、penny/main(be5cb2b)@huynvk19-cell:OpeningCheckThresholds(MCP/Core/OpeningCheckThresholds.cs);@penny116889:門窗圖例的 scaffold_template mode
  • CopyElement 改為跨視圖 CopyElements(原寫法會把佔位元件複製進別的圖例)、CommitOrThrow、清空步驟只刪新視圖擁有的元素、columns/rows 限 1..20、每條格線只畫一次並回報 Failed* 計數
  • domain/door-window-legend-workflow.md 的補寫非 fork 內容(penny/main 差異未含此檔)。
@huynvk19-cellcb159dahuynv/claude/employee-repo-access-8y710w(be5cb2b)scripts/setup.ps1:Microsoft Store 版 Claude Desktop 偵測;Claude Desktop 與 Gemini CLI 的 JSON 寫入改 UTF-8 無 BOM(皆在 fork 的 scripts/setup.ps1 差異內)
  • Claude Desktop 區塊(loop-up inspector 要求):以 UTF-8 讀檔,不再用 Get-Content 的 ANSI 解碼;JSON 解析失敗時記 FAIL 並跳過該目錄,絕不覆寫;備份改用時間戳記檔名,不再 -Force 覆蓋舊備份

加總:7+8+4 = 19 支新工具。4c087b7 的標題為 222→220,58ab724 的標題為 tools 220→239、domain 90→94(中央同步)。

SECTION 02 · 沒收什麼

沒收的項目,與紀錄中有的理由

每列的「理由」欄只有三種內容:commit 內文引文、log 引文,或字樣「未記錄理由」。標為未記錄理由的項目,在本頁引用的 commit 內文與 log 條目中找不到理由;本頁不判定,也不補寫。

來源 ref項目(路徑)理由
tkgcc/maindelete_question_mark_tags(MCP/Core/CommandExecutor.cs 第 113 行、MCP/Core/Commands/CommandExecutor.TagOps.cs 第 16 行)會刪標籤、fork 未註冊為 MCP 工具,只被 pyRevit 呼叫;另:git grep 於 MCP-Server/(c7395ca)零命中。
penny/maindomain/door-window-legend-template-workflow.md以 wc -l 計 690 行,以 awk 計程式碼圍欄內 565 行;描述一個不存在的 TemplateLegendExecutor 填表後端),僅在 references 註記其 fork 位置(註記位置:domain/door-window-legend-workflow.md 第 10 行)。
huynv/claude/employee-repo-access-8y710wscripts/fix-claude-config.ps1與 setup.ps1 重複,經三輪審查各有新風險
byte/mainMCP/Application.cs、MCP/Core/SocketService.cs、.claude/hooks/jury-stop-gate.mjs、.claude/jury-gate.config.json未記錄理由
tanner/feature/model-review-toolsMCP/Application.cs、.github/workflows/build-addin.yml、MCP-Server/src/index.ts(camelCase 影像分支)未記錄理由
tkgcc/mainpyRevit_Tools/、CODE_MAP.md、scripts/setup.ps1 的 DEPRECATED 註解、scripts/DEPRECATED-installers.md未記錄理由
@hb5138111 的 bim-custom 分支(未 fetch 至本機)整個分支(36 commit/166 檔)零 MCP 工具且 csproj 加了 R26 條件式套件 → SKIP(log 2026-10-22 17:30 表中 bim-custom 一列)

相對 merge-base 的差異檔數(依來源 ref,git diff --stat):byte 42、tkgcc 53、tanner 36、huynv 6、penny 5;上表以外的檔案未逐一記錄取捨。

紀錄中列為「未收、刻意不動、待人決定」的殘留項

已知殘留(minor,有紀錄未修):`7-15` 不計複合賦值(`+=`);`setup.ps1` 的 Gemini CLI 區塊仍有既有的格式錯誤覆寫;`ChangeTracker.Unsubscribe` 未接上 `OnShutdown`;`create_wall_sweeps` 同名類型存在時新載入的輪廓族群會閒置。

SECTION 03 · 閘門與產生器

同一段 commit 範圍內的四個檢查/工具 commit

對象commitcommit 內文(引文)
7-15/9-3ad2081d尾端 `:\s*toolName` 會吃掉下一段的 toolName,鏈式三元第二筆以後全部漏抓;改為 lookahead,並限定在 commandName 賦值句內解析。
7-153a4e84e定位改為 (const|let|var) commandName 宣告,不再誤抓前面的 === 比較
7-164f121bcdocs/BIM_MCP/reference/kanban-index.html 由 scripts/gen-kanban-index.py 自 tools/kanban/cards/*.json 產生;7-16 檢查雙向 exactly-one、連結存活、時間落差聲明、已被超出標記(由產生器解析,不在閘門重述)
tools-index 產生器d326677--check 模式:頁面與 registry 不一致時 exit 1
SECTION 04 · 誠實標註

哪些驗過了,哪些沒有

下列兩張卡逐字引自 log/2026-10.md 2026-10-23 16:30 條目的「驗收(Mac,不得宣告 Windows 通過)」小節。

log 記載的 Mac 驗收項

  • R22/R23/R24/R25/R26 五組 `dotnet build -p:EnableWindowsTargeting=true` 各 0 error(編譯期驗證)
  • `npm run build` 通過;`registerRevitTools()` 239 支、零重複;domain 94、skills 61
  • `gen-tools-index.py --check` 一致
  • `pwsh verify-qaqc.ps1 -SkipBuild -SkipDeploy`:60 PASS/10 FAIL/4 WARN/3 SKIP,FAIL 集合與 pristine 基準逐行相同(10 個皆為 macOS 平台性錯判);計數、三層列舉、描述比對、`7-15`、`7-16`、`9-1`、`9-3`、domain frontmatter 全部 PASS

log 記載的待 Windows 補跑項

待 Windows 補跑:正式 `verify-qaqc.ps1`(0 FAIL 才算過)、`S5`/`S5b` 的 RED/GREEN 紀錄重取、`setup.ps1` 三種情境(無設定檔/正常設定檔/格式錯誤設定檔)實際執行、全部新工具的 Revit 實機驗證

所以這頁最想請你做的事
如果你在 Windows+Revit 上,升級後挑一支新工具在真的模型上跑一次,然後回報發生了什麼——壞的或好的都要。開 issue 就好。