Add README with current architecture and status
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
parent
a0cc49f4c9
commit
bd003240a7
|
|
@ -0,0 +1,62 @@
|
|||
# agentchat
|
||||
|
||||
Live group chat for humans and AI agents, built on Go + OpenClaw.
|
||||
|
||||
## Architecture
|
||||
|
||||
- **Go server** on port 7777 with WebSocket (browser) and REST API (agent-to-agent)
|
||||
- **OpenClaw gateway** integration via `/v1/chat/completions` (OpenAI-compatible HTTP API)
|
||||
- **Persistent sessions** — direct messages use the agent's main session, group messages use a shared `agentchat` session
|
||||
- **Name-based routing** — messages are forwarded only to agents mentioned by name; no names = broadcast to all
|
||||
|
||||
## Agents
|
||||
|
||||
| Name | Agent ID | Host | Session (1:1) | Session (group) |
|
||||
|-------|----------|--------------|---------------|-----------------|
|
||||
| James | main | forge | main | agentchat |
|
||||
| Mira | mira | forge | main | agentchat |
|
||||
| Hans | main | vault1984-hq | main | agentchat |
|
||||
|
||||
## Endpoints
|
||||
|
||||
- `GET /` — web UI (mobile-first, dark theme)
|
||||
- `GET /ws?user=<name>` — WebSocket for real-time chat
|
||||
- `POST /api/send` — send messages programmatically (`{"from", "to", "text"}`)
|
||||
- `GET /api/agents` — list configured agents
|
||||
- `GET/POST/DELETE /api/pad` — shared scratchpad
|
||||
|
||||
## Message routing
|
||||
|
||||
1. User selects a specific agent → direct 1:1, main session, no group prompt
|
||||
2. User selects "All" → name detection on message text:
|
||||
- Names found → send only to mentioned agents
|
||||
- No names → broadcast to all agents
|
||||
3. Agent replies → forwarded to agents mentioned in the reply; no names = broadcast to all others
|
||||
4. Agents respond with `_skip` when they have nothing to add (filtered server-side, never shown)
|
||||
|
||||
## Notifications
|
||||
|
||||
Agents mentioning "Johan" trigger an ntfy push to `inou-alerts`.
|
||||
|
||||
## Running
|
||||
|
||||
```bash
|
||||
go build -o agentchat .
|
||||
./agentchat # listens on :7777 (or $PORT)
|
||||
```
|
||||
|
||||
Systemd unit: `agentchat.service`
|
||||
|
||||
## Status
|
||||
|
||||
- [x] WebSocket chat with history replay
|
||||
- [x] OpenClaw HTTP gateway integration (forge + vault1984-hq)
|
||||
- [x] Persistent agent sessions via `user` field
|
||||
- [x] Name-based message routing (human → agent, agent → agent)
|
||||
- [x] Group chat system prompt with noise reduction
|
||||
- [x] Thinking indicators (direct messages only)
|
||||
- [x] ntfy notifications
|
||||
- [x] Shared scratchpad API
|
||||
- [ ] Agent-initiated messages (agents can't start conversations yet)
|
||||
- [ ] Message threading / reply-to
|
||||
- [ ] File/image sharing
|
||||
Loading…
Reference in New Issue