Skip to content

Feature: watch mode — real-time event streaming to stdout #2

@davidgr4th

Description

@davidgr4th

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: [...]

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions