fix(portable): Gemini keys, Telegram pairing UI, and config durability

Improve first-run and channel setup for non-technical users: detect newer
Gemini key formats, pin Node 22.22.3, add Control Panel Telegram approve
flow, and keep channels/models when config is rewritten. Persist uclaw
wizard state via uclaw-meta.json so restarts skip language/persona prompts.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
2026-08-18 18:45:03 +08:00
parent 0be8c3e3fe
commit dd8e0f55c3
35 changed files with 2673 additions and 34 deletions

View File

@@ -176,6 +176,18 @@ window.UCLAW_I18N_MESSAGES = {
"ch.wechat_start": "Click this card to show the QR code",
"ch.saved": "Chat app settings saved.",
"ch.err_save": "Could not save the chat app settings. Check the drive is still plugged in.",
"tg.steps_title": "After saving, connect your Telegram account:",
"tg.step1": "Save the bot token above (click “Open dashboard” or save channels).",
"tg.step2": "On your phone, open Telegram, find your bot, and send /start.",
"tg.step3": "Come back here — a button will appear. Click it once. No command line.",
"tg.waiting": "Waiting for you to send /start to your bot on Telegram…",
"tg.pending": "Someone wants to connect: {who}. Click below to allow.",
"tg.approve": "Allow this Telegram account",
"tg.approving": "Approving…",
"tg.approved": "✅ Telegram connected — go chat in Telegram.",
"tg.approved_toast": "Telegram account approved.",
"tg.approve_failed": "Could not approve: {reason}",
"tg.poll_failed": "Could not check pairing status. Is U-Claw still running?",
"info.layout_title": "What is on the drive",
"info.layout_desc": "How the folders are organised",
"info.skills": "Skills",
@@ -459,6 +471,18 @@ window.UCLAW_I18N_MESSAGES = {
"ch.wechat_start": "点这张卡片开始扫码",
"ch.saved": "聊天软件设置已保存。",
"ch.err_save": "聊天软件设置没能保存。确认 U 盘还插着。",
"tg.steps_title": "保存 Bot Token 后,连接你的 Telegram",
"tg.step1": "先保存上面的 Bot Token点「打开对话界面」或保存聊天软件设置。",
"tg.step2": "在手机上打开 Telegram找到你的机器人发送 /start。",
"tg.step3": "回到这个页面 —— 会出现一个按钮,点一下就行,不用敲命令。",
"tg.waiting": "等你去 Telegram 给机器人发 /start…",
"tg.pending": "有人要连接:{who}。点下面按钮允许。",
"tg.approve": "允许这个 Telegram 账号",
"tg.approving": "正在批准…",
"tg.approved": "✅ Telegram 已连通 —— 去 Telegram 里聊吧。",
"tg.approved_toast": "Telegram 账号已批准。",
"tg.approve_failed": "批准失败:{reason}",
"tg.poll_failed": "无法检查配对状态。U-Claw 还在运行吗?",
"info.layout_title": "U 盘里有什么",
"info.layout_desc": "文件夹是怎么组织的",
"info.skills": "技能",