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 outputREPORT_LOCALE=zh gives a Chinese report; en produces 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

  1. Configure – set LLM_BACKEND and 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.
  2. Schedule – GitHub Actions uses a cron that checks REPORT_TZ and runs the build only when the local hour matches REPORT_HOUR. Local installs register a system scheduler (cron, launchd or Windows Task Scheduler).
  3. Runnpm run daily fetches all sources, computes market indicators, calls the LLM for summaries and trading commentary, then renders a single index.html.
  4. Deploy – In GH‑Actions mode the HTML is automatically pushed to the gh‑pages branch and served via GitHub Pages. In local mode you can enable optional auto‑deploy to your own server via SCP by setting DEPLOY_HOST and DEPLOY_PATH.

Customization

  • Add/remove sources – Edit sources.config.json; each entry defines id, name, type (rss/api/scrape), url, category, locales, etc. Validate with npm 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_PATH to 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

Related

  • Project
  • Project
  • Project
  • Project
  • Project