litellm-gateway/TODO.md

5.0 KiB
Raw Permalink Blame History

TODO — LiteLLM Gateway

建立时间2026-04-10 负责人:西莉雅 (Sileya)


背景

问题

  • MiniMax M2.7 频繁返回 529服务过载导致 session 被 terminate
  • Agent 的 API Key 存在泄漏风险(直接写在配置里)
  • 没有额度管控agent 滥用无法控制
  • 缺少统一日志,无法追踪用量

目标

在 OMVNas/Proxmox节点上部署 LiteLLM Gateway实现

  1. MiniMax API 安全代理key 集中管理)
  2. 模型自动回落M2.7 → M2.5 → M2.5-Lightning
  3. per-key 额度管控
  4. 完整 API 管理接口用量查询、key 生成/封禁)
  5. Sileya Skill 化(通过 API 动态管理)

部署规划

部署节点

  • OMV (Open Media Vault) — 运行在 NAS 上的 Proxmox 容器
  • 或者直接跑在 Nas 本身(推荐,更简单)

模型路由策略

优先: MiniMax-M2.7
  ↓ 529 / 超时 / 500
备用: MiniMax-M2.5
  ↓ 529 / 超时 / 500
兜底: MiniMax-M2.5-Lightning

双 Key 隔离

  • sk-sileya-fixed — 西莉雅的专属 key指向固定 model group不动 config.yaml 就永远不受影响
  • sk-admin-* — 管理员 key可动态管理其他 key

热更新策略

操作 是否需要重启
/key/generate 生成新 key 不需要
/key/block 封禁 key 不需要
/model/new 动态加模型 不需要
改 fallback 策略 / 模型顺序 ⚠️ 需要(但不频繁,重启 < 5s

待办事项

P0 — 必须完成(网关可用)

  • DEPLOY-01: 在 OMV/Nas 上安装 Python 环境 + pip install litellm
  • DEPLOY-02: 配置 config.yamlMiniMax provider + fallback 路由 + virtual key
  • DEPLOY-03: 配置 .envMINIMAX_API_KEY + LITELLM_MASTER_KEY
  • DEPLOY-04: 启动验证 — curl 测试 /health
  • DEPLOY-05: OpenClaw 接入 — 修改 openclaw.json 的 model provider 指向 LiteLLM

P1 — 管控能力

  • MGMT-01: 生成各 agent 的专属 keysk-sileya-fixedsk-ligoudansk-nico
  • MGMT-02: 配置 per-key RPM 限制(各 agent 独立额度)
  • MGMT-03: Sileya Skill — lite-llm-admin用量查询、key 管理接口)
  • MGMT-04: 验证 hot reload — 测试 /key/generate 不影响 Sileya session

P2 — 安全加固

  • SEC-01: 网络隔离 — LiteLLM 仅内网可访问Tailscale/ZeroTier 组网
  • SEC-02: 确认 Sileya 的 key 配置在 config.yaml 固定区域,不参与动态更新
  • SEC-03: 审计日志 — 确认所有请求记录到数据库

P3 — 可选优化

  • OPT-01: LiteLLM Dashboard:4000/ui启用Web UI 管理
  • OPT-02: Prometheus metrics 接入Grafana 监控)
  • OPT-03: 多 provider 预留 — 对接其他 LLMClaude/GPT时网关层无需修改

关键配置

config.yaml 核心结构

model_list:
  - model_name: MiniMax-M2.7
    litellm_params:
      model: minimax/MiniMax-M2.7
      api_key: os.environ/MINIMAX_API_KEY
      api_base: https://api.minimax.io/v1
      rpm: 60

  - model_name: MiniMax-M2.5
    litellm_params:
      model: minimax/MiniMax-M2.5
      api_key: os.environ/MINIMAX_API_KEY
      api_base: https://api.minimax.io/v1
      rpm: 60

  - model_name: MiniMax-M2.5-Lightning
    litellm_params:
      model: minimax/MiniMax-M2.5-Lightning
      api_key: os.environ/MINIMAX_API_KEY
      api_base: https://api.minimax.io/v1
      rpm: 120

router_settings:
  fallback_params: [{"model": ["MiniMax-M2.7", "MiniMax-M2.5", "MiniMax-M2.5-Lightning"]}]
  num_retries: 3
  retry_after: 5
  timeout: 30

general_settings:
  master_key: os.environ/LITELLM_MASTER_KEY

Sileya Key 专属配置(不参与动态更新)

# config.yaml 中的 sileya 专属区
# 此区域修改需要重启,但这种情况极低频

API 接口

管理 APIadmin key

POST /key/generate         — 生成新 key
GET  /key/info?key=sk-xxx  — 查询 key 用量
GET  /spend                — 查询总用量
POST /key/block            — 封禁 key
POST /key/unblock          — 解封 key
POST /model/new            — 动态添加模型(热生效)

对外 APIagent 使用)

POST /v1/chat/completions  — 标准 OpenAI 兼容接口
GET  /health               — 健康检查

目录结构

litellm-gateway/
├── README.md
├── TODO.md
├── config.yaml             # 主配置
├── .env.example            # 环境变量模板
├── requirements.txt        # Python 依赖
├── run.sh                  # 启动脚本
└── docs/
    ├── CONFIG_GUIDE.md
    ├── DEPLOYMENT.md
    └── SKILL_INTEGRATION.md

里程碑

  • M1: LiteLLM 在 OMV 上跑通health check 通过
  • M2: Sileya 通过 LiteLLM 代理访问 MiniMaxfallback 验证通过
  • M3: 所有 agent 迁移到独立 key 体系
  • M4: Sileya Skill lite-llm-admin 可用,日常管理无需手动操作