dependency-cruiser · 循環依賴 · OpenClaw · 遠端 Mac · 2026

2026 OpenClaw 前端實戰:
遠端 Mac 解析 dependency-cruiser JSON,產出循環依賴 PR 門禁摘要並與既有留言合併

2026.04.30 架構門禁與 PR 敘事負責人 約 7 分鐘閱讀

讀者:已用 dependency-cruiser 守邊界,卻苦於 JSON 龐大、票證與 Lint 不同步。結論:depcruise 機讀輸出收斂為單一路徑,以違規等級與模組上限定離開碼,經 OpenClaw 網關簽章腳本產 Markdown,再以標記與他門禁合併同一則 PR 留言

00 痛點拆解

  1. 契約漂移:stdout 與暫存路徑混用,jq 與留言腳本假設不一,夜間與 PR 事件交錯時難除錯。
  2. 敘事碎裂:循環清單過長時,難與 ESLint/Stylelint 網關摘要比較嚴重度。
  3. 祕鑰外溢:整圖貼進推論或公開票證,不如只傳路徑給網關讀檔;併 knip 摘要時須統一紅線。

01 摘要觸發:網關與腳本對照

擇一為主即可;觸發點在 JSON 落盤之後,並以註解雜湊或固定標記冪等。

面向 OpenClaw 網關 簽章腳本(Runner)
憑證 權杖留在網關;CI 只送路徑與閾值版號。 Runner 注入 OIDC/短期 PAT,gh pr comment 單次送出。
合併 多區塊排序後一次 PATCH,順序固定。 讀舊留言再拼接,測試成本較高。
並列任務 常與 Playwright 分片報告同網段,票證一覽。 無網關時過渡用。

02 違規等級與模組數閾值

數字可貼 README 並以版號欄位共用;warn 僅留言標示、離開碼零;error 離開碼一以擋合併。

等級 條件示例 離開碼
info 無循環,或僅落在允許清單內。 0
warn 循環一至二道,且每道環上模組不超過六個;票證列表示例列不超過八行 0(留言標 WARN)
error 循環三道以上,或單環模組超過七個,或解析涵蓋模組數超過八百仍未縮小範圍。 1

正文僅前三道循環;路徑至多三層;全文改連結流水線產物。

03 可複現步驟(六步)

npx depcruise src --config .dependency-cruiser.js --output-type json --output artifacts/depcruise/graph.json
  1. .dependency-cruiser.js 鎖定 no-circular 與 exclude,勿與本機臨時設定分叉。
  2. 本機與遠端 Mac同 cwd、同 Node 主版本,相對路徑一致。
  3. jq 或 Node 計循環道數單環最大模組數模組總數
  4. 對照閾值定離開碼與 WARN,產單一 Markdown。
  5. 觸發:webhook 打網關,或 Runner 跑 node scripts/depcruise-pr-summary.mjs 交 CLI。
  6. <!-- openclaw:depcruise --> 等標記 upsert,與他門禁區塊拼接後一次更新

先穩定離開碼再開自動留言;調允許清單時遞增閾值版號以利還原。

04 可引用三點

(一)契約為單一路徑,如 artifacts/depcruise/graph.json

(二)示例至多三道循環,其餘報件數。

(三)觸發鍵:JSON mtime 新於上一則摘要,或閾值版號變更,避免雙重推送。

小結

固定 JSON 路徑分級閾值得可機讀訊號;網關或腳本產 Markdown;標記合併 PR 留言與 Lint 並陳。

站內免登入公開頁首頁定價購買/租用幫助中心技術見解索引

遠端 Mac · Apple Silicon · 門禁敘事

在專用遠端 Mac 上跑穩定 depcruise 與 OpenClaw 網關

網關與真機驗收可同網段。請開購買/租用(免登入)、定價幫助

循環依賴門禁 PR 摘要合併 Apple Silicon

長時間圖解析請先對照定價選日/週/月,再購買/租用;網關與腳本固定同主機較易還原閾值差異。

依賴門禁 · 租遠端 Mac