{
  "id": "huggingface",
  "activation": {
    "onStartup": false
  },
  "enabledByDefault": true,
  "providers": [
    "huggingface"
  ],
  "modelCatalog": {
    "providers": {
      "huggingface": {
        "baseUrl": "https://router.huggingface.co/v1",
        "api": "openai-completions",
        "models": [
          {
            "id": "deepseek-ai/DeepSeek-R1",
            "name": "DeepSeek R1",
            "reasoning": true,
            "input": [
              "text"
            ],
            "contextWindow": 131072,
            "maxTokens": 8192,
            "cost": {
              "input": 3,
              "output": 7,
              "cacheRead": 3,
              "cacheWrite": 3
            }
          },
          {
            "id": "deepseek-ai/DeepSeek-V3.1",
            "name": "DeepSeek V3.1",
            "reasoning": false,
            "input": [
              "text"
            ],
            "contextWindow": 131072,
            "maxTokens": 8192,
            "cost": {
              "input": 0.6,
              "output": 1.25,
              "cacheRead": 0.6,
              "cacheWrite": 0.6
            }
          },
          {
            "id": "openai/gpt-oss-120b",
            "name": "GPT-OSS 120B",
            "reasoning": false,
            "input": [
              "text"
            ],
            "contextWindow": 131072,
            "maxTokens": 8192,
            "cost": {
              "input": 0,
              "output": 0,
              "cacheRead": 0,
              "cacheWrite": 0
            }
          }
        ]
      }
    },
    "discovery": {
      "huggingface": "refreshable"
    }
  },
  "modelIdNormalization": {
    "providers": {
      "huggingface": {
        "stripPrefixes": [
          "huggingface/"
        ]
      }
    }
  },
  "setup": {
    "providers": [
      {
        "id": "huggingface",
        "envVars": [
          "HUGGINGFACE_HUB_TOKEN",
          "HF_TOKEN"
        ]
      }
    ]
  },
  "providerAuthChoices": [
    {
      "provider": "huggingface",
      "method": "api-key",
      "choiceId": "huggingface-api-key",
      "appGuidedSecret": true,
      "choiceLabel": "Hugging Face API key",
      "choiceHint": "Inference API (HF token)",
      "groupId": "huggingface",
      "groupLabel": "Hugging Face",
      "groupHint": "Inference API (HF token)",
      "optionKey": "huggingfaceApiKey",
      "cliFlag": "--huggingface-api-key",
      "cliOption": "--huggingface-api-key <key>",
      "cliDescription": "Hugging Face API key (HF token)"
    }
  ],
  "configSchema": {
    "type": "object",
    "additionalProperties": false,
    "properties": {
      "discovery": {
        "type": "object",
        "additionalProperties": false,
        "properties": {
          "enabled": {
            "type": "boolean"
          }
        }
      }
    }
  },
  "uiHints": {
    "discovery": {
      "label": "Model Discovery",
      "help": "Plugin-owned controls for Hugging Face model auto-discovery."
    },
    "discovery.enabled": {
      "label": "Enable Discovery",
      "help": "When false, OpenClaw keeps the Hugging Face plugin available but skips implicit startup discovery from ambient Hugging Face credentials."
    }
  }
}
