Skip to content

docs(CUA-628): add Qwen Code and Droid CLI to post-install hints and docs#1986

Open
r33drichards wants to merge 4 commits into
mainfrom
cua-628
Open

docs(CUA-628): add Qwen Code and Droid CLI to post-install hints and docs#1986
r33drichards wants to merge 4 commits into
mainfrom
cua-628

Conversation

@r33drichards

@r33drichards r33drichards commented Jun 23, 2026

Copy link
Copy Markdown
Collaborator

Summary

Adds Qwen Code and Droid CLI as supported integrations throughout the cua-driver documentation and post-install onboarding.

Context: Qwen Code (QwenLM/qwen-code) migrated its Computer Use backend to cua-driver in QwenLM/qwen-code#5051. Droid CLI (Factory AI - factory.ai) is an MCP-capable coding agent supporting stdio servers.

Changes

  • README.md: add Qwen Code and Droid CLI to the supported clients list
  • connect-your-agent.mdx: add dedicated sections for Qwen Code and Droid CLI
  • install.sh: add both clients to the post-install MCP hint block
  • cli.rs: add qwen/qwen-code and droid/droid-cli arms to run_mcp_config
  • mcp_config_parity.rs: add parity test cases for the two new clients

Closes CUA-628

Summary by CodeRabbit

  • New Features

    • Added support for Qwen Code and Droid CLI as MCP-compatible clients, expanding available options for native desktop apps.
  • Documentation

    • Updated setup guides and installation instructions with configuration steps for newly supported clients.

@vercel

vercel Bot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

The latest updates on your projects. Learn more about Vercel for GitHub.

1 Skipped Deployment
Project Deployment Actions Updated (UTC)
docs Ignored Ignored Preview Jun 26, 2026 8:23am

Request Review

@coderabbitai

coderabbitai Bot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Review Change Stack

Important

Review skipped

Auto incremental reviews are disabled on this repository.

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 7c4756b2-0f35-4f32-a1d4-389ac93b8048

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review
📝 Walkthrough

Walkthrough

Adds Qwen Code and Droid CLI as supported MCP clients in cua-driver. The CLI run_mcp_config() dispatch gains handlers for qwen/qwen-code and droid/droid-cli, the installer next-steps output is extended with setup snippets for both, the Windows parity test expands from 8 to 10 verified client paths, and the README and connect-your-agent guide are updated with matching documentation.

Changes

Qwen Code and Droid CLI MCP Client Support

Layer / File(s) Summary
CLI dispatch and manifest for qwen/droid clients
libs/cua-driver/rust/crates/cua-driver/src/cli.rs
build_manifest() description for --client is extended; run_mcp_config() gains qwen/qwen-code and droid/droid-cli match arms printing MCP JSON and droid mcp add command respectively; Unknown client error updated with new names.
Windows MCP config parity tests
libs/cua-driver/rust/crates/platform-windows/examples/mcp_config_parity.rs
Two new parity test cases added for --client qwen and --client droid with expected output substrings; PASS message updated to report 10 verified paths.
Installer next-steps
libs/cua-driver/scripts/install.sh
Next-steps heredoc adds a Droid CLI section with droid mcp add command and extends the existing section to include Qwen Code with cua-driver mcp-config --client qwen.
Docs and README
README.md, docs/content/docs/how-to-guides/driver/connect-your-agent.mdx
README platform description adds Qwen Code and Droid CLI; connect-your-agent guide adds full setup sections for both clients including config generation, file placement, and verification steps.

Estimated code review effort

🎯 2 (Simple) | ⏱️ ~10 minutes

Possibly related PRs

  • trycua/cua#1407: Both PRs add new MCP client configuration snippets to the install.sh post-install "Next steps" heredoc.
  • trycua/cua#1681: Both PRs route new clients through cua-driver mcp-config --client <name> in the installer next-steps output.
  • trycua/cua#1710: Both PRs extend the same run_mcp_config() client match dispatch and "Unknown client … Valid" error message in cli.rs for different newly added client names.

Poem

🐇 Hop hop, two new friends in the list,
Qwen Code and Droid CLI can't be missed!
A JSON snippet here, a command there,
mcp-config --client beyond compare.
Ten paths now verified, the parity's tight—
The rabbit ships clients left and right! 🎉

🚥 Pre-merge checks | ✅ 5
✅ Passed checks (5 passed)
Check name Status Explanation
Description Check ✅ Passed Check skipped - CodeRabbit’s high-level summary is enabled.
Title check ✅ Passed The pull request title accurately summarizes the main changes: adding Qwen Code and Droid CLI support across documentation, installation scripts, and CLI code.
Docstring Coverage ✅ Passed Docstring coverage is 100.00% which is sufficient. The required threshold is 80.00%.
Linked Issues check ✅ Passed Check skipped because no linked issues were found for this pull request.
Out of Scope Changes check ✅ Passed Check skipped because no linked issues were found for this pull request.

✏️ Tip: You can configure your own custom pre-merge checks in the settings.

✨ Finishing Touches
🧪 Generate unit tests (beta)
  • Create PR with unit tests
  • Commit unit tests in branch cua-628

Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out.

❤️ Share

Comment @coderabbitai help to get the list of available commands.

@coderabbitai coderabbitai Bot left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Actionable comments posted: 1

🤖 Prompt for all review comments with AI agents
Verify each finding against current code. Fix only still-valid issues, skip the
rest with a brief reason, keep changes minimal, and validate.

Inline comments:
In `@libs/cua-driver/rust/crates/cua-driver/src/cli.rs`:
- Around line 1105-1130: The binary variable is being interpolated directly into
both the Qwen JSON output and the Droid CLI command without proper escaping or
quoting, which will break on Windows paths (due to backslashes in JSON) and
paths with spaces (in the Droid command). For the Qwen output around the println
with mcpServers, escape the binary variable appropriately for JSON (handling
backslash characters). For the Droid output in the separate println statement,
wrap the binary variable in quotes to ensure it's treated as a single argument
when the path contains spaces.
🪄 Autofix (Beta)

