Files
openclaw/extensions/linux-node/openclaw.plugin.json
Peter Steinberger 92cca9343e feat(linux): headless node device capabilities (camera, location, notifications) (#107193)
* feat(linux): add node device capabilities

* fix(linux-node): actionable pending-approval error + node-host advertise integration test

* fix(linux-node): map geoclue access-denied to LOCATION_DISABLED; floor camera maxWidth to avoid zero-height scale

* fix(linux-node): clamp small camera maxWidth to 2 instead of default

* docs(linux-node): clarify where-am-i -t is a process timeout, not update throttle

* refactor(gateway): extract legacy-node filter + rejection hint to fit LOC ratchet; docs-map + deadcode baseline

* fix(gateway): drop now-unused DEFAULT_DANGEROUS_NODE_COMMANDS import after hint extraction

* test(node-host): drop imports orphaned by removed error-code test
2026-07-14 02:30:36 -07:00

60 lines
1.5 KiB
JSON

{
"id": "linux-node",
"activation": {
"onStartup": true
},
"enabledByDefault": true,
"name": "Linux Node",
"description": "Desktop notifications, camera capture, and location for Linux node hosts.",
"configSchema": {
"type": "object",
"additionalProperties": false,
"properties": {
"notify": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": {
"type": "boolean",
"default": true
}
}
},
"camera": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": {
"type": "boolean",
"default": false
}
}
},
"location": {
"type": "object",
"additionalProperties": false,
"properties": {
"enabled": {
"type": "boolean",
"default": false
}
}
}
}
},
"uiHints": {
"notify.enabled": {
"label": "Desktop Notifications",
"help": "Expose system.notify when notify-send is installed. Enabled by default."
},
"camera.enabled": {
"label": "Camera",
"help": "Expose camera commands when FFmpeg is installed. Requires a node service restart."
},
"location.enabled": {
"label": "Location",
"help": "Expose location.get when the GeoClue where-am-i demo is installed. Requires a node service restart."
}
}
}