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

- 加入程式碼的紀錄行 — @BLYCK@ {"label":…, "vals":…, "level":…}(通常由 AI 加入和刪除)
- 在 Blyck 終端機中執行 — Blyck 會收集輸出中的 @BLYCK@ 行
- 🐞 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),這些輸出也會被收集。
使用步驟 — 用說的請 AI 做
Section titled “使用步驟 — 用說的請 AI 做”- 把 AI 聊天設成 ⚡ 執行 或 🚀 自動 模式,然後說「在這個函式加除錯記錄,幫我找原因」。
- AI 會在程式碼中加入記錄行,或建立記錄用的輔助函式(在程式碼中加入行時,可能會跳出核准卡片)。
- 我(或 AI)在 Blyck 終端機或網頁預覽中執行程式。
- AI 讀取收集到的記錄並修正。需要時會再執行一次確認。
- 結束後說 「幫我清掉除錯行」 — AI 會找出剩下的記錄行並刪除。
記錄行的格式
Section titled “記錄行的格式”@BLYCK@ {"label":"after-add","vals":{"qty":3,"total":null},"level":"debug","loc":"cart.js:42"}| 欄位 | 意思 |
|---|---|
label | 名稱 |
vals | 想查看的值 |
level | debug、info、warn、error、assert 其中之一(不認得的值視為 debug) |
loc | 位置 檔案:行(可省略) |
- JSON 損壞的行也不會丟掉,會以名稱 (malformed)、等級 warn 保留。
- 自己加入時,
@BLYCK@後面只能接 JSON。
會收集哪裡輸出的記錄
Section titled “會收集哪裡輸出的記錄”| 輸出 | 是否收集 |
|---|---|
| Blyck 終端機(本機·SSH)輸出 | 是 |
| 網頁預覽主控台 | 是 |
| AI 在遠端伺服器上執行的輸出 | 是 |
| 編輯器 ▶ 執行 的輸出視窗 | 否 |
| Blyck 以外(瀏覽器 F12 主控台、其他終端機程式) | 否 |
執行了卻沒收集到記錄的話,請先確認是否在 Blyck 終端機面板中執行了該程式。
除錯視窗 — Ctrl+Shift+D
Section titled “除錯視窗 — Ctrl+Shift+D”
- 篩選 — label · loc 欄位,選擇 level · source / 🔕 AI 自動調查 · ⏸ 暫停 · 🗑 清除 · ✕ 關閉
- 一行紀錄 — [等級] 名稱 值 · 來源(terminal / preview)
即時查看收集到的記錄的小視窗(畫面右下角,標題 🐞 Debug Bridge)。再按一次就會關閉。它和 AI 讀取的是同一份記錄,所以可以一邊看對話,一邊看 AI 正在根據什麼修正。免費。
| 部分 | 作用 |
|---|---|
label / loc 欄 | 依名稱·位置篩選(部分文字) |
level 選擇 | debug / info / warn / error / assert |
source 選擇 | terminal / preview |
| 🔔 / 🔕 | 開啟·關閉 AI 自動調查 |
| ⏸ / ▶ | 暫停 / 繼續 |
| 🗑 | 清除 — 連 AI 讀取的記錄也一併清空 |
| ✕ | 關閉 |
最多保留 1,000 行,超過時從最舊的開始刪除。
AI 自動調查(Pro,預設關閉)
Section titled “AI 自動調查(Pro,預設關閉)”開啟後,只要出現 error 或 assert 記錄,AI 不用問就會自動開始調查原因。讓你在程式跑著時,不會錯過問題爆發的那一刻。
- 開啟位置:除錯視窗的 🔔,或 AI 聊天 ⋯ → 聊天設定 → 顯示 → 🖥 顯示 / 串流 → 🔔 自動除錯調查(發生 assert/error 時 AI 自動執行 — 會產生費用)。兩者是同一個設定。
- 調查會送到目前正在使用的 AI 聊天,而且只在該聊天開著且閒置時進行。
- 為避免過度使用,60 秒內最多 3 次,同一筆記錄 120 秒內不會再次調查。
AI 使用的工具
Section titled “AI 使用的工具”| 工具 | 作用 | 核准 |
|---|---|---|
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的輔助程式碼。
讓記錄行不留在正式版中的方法有兩種。
① 輔助程式碼在正式版中會自動關閉
| 語言 | 在正式版中 |
|---|---|
| JavaScript | NODE_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 的記錄也會被收集。