新增全新安裝的「可刪除預設庫」(leo 2026-08-08 拍板)
全新使用者第一次連上知識庫時,自動在 Documents 建一個 「Arcrun 範例庫(可刪除)」,裡面放三份 .md 示範內容, 不必自己選資料夾就能立刻走完「丟檔→知識卡→搜得到」。 四條紅線都有測試釘住(default_library_test.go/ default_library_e2e_test.go,含真的建 binary 跑 --dry-run 驗證): 1. 可刪——刪掉就真的消失,marker 檔擋住重種 2. 只有第一次——已有帳號的機器不會冒出來 3. 不污染——只在自己的資料夾裡寫檔 4. 不留幽靈資料——資料夾被刪後,config 殘留引用會被清掉(GetState 自我修復) Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
This commit is contained in:
@@ -481,6 +481,17 @@ func (a *App) GetState() UIState {
|
||||
st := UIState{Version: version}
|
||||
cfg, _ := loadCfg()
|
||||
|
||||
// 預設庫的實體資料夾若已經被使用者刪掉,把 config 裡的殘留引用清掉——
|
||||
// 不留幽靈資料、也不會讓 collector 每輪都對著不存在的資料夾報錯(見 default_library.go)。
|
||||
// 資料夾本身「會不會長回來」由 seedDefaultLibraryIfFirstEver 的 marker 檔擋住,這裡不會重種。
|
||||
if pruneMissingDefaultLibrary(cfg) {
|
||||
if err := saveCfg(cfg); err != nil {
|
||||
appLog("清理已刪除的預設庫引用失敗:%v", err)
|
||||
} else {
|
||||
restartWatch()
|
||||
}
|
||||
}
|
||||
|
||||
for i, acc := range cfg.Accounts {
|
||||
ui := UIAccount{Name: accountName(acc), Host: shortHost(acc.CypherURL)}
|
||||
for _, f := range acc.WatchFolders {
|
||||
|
||||
Reference in New Issue
Block a user