feat(oauth): v0.7.7 — 双区域 OAuth 支持(适配 kimi-code 0.38.0 global 账号)+ 修复模型占位别名跟随 + models.dev 快照刷新
Release / Version consistency (push) Canceled after 0s
Release / Build (macos-latest) (push) Canceled after 0s
Release / Build (ubuntu-latest) (push) Canceled after 0s
Release / Build (windows-latest) (push) Canceled after 0s
Release / Attach macOS install script (push) Canceled after 0s
Release / Version consistency (push) Canceled after 0s
Release / Build (macos-latest) (push) Canceled after 0s
Release / Build (ubuntu-latest) (push) Canceled after 0s
Release / Build (windows-latest) (push) Canceled after 0s
Release / Attach macOS install script (push) Canceled after 0s
This commit is contained in:
1 parent
6b761251bc
commit
8221e05db1
16 files changed
+20602
-2868
No files matched your search
@@ -108,7 +108,9 @@ pub fn detect_provider(base_url: &str) -> Vec<UsageKind> {
|
||||
if url.contains("api.moonshot.cn") || url.contains("api.moonshot.ai") {
|
||||
kinds.push(UsageKind::BalanceKimi);
|
||||
}
|
||||
if url.contains("api.kimi.com") && url.contains("/coding") {
|
||||
if (url.contains("api.kimi.com") || url.contains("api.kimi.ai"))
|
||||
&& url.contains("/coding")
|
||||
{
|
||||
kinds.push(UsageKind::PlanKimiCoding);
|
||||
}
|
||||
if url.contains("open.bigmodel.cn") || url.contains("api.z.ai") {
|
||||
@@ -169,7 +171,9 @@ pub async fn query_kind(
|
||||
.unwrap_or(base_url);
|
||||
balance::query_newapi(url, token, uid, timeout).await
|
||||
}
|
||||
UsageKind::PlanKimiCoding => coding_plan::query_kimi_coding(api_key, timeout).await,
|
||||
UsageKind::PlanKimiCoding => {
|
||||
coding_plan::query_kimi_coding(base_url, api_key, timeout).await
|
||||
}
|
||||
UsageKind::PlanZhipu => coding_plan::query_zhipu(base_url, api_key, timeout).await,
|
||||
UsageKind::PlanMinimax => {
|
||||
coding_plan::query_minimax(api_key, !lower.contains("minimax.io"), timeout).await
|
||||
@@ -222,6 +226,26 @@ mod tests {
|
||||
assert!(detect_provider("https://api.kimi.com/v1").is_empty());
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn detect_provider_kimi_coding_matches_global_ai_host() {
|
||||
// global 站 api.kimi.ai + /coding 命中套餐
|
||||
assert_eq!(
|
||||
detect_provider("https://api.kimi.ai/coding/v1"),
|
||||
vec![UsageKind::PlanKimiCoding]
|
||||
);
|
||||
assert_eq!(
|
||||
detect_provider("https://api.kimi.ai/coding/v1/usages"),
|
||||
vec![UsageKind::PlanKimiCoding]
|
||||
);
|
||||
// api.kimi.ai 但无 /coding 路径 → 不命中(也不命中 Moonshot 余额)
|
||||
assert!(detect_provider("https://api.kimi.ai/v1").is_empty());
|
||||
// .com 老路径不受影响
|
||||
assert_eq!(
|
||||
detect_provider("https://api.kimi.com/coding/v1"),
|
||||
vec![UsageKind::PlanKimiCoding]
|
||||
);
|
||||
}
|
||||
|
||||
#[test]
|
||||
fn detect_provider_opencode_go_excludes_payg_zen() {
|
||||
// /zen/go 命中套餐查询
|
||||
|
||||
Reference in new issue
Block a user