Skip to content

Decouple Warren from Claude Code & Integrate Native Orca Proxy#3

Merged
dsr-restyn merged 11 commits into
mainfrom
feature/decouple-and-orca-proxy
Jun 18, 2026
Merged

Decouple Warren from Claude Code & Integrate Native Orca Proxy#3
dsr-restyn merged 11 commits into
mainfrom
feature/decouple-and-orca-proxy

Conversation

@dsr-restyn

Copy link
Copy Markdown
Collaborator

📋 Summary of Changes

This Pull Request decouples Warren from its hard coupling to Claude Code and NanoClaw, transforming it into a high-performance, general-purpose proxy layer. Additionally, it integrates a new zero-hop local backend for Orca so users can prompt and monitor local Orca terminals straight from their physical Rabbit R1.


🚀 Key Features

1. Decoupled WebSocket Proxy Gateway

  • Exposes /api/agent/ws where any custom AI agent (VPS, home lab, or local machine) can connect as a WebSocket client.
  • Eliminates the need for tunnels or public webhooks on home agents (traversed via outbound connections).
  • Authenticates agents using Warren's internal_secret or admin_token.

2. Zero-Hop Native Orca Adapter

  • Introduced OrcaAdapter under server/src/warren/adapters/orca.py.
  • Queries live Orca runtimes for active terminals via orca terminal list.
  • Routes voice and text prompts directly to Orca terminal panes via orca terminal send.
  • Polls console output line-by-line and streams it down to the R1 dynamically, showing real-time terminal execution states.

3. CLI Packaging & Console ASCII QR Pairing

  • Added [project.scripts] in server/pyproject.toml so Warren installs as a global terminal command (warren).
  • On startup, the CLI automatically detects the machine's primary local network IP (e.g. 192.168.1.X) and renders the R1 Creation and Voice gateway pairing QR codes as ASCII art directly in your console window.

🛠️ Verification & Test Coverage

  • Implemented unit and integration test suite in server/tests/test_websocket_adapter.py.
  • Verified unauthenticated disconnect codes (4001) and active client connection tracking.
  • Ran and verified full pytest suite: all 149 tests are passing successfully with zero regressions on existing NanoClaw workflows.

dsr-restyn and others added 11 commits June 18, 2026 12:54
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Entire-Checkpoint: 36fe0d6ad374
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Entire-Checkpoint: 36fe0d6ad374
…o-ops

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Entire-Checkpoint: 36fe0d6ad374
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Entire-Checkpoint: 36fe0d6ad374
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Entire-Checkpoint: 36fe0d6ad374
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Entire-Checkpoint: 36fe0d6ad374
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Entire-Checkpoint: 36fe0d6ad374
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Entire-Checkpoint: 36fe0d6ad374
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Entire-Checkpoint: 36fe0d6ad374
Wrap two long error strings and sort imports / drop an unused import in
the websocket/orca adapters, __main__, and the websocket test. These were
failing the CI lint step independently of the nanoclaw removal.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Entire-Checkpoint: 36fe0d6ad374
@dsr-restyn
dsr-restyn merged commit 9b46f90 into main Jun 18, 2026
4 checks passed
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