#!/usr/bin/env python3 """ Minimax API 转发服务 - 隐藏API密钥 """ from flask import Flask, jsonify, request import requests import os app = Flask(__name__) # API配置 API_URL = 'https://www.minimaxi.com/v1/api/openplatform/coding_plan/remains' API_KEY = os.environ.get('MINIMAX_API_KEY', 'sk-cp-qEyJRhPJV2Y4OTDQoilZWcIbV7mMjigQ_Rwp-Xyswksc35aVgdDcro4CSkUY4UcGne8o5p8RzZutcr_bm-YMO0IacIsSMBm9zlAhOWpCPPRmNR8bFmWtNpo') @app.route('/remains', methods=['GET']) def get_remains(): try: headers = { 'Authorization': f'Bearer {API_KEY}', 'Content-Type': 'application/json' } response = requests.get(API_URL, headers=headers, timeout=10) if response.status_code != 200: return jsonify({'error': f'API返回错误: {response.status_code}'}), response.status_code data = response.json() # 找到 MiniMax-M* 的记录 model_remains = data.get('model_remains', []) mini_max_m = None for m in model_remains: if m.get('model_name') == 'MiniMax-M*': mini_max_m = m break if not mini_max_m: return jsonify({'error': '未找到 MiniMax-M* 数据'}), 404 # 按陛下说明:current_usage 是当前可用量(不是已用量) # interval: 5小时窗口 # weekly: 本周 return jsonify({ 'model_name': 'MiniMax-M*', 'interval': { 'total': mini_max_m.get('current_interval_total_count', 0), 'usage': mini_max_m.get('current_interval_usage_count', 0), # 当前可用 'window_remain_ms': mini_max_m.get('remains_time', 0) # 窗口剩余时间(ms) }, 'weekly': { 'total': mini_max_m.get('current_weekly_total_count', 0), 'usage': mini_max_m.get('current_weekly_usage_count', 0) # 当前可用 } }) except requests.exceptions.Timeout: return jsonify({'error': 'API请求超时'}), 504 except Exception as e: return jsonify({'error': str(e)}), 500 @app.route('/health', methods=['GET']) def health(): return jsonify({'status': 'ok'}) if __name__ == '__main__': app.run(host='127.0.0.1', port=6327, debug=False)