mirror of
https://github.com/openclaw/openclaw.git
synced 2026-10-03 01:29:56 +00:00
* 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
112 lines
3 KiB
JSON
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."
|
|
}
|
|
}
|
|
}
|