Something went wrong. Try again.
become more token aware with this one free trick! providers hate her
Something went wrong. Try again.
2.6 kB · 70 lines
Swift
at main
1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071import Foundation
public struct AppConfig: Codable, Equatable { public var excludedProviders: [String] public var provider5HourCapacities: [String: Double] /// Used for a provider the table below has no capacity for, so a provider the core adds later /// still contributes to the pool instead of being dropped from it. public var defaultProviderCapacity: Double /// Dollar-per-token cost for providers that report a balance rather than windows. public var costPerToken: [String: Double] public var deepseekCostPerToken: Double public var deepseekBudgetUSD: Double
public init( excludedProviders: [String] = ["zai"], provider5HourCapacities: [String: Double] = [ "anthropic": 40_000_000, "openai-codex": 25_000_000, "google-antigravity": 35_000_000, "opencode-go": 15_000_000, "zai": 10_000_000, "hyper": 20_000_000, "alibaba": 20_000_000 ], defaultProviderCapacity: Double = 25_000_000, costPerToken: [String: Double] = ["deepseek": 0.00000008], deepseekCostPerToken: Double = 0.00000008, deepseekBudgetUSD: Double = 20.0 ) { self.excludedProviders = excludedProviders self.provider5HourCapacities = provider5HourCapacities self.defaultProviderCapacity = defaultProviderCapacity self.costPerToken = costPerToken self.deepseekCostPerToken = deepseekCostPerToken self.deepseekBudgetUSD = deepseekBudgetUSD }
public static let configDir: URL = { let home = FileManager.default.homeDirectoryForCurrentUser return home.appendingPathComponent(".config/usage-tray") }()
public static let configURL: URL = { return configDir.appendingPathComponent("config.json") }()
public static func load() -> AppConfig { if !FileManager.default.fileExists(atPath: configURL.path) { let def = AppConfig() save(def) return def }
guard let data = try? Data(contentsOf: configURL), let decoded = try? JSONDecoder().decode(AppConfig.self, from: data) else { return AppConfig() }
return decoded }
public static func save(_ config: AppConfig) { try? FileManager.default.createDirectory(at: configDir, withIntermediateDirectories: true) let encoder = JSONEncoder() encoder.outputFormatting = [.prettyPrinted, .sortedKeys] if let data = try? encoder.encode(config) { try? data.write(to: configURL, options: .atomic) } }}