2026年6月29日 星期一

減緩AntiGravity CLI神器之TOKEN消耗參考資訊(2/2)

情境: 本篇是延續前篇減緩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 對話。")


減緩AntiGravity CLI神器之TOKEN消耗參考資訊(1/2)