v0.1.0-alpha.116
Pre-releaseWindows 預設下載 AI-Sister-Setup.exe。這是 current-user 安裝包,內嵌 WebView2
offline installer 與同版 sister.exe,設計為安裝時不需連網;代價是安裝包顯著變大,
exact 大小以該 tag 的 asset 為準。正式 artifact 的斷網安裝仍待實測。Release 也保留
sister.exe 與
sister-desktop.exe,只想跑 CLI、
免安裝使用或診斷 installer 問題時,請把兩個檔放在同一個資料夾。
目前 installer 沒有 code signing,也沒有內建自動 updater。升級是使用者手動下載新版
AI-Sister-Setup.exe,先自行結束 desktop 並停止 recorder,再重新執行。alpha.115 起,Setup
使用 pinned tauri-bundler 2.9.4 custom NSIS template;它不再巢狀執行已安裝的 NSIS
uninstaller。同版 repair 或舊版升新版會在 Setup 持有 lifecycle mutex 時,綁定 current-user
產品鍵所記的 exact install root 原地覆蓋,並與 uninstall key 交叉核對;GUI、/P 與 /S 都會在 WebView2、payload
或安裝登錄 mutation 前重新核對 DisplayVersion、root 與 quoted UninstallString。若 Setup
版本比已安裝版本舊,請關閉 Setup,再從 Windows「已安裝的應用程式」分開移除目前版本。
direct uninstaller 在 PREUNINSTALL 取得 mutex 後,也會重新核對 exact version、root 與
uninstall string,避免使用者確認移除後已有新版覆蓋,舊確認卻接著刪除新版。
本版產生的 sections 繼續覆寫 Tauri stock running-app macro;legacy current-user scanner
回報 sister-desktop.exe/sister.exe 命中時只拒絕,不提供或執行 forced kill。帶協定的
desktop/CLI 仍以 product event + mutex/event/mutex handshake 在產品狀態前和 installer
交接,無關的第二份 Setup 也不能同時進入 lifecycle。
這仍不是跨版本完整原子 lifecycle。legacy scanner 沒有 Unknown,process 列舉或 token/SID
查詢失敗會和未找到合併;舊 binary 不持有 event。已經出貨或已複製到 temp 的 alpha.114
uninstaller 也無法由新版 retroactively 改寫;alpha.115 能保證的是自己的 Setup 不再啟動那個
舊 child。Windows loader 又在 Rust main 前映射
executable,最後一次 legacy scan 到 NSIS File 之間仍有窄窗。installer late-start 因此仍是
Release 1.0 未完成項。
sister.exe doctor # 先看這個:她在這台機器上做得到什麼
sister.exe consent --grant local-recording --grant frame-storage
# 沒簽第一張,下一行會直接拒絕
sister.exe record --duration 60 # 錄一分鐘(省略 --duration 就錄到 Ctrl-C)
sister.exe stats # 記了多少
sister.exe query 電話 # 查,每筆都附出處
sister.exe prune --dry-run # 保留期現在會刪掉什麼
第二行不是形式。沒簽第一張同意書,record 不會開始錄——不是印個
警告然後照錄。少簽第三張(frame-storage)她照樣記,但只記螢幕上的
字、一張截圖都不寫。sister.exe consent 不帶參數就是看現在簽了哪幾張。
使用者自己開桌面姊妹(sister-desktop.exe)的話,它會把那一頁跳出來。
alpha.107 的 Windows login mode 是窄例外:它不在登入背景啟動時自動彈同意頁。
記憶資料放在 %APPDATA%\ted-h\AI-Sister\data\,刪掉那個資料夾就等於
把記憶全部忘掉;config.toml 裡的機器設定(包括 alpha.100 的 URL 答案)不在其中。
也可以用 --data-dir .\test 錄到別的地方,測完直接刪。
這一版修正桌面問「她知道了什麼」時,設定頁上的「知道」兩字被全文搜尋命中,
最後把 OCR 片段當成答案的路徑。
桌面問答現在先用一個窄的 typed intent 分流「她/你/妳(現在/目前/到底)
知道/記得(了)什麼/哪些事/哪些事情」。命中後不跑 FTS、facts、時間章節、blind
diagnostic、follow-up 或 CLI,只讀已經落在本機資料庫的 current L2 理解卡;多出任何
主題字(例如「妳知道客服電話嗎」)仍走原本檢索,不會被總覽吞掉。
總覽最多顯示最近三張、來自最近四張候選且資料庫仍標有畫面出處的卡片,逐張列活動、
時間、作者與 frame 按鈕;同一段只取最新活著版本,fact: 出處會先解析回自己的 frame。
L2 是可修正的模型假設,不是 OCR 原文或確定事實:interpreter/reviewer 的數字分別標成
模型自報/原模型自報信心,使用者修正過的版本不掛模型信心。實體圖檔若在點擊前被外部
移走,開圖仍可能明確失敗;資料庫的 image_path 不冒充一次檔案存在檢查。
「目前沒有留下任何記憶內容」、「有原始紀錄但還沒有 L2」、「有 L2、但最近候選目前沒有畫面出處」
是不同結果。後兩者都不退回 OCR;沒有帶畫面出處的 L2 也不當答案。這個總覽不寫進既有
retrieval query log,也不顯示「我本來已經忘了」標記:那套統計、點擊與 replay schema
量的是檢索,拿 L2 卡片硬塞進去會把 miss、延遲和出處點擊都算成另一件事。
Azure 邊界沒有擴張:只有既有第四張同意、設定、typed region/voice 與 Credential
Manager key 全部有效時,最新總覽回覆中明確標成答案正文的開場、activity 或狀態句才會
沿用既有固定 POST;原問題、OCR、frame/fact id、出處 label、作者、信心,以及 ready
結果旁的截斷/額外缺出處計數都留在本機。三種無答案狀態的整句本身就是答案正文:其中
evidence-missing 狀態句會包含最近候選卡片數;Azure 開啟時這個數字會隨該句送出。本機
朗讀仍須 trusted click,兩條語音路徑不互相 fallback。
隱私承諾與邊界見
PRIVACY.md、
THREAT_MODEL.md。
最有價值的回報是:「這條規則在我的機器上沒有生效。」
Full Changelog: v0.1.0-alpha.115...v0.1.0-alpha.116