const pj_module_dir = (path self | path dirname) const pj_cache_dir = ($pj_module_dir | path join '..' 'cache') const key_file = ($pj_cache_dir | path join 'deepseek_apikey.toml') # Save your DeepSeek API key to local cache. export def "pj deepseek setkey" [api_key: string] { mkdir $pj_cache_dir let content = $"[apikey] key = \"($api_key)\" " $content | save -f $key_file print $"(char --unicode '2714') DeepSeek API key saved to ($key_file)" } # Query DeepSeek account balance information. export def "pj deepseek" [] { if not ($key_file | path exists) { print $"(char --unicode '274c') No DeepSeek API key found. Use `pj deepseek setkey ` to set it." return } let config = (open $key_file) let api_key = ($config.apikey?.key? | default "") if ($api_key | is-empty) { print $"(char --unicode '274c') Invalid API key in config file. Use `pj deepseek setkey ` to set a new one." return } let response = (curl -L -X GET 'https://api.deepseek.com/user/balance' -H 'Accept: application/json' -H $"Authorization: Bearer ($api_key)" | complete) if ($response.exit_code != 0) { print $"(char --unicode '274c') Failed to query balance: ($response.stderr)" return } let balance = ($response.stdout | from json) let available_text = if $balance.is_available { $'(char --unicode '2705') Yes' } else { $'(char --unicode '274c') No' } let separator = ('' | fill --character (char --unicode '2501') --width 25 --alignment l) print "" print " DeepSeek Account Balance" print $" ($separator)" print $" Available : ($available_text)" print "" for info in $balance.balance_infos { print $" Currency : ($info.currency)" print $" Total : ($info.total_balance)" print $" Granted : ($info.granted_balance)" print $" Topped-up : ($info.topped_up_balance)" print "" } }