clawtool 0.1.5 → 0.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.
Files changed (2) hide show
  1. package/package.json +1 -1
  2. package/web/index.html +12 -5
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "clawtool",
3
- "version": "0.1.5",
3
+ "version": "0.1.7",
4
4
  "description": "Local-first OpenClaw diagnose and repair tool",
5
5
  "type": "commonjs",
6
6
  "main": "dist/index.js",
package/web/index.html CHANGED
@@ -163,16 +163,19 @@
163
163
  <section id="start" class="card">
164
164
  <div class="hint" id="start-text">No cloud call. No token required. Local execution only.</div>
165
165
  <button id="btn-start" class="btn btn-main">Start Scan</button>
166
- <button id="btn-rescan" class="btn btn-main hidden" style="margin-top:8px">Scan Again</button>
167
166
  </section>
168
167
 
169
168
  <section id="feed" class="feed hidden"></section>
169
+ <section id="actions" class="card hidden">
170
+ <button id="btn-rescan" class="btn btn-main">Scan Again</button>
171
+ </section>
170
172
  </main>
171
173
 
172
174
  <script>
173
175
  (function () {
174
176
  const isZh = /^zh/i.test(navigator.language || '');
175
177
  const T = isZh ? {
178
+ pageTitle: 'OpenClaw 修复助手',
176
179
  tag: '本地优先诊断引擎',
177
180
  sub: '本地检测并修复 OpenClaw 问题,所有修复步骤都需你确认。',
178
181
  startText: '不走云端,不需要 token,仅本地执行。',
@@ -189,6 +192,7 @@
189
192
  done: '完成'
190
193
  }
191
194
  } : {
195
+ pageTitle: 'OpenClaw Repair Assistant',
192
196
  tag: 'Local-First Diagnose Engine',
193
197
  sub: 'Detect and repair OpenClaw issues locally with explicit fix confirmation.',
194
198
  startText: 'No cloud call. No token required. Local execution only.',
@@ -206,11 +210,14 @@
206
210
  }
207
211
  };
208
212
 
213
+ document.title = T.pageTitle;
214
+
209
215
  const el = {
210
216
  tag: document.getElementById('brand-tag'),
211
217
  sub: document.getElementById('brand-sub'),
212
218
  startText: document.getElementById('start-text'),
213
219
  startWrap: document.getElementById('start'),
220
+ actionsWrap: document.getElementById('actions'),
214
221
  btnStart: document.getElementById('btn-start'),
215
222
  btnRescan: document.getElementById('btn-rescan'),
216
223
  feed: document.getElementById('feed')
@@ -303,14 +310,14 @@
303
310
 
304
311
  if (type === 'complete') {
305
312
  addCard('<h3 class="ok">' + T.done + '</h3><p>' + (data.summary || '') + '</p>');
306
- el.btnRescan.classList.remove('hidden');
313
+ el.actionsWrap.classList.remove('hidden');
307
314
  if (eventSource) eventSource.close();
308
315
  return;
309
316
  }
310
317
 
311
318
  if (type === 'error') {
312
319
  addCard('<h3 class="err">' + T.error + '</h3><p>' + (data.message || '') + '</p>');
313
- el.btnRescan.classList.remove('hidden');
320
+ el.actionsWrap.classList.remove('hidden');
314
321
  if (eventSource) eventSource.close();
315
322
  }
316
323
  };
@@ -319,14 +326,14 @@
319
326
  el.btnStart.addEventListener('click', function () {
320
327
  el.startWrap.classList.add('hidden');
321
328
  el.feed.classList.remove('hidden');
322
- el.btnRescan.classList.add('hidden');
329
+ el.actionsWrap.classList.add('hidden');
323
330
  connect();
324
331
  });
325
332
 
326
333
  el.btnRescan.addEventListener('click', function () {
327
334
  el.feed.innerHTML = '';
328
335
  el.feed.classList.remove('hidden');
329
- el.btnRescan.classList.add('hidden');
336
+ el.actionsWrap.classList.add('hidden');
330
337
  if (eventSource) eventSource.close();
331
338
  connect();
332
339
  });