Everything posted by bubbl3
-
[Plugin] [Support] UnraidClaw - AI Agent Gateway with Permission Control
@Mrtj18 you may want to update the OpenClaw plugin (assuming you are on a June build of OpenClaw), the new version of the NPM package takes advantage of the new features to better declare the tools available: https://github.com/emaspa/unraidclaw/issues/15#issuecomment-4698083784
-
[Plugin] [Support] UnraidClaw - AI Agent Gateway with Permission Control
That was actually a very good suggestion, I never considered it, made the change and released v0.1.31: https://github.com/emaspa/unraidclaw/releases/tag/v0.1.31
-
[Plugin] [Support] UnraidClaw - AI Agent Gateway with Permission Control
Ask Openclaw about the unraid tools available, this is the kind of answer you should be getting: If it says can't find the tools, ask to look in its configuration file and build a reference for itself so it can easily find them. If it really can't find them then there's an issue with your config.
-
[Plugin] [Support] WireView Pro II GPU Power Monitor (wireview-hwmon)
Plugin now has support for unRAID 7.3.1: https://github.com/emaspa/wireview-hwmon-unraid/releases/tag/v0.6 Supported Unraid versions Unraid Kernel Package 7.2.x 6.12.54-Unraid wireview-hwmon-0.6-x86_64-6.12.54-Unraid.txz 7.3.0 6.18.29-Unraid wireview-hwmon-0.6-x86_64-6.18.29-Unraid.txz 7.3.1 6.18.33-Unraid wireview-hwmon-0.6-x86_64-6.18.33-Unraid.txz
-
[Plugin] [Support] UnraidClaw - AI Agent Gateway with Permission Control
What I mean is that the calls in the logs are not API calls, they are simple http calls like the ones you just showed in the screenshot from your phone. This is not how the service is supposed to be accessed so the error is expected.
-
[Plugin] [Support] UnraidClaw - AI Agent Gateway with Permission Control
From the screenshot you can see the calls are not API calls but just http requests for the index page and it's favicon. Basically your OpenClaw instance is trying to open a webpage, not making API calls.
-
[Plugin] [Support] UnraidClaw - AI Agent Gateway with Permission Control
You have a trailing comma there: "plugins": { "unraidclaw": { "serverUrl": "http://192.168.50.122:9876", "apiKey": "7f3fa56ce...", ← trailing comma },It should be: "plugins": { "unraidclaw": { "serverUrl": "http://192.168.50.122:9876", "apiKey": "7f3fa56ce..." }, In general you seems a bit inexperienced here, would suggest reading docs and asking for help in the OpenClaw subreddit, having an LLM writing your config means you won't really know how it works. Also not sure what LLM you're using, it should have catched the trailing comma, it's basic JSON.
-
[Plugin] [Support] UnraidClaw - AI Agent Gateway with Permission Control
Interesting suggestion, will keep it in mind, atm I can't spend much time on this aside essential fixes as I'm traveling for work, but will look into it sometime in June.
-
[Plugin] [Support] UnraidClaw - AI Agent Gateway with Permission Control
The OpenClaw logs don't say much unfortunately, from your screenshot doesn't seem like there has been any request to UnraidClaw server, you should see both successful and failed ones there under activity. Can you share the related OpenClaw config (minus the API key of course).
-
[Plugin] [Support] UnraidClaw - AI Agent Gateway with Permission Control
Sorry for the late reply, I was on holiday. Would suggest pointed Herms to the repo and ask to build a skill, it should be able to do it by itself: https://github.com/emaspa/unraidclaw
-
[Plugin] [Support] UnraidClaw - AI Agent Gateway with Permission Control
Aside of general automation and orchestration, here's just a few scenarios: Monitoring and alerts -- Ask your AI agent "how are my disks doing?" and get back temperatures, SMART status, array health, and parity check progress in plain English. No need to open the WebGUI. Docker management -- "Stop the Plex container, update it, and start it again" or "spin up a new Nginx container on port 8080 with these volume mounts" -- all through natural language. Troubleshooting -- "Show me the last 200 lines of syslog filtered for errors" or "which containers are using the most resources?" -- get answers without SSH-ing in. Multi-server oversight -- If you run multiple Unraid boxes (home NAS + media server, or home + offsite backup), you can manage them all from one AI conversation: "compare disk usage across my home and backup servers." Scheduled checks -- Have your AI agent run a morning briefing: array status, any failed disks, parity errors, Docker containers that crashed overnight, unread notifications. Quick actions from anywhere -- Reboot the server, start/stop VMs, pause a parity check -- all from your phone through whatever chat interface your AI agent uses (Telegram, Discord, etc.), without opening a browser. The key value is turning Unraid management into a conversation instead of clicking through the WebGUI. The permission matrix means you control exactly what the agent can and can't do.
-
[Plugin] [Support] UnraidClaw - AI Agent Gateway with Permission Control
Thanks for surfacing this, nothing wrong with the plugin, Clawhub is being stupid and classified this as a skill instead of a plugin, submitted a correction but they are not the fastest, use this command to install: npm pack unraidclaw && openclaw plugins install unraidclaw-*.tgz && rm unraidclaw-*.tgzYou will need the same to update: rm -rf ~/.openclaw/extensions/unraidclaw && npm pack unraidclaw && openclaw plugins install unraidclaw-*.tgz && rm unraidclaw-*.tgzIf you installed from Clawhub you'll need to uninstall and install again
-
[Plugin] [Support] UnraidClaw - AI Agent Gateway with Permission Control
Multi server support in OpenClaw has been added, config is backwards compatible, but you can have multiple servers configured this way: { "plugins": { "allow": ["unraidclaw"], "entries": { "unraidclaw": { "config": { "servers": [ { "name": "home", "serverUrl": "https://192.168.1.100:9876", "apiKey": "...", "tlsSkipVerify": true, "default": true }, { "name": "work", "serverUrl": "https://10.0.0.50:9876", "apiKey": "..." } ] } } } } }With multi-server, every tool accepts an optional server parameter (e.g. unraid_docker_list(server: "work")). If omitted, the default server is used.
-
[Plugin] [Support] UnraidClaw - AI Agent Gateway with Permission Control
@schford There is also a new metrics endpoint for easy polling: Update plugin in unRAID and in OpenClaw: openclaw plugins update unraidclaw openclaw gateway restart
-
[Plugin] [Support] UnraidClaw - AI Agent Gateway with Permission Control
That is correct, is not a bug, this is the data available on that API endpoint: Will see if it makes sense to add memory and cpu usage. Disks are on another endpoint, but only status no details on usage space: The array status shows the total used and free space: Having per disk stats is a good idea and will take it as a feature request.
-
[Plugin] [Support] UnraidClaw - AI Agent Gateway with Permission Control
Just FYI this has been tested and working on unraid 7.3.0 beta
-
[Plugin] [Support] WireView Pro II GPU Power Monitor (wireview-hwmon)
Plugin now has support for unRAID 7.3.0 beta: https://github.com/emaspa/wireview-hwmon-unraid/releases/tag/v0.5 Supported Unraid versions Unraid Kernel Package 7.2.3 / 7.2.4 6.12.54-Unraid wireview-hwmon-0.5-x86_64-6.12.54-Unraid.txz 7.3.0-beta 6.18.18-Unraid wireview-hwmon-0.5-x86_64-6.18.18-Unraid.txz
-
[Plugin] [Support] UnraidClaw - AI Agent Gateway with Permission Control
Yes you can, install the plugin in unraid and then point Claude to the github repository, it will figure it out :)
-
[Plugin] [Support] UnraidClaw - AI Agent Gateway with Permission Control
Since the plugin is stable features and functionality wise, the next couple of releases starting from v0.1.26 are going to be security hardening focused: https://forums.unraid.net/topic/197498-plugin-support-unraidclaw-ai-agent-gateway-with-permission-control/#findComment-1610700
-
[Plugin] [Support] UnraidClaw - AI Agent Gateway with Permission Control
This adds an additional layer of control and security, since many of the commands are not available through the unraid API the alternative is to give OpenClaw SSH root access to your server, which i wouldn't recommend. The focus here is on risk aware security, give enough granular access for what you want OpenClaw to do without full unrestricted root access to your unraid machine.
-
[Plugin] [Support] WireView Pro II GPU Power Monitor (wireview-hwmon)
v0.5 released Config V2 support for firmware v4: new 96-byte config struct with UiConfigStructV2 Color pickers for primary, secondary, highlight, and background colors (replaces theme dropdown) Default screen selector Display inversion toggle Fix config size auto-detection (72/74/96 bytes) Update upstream submodule to wireview-hwmon v1.3
-
[Plugin] [Support] UnraidClaw - AI Agent Gateway with Permission Control
v0.1.31 Fixes Parity-check status now reflects reality (#14, thanks @rodaballo) /api/array/parity/status previously read Unraid's GraphQL array.parityCheckStatus, which doesn't reflect parity checks started outside Connect (via mdcmd, cron, or the webGUI) — so it reported no activity during a running check. It now reads live md-driver state from mdcmd status (the same source the webGUI uses, consistent with how start/pause/resume/cancel already shell out to mdcmd). API Backward compatible — the existing keys keep their names and now carry real data, with new fields added: Field Source running mdResyncPos>0 ‖ mdResync>0 progress mdResyncPos / mdResyncSize (0–100) speed / speedHuman mdResyncDb / mdResyncDt (KiB/s) / MB/s string errors sbSyncErrs paused (new) in progress but not advancing correcting (new) mdResyncCorr action (new) mdResyncAction (e.g. "check P Q") position / size (new) KiB done / total lastCheck (new) start/finish/duration/exit of the previous check No changes required for existing API consumers (OpenClaw included) v0.1.30 Important Critical fix. v0.1.27–v0.1.29 silently chowned host root paths (/, /usr, /usr/local, /usr/local/emhttp, ...) to UID 1001 on install, breaking SSH key authentication on systems with default StrictModes yes. All users on those versions should upgrade. Fixes Stop chowning host paths (#13) The build's tar invocation lacked --owner=root --group=root, so the GitHub Actions runner's UID 1001 was baked into every directory entry of the .txz. upgradepkg then preserved that ownership on the host's matching paths. Build now uses tar --owner=root --group=root --numeric-owner. All archive metadata is root:root. Heal existing installs Postinstall step issues a corrective chown root:root on the affected host paths. Upgrading to v0.1.30 fixes already-broken systems automatically. No-op on healthy systems. After upgrade, you can safely revert any StrictModes no workaround in /etc/ssh/sshd_config. Huge thanks to @justinmeader for the exceptional bug report, root cause and fix included. v0.1.29 Fixes Fix POST /api/docker/containers rejecting valid registry-prefixed image references (#12) Now accepts host[:port]/path/name:tag (e.g. 192.168.178.158:5000/homelab/myapp:latest) Now accepts digest references (e.g. nginx@sha256:...) The previous validator only allowed a single : and didn't permit @, which blocked everyone running a local/private Docker registry. v0.1.28 Fix min/max version to align with XML v7 minimum by @mstrhakr in #11 v0.1.27 Add memory stats (total, used, free, percent) to /api/system/info and /api/system/metrics Add CPU load averages (1m, 5m, 15m) to /api/system/info and /api/system/metrics Add disk usage (used, free, percent) to /api/disks endpoints via df Make /api/system/metrics a lightweight endpoint for polling (memory + CPU load only) v0.1.26 Security Hardening Release Fix command injection in syslog and notification endpoints (execSync to execFileAsync) Fix path traversal in notification archive/delete and docker template filename Restrict CORS to local network origins only Stop exposing Unraid API key in settings page HTML Remove internal error details from API error responses Add rate limiting on API authentication (10 attempts/min per IP) Add input validation on docker:create parameters (image, ports, volumes, env, network) Validate share update fields (floor, splitLevel, comment) Set restrictive file permissions on config, permissions, and log files Enforce strict boolean types in permission saves Require WebGUI authentication on activity log PHP endpoints Move CSRF token from global JS variable to data attribute v0.1.25 Add Unraid WebUI Port setting for non-standard port configurations GraphQL URL is now constructed automatically from the port (no more manual URL editing) v0.1.24 Remove GraphQL URL from settings (hardcode to http://localhost/graphql) Prevents misconfiguration that caused 500 errors on all GraphQL-based endpoints v0.1.23 Fix /api/health reporting hardcoded version "0.1.0" instead of actual installed version Version is now read from the .plg file automatically, so it always matches the installed release v0.1.22 Fix Docker inspect, logs, and all actions (start/stop/restart/pause/unpause) failing with 400 Bad Request Switch all Docker and VM operations from GraphQL to CLI for compatibility with Unraid 7.2.3 Add docker:create endpoint for deploying containers via AI agents (thanks @bitcryptic-gw) Fix OpenAI function calling compatibility Fix global TLS bypass in OpenClaw plugin (now scoped per-connection) Fix XML injection in docker:create template generation Add ADMIN API key requirement to documentation Correct API route paths in README OpenClaw plugin also updated to v0.1.3 on npm: rm -rf ~/.openclaw/extensions/unraidclaw && npm pack unraidclaw && openclaw plugins install unraidclaw-*.tgz && rm unraidclaw-*.tgz openclaw gateway restart On the OpenClaw side, multi server support has been added, config is backwards compatible, but you can have multiple servers configured this way: { "plugins": { "allow": ["unraidclaw"], "entries": { "unraidclaw": { "config": { "servers": [ { "name": "home", "serverUrl": "https://192.168.1.100:9876", "apiKey": "...", "tlsSkipVerify": true, "default": true }, { "name": "work", "serverUrl": "https://10.0.0.50:9876", "apiKey": "..." } ] } } } } }With multi-server, every tool accepts an optional server parameter (e.g. unraid_docker_list(server: "work")). If omitted, the default server is used.
-
[Plugin] [Support] UnraidClaw - AI Agent Gateway with Permission Control
OverviewUnraidClaw is a permission-enforcing REST API gateway that lets AI agents manage your Unraid server. It sits between AI tools and your server, providing a unified API with fine-grained access control, authentication, and activity logging. Instead of giving AI agents direct access to Unraid internals, UnraidClaw acts as a controlled gateway. It combines Unraid's GraphQL API with direct system integration (CLI commands for parity checks, reboot/shutdown, and syslog; filesystem operations for share config editing and notification management; network introspection via ip) to expose capabilities that no single Unraid API covers. It works with any AI agent that speaks HTTP, and ships with an OpenClaw plugin for plug-and-play integration. What does it do?The plugin installs a Node.js server and a web interface that together give you: 43 tools across 11 categories: Docker – List, inspect, logs, start, stop, restart, pause, unpause, remove containers Virtual Machines – List, inspect, start, stop, force stop, pause, resume, reboot VMs Array – Status, start/stop array, parity check start/pause/resume/cancel Disks – List disks, view individual disk details and SMART data Shares – List shares, view details, edit settings (comment, allocator, split level, floor) System – System info, CPU/memory metrics, list services, reboot, shutdown Notifications – List, create, archive, delete notifications Network – View interfaces, routes, and DNS configuration Users – View current user info Logs – Read syslog entries Settings Page (Settings > UnraidClaw) with four tabs: Dashboard – Service status, server info, quick health check Settings – Service enable/disable, port configuration, API key generation Permissions – Full resource:action permission matrix with presets (Read Only, Docker Manager, VM Manager, Full Admin, None). 21 individual permission toggles across 8 categories Activity Log – Searchable log of all API requests with timestamps, endpoints, methods, and results Security: HTTPS with auto-generated self-signed TLS certificate (EC prime256v1, 10-year validity) API keys hashed with SHA-256 before storage; the plaintext key is never persisted Every request authenticated via API key ( x-api-key header ) and checked against the permission matrix All activity logged in JSONL format Runs locally on your Unraid box, no cloud dependencies OpenClaw Plugin (npm) – For AI agents that support the OpenClaw protocol: npm pack unraidclaw && openclaw plugins install unraidclaw-*.tgz && rm unraidclaw-*.tgzRegisters all 43 tools automatically. Configure with your server URL and API key in ~/.openclaw/openclaw.json. { "plugins": { "entries": { "unraidclaw": { "config": { "serverUrl": "https://YOUR_UNRAID_IP:9876", "apiKey": "YOUR_API_KEY", "tlsSkipVerify": true } } } } }RequirementsUnraid 7.0.0 or later (Node.js 22+ is built-in) InstallationCommunity Applications (coming soon, waiting for approval) Search for UnraidClaw in the CA plugin store. Manual Install Go to Plugins > Install Plugin and paste: https://raw.githubusercontent.com/emaspa/unraidclaw/main/packages/unraid-plugin/unraidclaw.plgQuick StartGo to Settings > Management Access in the Unraid WebGUI, scroll to the API section, and copy your Unraid API key Go to Settings > UnraidClaw, paste the Unraid API key into the Unraid API Key field Generate an UnraidClaw API key (save it, it won't be shown again) Configure permissions on the Permissions tab Set Service to Enabled and click Apply The server starts on port 9876 over HTTPS. TroubleshootingService won't start: Check that Node.js 22+ is available. Run node --version in the Unraid terminal. Connection refused: Verify the service is running: /etc/rc.d/rc.unraidclaw status TLS certificate errors: If your AI client doesn't accept self-signed certs, set tlsSkipVerify: true in the OpenClaw config. Permission denied on API call: Check the Activity Log tab to see which permission was denied, then enable it on the Permissions tab. API key not working: The key is shown only once during generation. If lost, generate a new one from the Settings tab. Support & FeedbackPlease report bugs and feature requests on the GitHub Issues page. For general discussion, questions, support and feedback, feel free to post in this thread. Source code: github.com/emaspa/unraidclaw
-
[Plugin] [Support] WireView Pro II GPU Power Monitor (wireview-hwmon)
OverviewThis plugin brings full integration of the Thermal Grizzly WireView Pro II GPU power monitor into Unraid, exposing real-time voltage, current, power, and temperature readings through the Linux hwmon subsystem with a native web GUI on the Unraid dashboard. If you've got a WireView Pro II sitting between your PSU cables and GPU, this plugin lets you monitor and configure it directly from the Unraid web UI — no Windows app, no VM passthrough needed. It's built on top of the wireview-hwmon kernel module project. What does it do?The plugin installs a kernel module, a userspace daemon, and a web interface that together give you: Dashboard Tile — A live, movable tile on the Unraid dashboard showing: Per-pin and average voltage readings Per-pin and total current readings Per-pin and total power readings Onboard and external probe temperature readings Status info including fan duty, fault status/log, and PSU capability Auto-refreshes every 2 seconds with color-coded status indicators (green/orange/red) Settings Page (Settings > Utilities > WireView Pro II) — Full device configuration matching what you'd get in the official WireView II Pro GUI app: Daemon start/stop/restart Device info (firmware, UID, build string) Fan control (curve/fixed mode, temp source, duty/temp min/max) Protection thresholds (OCP, wire OCP, OPP, temperature fault, current imbalance) Fault response (per-type enable/disable for display, buzzer, soft power, hard power) Display settings (backlight, theme, rotation, timeout, screen cycling) Measurement config (current/power scale, averaging period, logging interval) NVM save/load/factory reset Clear faults Fault Alerts — A background monitor polls the device every 30 seconds and sends Unraid notifications on fault state transitions and high temperature warnings (above 80°C). CLI Tool (wireviewctl) — For those who prefer the command line: wireviewctl info # Device info wireviewctl read-config # Read config (hex) wireviewctl write-config <f> # Write config from file wireviewctl nvm store # Save to NVM wireviewctl clear-faults # Clear fault log wireviewctl screen main|temp|pause|resumeRequirementsUnraid 7.2.3 or later Thermal Grizzly WireView Pro II connected via USB directly to the Unraid host (must not be passed through to a VM) InstallationCommunity Applications (coming soon, waiting for approval)Search for WireView in the CA plugin store. Manual InstallGo to Plugins > Install Plugin and paste: https://raw.githubusercontent.com/emaspa/wireview-hwmon-unraid/main/wireview-hwmon.plgThe plugin automatically downloads the correct package for your kernel version. TroubleshootingPlugin installs but no sensor data appears: Make sure the WireView Pro II is connected via USB directly to the Unraid host, not passed through to a VM Run lsusb and look for vendor 0483 product 5740 Check daemon status: /etc/rc.d/rc.wireviewd status "Failed to download package for kernel X.Y.Z-Unraid": Your kernel version may not have a pre-built package yet — check the releases page You can also build from source (instructions on GitHub) Module fails to load: Run dmesg | tail -20 and check for errors Verify the module matches your kernel: uname -r Support & FeedbackPlease report bugs and feature requests on the GitHub Issues page. For general discussion, questions, support and feedback, feel free to post in this thread. If you find this plugin useful, consider buying me a coffee ☕
-
VM Shares
Decided to dig in, stopped the array and deleted the .cgf files manually Started the array and shares were in the UI, deleted them again, stopped the array. Verified cfg files were not there anymore, started the array again and now they're gone. I had them since RC1, so may be a fixed issue as new VMs don't create random shares anymore unless i define them.