openclaw/extensions/huggingface/openclaw.plugin.json
Patrick Erichsen 9c32bda3c0
feat: group bundled plugin settings by authored manifest metadata (#149331)
* feat: add contextual plugin help to Ask OpenClaw

Punchcard-Session: crisp-summit-lantern-qk

* fix(ui): redact URL credentials from plugin Ask drafts

Reuse the canonical URL policy in the bounded help-value scan, including
serialized map keys. Keep the editable config value intact and prove
rejected Save → Ask → Send on desktop and phone.

Punchcard-Session: crisp-summit-lantern-qk

* test: reuse the complete Custodian context fixture

Punchcard-Session: crisp-summit-lantern-qk

* refactor(ui): narrow plugin help selection input

Accept only the loaded selection facts consumed by the help controller, removing its type dependency on the complete page renderer model.

Punchcard-Session: crisp-summit-lantern-qk

* perf(ui): keep plugin help preparation off startup

Separate synchronous dock state and session ownership from lazy question preparation and session persistence helpers. Register plugin-only English copy with its lazy consumers while preserving source catalog order.

Punchcard-Session: crisp-summit-lantern-qk

* style: normalize contextual help rebase spacing

Punchcard-Session: crisp-summit-lantern-qk

* perf(ui): keep attachment media preparation off startup

Punchcard-Session: crisp-summit-lantern-qk

* test(qwen): fix the clock for default timeout assertions

Punchcard-Session: crisp-summit-lantern-qk

* test(ui): wait for side-chat opening focus

Punchcard-Session: crisp-summit-lantern-qk

* chore(pr): deduplicate wrapper dependency inventory

Punchcard-Session: crisp-summit-lantern-qk

* test(qwen): drop superseded default-clock workaround

* feat: group bundled plugin settings by authored manifest metadata

Punchcard-Session: crisp-summit-lantern-qk
2026-09-16 22:03:41 -07:00

112 lines
3 KiB
JSON

{
"id": "huggingface",
"categories": ["models"],
"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)"
}
],
"configGroups": [
{
"id": "model-discovery",
"title": "Model discovery",
"order": 10,
"properties": ["discovery"]
}
],
"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."
}
}
}