Integration
Charon
Local TUI that bridges your device to a remote AI assistant via WebSocket. Mono-repo with Go client and TypeScript OpenClaw plugin.
README
# charon
A local terminal that brings your remote AI assistant to any device.
Run a small TUI on your laptop or desktop. Talk to your agent — by text or voice — and let it interact with your device (open apps, read files, run commands) on demand. The brain stays on the server; charon is the ferry that crosses between worlds.
> *In Greek myth, Charon is the ferryman who transports souls across the river. Here it transports your inputs to the agent — and the agent's reach back to your device.*
## Status
Pre-alpha. Active development. Built first for macOS + [OpenClaw](https://github.com/openclaw/openclaw), with the goal of generalizing to any ACP-compatible agent backend and any device (Linux, Windows, mobile).
## Components
- **`client/`** — Local TUI written in Go using [Bubble Tea](https://github.com/charmbracelet/bubbletea). Captures text and (eventually) voice input, renders agent responses with markdown, and exposes local tools (active window, screenshot, shell, open app) as an MCP server over WebSocket.
- **`plugin/`** — [OpenClaw](https://github.com/openclaw/openclaw) plugin that hosts the WebSocket server, registers the device as a channel, routes incoming messages into the agent pipeline, and bridges MCP tool calls from the agent to the local device.
- **`proto/`** — Protocol specification shared between client and plugin.
## Roadmap
- **Block 1** — Plain text channel: write from Mac → agent → markdown response in TUI.
- **Block 2** — Local tools (active window, screenshots, open app, shell, file reads) over MCP-on-WebSocket.
- **Block 3** — Voice input via local Whisper.cpp with push-to-talk.
- **Block 4** — Browser control, richer shell allowlists, multi-device routing.
## License
MIT. See [LICENSE](./LICENSE).
integration
Comments
Sign in to leave a comment