情境: 本篇是延續前篇減緩AI神器TOKEN消耗參考評估,於系統匣(SYSTEM TRAY視窗右下方)再加入圖示,以方便掌握CONTEXT 上下文對話用量之監督功能。
python token_monitor.py --tray # 系統匣常駐圖示監控
💜安裝系統匣常駐圖示監控,需另外加載 python -m pip install pystray pillow
💜在 LLM(大型語言模型)的 API 機制中,Token 損耗是由「當前對話歷史的長度」決定的,而非對話視窗是否關閉或退出;而以命令提示視窗下達 /exit 只是結束了當前終端機的「會話狀態」,但並不會自動刪除或精簡已經記錄在 brain 中的歷史 JSONL 日誌。當您重啟或繼續在同一個 Conversation ID 提問時,它依然會重新讀取該日誌,導致 Token 消耗隨著輪數,持續性呈急速上升。
減緩TOKEN持續性上升耗損之參考作法:
💜 開新對話(換一個全新的 Conversation ID),這樣歷史歸零,亦即需進行
• 清理/封存歷史對話日誌,讓監控工具和後續會話不再讀取過大的歷史。
• 清理/移檔歷史對話:將 <appDataDir>\brain (即 C:\Users\username\.gemini\antigravity-cli\brain )下那些用量過高、已結束的舊對話資料夾,移動到其他備份目錄,讓監控工具不再掃描到它們。
• 完成移檔歷史對話後,再次下達 /EXIT ,才算實質性減緩TOKEN持續性上升耗損!
💜開新對話作法之 PROMPT提示詞如下:(藍色部分) 請協助將 token_monitor.py 監督TOKEN狀態程式,加入SYSTEM TRAY機制;另外,可以按滑鼠右鍵 一鍵清理與移檔歷史對話 (亦即 清理/移檔歷史對話:將 <appDataDir>\brain (即 C:\Users\username\.gemini\antigravity-cli\brain )下那些用量過高、已結束的舊對話資料夾,移動到其他備份目錄 )
💟一鍵清理與移檔歷史對話 (archive_old_dialogs.py),主要功能如下 :
def archive_high_usage_dialogs():
if not BRAIN_DIR.exists():
print("❌ 找不到 brain 目錄。")
return
ARCHIVE_DIR.mkdir(exist_ok=True)
print(f"📂 備份封存目錄設為: {ARCHIVE_DIR}")
print("🔍 開始檢查對話資料夾...")
archived_count = 0
# 遍歷 brain 下的所有對話資料夾
for item in BRAIN_DIR.iterdir():
# 排除已封存目錄自身與隱藏資料夾
if item.is_dir() and item.name != "_archive" and not item.name.startswith("."):
log_path = item / ".system_generated" / "logs" / "transcript.jsonl"
# 若日誌檔案存在,檢查其大小或修改時間
if log_path.exists():
file_size_kb = log_path.stat().st_size / 1024
# 策略:如果 transcript 檔案大於 100KB (通常代表輪次很多/程式碼貼很多),則移檔封存
if file_size_kb > 80:
print(f"⚠️ 對話 [{item.name[:8]}...] 大小為 {file_size_kb:.1f} KB,判定為高用量對話,進行封存。")
try:
dest = ARCHIVE_DIR / item.name
if dest.exists():
shutil.rmtree(dest)
shutil.move(str(item), str(ARCHIVE_DIR))
archived_count += 1
except Exception as e:
print(f"❌ 移動失敗: {e}")
print(f"✨ 清理完成!共封存了 {archived_count} 個高 Token 對話。")