feat: add Gemini CLI session log usage tracking

Parse ~/.gemini/tmp/*/chats/session-*.json for precise per-message
token data (input/output/cached/thoughts). Integrates with existing
background sync and manual sync button alongside Claude and Codex.
This commit is contained in:
Jason
2026-04-06 19:48:06 +08:00
parent 8ad1bb7924
commit f5d7064d57
8 changed files with 525 additions and 3 deletions
+14
View File
@@ -817,6 +817,13 @@ pub fn run() {
{
log::warn!("Codex usage initial sync failed: {e}");
}
if let Err(e) =
crate::services::session_usage_gemini::sync_gemini_usage(
&db_for_session_sync,
)
{
log::warn!("Gemini usage initial sync failed: {e}");
}
// 定期同步
let mut interval = tokio::time::interval(std::time::Duration::from_secs(
@@ -839,6 +846,13 @@ pub fn run() {
{
log::warn!("Codex usage periodic sync failed: {e}");
}
if let Err(e) =
crate::services::session_usage_gemini::sync_gemini_usage(
&db_for_session_sync,
)
{
log::warn!("Gemini usage periodic sync failed: {e}");
}
}
});
});