@rethinkingstudio/clawpilot 1.1.6 → 1.1.7
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 +9 -10
- package/package.json +1 -1
- package/src/commands/local-handlers.ts +33 -0
package/README.md
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
# ClawPilot
|
|
2
2
|
|
|
3
|
-
> OpenClaw relay client for Mac mini — connects your Mac
|
|
3
|
+
> OpenClaw relay client for Mac mini — connects your Mac for iOS app communication.
|
|
4
4
|
|
|
5
5
|
## Installation
|
|
6
6
|
|
|
@@ -10,21 +10,20 @@ npm install -g @rethinkingstudio/clawpilot
|
|
|
10
10
|
|
|
11
11
|
## Usage
|
|
12
12
|
|
|
13
|
-
### Pair
|
|
13
|
+
### Pair
|
|
14
14
|
|
|
15
|
-
|
|
15
|
+
Generate a QR code for iOS pairing:
|
|
16
16
|
|
|
17
17
|
```bash
|
|
18
18
|
clawpilot pair
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
Options:
|
|
22
|
-
- `-s, --server <url>` — Relay server URL (default: `http://8.140.58.48`)
|
|
23
22
|
- `-n, --name <name>` — Display name for this Mac (default: `My Mac`)
|
|
24
23
|
|
|
25
|
-
### Run
|
|
24
|
+
### Run
|
|
26
25
|
|
|
27
|
-
Start the relay client
|
|
26
|
+
Start the relay client:
|
|
28
27
|
|
|
29
28
|
```bash
|
|
30
29
|
clawpilot run
|
|
@@ -32,7 +31,7 @@ clawpilot run
|
|
|
32
31
|
|
|
33
32
|
### Check Status
|
|
34
33
|
|
|
35
|
-
Show pairing config
|
|
34
|
+
Show pairing config and launchd service status:
|
|
36
35
|
|
|
37
36
|
```bash
|
|
38
37
|
clawpilot status
|
|
@@ -64,10 +63,10 @@ clawpilot uninstall
|
|
|
64
63
|
|
|
65
64
|
## How It Works
|
|
66
65
|
|
|
67
|
-
1. **Pair** —
|
|
66
|
+
1. **Pair** — Generate a QR code
|
|
68
67
|
2. **Scan QR with iOS app** — iOS app pairs with your Mac
|
|
69
|
-
3. **Run** — Relay client
|
|
70
|
-
4. **Communicate** — iOS app sends commands to Mac
|
|
68
|
+
3. **Run** — Relay client stays connected
|
|
69
|
+
4. **Communicate** — iOS app sends commands to Mac
|
|
71
70
|
|
|
72
71
|
## Requirements
|
|
73
72
|
|
package/package.json
CHANGED
|
@@ -62,6 +62,7 @@ export function handleLocalCommand(method: string): LocalResult | null {
|
|
|
62
62
|
case "clawpilot.doctor": return runDoctor();
|
|
63
63
|
case "clawpilot.logs": return readLogs();
|
|
64
64
|
case "clawpilot.gateway.restart": return restartGateway();
|
|
65
|
+
case "clawpilot.version": return getOpenclawVersion();
|
|
65
66
|
case "clawpilot.update": return updateOpenclaw();
|
|
66
67
|
default: return null;
|
|
67
68
|
}
|
|
@@ -177,6 +178,38 @@ function restartGateway(): LocalResult {
|
|
|
177
178
|
}
|
|
178
179
|
}
|
|
179
180
|
|
|
181
|
+
function getOpenclawVersion(): LocalResult {
|
|
182
|
+
const candidates = ["--version", "version"];
|
|
183
|
+
|
|
184
|
+
for (const args of candidates) {
|
|
185
|
+
try {
|
|
186
|
+
const output = openclaw(args).toString().trim();
|
|
187
|
+
const version = output
|
|
188
|
+
.split("\n")
|
|
189
|
+
.map(line => line.trim())
|
|
190
|
+
.find(line => line.length > 0);
|
|
191
|
+
|
|
192
|
+
if (version) {
|
|
193
|
+
console.log(`[clawpilot] openclaw version detected via "${args}": ${version}`);
|
|
194
|
+
return { ok: true, payload: { version, output } };
|
|
195
|
+
}
|
|
196
|
+
} catch (err) {
|
|
197
|
+
const output = execErrorOutput(err).trim();
|
|
198
|
+
const version = output
|
|
199
|
+
.split("\n")
|
|
200
|
+
.map(line => line.trim())
|
|
201
|
+
.find(line => /^v?\d+\./.test(line) || /openclaw/i.test(line));
|
|
202
|
+
|
|
203
|
+
if (version) {
|
|
204
|
+
console.log(`[clawpilot] openclaw version parsed from error output via "${args}": ${version}`);
|
|
205
|
+
return { ok: true, payload: { version, output } };
|
|
206
|
+
}
|
|
207
|
+
}
|
|
208
|
+
}
|
|
209
|
+
|
|
210
|
+
return { ok: false, error: "Unable to determine openclaw version." };
|
|
211
|
+
}
|
|
212
|
+
|
|
180
213
|
function updateOpenclaw(): LocalResult {
|
|
181
214
|
try {
|
|
182
215
|
const output = openclaw("update").toString();
|