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.
- package/package.json +1 -1
- package/web/index.html +12 -5
package/package.json
CHANGED
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.
|
|
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.
|
|
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.
|
|
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.
|
|
336
|
+
el.actionsWrap.classList.add('hidden');
|
|
330
337
|
if (eventSource) eventSource.close();
|
|
331
338
|
connect();
|
|
332
339
|
});
|