mirror of
https://github.com/farion1231/cc-switch.git
synced 2026-07-27 16:26:16 +08:00
f061b777b7
Hermes: - Parse ~/.hermes/state.db sessions (incl. profiles/*/state.db) into proxy_request_logs with data_source='hermes_session', WAL-aware incremental sync, Hermes-reported cost preferred over model_pricing fallback Zero-cost bug (dashboard showed \$0 totals): - GPT-5.5 family default pricing (~83% of affected rows used GPT-5.5) - find_model_pricing_row: ASCII-lowercase normalization so "OpenAI/GPT-5.5@HIGH" matches seeded "gpt-5.5" - Startup cost backfill in async task: scan rows where total_cost <= 0 but tokens > 0, recompute via model_pricing in a single transaction Performance: - Add (app_type, created_at DESC) covering index for dashboard range queries - Add expression index on COALESCE(data_source, 'proxy') so dedup EXISTS subqueries use index lookup instead of full scan; drop superseded idx_request_logs_dedup_lookup Refactor: - row_to_request_log_detail helper (3-way de-dup; fixes cost_multiplier \"1\" vs \"1.0\" drift between callers) - Promote get_sync_state/update_sync_state to shared session_usage module (4 copies -> 1) - run_step helper in lib.rs replaces 9 if-let-Err blocks - maybe_backfill_log_costs returns bool to skip duplicate total_cost parsing in caller
41 lines
1.0 KiB
Rust
41 lines
1.0 KiB
Rust
pub mod balance;
|
|
pub mod coding_plan;
|
|
pub mod config;
|
|
pub mod env_checker;
|
|
pub mod env_manager;
|
|
pub mod mcp;
|
|
pub mod model_fetch;
|
|
pub mod omo;
|
|
pub mod prompt;
|
|
pub mod provider;
|
|
pub mod proxy;
|
|
pub mod session_usage;
|
|
pub mod session_usage_codex;
|
|
pub mod session_usage_gemini;
|
|
pub mod session_usage_hermes;
|
|
pub mod skill;
|
|
pub mod speedtest;
|
|
pub mod stream_check;
|
|
pub mod subscription;
|
|
pub mod usage_cache;
|
|
pub mod usage_stats;
|
|
pub mod webdav;
|
|
pub mod webdav_auto_sync;
|
|
pub mod webdav_sync;
|
|
|
|
pub use config::ConfigService;
|
|
pub use mcp::McpService;
|
|
pub use omo::OmoService;
|
|
pub use prompt::PromptService;
|
|
pub use provider::{ProviderService, ProviderSortUpdate, SwitchResult};
|
|
pub use proxy::ProxyService;
|
|
#[allow(unused_imports)]
|
|
pub use skill::{DiscoverableSkill, Skill, SkillRepo, SkillService};
|
|
pub use speedtest::{EndpointLatency, SpeedtestService};
|
|
pub use usage_cache::UsageCache;
|
|
#[allow(unused_imports)]
|
|
pub use usage_stats::{
|
|
DailyStats, LogFilters, ModelStats, PaginatedLogs, ProviderLimitStatus, ProviderStats,
|
|
RequestLogDetail, UsageSummary,
|
|
};
|