qclaw-cli 0.3.2 → 0.3.5
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.aiclaw.md +10 -7
- package/README.aliclaw.md +10 -7
- package/README.alpha-claw.md +25 -0
- package/README.alphaclaw.md +25 -0
- package/README.amazonclaw.md +16 -3
- package/README.amzclaw.md +16 -3
- package/README.anthropicclaw.md +16 -3
- package/README.appleclaw.md +16 -3
- package/README.autoopenclaw.md +10 -7
- package/README.awsclaw.md +16 -3
- package/README.bdclaw.md +16 -3
- package/README.blclaw.md +16 -3
- package/README.bytclaw.md +16 -3
- package/README.claw-open.md +10 -7
- package/README.clawjs.md +10 -7
- package/README.coclaw.md +16 -3
- package/README.copaw.md +16 -3
- package/README.ddclaw.md +16 -3
- package/README.duclaw.md +16 -3
- package/README.dyclaw.md +16 -3
- package/README.easyclaw.md +16 -3
- package/README.fastclaw.md +10 -7
- package/README.fbclaw.md +16 -3
- package/README.googleclaw.md +16 -3
- package/README.hello-claw.md +25 -0
- package/README.hwclaw.md +16 -3
- package/README.jdclaw.md +16 -3
- package/README.kimiclaw.md +16 -3
- package/README.ksclaw.md +16 -3
- package/README.maxclaw.md +16 -3
- package/README.md +10 -7
- package/README.md.bak +75 -0
- package/README.megaclaw.md +10 -7
- package/README.metaclaw.md +16 -3
- package/README.miclaw.md +16 -3
- package/README.msclaw.md +16 -3
- package/README.mtclaw.md +16 -3
- package/README.nflxclaw.md +16 -3
- package/README.nvdaclaw.md +16 -3
- package/README.open-claw.md +10 -7
- package/README.openaiclaw.md +16 -3
- package/README.openclaw-cli.md +11 -225
- package/README.openclaw-daemon.md +11 -225
- package/README.openclaw-gateway.md +11 -225
- package/README.openclaw-health.md +11 -225
- package/README.openclaw-helper.md +11 -225
- package/README.openclaw-install.md +11 -225
- package/README.openclaw-manage.md +11 -225
- package/README.openclaw-monitor.md +11 -225
- package/README.openclaw-run.md +11 -225
- package/README.openclaw-service.md +11 -225
- package/README.openclaw-setup.md +11 -225
- package/README.openclaw-start.md +11 -225
- package/README.openclaw-tools.md +11 -225
- package/README.openclaw-upgrade.md +17 -5
- package/README.openclaw-utils.md +11 -225
- package/README.openclaw-watch.md +11 -225
- package/README.pddclaw.md +16 -3
- package/README.qclaw-cli.md +10 -7
- package/README.qclaw.md +10 -7
- package/README.smartclaw.md +10 -7
- package/README.ttclaw.md +16 -3
- package/README.txclaw.md +16 -3
- package/README.uberclaw.md +16 -3
- package/README.volclaw.md +10 -7
- package/README.wxclaw.md +16 -3
- package/README.xclaw.md +16 -3
- package/README.zhclaw.md +16 -3
- package/dist/{chunk-U6JVOA5H.js → chunk-LJXPQKQB.js} +12 -70
- package/dist/index.js +3 -3
- package/dist/{server-GHEIPQJV.js → server-BR52HPJB.js} +1 -1
- package/package.json +38 -10
- package/CONTRIBUTING.md +0 -105
|
@@ -17,75 +17,17 @@ import { readFileSync, writeFileSync, existsSync, mkdirSync } from "fs";
|
|
|
17
17
|
import { join as join2, resolve } from "path";
|
|
18
18
|
|
|
19
19
|
// src/brand.ts
|
|
20
|
-
import { basename } from "path";
|
|
20
|
+
import { basename, join } from "path";
|
|
21
21
|
import { homedir } from "os";
|
|
22
|
-
|
|
23
|
-
var
|
|
24
|
-
var KNOWN_BINS = [
|
|
25
|
-
"openclaw-cli",
|
|
26
|
-
"openclaw-manage",
|
|
27
|
-
"openclaw-doctor",
|
|
28
|
-
"openclaw-service",
|
|
29
|
-
"openclaw-daemon",
|
|
30
|
-
"openclaw-monitor",
|
|
31
|
-
"openclaw-helper",
|
|
32
|
-
"openclaw-tools",
|
|
33
|
-
"openclaw-utils",
|
|
34
|
-
"openclaw-gateway",
|
|
35
|
-
"openclaw-setup",
|
|
36
|
-
"openclaw-install",
|
|
37
|
-
"openclaw-run",
|
|
38
|
-
"openclaw-start",
|
|
39
|
-
"openclaw-watch",
|
|
40
|
-
"openclaw-health",
|
|
41
|
-
// new aliases
|
|
42
|
-
"qclaw",
|
|
43
|
-
"qclaw-cli",
|
|
44
|
-
"autoopenclaw",
|
|
45
|
-
"claw-open",
|
|
46
|
-
"open-claw",
|
|
47
|
-
"clawjs",
|
|
48
|
-
"aliclaw",
|
|
49
|
-
"fastclaw",
|
|
50
|
-
"smartclaw",
|
|
51
|
-
"aiclaw",
|
|
52
|
-
"megaclaw",
|
|
53
|
-
"volclaw"
|
|
54
|
-
];
|
|
55
|
-
var BINARY_NAME = KNOWN_BINS.includes(bin) ? bin : "openclaw-cli";
|
|
22
|
+
var detectedBin = basename(process.argv[1] ?? "openclaw-cli").replace(/\.[cm]?js$/, "");
|
|
23
|
+
var BINARY_NAME = detectedBin || "openclaw-cli";
|
|
56
24
|
var APP_HOME = join(homedir(), ".openclaw-doctor");
|
|
57
|
-
|
|
58
|
-
"openclaw-cli"
|
|
59
|
-
"openclaw-
|
|
60
|
-
"
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
"openclaw-monitor": "OpenClaw Monitor",
|
|
64
|
-
"openclaw-helper": "OpenClaw Helper",
|
|
65
|
-
"openclaw-tools": "OpenClaw Tools",
|
|
66
|
-
"openclaw-utils": "OpenClaw Utils",
|
|
67
|
-
"openclaw-gateway": "OpenClaw Gateway",
|
|
68
|
-
"openclaw-setup": "OpenClaw Setup",
|
|
69
|
-
"openclaw-install": "OpenClaw Install",
|
|
70
|
-
"openclaw-run": "OpenClaw Run",
|
|
71
|
-
"openclaw-start": "OpenClaw Start",
|
|
72
|
-
"openclaw-watch": "OpenClaw Watch",
|
|
73
|
-
"openclaw-health": "OpenClaw Health",
|
|
74
|
-
// new aliases
|
|
75
|
-
"qclaw": "QClaw",
|
|
76
|
-
"qclaw-cli": "QClaw CLI",
|
|
77
|
-
"autoopenclaw": "AutoOpenClaw",
|
|
78
|
-
"claw-open": "Claw Open",
|
|
79
|
-
"open-claw": "Open Claw",
|
|
80
|
-
"clawjs": "ClawJS",
|
|
81
|
-
"aliclaw": "AliClaw",
|
|
82
|
-
"fastclaw": "FastClaw",
|
|
83
|
-
"smartclaw": "SmartClaw",
|
|
84
|
-
"aiclaw": "AIClaw",
|
|
85
|
-
"megaclaw": "MegaClaw",
|
|
86
|
-
"volclaw": "VolClaw"
|
|
87
|
-
};
|
|
88
|
-
var DISPLAY_NAME = DISPLAY_NAMES[BINARY_NAME] ?? "OpenClaw Doctor";
|
|
25
|
+
function toDisplayName(bin) {
|
|
26
|
+
if (bin === "openclaw-cli") return "OpenClaw CLI";
|
|
27
|
+
if (bin === "openclaw-doctor") return "OpenClaw Doctor";
|
|
28
|
+
return bin.split("-").map((s) => s ? s[0].toUpperCase() + s.slice(1) : s).join(" ");
|
|
29
|
+
}
|
|
30
|
+
var DISPLAY_NAME = toDisplayName(BINARY_NAME);
|
|
89
31
|
|
|
90
32
|
// src/config.ts
|
|
91
33
|
var DOCTOR_HOME = APP_HOME;
|
|
@@ -175,8 +117,8 @@ function findOpenClawBin() {
|
|
|
175
117
|
}
|
|
176
118
|
}
|
|
177
119
|
try {
|
|
178
|
-
const
|
|
179
|
-
if (
|
|
120
|
+
const bin = execSync("which openclaw", { encoding: "utf-8" }).trim();
|
|
121
|
+
if (bin) return { nodePath: process.execPath, cliBinPath: bin };
|
|
180
122
|
} catch {
|
|
181
123
|
}
|
|
182
124
|
return null;
|
|
@@ -572,7 +514,7 @@ function scanCosts(agents) {
|
|
|
572
514
|
}
|
|
573
515
|
|
|
574
516
|
// src/dashboard/server.ts
|
|
575
|
-
var _PKG_VER = true ? "0.3.
|
|
517
|
+
var _PKG_VER = true ? "0.3.5" : "0.2.1";
|
|
576
518
|
var pkgVersion = _PKG_VER;
|
|
577
519
|
function readDoctorLogs(maxLines = 50) {
|
|
578
520
|
if (!existsSync6(DOCTOR_LOG_DIR)) return [];
|
package/dist/index.js
CHANGED
|
@@ -17,7 +17,7 @@ import {
|
|
|
17
17
|
startDashboard,
|
|
18
18
|
startGateway,
|
|
19
19
|
stopGateway
|
|
20
|
-
} from "./chunk-
|
|
20
|
+
} from "./chunk-LJXPQKQB.js";
|
|
21
21
|
|
|
22
22
|
// src/index.ts
|
|
23
23
|
import { spawnSync } from "child_process";
|
|
@@ -43,7 +43,7 @@ async function watchDaemon(options) {
|
|
|
43
43
|
log("info", `Check interval: ${config.checkInterval}s`);
|
|
44
44
|
log("info", `PID: ${process.pid}`);
|
|
45
45
|
if (options.dashboard) {
|
|
46
|
-
const { startDashboard: startDashboard2 } = await import("./server-
|
|
46
|
+
const { startDashboard: startDashboard2 } = await import("./server-BR52HPJB.js");
|
|
47
47
|
startDashboard2({ config: options.config });
|
|
48
48
|
}
|
|
49
49
|
const throttle = new RestartThrottle(config.maxRestartsPerHour);
|
|
@@ -511,7 +511,7 @@ async function memoryCompact(options) {
|
|
|
511
511
|
}
|
|
512
512
|
|
|
513
513
|
// src/index.ts
|
|
514
|
-
var _PKG_VER = true ? "0.3.
|
|
514
|
+
var _PKG_VER = true ? "0.3.5" : "0.2.1";
|
|
515
515
|
var version = _PKG_VER;
|
|
516
516
|
var program = new Command();
|
|
517
517
|
program.name(BINARY_NAME).description(`${DISPLAY_NAME} \u2014 health monitor and management for OpenClaw services`).version(version);
|
package/package.json
CHANGED
|
@@ -1,25 +1,53 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "qclaw-cli",
|
|
3
|
-
"version": "0.3.
|
|
4
|
-
"description": "
|
|
3
|
+
"version": "0.3.5",
|
|
4
|
+
"description": "AI assistant gateway watchdog — alias for openclaw-cli. Visit https://openclaw-cli.app",
|
|
5
|
+
"type": "module",
|
|
6
|
+
"bin": {
|
|
7
|
+
"qclaw-cli": "./dist/index.js"
|
|
8
|
+
},
|
|
9
|
+
"scripts": {
|
|
10
|
+
"build": "tsup",
|
|
11
|
+
"dev": "tsx src/index.ts",
|
|
12
|
+
"start": "node dist/index.js",
|
|
13
|
+
"lint": "tsc --noEmit"
|
|
14
|
+
},
|
|
5
15
|
"keywords": [
|
|
6
16
|
"openclaw",
|
|
7
|
-
"cli",
|
|
17
|
+
"openclaw-cli",
|
|
8
18
|
"ai",
|
|
9
19
|
"daemon",
|
|
20
|
+
"gateway",
|
|
21
|
+
"watchdog",
|
|
10
22
|
"health-check"
|
|
11
23
|
],
|
|
12
|
-
"main": "./dist/index.js",
|
|
13
|
-
"bin": {
|
|
14
|
-
"qclaw-cli": "./dist/index.js"
|
|
15
|
-
},
|
|
16
24
|
"license": "MIT",
|
|
17
25
|
"repository": {
|
|
18
26
|
"type": "git",
|
|
19
|
-
"url": "https://github.com/Sobranier/openclaw-cli.git"
|
|
27
|
+
"url": "git+https://github.com/Sobranier/openclaw-cli.git"
|
|
20
28
|
},
|
|
21
|
-
"
|
|
29
|
+
"files": [
|
|
30
|
+
"dist",
|
|
31
|
+
"README.md",
|
|
32
|
+
"README.zh-CN.md",
|
|
33
|
+
"LICENSE"
|
|
34
|
+
],
|
|
22
35
|
"engines": {
|
|
23
36
|
"node": ">=22"
|
|
24
|
-
}
|
|
37
|
+
},
|
|
38
|
+
"dependencies": {
|
|
39
|
+
"chalk": "^5.6.2",
|
|
40
|
+
"commander": "^14.0.3"
|
|
41
|
+
},
|
|
42
|
+
"devDependencies": {
|
|
43
|
+
"@types/node": "^25.3.3",
|
|
44
|
+
"tsup": "^8.5.1",
|
|
45
|
+
"tsx": "^4.21.0",
|
|
46
|
+
"typescript": "^5.9.3"
|
|
47
|
+
},
|
|
48
|
+
"author": "pdd <ywq1991@gmail.com>",
|
|
49
|
+
"bugs": {
|
|
50
|
+
"url": "https://github.com/Sobranier/openclaw-cli/issues"
|
|
51
|
+
},
|
|
52
|
+
"homepage": "https://openclaw-cli.app"
|
|
25
53
|
}
|
package/CONTRIBUTING.md
DELETED
|
@@ -1,105 +0,0 @@
|
|
|
1
|
-
# Contributing to OpenClaw Doctor
|
|
2
|
-
|
|
3
|
-
Thanks for taking the time to contribute!
|
|
4
|
-
|
|
5
|
-
## Development Setup
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
git clone https://github.com/Sobranier/openclaw-cli.git
|
|
9
|
-
cd openclaw-doctor
|
|
10
|
-
npm install
|
|
11
|
-
```
|
|
12
|
-
|
|
13
|
-
### Running locally
|
|
14
|
-
|
|
15
|
-
```bash
|
|
16
|
-
npm run dev -- status # Quick health check
|
|
17
|
-
npm run dev -- watch # Foreground monitoring
|
|
18
|
-
npm run dev -- watch -d # Background daemon
|
|
19
|
-
npm run dev -- unwatch # Stop daemon
|
|
20
|
-
```
|
|
21
|
-
|
|
22
|
-
### Building
|
|
23
|
-
|
|
24
|
-
```bash
|
|
25
|
-
npm run build
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
Output goes to `dist/`.
|
|
29
|
-
|
|
30
|
-
## Project Structure
|
|
31
|
-
|
|
32
|
-
```
|
|
33
|
-
src/
|
|
34
|
-
commands/ # CLI command handlers (watch, status, gateway, logs, ...)
|
|
35
|
-
core/ # Health check, restart logic, daemon management
|
|
36
|
-
dashboard/ # Web UI (Express + static assets)
|
|
37
|
-
notify/ # Notification channels (webhook, macOS system)
|
|
38
|
-
utils/ # OpenClaw config auto-detection, launchd helpers
|
|
39
|
-
scripts/
|
|
40
|
-
publish.sh # Multi-package publish script
|
|
41
|
-
```
|
|
42
|
-
|
|
43
|
-
## Making Changes
|
|
44
|
-
|
|
45
|
-
1. Fork the repo and create a branch from `main`:
|
|
46
|
-
```bash
|
|
47
|
-
git checkout -b fix/your-change
|
|
48
|
-
```
|
|
49
|
-
2. Make your changes and test locally with `npm run dev`.
|
|
50
|
-
3. Build to make sure nothing is broken:
|
|
51
|
-
```bash
|
|
52
|
-
npm run build
|
|
53
|
-
```
|
|
54
|
-
4. Open a Pull Request against `main`.
|
|
55
|
-
|
|
56
|
-
## Release Workflow
|
|
57
|
-
|
|
58
|
-
This repo publishes multiple npm packages from the same codebase. **Do not publish manually.**
|
|
59
|
-
|
|
60
|
-
### Packages
|
|
61
|
-
|
|
62
|
-
| Package | Config |
|
|
63
|
-
|---------|--------|
|
|
64
|
-
| `openclaw-doctor` | `package.json` |
|
|
65
|
-
| `openclaw-cli` | `package.openclaw-cli.json` |
|
|
66
|
-
| `openclaw-manage` | `package.openclaw-manage.json` |
|
|
67
|
-
| _(and others)_ | `package.openclaw-*.json` |
|
|
68
|
-
|
|
69
|
-
All packages share the same version number and `dist/` output.
|
|
70
|
-
|
|
71
|
-
### Cutting a release
|
|
72
|
-
|
|
73
|
-
```bash
|
|
74
|
-
# 1. Pull latest
|
|
75
|
-
git pull origin main
|
|
76
|
-
|
|
77
|
-
# 2. Bump version (patch / minor / major)
|
|
78
|
-
npm version patch # e.g. 0.3.0 → 0.3.1
|
|
79
|
-
|
|
80
|
-
# 3. Build + publish all packages
|
|
81
|
-
npm run release
|
|
82
|
-
```
|
|
83
|
-
|
|
84
|
-
`npm run release` calls `scripts/publish.sh`, which:
|
|
85
|
-
1. Builds once (`npm run build`)
|
|
86
|
-
2. Publishes `openclaw-doctor` with `package.json`
|
|
87
|
-
3. For each `package.openclaw-*.json`: temporarily swaps it in as `package.json`, publishes, then restores
|
|
88
|
-
|
|
89
|
-
### Version sync
|
|
90
|
-
|
|
91
|
-
All `package.openclaw-*.json` files must stay in sync with `package.json`. The publish script reads whichever `package.json` is active — keep `version` consistent across all of them.
|
|
92
|
-
|
|
93
|
-
To update a sub-package metadata (description, keywords, bin), edit its `package.openclaw-*.json` directly.
|
|
94
|
-
|
|
95
|
-
## Reporting Issues
|
|
96
|
-
|
|
97
|
-
Open an issue on GitHub with:
|
|
98
|
-
- Your OpenClaw version (`openclaw --version`)
|
|
99
|
-
- Your OS and Node.js version
|
|
100
|
-
- The output of `openclaw-doctor doctor`
|
|
101
|
-
- What you expected vs. what happened
|
|
102
|
-
|
|
103
|
-
## License
|
|
104
|
-
|
|
105
|
-
By contributing, you agree that your contributions will be licensed under the [MIT License](./LICENSE).
|