leiting-eric/DailyBrief
AI 每日新闻简报 · GitHub 热门 + X 热门文章 + 行情技术分析 · 23 个数据源聚合 + LLM 中文摘要 · 本地或 GitHub Actions 部署
DailyBrief – Your Personal AI‑Powered Daily Newsletter
What it is – A self‑hosted Node/TypeScript app that pulls together news, market data and AI‑generated summaries into a single, bilingual (Chinese / English) HTML report. It works with any of six LLM back‑ends (Claude, Anthropic, OpenAI, DeepSeek, MiniMax, Zhipu) and can be run on GitHub Actions + Pages, on a local machine, or on your own server.
Key capabilities
- Multi‑source aggregation – 26 default feeds covering tech (GitHub Trending, AI blogs, X/Twitter), finance (Bloomberg, WSJ, FT), politics (BBC, Guardian, NYT, etc.) and community sites (V2EX, Hacker News, Reddit). All sources are free RSS or public JSON endpoints, no API keys required.
- Market snapshot – Real‑time data for 21 tickers (US stocks, ETFs, crypto, HK stocks, commodities, macro indicators) with SMA, RSI and MACD calculations plus an LLM‑written daily trading comment.
- Pluggable LLM – Switch between six back‑ends simply by setting an environment variable and the corresponding secret. No code changes needed.
- Bilingual output –
REPORT_LOCALE=zhgives a Chinese report;enproduces a fully English version (UI text, prompts, stance wording, date format). - Zero‑cost data – All news feeds are public; the only expense is the LLM API calls (e.g., DeepSeek ≈ $1 / month).
- Single‑file HTML – The generated page embeds CSS/JS inline, so it can be served directly from any static host.
How to run it
| Option | Who it’s for | What you need | Setup time |
|---|---|---|---|
| A – GitHub Actions + Pages | No server, want a free public URL | A GitHub account + an API key for any LLM backend | ~5 min (fork → add secrets/variables → run workflow) |
| B – Local one‑click install | You have a computer/server that can stay on | Node 20+, git, optional Claude CLI | ~3 min (run the bootstrap.mjs script) |
| C – AI‑Agent install | Want an AI assistant (Claude Code, Cursor, etc.) to do the install for you | Same as B | One prompt to the agent |
Typical workflow
- Configure – set
LLM_BACKENDand the matching secret (or rely on the default Claude‑CLI). Optional variables let you change model, base URL, report locale, time‑zone, hour(s) and days. - Schedule – GitHub Actions uses a cron that checks
REPORT_TZand runs the build only when the local hour matchesREPORT_HOUR. Local installs register a system scheduler (cron, launchd or Windows Task Scheduler). - Run –
npm run dailyfetches all sources, computes market indicators, calls the LLM for summaries and trading commentary, then renders a singleindex.html. - Deploy – In GH‑Actions mode the HTML is automatically pushed to the
gh‑pagesbranch and served via GitHub Pages. In local mode you can enable optional auto‑deploy to your own server via SCP by settingDEPLOY_HOSTandDEPLOY_PATH.
Customization
- Add/remove sources – Edit
sources.config.json; each entry definesid,name,type(rss/api/scrape),url,category,locales, etc. Validate withnpm run sources:check. - Change prompts – All LLM prompts live in
lib/ai/prompts.ts; they are backend‑agnostic. - Adjust market tickers – Modify
lib/trading/to add symbols; the pipeline automatically recomputes SMA/RSI/MACD. - Deploy elsewhere – Set
DEPLOY_HOST/DEPLOY_PATHto have the report scp‑ed to any web server (nginx, Apache, etc.).
Why it matters DailyBrief gives you a fully private, up‑to‑date briefing without relying on third‑party reading services (Feedly, Pocket, etc.). Because the LLM is pluggable and the data sources are free, you can keep the cost near‑zero while still getting AI‑enhanced market insights and tech news in the language you prefer.
Links
- Live demo (GitHub Pages) – https://leiting-eric.github.io/DailyBrief
- Self‑hosted demo – https://daily.leiting.tech
- Repository – https://github.com/leiting-eric/DailyBrief
Related
- Project
- Project
- Project
- Project
- Project