Files
u-claw/portable/U-Claw.html
dongsheng123132 e04c205399 feat: add Chinese config page (Config.html) to replace onboard wizard
- Comprehensive Config.html with 10 model providers, 6 chat platforms
- Auto-detect gateway port, pre-fill existing config, import/export
- Mac-Start.command opens Config.html on first run, dashboard on subsequent runs
- U-Claw.html updated to reference Config.html
2026-03-11 00:35:29 +08:00

196 lines
9.3 KiB
HTML
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

<!DOCTYPE html>
<html lang="zh-CN">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>U-Claw 虾盘 - 启动导航</title>
<style>
* { margin: 0; padding: 0; box-sizing: border-box; }
body { font-family: -apple-system, "Microsoft YaHei", sans-serif; background: #0a0a0a; color: #e0e0e0; min-height: 100vh; }
.container { max-width: 800px; margin: 0 auto; padding: 40px 20px; }
.header { text-align: center; margin-bottom: 40px; }
.header h1 { font-size: 2.5em; margin-bottom: 8px; }
.header h1 span { color: #ff6b35; }
.header p { color: #888; font-size: 1.1em; }
.version { display: inline-block; background: #ff6b35; color: #fff; padding: 2px 10px; border-radius: 12px; font-size: 0.8em; margin-left: 8px; }
.os-tabs { display: flex; justify-content: center; gap: 12px; margin-bottom: 30px; }
.os-tab { padding: 12px 32px; border: 2px solid #333; border-radius: 8px; cursor: pointer; font-size: 1.1em; background: transparent; color: #aaa; transition: all 0.2s; }
.os-tab:hover { border-color: #666; color: #fff; }
.os-tab.active { border-color: #ff6b35; color: #ff6b35; background: rgba(255,107,53,0.1); }
.panel { display: none; }
.panel.active { display: block; }
.card { background: #1a1a1a; border: 1px solid #333; border-radius: 12px; padding: 24px; margin-bottom: 16px; }
.card h3 { color: #ff6b35; margin-bottom: 12px; font-size: 1.2em; }
.card p { color: #bbb; line-height: 1.6; }
.step { display: flex; align-items: flex-start; gap: 16px; margin: 12px 0; }
.step-num { background: #ff6b35; color: #fff; width: 32px; height: 32px; border-radius: 50%; display: flex; align-items: center; justify-content: center; font-weight: bold; flex-shrink: 0; }
.step-text { flex: 1; }
.step-text strong { color: #fff; }
.step-text code { background: #2a2a2a; padding: 2px 8px; border-radius: 4px; color: #ff6b35; font-size: 0.95em; }
.grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin-top: 16px; }
.grid-item { background: #222; border: 1px solid #333; border-radius: 8px; padding: 16px; }
.grid-item h4 { color: #fff; margin-bottom: 6px; }
.grid-item p { color: #999; font-size: 0.9em; }
.status-bar { background: #1a1a1a; border: 1px solid #333; border-radius: 8px; padding: 16px; margin-bottom: 24px; display: flex; align-items: center; gap: 12px; }
.status-dot { width: 12px; height: 12px; border-radius: 50%; }
.status-dot.off { background: #666; }
.status-dot.on { background: #4caf50; animation: pulse 2s infinite; }
@keyframes pulse { 0%,100% { opacity: 1; } 50% { opacity: 0.5; } }
.status-link { color: #ff6b35; text-decoration: none; margin-left: auto; }
.status-link:hover { text-decoration: underline; }
.section-title { color: #888; font-size: 0.9em; text-transform: uppercase; letter-spacing: 2px; margin: 30px 0 12px; }
.footer { text-align: center; margin-top: 40px; padding-top: 20px; border-top: 1px solid #222; color: #666; }
.footer a { color: #ff6b35; text-decoration: none; }
</style>
</head>
<body>
<div class="container">
<div class="header">
<h1>🦞 <span>U-Claw</span> 虾盘 <span class="version">v1.1</span></h1>
<p>Portable AI Agent — 插上就能用的 AI 助手</p>
</div>
<!-- Status Bar -->
<div class="status-bar">
<div class="status-dot off" id="statusDot"></div>
<span id="statusText">OpenClaw 未运行</span>
<a href="#" id="statusLink" class="status-link" style="display:none" target="_blank">打开控制台 →</a>
</div>
<!-- OS Tabs -->
<div class="os-tabs">
<div class="os-tab active" onclick="switchOS('mac')">🍎 Mac</div>
<div class="os-tab" onclick="switchOS('win')">🪟 Windows</div>
</div>
<!-- Mac Panel -->
<div class="panel active" id="panel-mac">
<div class="card">
<h3>🚀 快速启动</h3>
<div class="step">
<div class="step-num">1</div>
<div class="step-text">双击 <code>Mac-Start.command</code></div>
</div>
<div class="step">
<div class="step-num">2</div>
<div class="step-text">首次运行自动打开<b>配置页面</b>,选模型、填 API Key 即可</div>
</div>
<p style="margin-top:12px; color:#999;">⚠️ 首次运行如果提示"无法验证开发者":右键点击 → 打开</p>
<p style="margin-top:8px;">📝 也可以直接双击 <code>Config.html</code> 打开中文配置页面</p>
</div>
<div class="card">
<h3>⚙️ 全部功能(配置/诊断/备份)</h3>
<p>双击 <code>Mac-Menu.command</code> 打开全功能菜单:</p>
<div class="grid">
<div class="grid-item"><h4>中文配置页面</h4><p>Config.html — 选模型、填 Key、接 QQ</p></div>
<div class="grid-item"><h4>QQ Bot 接入</h4><p>已预装,只需 AppID + Secret</p></div>
<div class="grid-item"><h4>诊断修复</h4><p>openclaw doctor 一键检测</p></div>
<div class="grid-item"><h4>备份恢复</h4><p>配置和记忆一键备份</p></div>
<div class="grid-item"><h4>技能浏览</h4><p>52 个预装技能</p></div>
<div class="grid-item"><h4>系统信息</h4><p>版本、端口、运行状态</p></div>
</div>
</div>
</div>
<!-- Windows Panel -->
<div class="panel" id="panel-win">
<div class="card">
<h3>🚀 快速启动</h3>
<div class="step">
<div class="step-num">1</div>
<div class="step-text">双击 <code>Windows-Start.bat</code></div>
</div>
<div class="step">
<div class="step-num">2</div>
<div class="step-text">首次运行自动打开<b>配置页面</b>,选模型、填 API Key 即可</div>
</div>
<p style="margin-top:12px; color:#999;">⚠️ 如果弹出安全警告:点击"更多信息" → "仍要运行"</p>
</div>
<div class="card">
<h3>⚙️ 全部功能(配置/诊断/备份)</h3>
<p>双击 <code>Windows-Menu.bat</code> 打开全功能菜单:</p>
<div class="grid">
<div class="grid-item"><h4>配置向导</h4><p>选模型、填 API Key、选平台</p></div>
<div class="grid-item"><h4>QQ Bot 接入</h4><p>腾讯官方3条命令搞定</p></div>
<div class="grid-item"><h4>诊断修复</h4><p>openclaw doctor 一键检测</p></div>
<div class="grid-item"><h4>备份恢复</h4><p>配置和记忆一键备份</p></div>
<div class="grid-item"><h4>技能浏览</h4><p>52 个预装技能</p></div>
<div class="grid-item"><h4>镜像配置</h4><p>npm 淘宝镜像</p></div>
</div>
</div>
</div>
<!-- Common sections -->
<div class="section-title">🤖 支持的 AI 模型(国内免翻墙)</div>
<div class="card">
<div class="grid">
<div class="grid-item"><h4>DeepSeek</h4><p>编程首选,性价比最高</p></div>
<div class="grid-item"><h4>Kimi K2.5</h4><p>256K 上下文,长文档</p></div>
<div class="grid-item"><h4>通义千问 Qwen</h4><p>免费额度大</p></div>
<div class="grid-item"><h4>智谱 GLM</h4><p>学术、中文 NLP</p></div>
<div class="grid-item"><h4>MiniMax</h4><p>语音、多模态</p></div>
<div class="grid-item"><h4>豆包 Doubao</h4><p>字节跳动,火山引擎</p></div>
</div>
</div>
<div class="section-title">📖 更多资料</div>
<div class="card">
<div class="grid">
<div class="grid-item" onclick="window.open('帮助文档.html')" style="cursor:pointer"><h4>📖 帮助文档</h4><p>完整使用指南</p></div>
<div class="grid-item" onclick="window.open('技能市场.html')" style="cursor:pointer"><h4>🎯 技能市场</h4><p>39 个精选技能</p></div>
<div class="grid-item"><h4>💬 联系我们</h4><p>微信: hecare888</p></div>
<div class="grid-item"><h4>🌐 官网</h4><p><a href="https://u-claw.org" target="_blank" style="color:#ff6b35">u-claw.org</a></p></div>
</div>
</div>
<div class="footer">
<p>Made with 🦞 by <a href="https://github.com/dongsheng123132">dongsheng</a> · <a href="https://u-claw.org">u-claw.org</a></p>
</div>
</div>
<script>
// Auto-detect OS
const isMac = navigator.platform.toUpperCase().indexOf('MAC') >= 0;
if (!isMac) switchOS('win');
function switchOS(os) {
document.querySelectorAll('.os-tab').forEach(t => t.classList.remove('active'));
document.querySelectorAll('.panel').forEach(p => p.classList.remove('active'));
document.querySelector('#panel-' + os).classList.add('active');
document.querySelectorAll('.os-tab')[os === 'mac' ? 0 : 1].classList.add('active');
}
// Check if gateway is running
function checkStatus() {
fetch('http://127.0.0.1:18789/', { mode: 'no-cors', cache: 'no-cache' })
.then(() => {
document.getElementById('statusDot').className = 'status-dot on';
document.getElementById('statusText').textContent = 'OpenClaw 运行中';
const link = document.getElementById('statusLink');
link.style.display = 'inline';
link.href = 'http://127.0.0.1:18789/#token=uclaw';
})
.catch(() => {
document.getElementById('statusDot').className = 'status-dot off';
document.getElementById('statusText').textContent = 'OpenClaw 未运行 — 请先双击启动脚本';
document.getElementById('statusLink').style.display = 'none';
});
}
checkStatus();
setInterval(checkStatus, 5000);
</script>
</body>
</html>