openclaw/extensions/openshell/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

152 lines
4.2 KiB
JSON

{
"id": "openshell",
"categories": ["security"],
"activation": {
"onStartup": true
},
"name": "OpenShell Sandbox",
"description": "OpenClaw sandbox backend for the NVIDIA OpenShell CLI with mirrored local workspaces and SSH command execution.",
"configGroups": [
{
"id": "openshell-connection",
"title": "OpenShell connection",
"order": 10,
"properties": ["command", "gateway", "gatewayEndpoint", "workspace", "timeoutSeconds"]
},
{
"id": "sandbox-creation",
"title": "Sandbox creation",
"order": 20,
"properties": ["from", "policy", "providers", "gpu", "autoProviders"]
},
{
"id": "workspace-files",
"title": "Workspace files",
"order": 30,
"properties": ["mode", "remoteWorkspaceDir", "remoteAgentWorkspaceDir"]
}
],
"configSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"mode": {
"type": "string",
"enum": ["mirror", "remote"]
},
"command": {
"type": "string",
"minLength": 1
},
"gateway": {
"type": "string",
"minLength": 1
},
"gatewayEndpoint": {
"type": "string",
"minLength": 1
},
"workspace": {
"type": "string",
"minLength": 1,
"maxLength": 19,
"pattern": "^[a-z0-9]+(?:-[a-z0-9]+)*$"
},
"from": {
"type": "string",
"minLength": 1
},
"policy": {
"type": "string",
"minLength": 1
},
"providers": {
"type": "array",
"items": {
"type": "string",
"minLength": 1
}
},
"gpu": {
"type": "boolean"
},
"autoProviders": {
"type": "boolean"
},
"remoteWorkspaceDir": {
"type": "string",
"minLength": 1,
"pattern": "^\\/(?:sandbox|agent)(?:\\/|$)"
},
"remoteAgentWorkspaceDir": {
"type": "string",
"minLength": 1,
"pattern": "^\\/(?:sandbox|agent)(?:\\/|$)"
},
"timeoutSeconds": {
"type": "number",
"minimum": 1,
"maximum": 2147000
}
}
},
"uiHints": {
"mode": {
"label": "Mode",
"help": "Sandbox mode. Use mirror for the default local-workspace flow or remote for a fully remote workspace."
},
"command": {
"label": "OpenShell Command",
"help": "Path or command name for the NVIDIA OpenShell CLI."
},
"gateway": {
"label": "Gateway Name",
"help": "Optional OpenShell gateway name passed as --gateway."
},
"gatewayEndpoint": {
"label": "Gateway Endpoint",
"help": "Optional OpenShell gateway endpoint passed as --gateway-endpoint."
},
"workspace": {
"label": "OpenShell Workspace",
"help": "Existing OpenShell control-plane workspace for sandboxes, providers, policies, and inference routes. When unset, preserves the OpenShell CLI's ambient workspace selection."
},
"from": {
"label": "Sandbox Source",
"help": "OpenShell sandbox source for first-time create. Defaults to openclaw."
},
"policy": {
"label": "Policy File",
"help": "Optional path to a custom OpenShell sandbox policy YAML."
},
"providers": {
"label": "Providers",
"help": "Provider names to attach when a sandbox is created."
},
"gpu": {
"label": "GPU",
"help": "Request GPU resources when creating the sandbox.",
"advanced": true
},
"autoProviders": {
"label": "Auto-create Providers",
"help": "When enabled, pass --auto-providers during sandbox create.",
"advanced": true
},
"remoteWorkspaceDir": {
"label": "Remote Workspace Dir",
"help": "Primary writable workspace inside the OpenShell sandbox.",
"advanced": true
},
"remoteAgentWorkspaceDir": {
"label": "Remote Agent Dir",
"help": "Mirror path for the real agent workspace when workspaceAccess is read-only.",
"advanced": true
},
"timeoutSeconds": {
"label": "Command Timeout Seconds",
"help": "Timeout for openshell CLI operations such as create/upload/download.",
"advanced": true
}
}
}