PMOS
Back to modules
Sources

30+ collectors, pluggable, per product.

A per-product catalog of every source activated across the three modules. Inspect, collect now, pre-filter on demand, edit config, and discover new sources via URL paste or built-in search helpers.

What it is

One screen for every collector you've activated.

Sources is the cross-module view of every activated source for the current product. Each row shows the source type, the module(s) it feeds, the last run timestamp, item count, and the pre-filter prompt. A drawer exposes sample items, full config, and per-source actions.

Flow

Activate, collect, pre-filter, inspect.

Sources are activated either by smart-configure (agent proposes, you approve) or manually through discovery helpers. Each activated source is an instance with its own config.

1

Activate

POST /products/{id}/sources
Pick a source type from the registry, configure it (subreddits, query terms, channel handles, etc.), and assign it to one or more modules. The module allowlist on the collector defines where it can be used.
2

Collect now

POST /sources/{sid}/collect
Ignore the schedule and pull fresh items. Useful when you just added the source or want the latest before a report regen.
3

Pre-filter

POST /sources/{sid}/pre-filter
Re-run the labeling pass on existing items without re-collecting. Ideal when you've tuned the pre-filter prompt and want to apply the new rules retroactively.
4

Inspect

drawer · sample items
Open the source drawer to see recent items, the full config, and the active pre-filter prompt. Edit config inline; changes take effect next run.
Per-source actions
  • Collect nowfresh pull, ignores schedule
  • Pre-filterre-label existing items
  • Edit configinline config form, takes effect next run
  • Deletedeactivates the instance (items remain)
  • Sampleinspect the last N items the source produced
Discovery

Four ways to find new sources.

TargetHowEndpoint
GitHubSearch by org / repo / topic. Adds repo PRs, issues, discussions, or releases as sources./api/github/search
RedditSearch subreddits by keyword. Activate one — or a whole batch — with query terms and min score./api/reddit/search
YouTubeChannel search. Once activated, uses the channel's RSS feed for uploads./api/youtube/search
LinkedInCompany / person search for activity tracking./api/linkedin/search
Any URLPaste a URL — the app detects if it's a blog (RSS), a GitHub repo, a YouTube channel, etc./api/url/check
Registry

The full collector catalog.

GroupCollectors
Research & CommunityHacker News · Reddit · Hugging Face · arXiv · Product Hunt · LMSYS Arena · LiveBench · There's An AI For That · Exploding Topics
IndustryAnthropic Blog · OpenAI Blog · DeepMind · Artificial Analysis · Generic RSS / Atom
GitHubGitHub Trending · per-repo PRs / Issues / Discussions / Releases
Social & ReviewsYouTube · Twitter / X · LinkedIn · App Store · Play Store
Trends & SearchGoogle Trends · PyPI Trends · Web Search (MCP-backed) · Website Deep Scrape
Highlights

Three traits that make it pluggable.

01

One module contract

Every collector subclasses a single base class and registers itself. Adding a new source is one Python file.

02

Pre-filter per source

The tagging prompt is editable per source. Noisy feeds get stricter rules without touching the others.

03

Availability checks

Before a run, each source reports whether it's usable right now (credentials, rate limits).

See PMOS end-to-end.

A 20-minute demo walks through Discover → Aggregate → PRD → GitHub issue, scoped to your product.