跳到內容

AI 除錯橋接

AI 除錯橋接是讓 AI 直接讀取執行中程式內部值(變數值等)的機制。

一般除錯總是重複「AI 猜測 → 我執行 → 我複製錯誤貼上 → AI 再猜測」。用了除錯橋接,中間就不再需要人。只要在程式碼中加入一行固定格式的記錄(@BLYCK@ …),當這一行出現在 Blyck 終端機或網頁預覽時,Blyck 就會收集起來,讓 AI 讀取並找出原因。通常由 AI 自己加入這些行,用完後也由 AI 自己刪除。

程式碼中加入的 @BLYCK@ 行印到終端機後,會另外收集到 Debug Bridge 視窗

  1. 加入程式碼的紀錄行 — @BLYCK@ {"label":…, "vals":…, "level":…}(通常由 AI 加入和刪除)
  2. 在 Blyck 終端機中執行 — Blyck 會收集輸出中的 @BLYCK@ 行
  3. 🐞 Debug Bridge 視窗(Ctrl+Shift+D)— 把收集到的紀錄依等級·名稱·值整理顯示,AI 用 debug_read 讀取
功能免費Pro
用除錯視窗(Ctrl+Shift+D)查看記錄✓✓
AI 加入·讀取·刪除記錄行—✓
AI 自動調查(出錯時 AI 自動調查)—✓
  • 想把「這個值為什麼怪怪的?」交給 AI 時
  • 不想複製·貼上終端機輸出時
  • 除錯手機 App(Flutter 等)時 — 在 Blyck 終端機中開著 flutter run、adb logcat(Android)、idevicesyslog(iOS),這些輸出也會被收集。
  1. 把 AI 聊天設成 ⚡ 執行 或 🚀 自動 模式,然後說「在這個函式加除錯記錄,幫我找原因」。
  2. AI 會在程式碼中加入記錄行,或建立記錄用的輔助函式(在程式碼中加入行時,可能會跳出核准卡片)。
  3. 我(或 AI)在 Blyck 終端機或網頁預覽中執行程式。
  4. AI 讀取收集到的記錄並修正。需要時會再執行一次確認。
  5. 結束後說 「幫我清掉除錯行」 — AI 會找出剩下的記錄行並刪除。
@BLYCK@ {"label":"after-add","vals":{"qty":3,"total":null},"level":"debug","loc":"cart.js:42"}
欄位意思
label名稱
vals想查看的值
leveldebug、info、warn、error、assert 其中之一(不認得的值視為 debug)
loc位置 檔案:行(可省略)
  • JSON 損壞的行也不會丟掉,會以名稱 (malformed)、等級 warn 保留。
  • 自己加入時,@BLYCK@ 後面只能接 JSON。
輸出是否收集
Blyck 終端機(本機·SSH)輸出是
網頁預覽主控台是
AI 在遠端伺服器上執行的輸出是
編輯器 ▶ 執行 的輸出視窗否
Blyck 以外(瀏覽器 F12 主控台、其他終端機程式)否

執行了卻沒收集到記錄的話,請先確認是否在 Blyck 終端機面板中執行了該程式。

用 Ctrl+Shift+D 開啟的 🐞 Debug Bridge 視窗 — 收集到的 @BLYCK@ 紀錄即時顯示

  1. 篩選 — label · loc 欄位,選擇 level · source / 🔕 AI 自動調查 · ⏸ 暫停 · 🗑 清除 · ✕ 關閉
  2. 一行紀錄 — [等級] 名稱 值 · 來源(terminal / preview)

即時查看收集到的記錄的小視窗(畫面右下角,標題 🐞 Debug Bridge)。再按一次就會關閉。它和 AI 讀取的是同一份記錄,所以可以一邊看對話,一邊看 AI 正在根據什麼修正。免費。

部分作用
label / loc 欄依名稱·位置篩選(部分文字)
level 選擇debug / info / warn / error / assert
source 選擇terminal / preview
🔔 / 🔕開啟·關閉 AI 自動調查
⏸ / ▶暫停 / 繼續
🗑清除 — 連 AI 讀取的記錄也一併清空
✕關閉

最多保留 1,000 行,超過時從最舊的開始刪除。

開啟後,只要出現 error 或 assert 記錄,AI 不用問就會自動開始調查原因。讓你在程式跑著時,不會錯過問題爆發的那一刻。

  • 開啟位置:除錯視窗的 🔔,或 AI 聊天 ⋯ → 聊天設定 → 顯示 → 🖥 顯示 / 串流 → 🔔 自動除錯調查(發生 assert/error 時 AI 自動執行 — 會產生費用)。兩者是同一個設定。
  • 調查會送到目前正在使用的 AI 聊天,而且只在該聊天開著且閒置時進行。
  • 為避免過度使用,60 秒內最多 3 次,同一筆記錄 120 秒內不會再次調查。
工具作用核准
debug_read讀取收集到的記錄(依名稱·位置·等級·來源·時間篩選)不需要
debug_shim產生各語言的記錄輔助程式碼(blyckDbg / blyckAssert)— 11 種語言不需要
debug_probe在檔案指定的行中,以正確格式加入記錄行 — JS/TS、Python、Dart、Bash⚡ 執行模式下需要
debug_release_check部署前找出剩下的 @BLYCK@不需要
debug_strip只刪除 @BLYCK@ 輸出行(註解·字串常數·輔助檔案保留)⚡ 執行模式下需要
  • debug_probe·debug_strip 在 💬 聊天·📋 計畫模式下會被擋下。遠端(SFTP)專案檔案也能使用。
  • 其他語言(Go·Rust·Java·C# 等)由 AI 直接加入 debug_shim 的輔助程式碼。

讓記錄行不留在正式版中的方法有兩種。

① 輔助程式碼在正式版中會自動關閉

語言在正式版中
JavaScriptNODE_ENV=production 時關閉(不經打包工具、直接在瀏覽器使用時一律開啟)
Python用 python -O 執行時關閉
Go不加 blyckdebug 建置標籤建置時會被排除
Rust · C# · Dart在發行版建置中關閉
Java必須自己把程式碼中的 DEBUG=true 改成 false 才會關閉
Bash只在有 BLYCK_DEBUG 環境變數時才輸出
Kotlin · Swift · C/C++依各語言的除錯標記(DEBUG / #if DEBUG / NDEBUG)

② 部署前刪除 — 對 AI 說 「幫我清掉除錯行」,它會找出剩下的地方(debug_release_check),只刪除輸出行(debug_strip)。node_modules·.git·dist·build 這類資料夾以及圖片·壓縮檔不會檢查。

需要把主控台輸出複製給 AI 嗎? 不用。這正是使用這個功能的原因。加入記錄行並在 Blyck 終端機中執行,AI 就會直接讀取。

執行了,AI 卻讀不到記錄 輸出必須出現在 Blyck 終端機面板或網頁預覽。編輯器 ▶ 執行 的輸出視窗、Blyck 以外的終端機、瀏覽器 F12 主控台都不會收集。請確認除錯視窗(Ctrl+Shift+D)中是否看得到記錄。

部署時一定要刪掉嗎? 大部分語言在正式版中輔助程式會自動關閉。Java 需要自己關。想要乾淨一點的話,說「幫我清掉除錯行」來刪除。

App 出錯時,AI 會自己介入嗎? 開啟 AI 自動調查 的話會。預設是關閉的,開啟後會消耗用量。

手機 App(Flutter)也可以嗎? 可以。在 Blyck 終端機中開著 flutter run、adb logcat、idevicesyslog 這類日誌,裝置上 App 的記錄也會被收集。