Skip to content

Latest commit

 

History

History

README.md

ClawRouter Desktop

ClawRouter Desktop is a local control plane for OpenClaw, Codex, Hermes, DeepSeek Harness (DSH), and Pi. The renderer never receives filesystem or process access; a sandboxed Electron preload exposes a narrow IPC API to the main process.

Development

npm install
npm test
npm run typecheck
npm run build
npm start

npm run dist builds and packages the app with the pinned Codex bridge, DSH, and Pi runtimes. ClawRouter itself is installed from the current npm release on first use so the Desktop cannot ship an obsolete routing/plugin lifecycle. Electron 44 embeds Node 24, so end users do not need a separate Node installation. Hermes remains installed in Hermes' own Python environment. The distribution command recreates runtime/node_modules from the committed, frozen pnpm lockfile before packaging; local leftovers cannot affect a release. Use npm run dist:release to produce the macOS ZIP uploaded to the Desktop GitHub release.

Shared BlockRun Core wallet

Desktop reads Base, Solana, and payment-chain state from ~/.blockrun/.session, ~/.blockrun/.solana-session, and ~/.blockrun/.chain. On first use, an older ClawRouter wallet under ~/.openclaw/blockrun/ is copied into the corresponding Core files only when those files do not already exist. The legacy files are retained for rollback; Desktop never overwrites an existing Core wallet.

One-click contract

Every adapter follows the same transaction:

  1. Snapshot the exact current configuration and permissions.
  2. Ensure the local proxy (and the Codex bridge when needed) is healthy.
  3. Apply only that agent's ClawRouter integration.
  4. Verify the resulting files and endpoint.
  5. Roll back the current attempt on any failure.

"Restore previous config" restores the original bytes and mode captured before the first Desktop-managed install. Cached runtime packages may remain on disk; they are inert and do not change the agent's configuration.

Local endpoints

  • ClawRouter OpenAI-compatible API: http://127.0.0.1:8402/v1
  • Codex Responses bridge: http://127.0.0.1:8403/v1
  • Model catalog and metadata: http://127.0.0.1:8402/v1/models

Both services bind to loopback. Port 8402 must prove possession of a private Desktop token before it is reused. For newly spawned services, the supervisor also verifies that the listening process belongs to the child process tree; it never kills or trusts an unknown owner.

DSH status

DSH is still a developer preview and does not publish official GitHub release binaries. Installing its npm dependency graph at click time is too slow for a credible one-click experience, so release builds pre-package its pinned runtime. The adapter writes the current settings.yaml provider shape and the versioned .credentials.yaml (version: 1, refs:) used by the official harness.