Fix all unresolved CodeRabbit comments on this PR:

  • Push a commit to this branch (recommended)
  • Create a new PR with the fixes

ℹ️ Review info
⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: c5286e56-7e9a-4e5f-b594-31693a35959e

📥 Commits

Reviewing files that changed from the base of the PR and between c898d7b and 4a2474f.

📒 Files selected for processing (5)
  • README.md
  • docs/content/docs/how-to-guides/driver/connect-your-agent.mdx
  • libs/cua-driver/rust/crates/cua-driver/src/cli.rs
  • libs/cua-driver/rust/crates/platform-windows/examples/mcp_config_parity.rs
  • libs/cua-driver/scripts/install.sh

Comment thread libs/cua-driver/rust/crates/cua-driver/src/cli.rs Outdated
@github-actions

github-actions Bot commented Jun 23, 2026

Copy link
Copy Markdown
Contributor

Linux visual regression artifacts

Matrix jobs now run independently. Download visual artifacts from this workflow run.
Each background-GUI job uploads a .gif of the interaction plus two annotated PNGs (<app>.png raw, <app>-atspi.png with AT-SPI element boxes); the cua-driver-linux-som-overlays artifact adds <app>-som.png cua Set-of-Marks overlays:

  • cua-driver-linux-cursor-click-gif
  • cua-driver-linux-background-terminal-gif
  • cua-driver-linux-parallel-drag-xserver
  • cua-driver-linux-background-gui-chromium
  • cua-driver-linux-background-gui-tk
  • cua-driver-linux-background-gui-gtk3-gedit
  • cua-driver-linux-background-gui-gtk3-mousepad
  • cua-driver-linux-background-gui-gtk3-scite
  • cua-driver-linux-background-gui-gtk4-characters
  • cua-driver-linux-background-gui-qt5-manuskript
  • cua-driver-linux-background-gui-qt5-klog
  • cua-driver-linux-background-gui-qt5-openambit
  • cua-driver-linux-background-gui-qt6-kate
  • cua-driver-linux-background-gui-qt6-kcalc
  • cua-driver-linux-background-gui-qt6-okular
  • cua-driver-linux-background-gui-qt6-qownnotes
  • cua-driver-linux-background-gui-electron-zettlr
  • cua-driver-linux-background-gui-electron-joplin
  • cua-driver-linux-background-gui-electron-logseq
  • cua-driver-linux-som-overlays

Open workflow run and download artifacts

r33drichards pushed a commit that referenced this pull request Jun 25, 2026
…id command

- Use serde_json::json! for Qwen Code MCP config to properly handle
  backslashes in Windows paths (same pattern as antigravity/claude)
- Normalize backslashes to forward slashes in JSON output
- Quote binary path in droid mcp add command to handle paths with spaces
- Update parity test needles to match new serde_json pretty-print format

Addresses CodeRabbit review comment on PR #1986.
@r33drichards

Copy link
Copy Markdown
Collaborator Author

CI Status & PR Update

All CI checks passing (75+ checks, all green)

Changes added in latest push (9aa85b1):

Fixed CodeRabbit review feedback:

  • Qwen Code: Replaced manual string interpolation with serde_json::json! for proper Windows path handling (backslash → forward slash normalization). Matches the same pattern used for antigravity/claude clients.
  • Droid CLI: Quoted the binary path in the droid mcp add command to handle paths with spaces correctly.
  • Updated parity test needles to match the new serde_json pretty-print format.

Branch status:

  • Rebased on origin/main (was 31 commits behind, now current)
  • 4 commits total: 3 original + 1 CR fix

PR is ready for human review. The needs-human label is already set.

penggaolai and others added 4 commits June 26, 2026 08:23
…docs

- README.md: add Qwen Code and Droid CLI to the supported clients list
- connect-your-agent.mdx: add dedicated sections for Qwen Code and Droid CLI
  with setup instructions; update page description
- install.sh: add Qwen Code and Droid CLI to the post-install MCP hint block
- cli.rs: add 'qwen'/'qwen-code' and 'droid'/'droid-cli' to run_mcp_config;
  update client list in error message and doc comment
- mcp_config_parity.rs: add parity test cases for qwen and droid clients

Qwen Code (QwenLM/qwen-code) migrated its Computer Use backend to
cua-driver in QwenLM/qwen-code#5051. Droid CLI (Factory AI) is an
MCP-capable coding agent that supports stdio servers via
'droid mcp add ... --type stdio'.
…field

- ~/.qwen/mcp.json → ~/.qwen/settings.json (actual Qwen Code config file)
- Remove type:stdio from Qwen Code MCP config output (Cursor-only field)
- Add qwen/droid to dump-docs client list
The fix commit removed 'type: stdio' from the Qwen Code MCP config
output (it's a Cursor-only field, not valid in ~/.qwen/settings.json).
Update the parity test assertion to check for the correct output shape:
mcpServers + args:[mcp] rather than the now-removed type:stdio field.
…id command

- Use serde_json::json! for Qwen Code MCP config to properly handle
  backslashes in Windows paths (same pattern as antigravity/claude)
- Normalize backslashes to forward slashes in JSON output
- Quote binary path in droid mcp add command to handle paths with spaces
- Update parity test needles to match new serde_json pretty-print format

Addresses CodeRabbit review comment on PR #1986.
@r33drichards

Copy link
Copy Markdown
Collaborator Author

All CodeRabbit review comments have been resolved. PR is ready for human review. 🟢

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.

3 participants