271 Commits
Author SHA1 Message Date
liuzhq 75fc304bf4 Revert "feat: 桌面端危险命令分级授权" 2026-03-25 19:59:28 +08:00
liliangcai 515d7798b1 Merge branch 'fix/refresh-server-models-after-payment' into release/2026.03.25 2026-03-25 15:34:37 +08:00
liliangcai 87a85067e6 feat(auth): refresh quota and models when window regains focus
- Add window focus listener to detect when user returns from portal
- Throttle refresh to once per 30 seconds to avoid excessive API calls
- Automatically reload server models alongside quota on focus events
- Clean up window state subscription on service disposal

This ensures quota and available models stay up-to-date after users purchase credits or subscriptions on the web portal.
2026-03-25 15:29:20 +08:00
liuzhq 32b990b8bc Merge pull request #832 from netease-youdao/liuzhq/chat-nav
feat(cowork): 添加对话索引浮层,支持快速跳转到指定对话轮次
2026-03-25 15:20:58 +08:00
liuzhq 44bc9beec5 feat(cowork): 添加对话索引浮层,支持快速跳转到指定对话轮次 2026-03-25 15:20:00 +08:00
liuzhq b55cb2bac7 Merge pull request #742 from wuleihenbang/weixin-direct-login
feat(im): 微信扫码二维码 2 分钟过期提醒
2026-03-25 14:48:58 +08:00
liuzhq 786438d14a merge from main 2026-03-25 10:39:14 +08:00
wulei 81bf2073e8 feat(im): 微信扫码二维码 2 分钟过期提醒
[问题]
微信 QR 码约 2 分钟过期,但前端要等 ~6 分钟(插件 3 次刷新都用完)才提示过期,
用户在此期间扫已过期的二维码会失败且不知道原因

[修复]
- 显示 QR 码后启动 2 分钟 setTimeout
- 超时后显示"二维码已过期,请重新获取"提示 + 扫码按钮
- 扫码成功/切换 platform/组件卸载时清除 timer
2026-03-24 14:51:24 +08:00
liliangcai 9a2eb288a9 feat(provider): add lobsterai-server fallback mechanism for model resolution
Refactored provider resolution logic to use lobsterai-server as a fallback when primary model configuration fails. Extracted duplicate lobsterai-server initialization code into a reusable `tryLobsteraiServerFallback()` function that attempts to construct a valid provider configuration using auth tokens and server base URL.

Changes:
- Add `tryLobsteraiServerFallback()` helper function to centralize lobsterai-server fallback logic
- Apply fallback at multiple failure points: missing model config, no enabled provider, missing base URL, and missing API key
- Add `supportsImage` field to model type definition in getModels response
- Reduce code duplication by reusing fallback logic instead of inline implementation

This improves resilience by ensuring lobsterai-server can serve as a backup provider when user-configured providers are unavailable or misconfigured.
2026-03-24 06:47:13 +08:00
liuzhq 8acd2e63c2 fix: 修复登录浮层超出侧边栏被裁剪,调整为相对侧边栏居中显示 2026-03-24 03:07:29 +08:00
liuzhq 051cb248df fix: 替换 LoginButton 中硬编码测试地址为环境切换逻辑 2026-03-24 02:58:06 +08:00
liuzhq 30e60ec0fb fix: 修复 Windows 冷启动 deep link 丢失、i18n 硬编码中文及 AuthService 监听器堆叠问题 2026-03-24 02:32:24 +08:00
liuzhq 18f6b3f2fe feat: 调整接口环境切换 2026-03-24 00:55:46 +08:00
liuzhq 16dd3eb6cc merge from main 2026-03-23 23:47:55 +08:00
liuzhq a4aa0c8400 feat(cowork): 桌面端危险命令分级授权弹窗
- 本地会话安全命令自动批准,危险命令弹窗确认(destructive 红色/caution 黄色)
- IM 渠道会话全部自动放行,不弹窗
- 移除弹窗中的 AI 流式消息展示
- 新增 exec 安全提示词,防止模型重复确认
2026-03-23 18:50:59 +08:00
liuzhq fd23702e01 Merge branch 'release/2026.03.24' into liuzhq/ui-optimize 2026-03-23 15:48:58 +08:00
liuzhq 0d27f48610 feat(cowork): 支持 Ctrl/Cmd/Alt+Enter 换行,优化输入体验 2026-03-23 15:48:06 +08:00
liuzhq 2d8e9b3df5 Merge pull request #708 from winsan-zhang/fix/im-session-input-box-style
fix(cowork): keep full input box for IM channel   sessions
2026-03-23 15:38:16 +08:00
zhangxiaochang c89dd7004a fix(cowork): keep full input box for IM channel sessions instead of small info bar
Replace the collapsed info bar with the standard CoworkPromptInput for
remote-managed (IM) sessions. The input remains disabled with a
placeholder hint, attachment/skill/model-selector buttons are hidden,
and the send button is non-clickable. The stop button stays visible
when streaming.
2026-03-23 15:33:39 +08:00
liuzhq 30bb4b6f91 Merge branch 'release/2026.03.24' into liuzhq/ui-optimize 2026-03-23 15:13:11 +08:00
liuzhq cd3c308188 feat: 统一配置步骤卡片样式与页面整体风格一致 2026-03-23 15:05:59 +08:00
liuzhq eaf0816f54 feat: 调整配置手册缩进位置 2026-03-23 14:55:52 +08:00
liuzhq 75a6ac300b feat: 调整im列表默认选中项 2026-03-23 14:54:31 +08:00
liuzhq c34f4b156d feat: 添加微信配置手册链接 2026-03-23 14:52:33 +08:00
btc69m979y-dotcom 5feccbbaa2 Merge pull request #659 from wuleihenbang/feat/prevent-sleep
feat: 添加防休眠功能 & 实现 OpenClaw 助手消息与工具卡片交替显示
2026-03-23 14:03:49 +08:00
btc69m979y-dotcom 5673a40a40 Merge branch 'pr-682' into release/2026.03.24 2026-03-23 13:12:57 +08:00
金涛andClaude Opus 4.6 2d210f4c8e fix: keep OAuth tab selected after logout instead of switching to API Key tab
Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-03-23 00:08:15 +08:00
金涛andClaude Opus 4.6 53cc46831d fix: remove merge conflict markers and fix OAuth UI bugs
- Fix: OAuth login success now shows relogin/logout buttons after 1.5s delay
- Fix: OAuth logout now correctly sets authType to 'apikey'

