BriefPush pulls RSS/Atom feeds, uses an LLM to summarize recent items, and sends scheduled digest reports via configured notification providers.
- Polls configured feeds every 30 minutes.
- Generates AI summaries and a combined report.
- Sends daily reports at
report_hour. - Supports multiple notification providers (Email, Feishu).
- Go 1.26+
- Network access to feed sources
- LLM API endpoint and key
- Copy and edit config:
cp config.example.json config.json
- Update
config.json:base_url,api_key,modelfeedslistnotification.providers
- Run:
go run .
json_file_path: local feed storage file (default:feeds.json).report_hour: daily report hour (0-23).notification.providers: enable one or more providers.
Set type to email, enabled to true, and fill:
fromto(at least one recipient)smtp.host,smtp.port,smtp.username,smtp.password,smtp.use_tls
Set type to feishu, enabled to true, and fill:
feishu.webhook_url
main.go: app entrypointfeed/: feed fetching, scheduling, report generationai/: LLM integration for summary/report generationnotify/: notifier dispatcher and provider implementationsstore/: JSON-based feed storageconfig/: config model and loader