mirror of
https://github.com/openclaw/openclaw.git
synced 2026-10-03 17:53:39 +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
152 lines
4.2 KiB
JSON
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
|
|
}
|
|
}
|
|
}
|