@clawnify/agent-control-ui 0.0.1

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.
@@ -0,0 +1,27 @@
1
+ <!doctype html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8" />
5
+ <link rel="icon" type="image/svg+xml" href="/favicon.svg" />
6
+ <meta name="viewport" content="width=device-width, initial-scale=1.0" />
7
+ <meta name="color-scheme" content="dark light" />
8
+ <title>Agent Control UI</title>
9
+ <script>
10
+ // Apply saved theme (or system fallback) before React mounts so the
11
+ // first paint matches.
12
+ try {
13
+ var saved = localStorage.getItem("agent-control-ui-theme") || "system";
14
+ var dark =
15
+ saved === "dark" ||
16
+ (saved === "system" &&
17
+ window.matchMedia("(prefers-color-scheme: dark)").matches);
18
+ if (dark) document.documentElement.classList.add("dark");
19
+ } catch {}
20
+ </script>
21
+ <script type="module" crossorigin src="/assets/index-D1t_dgx4.js"></script>
22
+ <link rel="stylesheet" crossorigin href="/assets/index-C79LDykv.css">
23
+ </head>
24
+ <body class="h-screen overflow-hidden">
25
+ <div id="root" class="h-full"></div>
26
+ </body>
27
+ </html>
package/package.json ADDED
@@ -0,0 +1,65 @@
1
+ {
2
+ "name": "@clawnify/agent-control-ui",
3
+ "version": "0.0.1",
4
+ "type": "module",
5
+ "description": "A designer's take on the OpenClaw agent Control UI.",
6
+ "license": "MIT",
7
+ "repository": {
8
+ "type": "git",
9
+ "url": "https://github.com/clawnify/agent-control-ui.git"
10
+ },
11
+ "homepage": "https://github.com/clawnify/agent-control-ui#readme",
12
+ "bugs": "https://github.com/clawnify/agent-control-ui/issues",
13
+ "keywords": [
14
+ "openclaw",
15
+ "agent",
16
+ "control-ui",
17
+ "chat",
18
+ "ai"
19
+ ],
20
+ "bin": {
21
+ "agent-control-ui": "bin/agent-control-ui.mjs"
22
+ },
23
+ "files": [
24
+ "bin",
25
+ "dist",
26
+ "packaging",
27
+ "README.md",
28
+ "LICENSE"
29
+ ],
30
+ "dependencies": {
31
+ "@radix-ui/react-dialog": "^1.1.15",
32
+ "@radix-ui/react-popover": "^1.1.15",
33
+ "@radix-ui/react-tooltip": "^1.2.8",
34
+ "@tailwindcss/vite": "^4.3.0",
35
+ "class-variance-authority": "^0.7.1",
36
+ "clsx": "^2.1.1",
37
+ "lucide-react": "^1.16.0",
38
+ "react": "^19.0.0",
39
+ "react-dom": "^19.0.0",
40
+ "react-markdown": "^10.1.0",
41
+ "remark-gfm": "^4.0.1",
42
+ "tailwind-merge": "^3.6.0",
43
+ "tailwindcss": "^4.3.0",
44
+ "tw-animate-css": "^1.4.0"
45
+ },
46
+ "devDependencies": {
47
+ "@tailwindcss/typography": "^0.5.19",
48
+ "@types/node": "^25.8.0",
49
+ "@types/react": "^19.0.0",
50
+ "@types/react-dom": "^19.0.0",
51
+ "@vitejs/plugin-react": "^4.3.4",
52
+ "typescript": "^5.7.2",
53
+ "vite": "^6.0.0"
54
+ },
55
+ "engines": {
56
+ "node": ">=20"
57
+ },
58
+ "scripts": {
59
+ "dev": "vite",
60
+ "build": "tsc -b && vite build",
61
+ "preview": "vite preview",
62
+ "typecheck": "tsc -b --noEmit",
63
+ "start": "node bin/agent-control-ui.mjs"
64
+ }
65
+ }
@@ -0,0 +1,36 @@
1
+ # Packaging
2
+
3
+ Templates for running `@clawnify/agent-control-ui` as a long-running local
4
+ service.
5
+
6
+ ## systemd (Linux VPS, Raspberry Pi, etc.)
7
+
8
+ ```bash
9
+ sudo cp systemd/agent-control-ui.service /etc/systemd/system/
10
+ sudo systemctl daemon-reload
11
+ sudo systemctl enable --now agent-control-ui.service
12
+ ```
13
+
14
+ Pair it with the OpenClaw gateway service so both come up on boot:
15
+
16
+ ```bash
17
+ sudo systemctl enable --now openclaw-gateway agent-control-ui
18
+ ```
19
+
20
+ Edit `agent-control-ui.service` to set `User=`, `Group=`, and `ExecStart=`
21
+ to match your host (default assumes the `openclaw` user from a typical
22
+ OpenClaw install).
23
+
24
+ ## launchd (macOS / Mac mini)
25
+
26
+ ```bash
27
+ cp launchd/com.clawnify.agent-control-ui.plist ~/Library/LaunchAgents/
28
+ launchctl load ~/Library/LaunchAgents/com.clawnify.agent-control-ui.plist
29
+ ```
30
+
31
+ The path to `npx` differs by Mac CPU:
32
+
33
+ - Apple silicon: `/opt/homebrew/bin/npx`
34
+ - Intel: `/usr/local/bin/npx`
35
+
36
+ Logs go to `/tmp/agent-control-ui.{out,err}.log`.
@@ -0,0 +1,52 @@
1
+ <?xml version="1.0" encoding="UTF-8"?>
2
+ <!--
3
+ Launchd agent for @clawnify/agent-control-ui — auto-starts the local
4
+ static server on a Mac mini or any macOS host running OpenClaw.
5
+
6
+ Install:
7
+ cp packaging/launchd/com.clawnify.agent-control-ui.plist ~/Library/LaunchAgents/
8
+ launchctl load ~/Library/LaunchAgents/com.clawnify.agent-control-ui.plist
9
+
10
+ Stop / remove:
11
+ launchctl unload ~/Library/LaunchAgents/com.clawnify.agent-control-ui.plist
12
+
13
+ Logs:
14
+ tail -f /tmp/agent-control-ui.{out,err}.log
15
+
16
+ Adjust the ProgramArguments path if `npx` lives somewhere other than
17
+ /opt/homebrew/bin (Apple silicon) — /usr/local/bin on Intel Macs.
18
+ -->
19
+ <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
20
+ <plist version="1.0">
21
+ <dict>
22
+ <key>Label</key>
23
+ <string>com.clawnify.agent-control-ui</string>
24
+
25
+ <key>ProgramArguments</key>
26
+ <array>
27
+ <string>/opt/homebrew/bin/npx</string>
28
+ <string>--yes</string>
29
+ <string>@clawnify/agent-control-ui</string>
30
+ </array>
31
+
32
+ <key>EnvironmentVariables</key>
33
+ <dict>
34
+ <key>PORT</key>
35
+ <string>5174</string>
36
+ <key>HOST</key>
37
+ <string>127.0.0.1</string>
38
+ </dict>
39
+
40
+ <key>RunAtLoad</key>
41
+ <true/>
42
+
43
+ <key>KeepAlive</key>
44
+ <true/>
45
+
46
+ <key>StandardOutPath</key>
47
+ <string>/tmp/agent-control-ui.out.log</string>
48
+
49
+ <key>StandardErrorPath</key>
50
+ <string>/tmp/agent-control-ui.err.log</string>
51
+ </dict>
52
+ </plist>
@@ -0,0 +1,41 @@
1
+ # Systemd unit for @clawnify/agent-control-ui — runs the local static
2
+ # server on boot.
3
+ #
4
+ # Install:
5
+ # sudo cp packaging/systemd/agent-control-ui.service /etc/systemd/system/
6
+ # sudo systemctl daemon-reload
7
+ # sudo systemctl enable --now agent-control-ui.service
8
+ #
9
+ # Status:
10
+ # systemctl status agent-control-ui
11
+ # journalctl -u agent-control-ui -f
12
+ #
13
+ # Pair with the existing openclaw-gateway service:
14
+ # sudo systemctl enable --now openclaw-gateway agent-control-ui
15
+ #
16
+ # Tweak User=, Group=, ExecStart= path, and Environment= to match your setup.
17
+
18
+ [Unit]
19
+ Description=OpenClaw Agent Control UI — local web client for the gateway
20
+ After=network.target
21
+ # Optional: only start after the gateway is up.
22
+ # Wants=openclaw-gateway.service
23
+ # After=openclaw-gateway.service
24
+
25
+ [Service]
26
+ Type=simple
27
+ User=openclaw
28
+ Group=openclaw
29
+ ExecStart=/usr/bin/npx --yes @clawnify/agent-control-ui
30
+ Environment=PORT=5174
31
+ Environment=HOST=127.0.0.1
32
+ Restart=on-failure
33
+ RestartSec=5
34
+ # Hardening
35
+ NoNewPrivileges=true
36
+ ProtectSystem=strict
37
+ ProtectHome=true
38
+ PrivateTmp=true
39
+
40
+ [Install]
41
+ WantedBy=multi-user.target