01fbb21357
leo Windows 實測:首頁跳「需要你處理一下 ⇒ 還沒連上知識庫」, 但側邊欄有 geek6688、Portal 的庫目錄管理也看得到它的庫(win_on_mac_test_lib)。 ## 真兇:又是「只看根層欄位」 `direct.go` 判連線只看 **根層** `cypher_url`/`api_key`, 而多帳號設定(現在的常態)根層是空的 ⇒ **恆判成沒連線**。 為什麼開發機沒事:leo 的 Mac config 帶著**單帳號時代留下的根層欄位**。 ⇒ **今天第三次同一個模式**(另兩次:config 缺 manifest 靠舊檔補齊、 啟動 log 用根層組出 `/webhooks/named//…`)。 修:抽出 `accountsConnected()`=「根層有 **或** 任一帳號有」,並補測試 (刻意用「只有 accounts、根層全空」=全新使用者的形狀)。 ## 順帶:那句話還指錯路 訊息叫人「點托盤選單的『+ 新增帳號…』」——**托盤選單早就只剩「結束 Arcrun」** (t194 起所有設定都在視窗裡)⇒ 使用者照著做會找不到入口。 改指「左邊『知識庫』下方的新增知識庫帳號」。 ## 順帶修我自己的測試腳本(leo 實撞) `① 測試最新版.bat` 用 `dir /o-d`(修改時間)挑版本 ⇒ 複製到共用資料夾後 時間順序不一定等於版本順序,**leo 那次挑到了 v0.18.13**。 改用 `dir /on`(檔名排序)取最後一個。 另把「固定等 20 秒」改成「等你操作完按 Enter 再收 log」—— 清空後第一次跑,引擎本來就不該啟動,等 20 秒收到的是空的。 ## 附帶確認(leo 截圖) - 「有 1 個檔案沒有被整理」**已列出檔名**(`scripts/sdd-active-check.sh`)⇒ 08-06 那個修正生效 - Portal 庫目錄管理三個庫都在(含 Windows 的 `win_on_mac_test_lib`)⇒ 子庫沒出現是假警報
31 lines
1.1 KiB
Go
31 lines
1.1 KiB
Go
package collector
|
|
|
|
import "testing"
|
|
|
|
// TestConnectedDetectionUsesAccounts 釘住 leo 2026-08-06 Windows 實測的假警報:
|
|
//
|
|
// 畫面說「還沒連上知識庫」,但側邊欄有帳號、庫目錄管理也看得到它的庫。
|
|
// 真兇=只看**根層** cypher_url/api_key,而多帳號設定(現在的常態)根層是空的。
|
|
// 開發機不會撞到,因為它的 config 帶著單帳號時代留下的根層欄位。
|
|
//
|
|
// 這支測試刻意用「**只有 accounts、根層全空**」的設定——也就是全新使用者的形狀。
|
|
func TestConnectedDetectionUsesAccounts(t *testing.T) {
|
|
cfg := &DirectConfig{
|
|
Extractor: "workers-ai",
|
|
Accounts: []AccountConfig{{
|
|
CypherURL: "https://example.workers.dev",
|
|
Namespace: "abc123",
|
|
APIKey: "abc123",
|
|
}},
|
|
// 根層 CypherURL / APIKey 刻意留空
|
|
}
|
|
if !accountsConnected(cfg) {
|
|
t.Fatal("有帳號卻判成沒連線 ⇒ 畫面會誤報「還沒連上知識庫」(leo 撞到的那個)")
|
|
}
|
|
|
|
empty := &DirectConfig{Extractor: "workers-ai"}
|
|
if accountsConnected(empty) {
|
|
t.Fatal("完全沒帳號也沒根層設定時,應該判成沒連線")
|
|
}
|
|
}
|