Co-Authored-By: Claude Opus 4.6 <[email protected]>
2026-03-23 00:01:27 +08:00
金涛 293b53d5e2 feat: add MiniMax Portal OAuth support, including OAuth constants, state management, and UI components
- Fix: OAuth login success now shows relogin/logout buttons after 1.5s delay
- Fix: OAuth logout no longer switches to API Key tab
2026-03-22 23:47:04 +08:00
wulei 627ce75208 Reapply "style(im): 调整微信设置页布局和平台排序"
This reverts commit a81a6ae826.
2026-03-22 18:56:40 +08:00
wulei 61a1a1ad35 Revert "feat(im): 微信扫码登录绕过 OpenClaw Gateway 直接调用 ilink API"
This reverts commit 4e2559ac3c.
2026-03-22 18:55:55 +08:00
wulei a81a6ae826 Revert "style(im): 调整微信设置页布局和平台排序"
This reverts commit 91655e2bd1.
2026-03-22 18:55:54 +08:00
wulei 91655e2bd1 style(im): 调整微信设置页布局和平台排序
[问题]
微信 PlatformGuide 文案缺少 step1,且位置在扫码按钮上方不符合飞书的交互习惯;
微信在平台列表中排在钉钉后面,优先级不够

[修复]
- PlatformGuide 恢复三步文案(加回 imWeixinGuideStep1)并移到扫码区域下方
- CHINA_IM_PLATFORMS 顺序调整为微信排第一位
2026-03-22 18:36:56 +08:00
wulei 4e2559ac3c feat(im): 微信扫码登录绕过 OpenClaw Gateway 直接调用 ilink API
[问题]
微信扫码登录依赖 OpenClaw Gateway RPC,导致必须 engine 运行才能登录,
QR 码过期后无法推送新二维码给前端,且多一层中转增加延迟

[修复]
- 新增 weixinLogin.ts,直接调用微信 ilink HTTP API(get_bot_qrcode / get_qrcode_status)
- IPC handler 改为 im:weixin:login:start + im:weixin:login:poll
- 前端 2s 轮询替代阻塞等待,支持 QR 过期自动刷新(最多 3 次)
- 新增"已扫码"中间状态提示
- 新增 300 秒倒计时显示(类似飞书)
- 登录成功后异步重启 gateway 让插件加载新 token
2026-03-22 18:02:08 +08:00
wuleiandClaude Sonnet 4.6 0a4e482873 chore: auto-commit before context compaction
Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
2026-03-22 17:55:15 +08:00
zhangxiaochang 784ca6575d fix(im): restart gateway after weixin QR login and adjust settings layout
- Restart OpenClaw gateway after successful WeChat QR login so the
  plugin picks up the new token and starts a fresh monitor loop
- Move PlatformGuide above the scan button in WeChat settings to
  match other IM platforms layout
