# chat-echo
[](https://github.com/dnacenta/chat-echo/actions/workflows/ci.yml)
[](LICENSE)
[](https://github.com/dnacenta/chat-echo/tags)
[](https://rustup.rs/)
Web chat interface for the Echo ecosystem. The default communication channel — open a browser and talk to your AI entity.
## Why
Every AI entity needs at least one way to communicate. chat-echo is the zero-friction option: no Twilio account, no Discord bot, no setup beyond running the binary. Open a browser, start chatting.
## How It Works
```
┌──────────────────────────┐
│ Browser (Frontend) │
│ HTML + CSS + vanilla JS │
│ WebSocket connection │
└────────────┬─────────────┘
│ ws://host:port/ws
┌────────────┴─────────────┐
│ chat-echo (Rust/axum) │
│ Static file server │
│ WebSocket ↔ HTTP relay │
└────────────┬─────────────┘
│ POST /chat
┌────────────┴─────────────┐
│ bridge-echo │
│ LLM session management │
│ Security + identity │
└──────────────────────────┘
```
chat-echo is a thin transport layer. It serves the web UI, relays messages to [bridge-echo](https://github.com/dnacenta/bridge-echo) over HTTP, and streams responses back to the browser over WebSocket. All LLM logic, session management, and security live in bridge-echo.
## Installation
### From source
```bash
git clone https://github.com/dnacenta/chat-echo.git
cd chat-echo
cargo install --path .
```
## Configuration
All configuration via environment variables:
| `CHAT_ECHO_HOST` | `0.0.0.0` | Bind address |
| `CHAT_ECHO_PORT` | `8080` | HTTP port |
| `CHAT_ECHO_BRIDGE_URL` | `http://127.0.0.1:3100` | bridge-echo endpoint |
| `CHAT_ECHO_STATIC_DIR` | `./static` | Path to frontend files |
## Usage
```bash
# Start with defaults (assumes bridge-echo on localhost:3100)
chat-echo
# Custom port and bridge URL
CHAT_ECHO_PORT=9000 CHAT_ECHO_BRIDGE_URL=http://my-bridge:3100 chat-echo
```
Then open `http://localhost:8080` in your browser.
## Requirements
- [bridge-echo](https://github.com/dnacenta/bridge-echo) running and accessible
- Rust 1.80+ (for building from source)
## Ecosystem
chat-echo is part of the echo ecosystem — a set of composable tools for building autonomous AI entities:
| [recall-echo](https://github.com/dnacenta/recall-echo) | Persistent three-layer memory | [](https://crates.io/crates/recall-echo) |
| [praxis-echo](https://github.com/dnacenta/praxis-echo) | Document pipeline enforcement | [source](https://github.com/dnacenta/praxis-echo) |
| [vigil-echo](https://github.com/dnacenta/vigil-echo) | Metacognitive monitoring | [source](https://github.com/dnacenta/vigil-echo) |
| [voice-echo](https://github.com/dnacenta/voice-echo) | Voice interface (phone calls) | [source](https://github.com/dnacenta/voice-echo) |
| [bridge-echo](https://github.com/dnacenta/bridge-echo) | HTTP bridge for Claude CLI | [](https://crates.io/crates/bridge-echo) |
| [discord-voice-echo](https://github.com/dnacenta/discord-voice-echo) | Discord voice channel sidecar | [source](https://github.com/dnacenta/discord-voice-echo) |
| **chat-echo** | **Web chat interface** | **you are here** |
## License
[GPL-3.0](LICENSE)