Poller · RSS / Atom

Cron-style poller that sweeps RSS / Atom feeds and dispatches new items to an agent as messages. Subprocess plugin; daemon spawns it per tick under the Phase 96 poller v2 contract.

Source: standalone repo at nexo-rs-poller-rss.

Install

Two paths — pick whichever suits your operator workflow:

# Precompiled tarball (release.yml ships 5 targets — Linux musl x2,
# macOS x2, Windows MSVC). Drops under plugins.discovery.search_paths.
nexo plugin install lordmacu/nexo-rs-poller-rss

# Or compile from crates.io source.
cargo install nexo-poller-rss

Both paths land the binary as nexo-poller-rss; the daemon's PluginPollerRouter discovers it via the [plugin.poller] manifest section.

Configure

Minimal YAML — drop under config/pollers.yaml:

- id: rss-tech-news
  kind: rss
  schedule: "*/15 * * * *"   # every 15 min
  target_agent_id: editor
  config:
    feeds:
      - https://example.com/blog.rss
    filters:
      title_contains: ["rust", "agent"]

Every matching item the poller hasn't seen before (cursor-driven dedupe — see Poller v2 architecture) dispatches as an agent prompt with title + url + body excerpt.

Wire shape

Poller plugins implement the PollerHandler trait. The daemon hands the plugin a TickRequest (kind + cursor + config + interval hint); the plugin returns a TickReply (next_cursor + items_seen/items_dispatched metrics).

See also