clawaid 1.1.33 â 1.1.35
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 +67 -24
- package/package.json +17 -3
- package/web/index.html +30 -0
package/README.md
CHANGED
|
@@ -1,40 +1,83 @@
|
|
|
1
|
-
# đŚđŠš ClawAid
|
|
1
|
+
# đŚđŠš ClawAid â Fix OpenClaw in One Command
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
**OpenClaw broken? Gateway crashed? Config corrupted? AI not responding?**
|
|
4
4
|
|
|
5
|
-
|
|
5
|
+
ClawAid is an AI-powered diagnostic and repair tool for [OpenClaw](https://github.com/openclaw/openclaw). It auto-detects what's wrong and fixes it â no manual debugging needed.
|
|
6
|
+
|
|
7
|
+
## Quick Start
|
|
6
8
|
|
|
7
9
|
```bash
|
|
8
10
|
npx clawaid
|
|
9
11
|
```
|
|
10
12
|
|
|
11
|
-
Opens a
|
|
13
|
+
That's it. Opens a web UI in your browser. No config, no API key, no account needed.
|
|
14
|
+
|
|
15
|
+
## What It Fixes
|
|
16
|
+
|
|
17
|
+
| Problem | ClawAid handles it |
|
|
18
|
+
|---|---|
|
|
19
|
+
| **Gateway not starting** / crashed / not running | â
Auto-fix |
|
|
20
|
+
| **Config file errors** â invalid JSON, unknown fields | â
Auto-fix |
|
|
21
|
+
| **Wrong model ID** causing HTTP 400 | â
Auto-fix |
|
|
22
|
+
| **Network / proxy issues** â AI keeps spinning | â
Auto-fix |
|
|
23
|
+
| **Port conflicts** â another process on 18789 | â
Auto-fix |
|
|
24
|
+
| **Stale LaunchAgent** after OpenClaw update | â
Auto-fix |
|
|
25
|
+
| **API key expired** or misconfigured | â
Auto-fix |
|
|
26
|
+
| **Broke after updating** OpenClaw | â
Auto-fix |
|
|
27
|
+
| **`openclaw: command not found`** â PATH issues | â
Auto-fix |
|
|
28
|
+
| **Telegram / Discord / WhatsApp** channel won't connect | â
Auto-fix |
|
|
29
|
+
|
|
30
|
+
**94% fix rate** across 19,000+ users in 15 countries.
|
|
31
|
+
|
|
32
|
+
## How It Works
|
|
33
|
+
|
|
34
|
+
1. **Scans** your OpenClaw installation â logs, config, processes, network (read-only, zero risk)
|
|
35
|
+
2. **AI analyzes** the real system state to find the root cause
|
|
36
|
+
3. **Shows** a clear diagnosis and repair plan
|
|
37
|
+
4. **Fixes** with one click â commands run locally on your machine
|
|
38
|
+
5. **Verifies** the fix worked â if not, retries with a different strategy (up to 9 attempts)
|
|
39
|
+
|
|
40
|
+
## Common Searches This Solves
|
|
41
|
+
|
|
42
|
+
- "openclaw not working"
|
|
43
|
+
- "openclaw gateway not starting"
|
|
44
|
+
- "openclaw gateway crash"
|
|
45
|
+
- "openclaw config error"
|
|
46
|
+
- "openclaw broken after update"
|
|
47
|
+
- "openclaw HTTP 400 / 401 / 429"
|
|
48
|
+
- "openclaw command not found"
|
|
49
|
+
- "openclaw ĺŻĺ¨ĺ¤ąč´Ľ" / "openclaw ĺäş" / "openclaw é
罎é误"
|
|
50
|
+
- "how to fix openclaw" / "openclaw troubleshooting"
|
|
51
|
+
- "openclaw repair" / "openclaw debug"
|
|
52
|
+
- "openclaw proxy error" / "openclaw network issue"
|
|
53
|
+
- "openclaw telegram not connecting"
|
|
54
|
+
|
|
55
|
+
## Troubleshooting Guides
|
|
56
|
+
|
|
57
|
+
Detailed step-by-step guides for manual fixes:
|
|
58
|
+
|
|
59
|
+
- [OpenClaw Not Working â Complete Guide](https://clawaid.app/fix/openclaw-not-working)
|
|
60
|
+
- [Fix: Gateway Not Starting](https://clawaid.app/fix/gateway-not-starting)
|
|
61
|
+
- [Fix: Config Errors](https://clawaid.app/fix/config-errors)
|
|
12
62
|
|
|
13
|
-
##
|
|
63
|
+
## Privacy & Security
|
|
14
64
|
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
5. **Verifies** the fix worked
|
|
20
|
-
6. If not fixed: retries with a different strategy (up to 9 attempts)
|
|
65
|
+
- API keys are **automatically redacted** before any data leaves your machine
|
|
66
|
+
- Diagnostic data is sent to our analysis service for the current session only â **nothing stored permanently**
|
|
67
|
+
- All repair commands run **locally on your machine**
|
|
68
|
+
- **Open source** â verify everything
|
|
21
69
|
|
|
22
|
-
##
|
|
70
|
+
## Requirements
|
|
23
71
|
|
|
24
|
-
-
|
|
25
|
-
-
|
|
26
|
-
- Config file errors (invalid JSON, unknown fields)
|
|
27
|
-
- Proxy environment variables blocking connections
|
|
28
|
-
- Wrong model IDs causing HTTP 400
|
|
29
|
-
- Stale LaunchAgent needing reinstall
|
|
30
|
-
- And more â AI reasons from real system state
|
|
72
|
+
- Node.js 18+
|
|
73
|
+
- macOS (Intel or Apple Silicon), Linux, or Windows
|
|
31
74
|
|
|
32
|
-
##
|
|
75
|
+
## Links
|
|
33
76
|
|
|
34
|
-
-
|
|
35
|
-
-
|
|
36
|
-
-
|
|
37
|
-
-
|
|
77
|
+
- **Website:** [clawaid.app](https://clawaid.app)
|
|
78
|
+
- **GitHub:** [github.com/jjj5666/clawaid](https://github.com/jjj5666/clawaid)
|
|
79
|
+
- **OpenClaw:** [github.com/openclaw/openclaw](https://github.com/openclaw/openclaw)
|
|
80
|
+
- **OpenClaw Discord:** [discord.com/invite/clawd](https://discord.com/invite/clawd)
|
|
38
81
|
|
|
39
82
|
## License
|
|
40
83
|
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "clawaid",
|
|
3
|
-
"version": "1.1.
|
|
4
|
-
"description": "AI-
|
|
3
|
+
"version": "1.1.35",
|
|
4
|
+
"description": "Fix OpenClaw in one command. AI auto-diagnoses gateway crashes, config errors, network issues, model failures â and repairs them. 94% fix rate.",
|
|
5
5
|
"main": "dist/index.js",
|
|
6
6
|
"bin": {
|
|
7
7
|
"clawaid": "dist/index.js"
|
|
@@ -22,13 +22,27 @@
|
|
|
22
22
|
"openclaw-broken",
|
|
23
23
|
"openclaw-debug",
|
|
24
24
|
"openclaw-troubleshoot",
|
|
25
|
+
"openclaw-not-working",
|
|
26
|
+
"openclaw-error",
|
|
27
|
+
"openclaw-help",
|
|
28
|
+
"openclaw-doctor",
|
|
29
|
+
"openclaw-network",
|
|
30
|
+
"openclaw-proxy",
|
|
31
|
+
"openclaw-model-error",
|
|
32
|
+
"openclaw-http-400",
|
|
33
|
+
"openclaw-startup",
|
|
34
|
+
"openclaw-update",
|
|
35
|
+
"fix-openclaw",
|
|
25
36
|
"diagnostics",
|
|
26
37
|
"repair",
|
|
38
|
+
"troubleshooting",
|
|
27
39
|
"ai",
|
|
28
40
|
"clawaid",
|
|
29
41
|
"gateway-fix",
|
|
42
|
+
"gateway-crash",
|
|
30
43
|
"launchagent",
|
|
31
|
-
"plist"
|
|
44
|
+
"plist",
|
|
45
|
+
"config-repair"
|
|
32
46
|
],
|
|
33
47
|
"author": "clawaid",
|
|
34
48
|
"license": "MIT",
|
package/web/index.html
CHANGED
|
@@ -291,6 +291,13 @@
|
|
|
291
291
|
cursor: pointer; padding: 2px 0; margin-top: 4px; font-family: var(--font);
|
|
292
292
|
}
|
|
293
293
|
.ai-step-toggle:hover { color: var(--accent); }
|
|
294
|
+
.ai-step-thinking {
|
|
295
|
+
font-size: 12px; color: var(--text-muted); margin-top: 4px; cursor: pointer;
|
|
296
|
+
user-select: none; line-height: 1.5;
|
|
297
|
+
}
|
|
298
|
+
.ai-step-thinking .thinking-full { display: none; white-space: pre-wrap; }
|
|
299
|
+
.ai-step-thinking.expanded .thinking-preview { display: none; }
|
|
300
|
+
.ai-step-thinking.expanded .thinking-full { display: block; }
|
|
294
301
|
.ai-step-time { font-size: 11px; color: var(--text-muted); flex-shrink: 0; margin-top: 2px; min-width: 30px; text-align: right; }
|
|
295
302
|
|
|
296
303
|
/* âââ Fix Step Confirm Bar ââââââââââââââââââââââââââââââââââââââââââââââ */
|
|
@@ -953,6 +960,15 @@
|
|
|
953
960
|
var desc = step.description || step.command || (isRead ? (isZh ? '话ĺ俥ćŻ...' : 'Reading...') : (isZh ? 'ć§čĄäżŽĺ¤...' : 'Fixing...'));
|
|
954
961
|
var cmdHtml = step.command ? '<div class="ai-step-cmd" translate="no">$ ' + esc(step.command) + '</div>' : '';
|
|
955
962
|
|
|
963
|
+
var thinkingHtml = '';
|
|
964
|
+
if (step.thinking) {
|
|
965
|
+
var preview = step.thinking.length > 100 ? esc(step.thinking.slice(0, 100)) + '...' : esc(step.thinking);
|
|
966
|
+
thinkingHtml = '<div class="ai-step-thinking" id="ai-step-thinking-' + idx + '">'
|
|
967
|
+
+ '<span class="thinking-preview">⸠' + preview + '</span>'
|
|
968
|
+
+ '<span class="thinking-full">âž ' + esc(step.thinking) + '</span>'
|
|
969
|
+
+ '</div>';
|
|
970
|
+
}
|
|
971
|
+
|
|
956
972
|
var row = document.createElement('div');
|
|
957
973
|
row.className = 'ai-step';
|
|
958
974
|
row.id = 'ai-step-' + idx;
|
|
@@ -961,11 +977,21 @@
|
|
|
961
977
|
+ '</div>'
|
|
962
978
|
+ '<div class="ai-step-body">'
|
|
963
979
|
+ '<div class="ai-step-desc' + (isRead ? ' pending' : '') + '" id="ai-step-desc-' + idx + '">' + esc(desc) + '</div>'
|
|
980
|
+
+ thinkingHtml
|
|
964
981
|
+ cmdHtml
|
|
965
982
|
+ '<div class="ai-step-output" id="ai-step-out-' + idx + '"></div>'
|
|
966
983
|
+ '</div>'
|
|
967
984
|
+ '<div class="ai-step-time" id="ai-step-time-' + idx + '"></div>';
|
|
968
985
|
container.appendChild(row);
|
|
986
|
+
|
|
987
|
+
if (step.thinking) {
|
|
988
|
+
var thinkEl = document.getElementById('ai-step-thinking-' + idx);
|
|
989
|
+
if (thinkEl) {
|
|
990
|
+
thinkEl.addEventListener('click', function() {
|
|
991
|
+
thinkEl.classList.toggle('expanded');
|
|
992
|
+
});
|
|
993
|
+
}
|
|
994
|
+
}
|
|
969
995
|
aiStepStartTimes[idx] = Date.now();
|
|
970
996
|
scrollDown();
|
|
971
997
|
}
|
|
@@ -1385,6 +1411,8 @@
|
|
|
1385
1411
|
ev('user_confirm_resolved', { value: 'resolved' });
|
|
1386
1412
|
fetch('/api/input', { method: 'POST', headers: {'Content-Type':'application/json'},
|
|
1387
1413
|
body: JSON.stringify({ sessionId: sessionId, field: 'userConfirmResolved', value: 'resolved' }) }).catch(function(){});
|
|
1414
|
+
fetch('/api/feedback', { method: 'POST', headers: {'Content-Type':'application/json'},
|
|
1415
|
+
body: JSON.stringify({ feedback: 'yes', sessionId: sessionId, sbSessionId: sbSessionId }) }).catch(function(){});
|
|
1388
1416
|
el.remove();
|
|
1389
1417
|
showResult(_pendingResultData);
|
|
1390
1418
|
});
|
|
@@ -1429,6 +1457,8 @@
|
|
|
1429
1457
|
ev('user_feedback', { has_text: val.length > 0, has_screenshot: !!screenshotData });
|
|
1430
1458
|
fetch('/api/input', { method: 'POST', headers: {'Content-Type':'application/json'},
|
|
1431
1459
|
body: JSON.stringify({ sessionId: sessionId, field: 'userFeedback', value: val, screenshot: screenshotData || undefined }) }).catch(function(){});
|
|
1460
|
+
fetch('/api/feedback', { method: 'POST', headers: {'Content-Type':'application/json'},
|
|
1461
|
+
body: JSON.stringify({ feedback: 'no', detail: val || undefined, sessionId: sessionId, sbSessionId: sbSessionId }) }).catch(function(){});
|
|
1432
1462
|
el.remove();
|
|
1433
1463
|
showResult(_pendingResultData);
|
|
1434
1464
|
}
|