Files
picoclaw/examples/pico-echo-server/README.md
T
SiYue e304dce40e docs: sync all documentation to V3 config format
- Replace config/config.example.json with V3 format (version: 3, api_keys array, channel_list)
- Update config-versioning.md: version 2→3, ConfigV2→ConfigV3, CurrentVersion=3
- Update 7 project READMEs: api_key→api_keys, add version: 3 to quick-start examples
- Update 12 security docs (ANTIGRAVITY_AUTH + credential_encryption): api_key→api_keys
- Update provider-refactoring.md: api_key→api_keys in all config examples
- Update security_configuration.md: api_key→api_keys in Before example
- Update 3 channel docs: channels→channel_list in JSON examples
2026-05-06 18:02:46 +08:00

48 lines
1.2 KiB
Markdown

# pico-echo-server
Minimal Pico Protocol WebSocket server for testing the `pico_client` channel.
## Usage
```bash
go run ./examples/pico-echo-server -addr :9090 -token secret
```
### Flags
| Flag | Default | Description |
|----------|---------|------------------------------------|
| `-addr` | `:9090` | Listen address |
| `-token` | (none) | Auth token; empty disables auth |
## How it works
- Listens for WebSocket connections at `/ws`
- Authenticates via `Authorization: Bearer <token>` header or `?token=<token>` query param
- Prints received `message.send` content to stdout
- Responds to `ping` with `pong`
- Lines typed into stdin are broadcast as `message.create` to all connected clients
## Testing with pico_client
1. Start the server:
```bash
go run ./examples/pico-echo-server -token mytoken
```
2. Configure `pico_client` in your `config.json`:
```json
{
"channel_list": {
"pico_client": {
"enabled": true,
"url": "ws://localhost:9090/ws",
"token": "mytoken",
"session_id": "test-session"
}
}
}
```
3. Start picoclaw — the client connects and you can exchange messages interactively via stdin/stdout.