unraidclaw 0.1.7 → 0.1.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +114 -0
- package/openclaw.plugin.json +1 -0
- package/package.json +8 -2
package/README.md
ADDED
|
@@ -0,0 +1,114 @@
|
|
|
1
|
+
# unraidclaw
|
|
2
|
+
|
|
3
|
+
> OpenClaw plugin to manage your Unraid server through AI agents — Docker, VMs, array, shares, system, notifications, and more, with permission control.
|
|
4
|
+
|
|
5
|
+
[](https://www.npmjs.com/package/unraidclaw)
|
|
6
|
+
|
|
7
|
+
This is the [OpenClaw](https://github.com/openclaw/openclaw) plugin for **[UnraidClaw](https://github.com/emaspa/unraidclaw)**. It exposes **44 tools** to any AI agent running on OpenClaw, letting it monitor and manage your Unraid server. The plugin talks to the UnraidClaw gateway (a permission-enforcing REST API) running on your Unraid box.
|
|
8
|
+
|
|
9
|
+
## Prerequisites
|
|
10
|
+
|
|
11
|
+
1. **The UnraidClaw plugin installed on your Unraid server** — install it from the Unraid Community Apps store, or see the [main repo](https://github.com/emaspa/unraidclaw). It runs the gateway on port `9876` (HTTPS).
|
|
12
|
+
2. **An UnraidClaw API key** — generate one on the **Settings → UnraidClaw** page in the Unraid WebGUI.
|
|
13
|
+
3. **OpenClaw** installed (`openclaw --version`).
|
|
14
|
+
|
|
15
|
+
## Install
|
|
16
|
+
|
|
17
|
+
```bash
|
|
18
|
+
npm pack unraidclaw && openclaw plugins install unraidclaw-*.tgz && rm unraidclaw-*.tgz
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
To update to the latest version:
|
|
22
|
+
|
|
23
|
+
```bash
|
|
24
|
+
rm -rf ~/.openclaw/extensions/unraidclaw && npm pack unraidclaw && openclaw plugins install unraidclaw-*.tgz && rm unraidclaw-*.tgz
|
|
25
|
+
```
|
|
26
|
+
|
|
27
|
+
## Configure
|
|
28
|
+
|
|
29
|
+
Edit `~/.openclaw/openclaw.json`.
|
|
30
|
+
|
|
31
|
+
**Single server:**
|
|
32
|
+
|
|
33
|
+
```json
|
|
34
|
+
{
|
|
35
|
+
"plugins": {
|
|
36
|
+
"allow": ["unraidclaw"],
|
|
37
|
+
"entries": {
|
|
38
|
+
"unraidclaw": {
|
|
39
|
+
"config": {
|
|
40
|
+
"serverUrl": "https://YOUR_UNRAID_IP:9876",
|
|
41
|
+
"apiKey": "YOUR_API_KEY",
|
|
42
|
+
"tlsSkipVerify": true
|
|
43
|
+
}
|
|
44
|
+
}
|
|
45
|
+
}
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**Multiple servers:**
|
|
51
|
+
|
|
52
|
+
```json
|
|
53
|
+
{
|
|
54
|
+
"plugins": {
|
|
55
|
+
"allow": ["unraidclaw"],
|
|
56
|
+
"entries": {
|
|
57
|
+
"unraidclaw": {
|
|
58
|
+
"config": {
|
|
59
|
+
"servers": [
|
|
60
|
+
{ "name": "home", "serverUrl": "https://192.168.1.100:9876", "apiKey": "...", "tlsSkipVerify": true, "default": true },
|
|
61
|
+
{ "name": "work", "serverUrl": "https://10.0.0.50:9876", "apiKey": "..." }
|
|
62
|
+
]
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
}
|
|
68
|
+
```
|
|
69
|
+
|
|
70
|
+
With multi-server config, every tool accepts an optional `server` parameter (e.g. `unraid_docker_list(server: "work")`); the default server is used when it's omitted.
|
|
71
|
+
|
|
72
|
+
Set `tlsSkipVerify: true` when using UnraidClaw's auto-generated self-signed certificate.
|
|
73
|
+
|
|
74
|
+
## Usage
|
|
75
|
+
|
|
76
|
+
Once installed and configured, just ask your agent:
|
|
77
|
+
|
|
78
|
+
- "List all running Docker containers"
|
|
79
|
+
- "Stop the plex container"
|
|
80
|
+
- "What's the array status?"
|
|
81
|
+
- "Show me disk temperatures"
|
|
82
|
+
- "Create a new nginx container with port 8080"
|
|
83
|
+
- "Check parity status"
|
|
84
|
+
- "Reboot the server"
|
|
85
|
+
|
|
86
|
+
## Tools
|
|
87
|
+
|
|
88
|
+
44 tools across 11 categories:
|
|
89
|
+
|
|
90
|
+
| Category | Tools |
|
|
91
|
+
|----------|-------|
|
|
92
|
+
| Health | `unraid_health_check` |
|
|
93
|
+
| Docker | `unraid_docker_list`, `unraid_docker_inspect`, `unraid_docker_logs`, `unraid_docker_create`, `unraid_docker_start`, `unraid_docker_stop`, `unraid_docker_restart`, `unraid_docker_pause`, `unraid_docker_unpause`, `unraid_docker_remove` |
|
|
94
|
+
| VMs | `unraid_vm_list`, `unraid_vm_inspect`, `unraid_vm_start`, `unraid_vm_stop`, `unraid_vm_pause`, `unraid_vm_resume`, `unraid_vm_force_stop`, `unraid_vm_reboot` |
|
|
95
|
+
| Array | `unraid_array_status`, `unraid_array_start`, `unraid_array_stop`, `unraid_parity_status`, `unraid_parity_start`, `unraid_parity_pause`, `unraid_parity_resume`, `unraid_parity_cancel` |
|
|
96
|
+
| Disks | `unraid_disk_list`, `unraid_disk_details` |
|
|
97
|
+
| Shares | `unraid_share_list`, `unraid_share_details`, `unraid_share_update` |
|
|
98
|
+
| System | `unraid_system_info`, `unraid_system_metrics`, `unraid_service_list`, `unraid_system_reboot`, `unraid_system_shutdown` |
|
|
99
|
+
| Notifications | `unraid_notification_list`, `unraid_notification_create`, `unraid_notification_archive`, `unraid_notification_delete` |
|
|
100
|
+
| Network | `unraid_network_info` |
|
|
101
|
+
| Users | `unraid_user_me` |
|
|
102
|
+
| Logs | `unraid_syslog` |
|
|
103
|
+
|
|
104
|
+
Every tool is gated by a 22-key `resource:action` permission matrix configured from the Unraid WebGUI, so you control exactly what agents can do.
|
|
105
|
+
|
|
106
|
+
## Links
|
|
107
|
+
|
|
108
|
+
- [GitHub](https://github.com/emaspa/unraidclaw)
|
|
109
|
+
- [Issues](https://github.com/emaspa/unraidclaw/issues)
|
|
110
|
+
- [Unraid Community Apps](https://unraid.net/community/apps)
|
|
111
|
+
|
|
112
|
+
## License
|
|
113
|
+
|
|
114
|
+
MIT
|
package/openclaw.plugin.json
CHANGED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "unraidclaw",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.11",
|
|
4
4
|
"description": "OpenClaw plugin to manage your Unraid server — Docker, VMs, array, shares, system, and more.",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -14,7 +14,13 @@
|
|
|
14
14
|
"openclaw": {
|
|
15
15
|
"extensions": [
|
|
16
16
|
"./dist/index.js"
|
|
17
|
-
]
|
|
17
|
+
],
|
|
18
|
+
"compat": {
|
|
19
|
+
"pluginApi": ">=2026.6.5"
|
|
20
|
+
},
|
|
21
|
+
"build": {
|
|
22
|
+
"openclawVersion": "2026.6.5"
|
|
23
|
+
}
|
|
18
24
|
},
|
|
19
25
|
"files": [
|
|
20
26
|
"dist",
|