Skip to content

Rename Webwright to CUAWright and add desktop support - #76

Open
Adam (adamlu123) wants to merge 4 commits into
mainfrom
feat/cuawright-web-desktop
Open

Adam (adamlu123) wants to merge 4 commits into
mainfrom
feat/cuawright-web-desktop

Conversation

@adamlu123

@adamlu123 Adam (adamlu123) commented Oct 5, 2026 •

Copy link
Copy Markdown
Contributor

Renames Webwright to CUAWright and adds desktop support. Browser and desktop agents now use a unified structure under src/cuawright; the existing browser implementation remains under src/webwright for backward compatibility.

Changes

  • Organize the canonical runtime into agents, config, environments, models, run, tools, and utils, with browser and desktop adapters.
  • Share loop scheduling, model-call accounting, stateless Responses options, and image encoding. Preserve browser reflection gates, trajectory persistence, and compaction behavior; preserve desktop explicit submission, incomplete-command rejection, sanitized retries, and multi-phase budgets.
  • Add cuawright web and cuawright desktop. Keep cuawright-web, cuawright-desktop, and the retained webwright command and Python imports.
  • Keep OSWorld source validation, compatibility patches, setup, and official evaluation under run/benchmarks/osworld; keep the guest bridge under environments/desktop.
  • Keep Skill Factory a separately installed optional cuawright-skill-factory distribution. Canonical addon imports are cuawright.skill_factory and cuawright.tools.skill_use; legacy addon imports resolve to the same modules when installed.
  • Include unified core provenance in wheels and source archives. Keep the MIT browser license and imported desktop Apache-2.0 attribution.
  • Update README migration/news, project map, desktop setup, skills, architecture documentation, packaging tests, and CI.
  • Exclude private gateway configuration. Keep user-supplied endpoint URLs, credential paths, and proxy configuration paths out of public settings, with regression coverage.

Lines of code

Physical Python lines including blank lines and comments; YAML, documentation, assets, and the build hook excluded:

Area Lines Python files
Unified src/cuawright runtime 8,336 51
Retained src/webwright runtime 6,291 30
Base wheel total 14,627 81
Optional Skill Factory, including examples 3,808 21
Tests, including desktop release tests 4,482 26

These are final-tree counts, not lines newly added. Retaining the browser implementation increases packaged size for backward compatibility. Folder consolidation does not remove browser tools. The optional addon includes 1,509 lines of examples.

Validation

  • Full source suite: 276 passed, including browser parity for submission, limits, format recovery, reflection gating, and compaction.
  • Desktop suite against the installed wheel: 90 passed.
  • Built core and optional-addon wheels and source archives.
  • Clean wheel installation verified unified and legacy browser commands, desktop help, addon installation, legacy addon imports, provenance with the addon installed, and addon removal.
  • Compile, whitespace, and desktop public-URL/credential checks passed.

Scope and limitations

Desktop support requires Python 3.12+ and externally provisioned OSWorld-V2 v2026.08.08, Ubuntu VM, Docker, tasks, assets, websites, and credentials. No live or paid OSWorld evaluation was run. Browser and desktop transports, messages, prompts, completion gates, and compaction policy retain their separate contracts. Repository URLs continue to reference the existing Webwright GitHub repository.

@adamlu123 Adam (adamlu123) changed the title Rename Webwright to CUAWright and add OSWorld desktop support Rename Webwright to CUAWright and add desktop support Oct 5, 2026

This branch has not been deployed

No deployments
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