{
  "schemaVersion": "1.0",
  "item": {
    "slug": "litellm",
    "name": "LiteLLM",
    "source": "tencent",
    "type": "skill",
    "category": "开发工具",
    "sourceUrl": "https://clawhub.ai/ishaan-jaff/litellm",
    "canonicalUrl": "https://clawhub.ai/ishaan-jaff/litellm",
    "targetPlatform": "OpenClaw"
  },
  "install": {
    "downloadMode": "redirect",
    "downloadUrl": "/downloads/litellm",
    "sourceDownloadUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=litellm",
    "sourcePlatform": "tencent",
    "targetPlatform": "OpenClaw",
    "installMethod": "Manual import",
    "extraction": "Extract archive",
    "prerequisites": [
      "OpenClaw"
    ],
    "packageFormat": "ZIP package",
    "includedAssets": [
      "SKILL.md",
      "scripts/llm_call.py"
    ],
    "primaryDoc": "SKILL.md",
    "quickSetup": [
      "Download the package from Yavira.",
      "Extract the archive and review SKILL.md first.",
      "Import or place the package into your OpenClaw setup."
    ],
    "agentAssist": {
      "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
      "steps": [
        "Download the package from Yavira.",
        "Extract it into a folder your agent can access.",
        "Paste one of the prompts below and point your agent at the extracted folder."
      ],
      "prompts": [
        {
          "label": "New install",
          "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
        },
        {
          "label": "Upgrade existing",
          "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
        }
      ]
    },
    "sourceHealth": {
      "source": "tencent",
      "status": "healthy",
      "reason": "direct_download_ok",
      "recommendedAction": "download",
      "checkedAt": "2026-04-30T16:55:25.780Z",
      "expiresAt": "2026-05-07T16:55:25.780Z",
      "httpStatus": 200,
      "finalUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
      "contentType": "application/zip",
      "probeMethod": "head",
      "details": {
        "probeUrl": "https://wry-manatee-359.convex.site/api/v1/download?slug=network",
        "contentDisposition": "attachment; filename=\"network-1.0.0.zip\"",
        "redirectLocation": null,
        "bodySnippet": null
      },
      "scope": "source",
      "summary": "Source download looks usable.",
      "detail": "Yavira can redirect you to the upstream package for this source.",
      "primaryActionLabel": "Download for OpenClaw",
      "primaryActionHref": "/downloads/litellm"
    },
    "validation": {
      "installChecklist": [
        "Use the Yavira download entry.",
        "Review SKILL.md after the package is downloaded.",
        "Confirm the extracted package contains the expected setup assets."
      ],
      "postInstallChecks": [
        "Confirm the extracted package includes the expected docs or setup files.",
        "Validate the skill or prompts are available in your target agent workspace.",
        "Capture any manual follow-up steps the agent could not complete."
      ]
    },
    "downloadPageUrl": "https://openagent3.xyz/downloads/litellm",
    "agentPageUrl": "https://openagent3.xyz/skills/litellm/agent",
    "manifestUrl": "https://openagent3.xyz/skills/litellm/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/litellm/agent.md"
  },
  "agentAssist": {
    "summary": "Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.",
    "steps": [
      "Download the package from Yavira.",
      "Extract it into a folder your agent can access.",
      "Paste one of the prompts below and point your agent at the extracted folder."
    ],
    "prompts": [
      {
        "label": "New install",
        "body": "I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete."
      },
      {
        "label": "Upgrade existing",
        "body": "I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run."
      }
    ]
  },
  "documentation": {
    "source": "clawhub",
    "primaryDoc": "SKILL.md",
    "sections": [
      {
        "title": "LiteLLM - Multi-Model LLM Calls",
        "body": "Use LiteLLM when you need to call LLMs beyond your primary model."
      },
      {
        "title": "When to Use",
        "body": "Model comparison: Get outputs from multiple models and compare\nSpecialized routing: Use code-optimized models for code, writing models for prose\nCost optimization: Route simple queries to cheaper models\nFallback access: Access models your runtime doesn't support"
      },
      {
        "title": "Quick Start",
        "body": "import litellm\n\n# Call any model with unified API\nresponse = litellm.completion(\n    model=\"gpt-4o\",\n    messages=[{\"role\": \"user\", \"content\": \"Explain this code\"}]\n)\nprint(response.choices[0].message.content)"
      },
      {
        "title": "Compare Multiple Models",
        "body": "import litellm\n\nprompt = [{\"role\": \"user\", \"content\": \"What's the best approach to X?\"}]\n\nmodels = [\"gpt-4o\", \"claude-sonnet-4-20250514\", \"gemini/gemini-1.5-pro\"]\nfor model in models:\n    resp = litellm.completion(model=model, messages=prompt)\n    print(f\"{model}: {resp.choices[0].message.content[:200]}...\")"
      },
      {
        "title": "Route by Task Type",
        "body": "import litellm\n\ndef smart_call(task_type: str, prompt: str) -> str:\n    model_map = {\n        \"code\": \"gpt-4o\",           # Strong at code\n        \"writing\": \"claude-sonnet-4-20250514\",  # Strong at prose\n        \"simple\": \"gpt-4o-mini\",    # Cheap for simple tasks\n        \"reasoning\": \"o1-preview\",  # Deep reasoning\n    }\n    model = model_map.get(task_type, \"gpt-4o\")\n    resp = litellm.completion(\n        model=model,\n        messages=[{\"role\": \"user\", \"content\": prompt}]\n    )\n    return resp.choices[0].message.content"
      },
      {
        "title": "Use LiteLLM Proxy (Recommended)",
        "body": "If a LiteLLM proxy is available, point to it for caching, rate limiting, and observability:\n\nimport litellm\n\nlitellm.api_base = \"https://your-litellm-proxy.com\"\nlitellm.api_key = \"sk-your-key\"\n\nresponse = litellm.completion(\n    model=\"gpt-4o\",  # Proxy routes to configured provider\n    messages=[{\"role\": \"user\", \"content\": \"Hello\"}]\n)"
      },
      {
        "title": "Environment Setup",
        "body": "Ensure litellm is installed and API keys are set:\n\npip install litellm\n\n# Set provider keys (or configure in proxy)\nexport OPENAI_API_KEY=\"sk-...\"\nexport ANTHROPIC_API_KEY=\"sk-...\""
      },
      {
        "title": "Model Reference",
        "body": "Common model identifiers:\n\nOpenAI: gpt-4o, gpt-4o-mini, o1-preview, o1-mini\nAnthropic: claude-sonnet-4-20250514, claude-opus-4-20250514\nGoogle: gemini/gemini-1.5-pro, gemini/gemini-1.5-flash\nMistral: mistral/mistral-large-latest\n\nFull list: https://docs.litellm.ai/docs/providers"
      }
    ],
    "body": "LiteLLM - Multi-Model LLM Calls\n\nUse LiteLLM when you need to call LLMs beyond your primary model.\n\nWhen to Use\nModel comparison: Get outputs from multiple models and compare\nSpecialized routing: Use code-optimized models for code, writing models for prose\nCost optimization: Route simple queries to cheaper models\nFallback access: Access models your runtime doesn't support\nQuick Start\nimport litellm\n\n# Call any model with unified API\nresponse = litellm.completion(\n    model=\"gpt-4o\",\n    messages=[{\"role\": \"user\", \"content\": \"Explain this code\"}]\n)\nprint(response.choices[0].message.content)\n\nCommon Patterns\nCompare Multiple Models\nimport litellm\n\nprompt = [{\"role\": \"user\", \"content\": \"What's the best approach to X?\"}]\n\nmodels = [\"gpt-4o\", \"claude-sonnet-4-20250514\", \"gemini/gemini-1.5-pro\"]\nfor model in models:\n    resp = litellm.completion(model=model, messages=prompt)\n    print(f\"{model}: {resp.choices[0].message.content[:200]}...\")\n\nRoute by Task Type\nimport litellm\n\ndef smart_call(task_type: str, prompt: str) -> str:\n    model_map = {\n        \"code\": \"gpt-4o\",           # Strong at code\n        \"writing\": \"claude-sonnet-4-20250514\",  # Strong at prose\n        \"simple\": \"gpt-4o-mini\",    # Cheap for simple tasks\n        \"reasoning\": \"o1-preview\",  # Deep reasoning\n    }\n    model = model_map.get(task_type, \"gpt-4o\")\n    resp = litellm.completion(\n        model=model,\n        messages=[{\"role\": \"user\", \"content\": prompt}]\n    )\n    return resp.choices[0].message.content\n\nUse LiteLLM Proxy (Recommended)\n\nIf a LiteLLM proxy is available, point to it for caching, rate limiting, and observability:\n\nimport litellm\n\nlitellm.api_base = \"https://your-litellm-proxy.com\"\nlitellm.api_key = \"sk-your-key\"\n\nresponse = litellm.completion(\n    model=\"gpt-4o\",  # Proxy routes to configured provider\n    messages=[{\"role\": \"user\", \"content\": \"Hello\"}]\n)\n\nEnvironment Setup\n\nEnsure litellm is installed and API keys are set:\n\npip install litellm\n\n# Set provider keys (or configure in proxy)\nexport OPENAI_API_KEY=\"sk-...\"\nexport ANTHROPIC_API_KEY=\"sk-...\"\n\nModel Reference\n\nCommon model identifiers:\n\nOpenAI: gpt-4o, gpt-4o-mini, o1-preview, o1-mini\nAnthropic: claude-sonnet-4-20250514, claude-opus-4-20250514\nGoogle: gemini/gemini-1.5-pro, gemini/gemini-1.5-flash\nMistral: mistral/mistral-large-latest\n\nFull list: https://docs.litellm.ai/docs/providers"
  },
  "trust": {
    "sourceLabel": "tencent",
    "provenanceUrl": "https://clawhub.ai/ishaan-jaff/litellm",
    "publisherUrl": "https://clawhub.ai/ishaan-jaff/litellm",
    "owner": "ishaan-jaff",
    "version": "1.0.0",
    "license": null,
    "verificationStatus": "Indexed source record"
  },
  "links": {
    "detailUrl": "https://openagent3.xyz/skills/litellm",
    "downloadUrl": "https://openagent3.xyz/downloads/litellm",
    "agentUrl": "https://openagent3.xyz/skills/litellm/agent",
    "manifestUrl": "https://openagent3.xyz/skills/litellm/agent.json",
    "briefUrl": "https://openagent3.xyz/skills/litellm/agent.md"
  }
}