- Remove redundant guide step "点击下方按钮启用微信接入"
2026-03-22 17:49:22 +08:00
liuzhq 6a221128ea fix(im): 修复微信扫码后首次消息不通及开关不生效的问题
- 扫码成功后将 accountId 写入 openclaw channel 配置触发热重载
- 微信 channel 配置始终写入 enabled 字段而非删除条目,确保开关生效
- 连接状态判断改为 enabled && accountId 非空
- 日志级别修正为 console.debug,清理未使用的 state
2026-03-22 17:32:41 +08:00
liuzhq 8a5b624860 refactor(im): 精简微信设置面板,移除无效表单项并持久化 accountId
- 删除高级设置(DM Policy、Allow From、Group Policy、Debug),插件不使用这些字段
- 扫码成功后将 accountId 保存到配置并展示给用户
- 移除等待扫码确认提示文案
- 清理未使用的 state 变量和 handler
2026-03-22 16:55:41 +08:00
liuzhq fc692b99d6 feat(im): 新增微信 IM 接入,支持扫码绑定微信机器人
- 新增 weixin 平台类型定义、默认配置与 Redux 状态管理
- 集成 openclaw-weixin 插件,通过 OpenClaw Gateway RPC 实现二维码扫码登录
- 新增微信 IM 设置面板(二维码扫码、DM/群策略、连通性测试)
- 同步微信配置至 OpenClaw channels.openclaw-weixin
- 安装后自动补丁 openclaw-weixin 插件的 gatewayMethods 声明
- 新增中英文 i18n 翻译,微信在 IM 列表中位于企微上方
2026-03-22 16:24:28 +08:00
wulei 6b29922a4f feat: 添加防休眠功能
[问题]
LobsterAI 执行长时间任务时,系统可能进入休眠导致任务中断

[修复]
- 新增防休眠开关(设置 > 通用),使用 Electron powerSaveBlocker API
- 主进程 IPC 处理 preventSleep 的 get/set/toggle
- preload 暴露 preventSleep API
- 中英文 i18n 翻译
- 设计文档和实现计划
2026-03-22 01:50:12 +08:00
liuzhq e3421a1659 fix(cowork): 移除 engineStatusBanner 中不可达的 starting 状态判断 2026-03-21 19:31:35 +08:00
liuzhq cd187f3856 Merge pull request #612 from wuleihenbang/main
feat(cowork): 添加 unknown error 友好提示
2026-03-21 18:30:07 +08:00
Dylan 3888ca538c feat(cowork): disable input controls for IM-created sessions
Sessions created via IM channels (DingTalk, Feishu, Telegram, etc.) are
remotely managed — users should interact through the originating IM
platform, not the desktop UI. Replace the full input area with an info
banner when viewing such sessions.

Signed-off-by: Dylan <[email protected]>
2026-03-21 17:31:33 +08:00
wulei e7c9b0795b feat(cowork): 添加 unknown error 友好提示
[问题]
OpenClaw 调用上游模型 API 失败时,会返回 "An unknown error occurred" 原始英文错误信息,
用户看到后无法理解也不知道如何处理

[修复]
- 在 coworkErrorClassify.ts 的 ERROR_RULES 末尾新增兜底规则,匹配 unknown error
- 在 main/renderer 两侧 i18n 中新增 coworkErrorUnknown 中英文翻译
- 用户现在会看到「任务执行出错,请重试。如果问题持续出现,请检查模型配置。」
2026-03-21 16:35:19 +08:00
金涛 1beebde6e2 feat: add MiniMax Portal OAuth support, including OAuth constants, state management, and UI components 2026-03-21 13:52:34 +08:00
wulei 8fea944581 feat(renderer): 添加首次启动隐私协议弹窗
[问题]
用户首次使用 LobsterAI 时,没有隐私协议确认流程,不符合合规要求

[修复]
- 新增 PrivacyDialog 组件,展示服务协议链接,提供同意/拒绝按钮
- App 初始化时检查 store 中 privacy_agreed 状态,未同意则显示弹窗
- 同意后写入 store,后续启动不再弹出
- 拒绝则立即关闭窗口
- 隐私检查在 setIsInitialized 之前执行,避免主界面闪现
- 支持中英文国际化
2026-03-21 12:35:24 +08:00
liuzhq 89d9fbf266 Merge branch 'main' into pr-584 2026-03-21 12:24:59 +08:00
liuzhq 652bd8b936 feat(security): 新建任务页导航栏添加安全防护标识 2026-03-20 21:54:40 +08:00
liuzhq 7d259d86b2 fix(security): 修复扫描报告数据不一致及弹窗叠层问题 2026-03-20 21:32:12 +08:00
liuzhq b9856a53d4 feat(security): 降低扫描弹窗敏感度并优化文案与色值 2026-03-20 21:08:57 +08:00