Skip to content

feat: replace Python desktop sidecar with computer-use MCP#81

Merged
UmarFarooq75 merged 1 commit into
mainfrom
dev
May 9, 2026
Merged

feat: replace Python desktop sidecar with computer-use MCP#81
UmarFarooq75 merged 1 commit into
mainfrom
dev

Conversation

@UmarFarooq75
Copy link
Copy Markdown
Collaborator

Summary

  • Drop the half-shipped Python desktop sidecar (mouse/keyboard/screenshot) — its binary was never bundled, so every desktop_* tool failed at runtime with "sidecar unreachable".
  • Replace with @zavora-ai/computer-use-mcp: TypeScript/Rust NAPI MCP server, prebuilt binaries via npm, no Python, no separate supervisor.
  • Tighten the useCrew section in SOUL.md so the main agent stops summarizing files into context instead of passing pointers via references.
  • Bump to 1.0.0-alpha.6.

Changes

  • Register computer-use in src/mcp/defaults.ts (opt-in, enabled: false).
  • Delete src/tools/core/desktop.ts — 16 tools, ~520 lines, all calling the missing sidecar.
  • Delete src/voice/SidecarSupervisor.ts — confirmed dead code (no importers anywhere in src/).
  • Strip 18 desktop_* tool names from PermissionGuard restricted + standard profiles. The new MCP tools reach the agent via use_mcp (already permitted).
  • SOUL.md useCrew block: rules + field definitions, no examples or task-specific anchors.

Net: −743 / +34 lines.

Test plan

  • npm run typecheck passes (already verified clean locally)
  • Daemora starts cleanly on dev branch — no missing-sidecar errors
  • MCP settings UI shows computer-use as a new opt-in entry
  • Enabling computer-use from UI on macOS spawns the MCP via npx -y @zavora-ai/computer-use-mcp and the agent can call its tools via use_mcp
  • Existing voice flow still works (voice routes are untouched; the misnamed /api/voice/sidecar/* endpoints actually spawn the TS voice-worker)

The Python sidecar (mouse/keyboard/screenshot) was never shipped — its
binary wasn't bundled, so all 16 desktop_* tools failed at runtime with
"sidecar unreachable". Switching to @zavora-ai/computer-use-mcp: a
TypeScript/Rust NAPI MCP server with prebuilt binaries via npm, no
Python, no separate process to supervise.

- Register `computer-use` in src/mcp/defaults.ts (opt-in, off by default)
- Delete src/tools/core/desktop.ts (~520 lines, 16 tools)
- Delete src/voice/SidecarSupervisor.ts (dead code, no importers)
- Strip 18 desktop_* names from PermissionGuard restricted/standard
- Tighten useCrew section in SOUL.md: hard rules on what goes in
  context vs references so the main agent stops summarizing files
  into context instead of passing pointers
- Bump to 1.0.0-alpha.6
@UmarFarooq75 UmarFarooq75 merged commit b4f1d65 into main May 9, 2026
4 checks passed
UmarFarooq75 added a commit that referenced this pull request May 10, 2026
Resolved package-lock.json version-string conflict by keeping the dev-side bump (1.0.0-alpha.7). All other lockfile content (icon-build devDeps from #82, computer-use MCP deps from #81) auto-merged cleanly.
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