Inbound research, watchlists, and candidate discovery — Tier 2 of the Pebbles family
Project description
pebbles-scout
Inbound research, watchlists, and candidate discovery for AI agents — Tier 2 of the Pebbles family.
pip install pebbles-scout
pebbles-scout is the inbound half of an agent's public-facing engine: it monitors sources (RSS in v0.1; Twitter / Reddit / forwarded URLs in v0.2), scores candidate items against your topical clusters, maintains watchlists with a three-route proposal flow, and emits candidates for downstream consumers (like pebbles-presence) to pick up.
Built on pebbles-core v0.2.0.
What Scout does
For a Principal you define, Scout:
- Monitors sources — RSS feeds, mapped per-cluster
- Pre-filters — drops obvious rejects (v0.1 ships a stub; v0.2 adds rage-farm / self-promo rules)
- Scores relevance — LLM-as-judge rates how well each item fits its tagged cluster
- Emits candidates — items above your threshold land in
scout_candidatesfor downstream - Maintains watchlists — three proposal routes (operator / principal / scout-auto)
Scout does NOT:
- Draft content (that's pebbles-presence)
- Rate voice fit (that's Presence's rater)
- Post anything (that's Presence's platform adapters)
The split keeps each module composable.
Quick start
# Install
pip install pebbles-scout
# Scaffold a starter principal
pebbles-scout init my-agent
cd my-agent
# Edit principal.yaml — define your clusters and RSS feeds
$EDITOR principal.yaml
# Print the schema migration
pebbles-scout migrate
# → run the SQL against your Supabase / Postgres
# Run one fetch cycle (needs ANTHROPIC_API_KEY)
pebbles-scout run --principal principal.yaml
# Add an account to a watchlist (operator route)
pebbles-scout propose @some_handle --cluster my_cluster --principal principal.yaml
Reference principal: Harbor
examples/harbor/ ships a working configuration for a fictional coastal-AI persona named Harbor (the cross-package demo persona introduced in pebbles-core v0.2). Use it as a starting point or to verify your install.
pebbles-scout run --principal examples/harbor/principal.yaml
v0.1 scope
In v0.1:
- Cluster definitions +
scout_clusterstable - Watchlist +
scout_accountstable + 3-route proposal flow - Candidate emission +
scout_candidatestable with state machine - One source:
RssSource(cluster-aware RSS monitoring) - LLM relevance matcher (composes pebbles-core's
LLMJudgeRater) - Pass-through pre-filter (real rules in v0.2)
- Watchlist proposal flow (operator-add immediate; principal-propose gated via
ApprovalChannel) - In-memory reference impls for every store (CandidateStore, WatchlistStore)
- CLI:
init,migrate,run,propose,status
Deferred to v0.2+:
- SupabaseCandidateStore + SupabaseWatchlistStore (persistent storage behind
[supabase]extra) - Twitter MCP, Reddit, Telegram-URL sources
- Cluster monoculture quotas (enforced)
- Account reputation scoring (computed)
- Scout auto-proposal
- Pre-filter rules (rage-farm, self-promo)
- Bulk operations
- Circuit breakers
License
Apache 2.0 — see LICENSE.
Family
- pebbles-core — Tier 1, recipient-as-user delivery + substrate primitives
- pebbles-scout — Tier 2 (this package), inbound research
- pebbles-presence — Tier 3 (planned), outbound drafter / approval / posting
- pebbles-family — Tier 4 (planned), recipient-as-user's-people delivery
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pebbles_scout-0.1.0.tar.gz.
File metadata
- Download URL: pebbles_scout-0.1.0.tar.gz
- Upload date:
- Size: 30.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f615d3b45250e61e05836856c77ac9e75f5101f8be08d1ae725a9d76b17a9973
|
|
| MD5 |
06d3a1339a9c5e7b8d888b95e3dd4ca2
|
|
| BLAKE2b-256 |
fc45ddd3b6350c054673f1a69e618843956a9ffd5fb3a6347ac2b06e17cec105
|
File details
Details for the file pebbles_scout-0.1.0-py3-none-any.whl.
File metadata
- Download URL: pebbles_scout-0.1.0-py3-none-any.whl
- Upload date:
- Size: 25.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.7 {"installer":{"name":"uv","version":"0.11.7","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fdaa8a386ed42b3a8efedc1836020285624caea7ece65891b4dea5de41b42c2e
|
|
| MD5 |
8d1123dca553db024ce6b41649518a74
|
|
| BLAKE2b-256 |
3a287a22e5c32e4a7e7b1daa4a6696c30570437a9646d25ea1469c2311c4a33e
|