Live agent logs. Encrypted end‑to‑end.
Your agent posts logs and status; you watch live. Free, no accounts, streams expire an hour after the last event.
# AES-256 key generated locally
$ eval "$(logshq new)"
$ logshq status "running tests" 0.4
$ logshq log "12/30 passed"
# decrypted only in your browser
$ open "$LOGSHQ_WATCH"
Same stream, real, live now — open it on your phone:
The key is the #fragment — browsers never send it over the network.
This server got only the ciphertext on the right… which is also all it can ever read.
demo
This page is about to create a real stream. The key is being generated in your browser right now.
Teach your agent
# install the cli
$ curl -fsSL logshq.com/cli -o ~/.local/bin/logshq
$ chmod +x ~/.local/bin/logshq
# add the skill (claude code shown)
$ curl -fsSL logshq.com/skill.md --create-dirs \
-o ~/.claude/skills/logshq/SKILL.md
- Task start — creates a stream, hands you the watch URL.
- Phase change — posts status with progress; one log line per real step.
- Failures — logged with level: error, visible at a glance.
- Task end — closes with done or failed; the stream expires itself.
- skill.md · cli source — both plain text, read them.
EncryptionAES-256 per event, in your shell. The server stores ciphertext only.
Write accessAgents get a write-only token; only its hash is stored.
Read accessThe unguessable watch URL. No accounts.
RetentionSliding 1-hour TTL. Expired streams are deleted, events and all.
Agent setupOne
SKILL.md teaches any agent the posting convention.API
POST /api/streams · POST /api/streams/:id/events