MiniMax Token Plan在CC-Switch 里成功使用额度配置提取器查看额度优化

MiniMax Token Plan在CC-Switch 里成功使用额度配置提取器查看额度 基于这位大佬提供的脚本
本来是有用的,然后因为它变成了token plan, 后端返回的结构变了,所以优化了一版

({
  request: {
    url: "https://www.minimaxi.com/v1/api/openplatform/coding_plan/remains",
    method: "GET",
    headers: {
      "Authorization": "Bearer {{apiKey}}",
      "Content-Type": "application/json"
    }
  },
  extractor: function(response) {
    var data = typeof response === "string" ? JSON.parse(response) : response;
    var modelRemains = Array.isArray(data.model_remains) ? data.model_remains : [];

    // 优先找 model_name 以 MiniMax 开头,并且 total > 0 的模型
    var targetModel =
      modelRemains.find(function(item) {
        return item &&
          typeof item.model_name === "string" &&
          item.model_name.startsWith("MiniMax") &&
          Number(item.current_interval_total_count || 0) > 0;
      }) ||
      modelRemains.find(function(item) {
        return item &&
          typeof item.model_name === "string" &&
          item.model_name.startsWith("MiniMax");
      }) ||
      {};

    var total = Number(targetModel.current_interval_total_count || 0);
    var remaining = Number(targetModel.current_interval_usage_count || 0);

    // 按你原来的接口语义,usage_count 实际被当作“剩余次数”
    var used = total > 0 ? (total - remaining) : 0;
    var percent = total > 0 ? Math.round(used / total * 100) : 0;

    return {
      isValid: !!targetModel.model_name,
      modelName: targetModel.model_name || "",
      used: used,
      balance: remaining,
      remaining: remaining,
      total: total,
      unit: "count",
      extra: percent + "%"
    };
  }
})
9 个赞

感谢大佬

感谢大佬