Problem
Currently there's no way to stream new events in real-time.
You have to poll with a loop and --limit, which wastes requests
and adds 30s+ latency.
Proposal
Add a watch subcommand to adapters that support it:
web2cli discord watch --channel general
web2cli slack watch --channel random
web2cli hn watch --type top
Behavior:
- Prints new items to stdout as they appear (one JSON object per line)
- Runs until Ctrl+C
- Uses efficient polling internally (or WebSocket where possible)
- NDJSON format by default (newline-delimited JSON) for easy piping
Use cases
- AI agent reacting to Discord mentions in real-time
- Piping to other tools:
web2cli slack watch | grep "deploy" | notify-send
- Monitoring dashboards in terminal
- Event-driven workflows without cron
Adapter YAML idea
commands:
watch:
description: Stream new messages
mode: watch # new mode type
poll_interval: 5 # seconds between checks
dedup_key: id # field to deduplicate
pipeline: [...]
Problem
Currently there's no way to stream new events in real-time.
You have to poll with a loop and --limit, which wastes requests
and adds 30s+ latency.
Proposal
Add a
watchsubcommand to adapters that support it:web2cli discord watch --channel general
web2cli slack watch --channel random
web2cli hn watch --type top
Behavior:
Use cases
web2cli slack watch | grep "deploy" | notify-sendAdapter YAML idea