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.
Files changed (3) hide show
  1. package/README.md +67 -24
  2. package/package.json +17 -3
  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
- AI-powered diagnostic and repair tool for [OpenClaw](https://github.com/openclaw/openclaw).
3
+ **OpenClaw broken? Gateway crashed? Config corrupted? AI not responding?**
4
4
 
5
- ## Usage
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 clean web UI in your browser. No config, no API key needed — just run it.
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
- ## What it does
63
+ ## Privacy & Security
14
64
 
15
- 1. **Scans** your OpenClaw installation (read-only, zero risk)
16
- 2. **Analyzes** with AI to find what's wrong
17
- 3. **Shows** the diagnosis + repair plan clearly
18
- 4. **Fixes** with one click, in real-time
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
- ## What it diagnoses
70
+ ## Requirements
23
71
 
24
- - Gateway not running or crashed
25
- - Port conflicts
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
- ## Privacy
75
+ ## Links
33
76
 
34
- - Your OpenClaw config is **partially redacted** before analysis
35
- - Data sent only to our diagnostic service for analysis, **nothing stored**
36
- - All fixes run **locally on your machine**
37
- - Open source — verify everything
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.33",
4
- "description": "AI-powered diagnostic and repair tool for OpenClaw",
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
  }