Skip to content

feat(workbuddy): WorkBuddy 功能优化 - #112

Merged
VicarDa merged 5 commits into
mainfrom
feat/workbuddy-feature-optimization
Oct 5, 2026
Merged

VicarDa merged 5 commits into
mainfrom
feat/workbuddy-feature-optimization

Conversation

@VicarDa

@VicarDa VicarDa commented Oct 4, 2026

Copy link
Copy Markdown
Contributor

概述

WorkBuddy 插件功能优化。本 PR 只包含 workbuddy-plugin/,另加根目录 CLAUDE.md 中关于插件默认账号服务的说明;不涉及 server/ 和 deepseek-harness-plugin/。

主要改动

  • 开始前确认:收到 @OpenGUI 任务后先打开工作台:
    • 未登录时弹出手机号验证码登录,未注册的手机号将自动注册。
    • 确认页展示用户原话,可在顶部下拉中选择执行模型。
    • 执行设备分为 Android 设备、iOS 设备(即将支持)、云真机(即将支持)三组,旁边显示所选设备的实时画面。
    • 点击「开始执行」后才绑定设备、操作手机。
  • 工作台:
    • 执行步骤放在手机右侧,与手机同高,可收起,超出时可滚动;新增和状态变化有动效。
    • 「本次运行」把模型思考时间并入下一条设备操作,操作名称易读,例如「启动 Google App」,不额外消耗 token。
    • 接管设备即暂停,「恢复控制」后继续由模型执行;附报告卡片和评论审核。
    • 任务结束后停留在工作台,对话末尾附报告链接;选择模型后提示「模型选择已更新:模型名」。
  • 模型:
    • 读取后台 Agent 配置中的手机文字模型,推理经后端代理,供应商密钥不下发到插件。
    • 按模型使用坐标约定,Qwen 和豆包使用 0–1000。
    • 模型请求遇到临时失败时自动重试。
  • 账号服务:
    • 默认连接官方 CoreMate 服务,地址定义在 src/service-config.ts,每次构建都会写入安装包;可用 OPENGUI_ACCOUNT_SERVICE_URL 改为其他服务。
    • README 已说明发送到该服务的数据,CLAUDE.md 已记录这一例外。
  • 可靠性:
    • 自动关闭 Android 13+ 的剪贴板浮层。
    • 清空输入框后读回校验。
    • 等待用户处理期间自动续期控制租约。
    • 错误码结构化。
  • 依赖:执行 npm audit fix,升级 fast-uri、hono、ip-address 以修复中危漏洞。

验证

  • npm run check:55 个测试文件、444 个用例,构建和发布校验均通过。
  • npm run pack:release、scripts/test-publish.mjs、npm run test:native:通过。
  • npm audit --omit=dev --audit-level=moderate:0 个漏洞。
  • 在 Android 13 模拟器上端到端走通:
    • 确认页实时画面;
    • 执行步骤与运行记录的动效;
    • 后台配置模型(DeepSeek、Qwen、豆包)执行任务。

合并前建议

  • 后端确认发送验证码接口已做频率限制或防刷。
  • 后端确认不存在无需登录即可读取配置的接口。

🤖 Generated with Claude Code

VicarDa and others added 5 commits October 4, 2026 20:51
Optimize the WorkBuddy plugin:

- Start confirmation: a new @OpenGUI task opens the workbench first; the
  user signs in (unregistered numbers register automatically), picks the
  model from the top dropdown and an Android device with a live preview,
  then clicks 开始执行. Nothing is bound or operated before that.
- Workbench: execution steps beside the phone (collapsible, scrollable,
  animated), run log with model thinking folded into the next device
  action, readable action names, takeover as pause / 恢复控制, report card
  and comment review; the workbench stays in view when a task ends and
  the chat ends with report links.
- Models: admin-configured phone models via the backend catalog and
  proxy, per-model coordinate space (Qwen/Doubao 0-1000), retry on
  transient model failures.
- Account service: the official CoreMate service is bundled by default
  (src/service-config.ts); OPENGUI_ACCOUNT_SERVICE_URL overrides it. The
  READMEs disclose the data sent and CLAUDE.md records the exception.
- Reliability: Android 13+ clipboard overlay dismissal, empty-field
  readback proof, user-wait lease handling, structured error codes.
- Dependencies: npm audit fix for fast-uri, hono and ip-address.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…rence

- Skip POSIX-only assertions on Windows: APK staged-file permission bits,
  the Linux sysfs fixture (interface names such as 1-2:1.0) and iOS
  simulator container-path identity tests (simulators are macOS-only).
- smoke:packed reads the native simctl reference after packed discovery
  has started CoreSimulator, waits up to 60s, and reports a failed read
  instead of treating it as an empty simulator list.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…packed discovery

The reference read (60s timeout) runs first so a cold CoreSimulator start on
CI cannot leave packed discovery empty.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
…unavailable

Hosted macOS runners can take minutes to start CoreSimulator. Wait up to
120s for the reference and, if it still cannot be read, log and skip only
the iOS parity comparison instead of failing packaged startup.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
A socket-heavy input diagnosis fixture takes about 1s locally but can exceed
the 5s default on hosted Windows CI.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
@VicarDa
VicarDa merged commit 0e6e025 into main Oct 5, 2026
12 checks passed
@VicarDa
VicarDa deleted the feat/workbuddy-feature-optimization branch October 5, 2026 14:54
@VicarDa
VicarDa restored the feat/workbuddy-feature-optimization branch October 5, 2026 14:56
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant