Skip to content

feat: 按订阅档位收窄模型目录(0.2.38) - #3

Merged
MYCF711 merged 1 commit into
mainfrom
feat/tier-catalog
Nov 3, 2026
Merged

MYCF711 merged 1 commit into
mainfrom
feat/tier-catalog

Conversation

@MYCF711

@MYCF711 MYCF711 commented Nov 3, 2026

Copy link
Copy Markdown
Owner

承接 #2 的后续:光去掉内置快照还不够 —— 平台目录本身就把同一个模型的 basic / pro / ultra 三个额度池各列一条。

问题

国际站账号档位是 basic( → basic,日额度 10M),但平台在这份清单里也给了 monkeycode-pro/glm-5.2 和 monkeycode-pro/deepseek-flash —— 选了就是 403。国内站同理:21 条里 6 pro + 2 ultra。

改法

  • credits.mjs 新增 resolveTier():先看 /api/v1/users/subscription 的 plan;拿不到就用钱包的 daily_token_limit 反推(10M = basic / 100M = pro / 300M = ultra);都不中返回 undefined
  • catalog.mjs 新增 filterByTier():无前缀(按积分计费)与 monkeycode-basic/ 谁都能用;monkeycode-pro/ 要 pro 及以上;monkeycode-ultra/ 只有 ultra
  • 档位未知 不过滤;收窄后一条不剩也原样返回(宁可多列,不把列表清空)
  • warmCatalog / refreshCatalog / SSO 导入 全部带上 tier

实测(真实账号)

monkeycodeintl: tier=basic 平台=4  -> 收窄后=2
    monkeycode-basic-qwen3-5-plus
    monkeycode-basic-deepseek-flash
monkeycode:     tier=basic 平台=21 -> 收窄后=13

验证

node --test             → 242 pass / 0 fail
node scripts/check.mjs  → 49 通过 · 0 失败
node scripts/privacy-scan.mjs → PASS(0 处)

平台把同一个模型的 basic / pro / ultra 三个额度池都列出来,basic 账号拿到
pro / ultra 那几条,选了就是 403 —— 这正是用户说的「怎么这么多」。

- credits.mjs 新增 resolveTier():先看 /users/subscription 的 plan,
  拿不到再用钱包的 daily_token_limit 反推(10M/100M/300M),都不中就 undefined
- catalog.mjs 新增 filterByTier():无前缀(积分)与 basic 池谁都能用,
  pro 要 pro 及以上,ultra 只有 ultra;档位未知 / 收窄后为空都原样返回
- warmCatalog / refreshCatalog / SSO 导入全部带上 tier
- 实测:国际站 basic 账号 4 条 -> 2 条;国内站 21 条 -> 13 条
- 测试:filterByTier 四档 + 未知档位 + 空结果兜底
@MYCF711
MYCF711 merged commit 2400092 into main Nov 3, 2026
4 checks passed
@MYCF711
MYCF711 deleted the feat/tier-catalog branch November 3, 2026 23:05
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant