Hacker Podcast – AI-generated Chinese Hacker News Daily

Automatically fetches Hacker News hot stories, generates Chinese summaries and narration with AI, and converts them into podcasts via TTS — so you can keep up with tech news on the go.

Stars
★ 2.6k
Last updated
6d ago
License
AGPL-3.0
Primary language
TypeScript

At a glance

How it runs
Self-hosted serviceWeb app
Works with
Platform-specificOpenAI API
Cost
Free software; you pay for model usage
Setup effort
High · needs real infrastructure
You'll need
Node.jspnpmCloudflare WorkersCloudflare R2Cloudflare KVOpenAI API keyShell / CLINetwork accessLocal filesystem
Typical use
Developers who want to catch up on Hacker News highlights while commuting or doing chores can subscribe via RSS or a podcast app to listen to Chinese summaries.
Not a fit if
  • Teams avoiding Cloudflare vendor lock-in
  • Developers needing fully local debugging
  • Users unwilling to pay ongoing OpenAI API costs

What does this agent do, and when should you use it?

This project is an automated podcast generator running on Cloudflare Workers. It periodically scrapes top articles from Hacker News, uses the OpenAI API to produce Chinese summaries and narration scripts, synthesizes audio via TTS, stores the audio in Cloudflare R2 and metadata in KV, and serves the content through a web interface and an RSS feed. The codebase consists of a Worker (responsible for fetching, processing, and audio generation) and a web app built with vinext (Vite + React Server Components) for presentation and RSS. The project supports multiple podcast platforms, including Apple Podcasts, Xiaoyuzhou, and Spotify. The whole pipeline is fully automated and updated daily, ideal for users who want to consume tech news as audio.

The project uses Cloudflare Workflows to schedule a trigger; the Worker fetches hot articles from Hacker News, invokes the OpenAI API (configured via OPENAI_API_KEY) to generate Chinese summaries and narration text, and then converts the text to speech using Edge TTS. The resulting audio files are saved to Cloudflare R2 and article metadata to KV. The web app (built with vinext) provides a public web page and an RSS feed, which users can subscribe to via podcast clients. Deployment requires Cloudflare's R2, KV, Workflows, and Workers environment, along with environment variables such as OPENAI_API_KEY, HACKER_PODCAST_WORKER_URL, and HACKER_PODCAST_R2_BUCKET_URL.

  1. Developers who want to catch up on Hacker News highlights while commuting or doing chores can subscribe via RSS or a podcast app to listen to Chinese summaries.
  2. Users who prefer a hands-off daily tech news digest can deploy this service to get automatic updates without any manual effort.
  3. Podcast enthusiasts can directly subscribe to the existing feed on Apple Podcasts, Xiaoyuzhou, or Spotify.
  4. Developers interested in learning Cloudflare Workers, Workflows, and R2/KV integration can use this project as a working example.
  5. Content creators looking to distribute Chinese tech content can fork and adapt this project to build their own niche podcast.

How do you install or deploy this agent?

You need Node.js and pnpm, plus a Cloudflare account. Clone the repository and run pnpm install to install dependencies. Then configure environment variables: create .env.local in the root with NODE_ENV=development and NEXT_STATIC_HOST=http://localhost:3000/static; in worker/.env.local, set HACKER_PODCAST_WORKER_URL, HACKER_PODCAST_R2_BUCKET_URL, OPENAI_API_KEY, OPENAI_BASE_URL, and OPENAI_MODEL. Next, create an R2 bucket and a KV namespace in Cloudflare and update the corresponding values in wrangler.jsonc. Finally, set the production environment variables using pnpx wrangler secret put commands and deploy both the Worker and the web app.

How do you use this agent?

After deployment, the system runs daily automatically. For local development, run pnpm dev:worker to start the Worker and manually trigger the workflow with curl -X POST http://localhost:8787; also run pnpm dev to start the web page. In production, users access the deployed web page or subscribe to the RSS feed to listen. Note: Edge TTS may hang locally, so comment out the relevant code for debugging; audio merging relies on Cloudflare's browser rendering and is not supported locally.

What are this agent's strengths and limitations?

Pros
  • Fully automated pipeline that fetches, generates, and publishes without manual intervention.
  • Supports multiple listening channels: web, RSS, Apple Podcasts, Xiaoyuzhou, Spotify, etc.
  • Runs on Cloudflare Workers with R2/KV, eliminating server management and scaling easily.
  • Open source on GitHub, enabling community contributions and customization.
Limitations
  • Locks you into the Cloudflare ecosystem (Workers, R2, KV, Workflows), making migration to other platforms costly.
  • Requires an OpenAI API key, incurring ongoing usage costs for every generation.
  • Local development is not fully supported (TTS and audio merging are restricted), requiring remote debugging.
  • Deployment involves many environment variables and cloud resources, raising the barrier for beginners.

How does this agent compare with similar options?

The project draws design inspiration from the open-source Podify theme but is functionally focused on automated Hacker News Chinese podcast generation, differing from Podify's general-purpose positioning.

Key facts side by side with the most closely related agents.

Agent Source review Form / cost Stars Updated Language Full support on
Hacker Podcast – AI-generated Chinese Hacker News Daily This agent 40 · Major gaps Self-hosted serviceFree + model costs ★ 2.6k 6d ago TypeScript OpenAI API
LocalAI – Open-Source AI Engine 53 · Major gaps Self-hosted serviceFree ★ 50k today Go OpenAI API · Claude API
OpenClaw Chinese Edition 29 · Major gaps CLIFree + model costs ★ 3.8k 3d ago JavaScript OpenAI API · Claude API
ProAgent Workflow Automation 28 · Major gaps CLIFree + model costs ★ 864 2y ago Python —

How does FollowAgents rate this agent?

FollowAgents source review · FARS-2.1
Major gaps
40/ 100 5-point scale 2.0 / 5
Trust 7/29
Reliability 6/14
Adaptability 9/18
Convention 8/18
Effectiveness 7/13
Verifiability 3/8
Why each dimension lost points
Trust7 / 29 · 1.2/5

Evidence shows the project uses Cloudflare Workers deployment, requiring multiple environment variables (e.g., OPENAI_API_KEY), but no least-privilege principle is stated. User confirmation is absent; no interactive confirmation steps. Data flow transparency is partial: README describes workflow but not detailed data flow and storage locations. Sensitive data handling: API keys are handled as environment variables but no encryption or protection measures are mentioned. Dependency security: multiple dependencies but no security audit or vulnerability scanning evidence. External effects: project fetches external sites and calls AI services, but impact on third parties is not discussed. Rollback mechanism not mentioned. Source attribution: README acknowledges Podify but does not clarify code provenance and license compatibility.

Reliability6 / 14 · 2.1/5

Self-consistency: README workflow is mostly consistent with code structure, but some inconsistencies exist, e.g., environment variable names may differ between README and code. Dependency availability: many dependencies but no lock file or version pinning strategy. Failure messages: no detailed error handling or user-friendly failure messages in code.

Adaptability9 / 18 · 2.5/5

Audience and scenarios: clearly targets Chinese users, provides podcast subscription and web access. Capability boundaries: supported platforms and limitations not clearly stated. Trigger precision: workflow is scheduled but specific schedule configuration not described. Environment fit: local development and deployment guides provided, but relies on Cloudflare-specific services, limiting other environments.

Convention8 / 18 · 2.2/5

Information architecture: README is well-structured with features, tech stack, workflow, development and deployment guides. Install notes: installation and configuration steps provided but troubleshooting missing. Naming stability: project name and version exist but no changelog. Examples and FAQ: missing examples and FAQ. Known limitations: README mentions Edge TTS may hang during local debugging but not comprehensive. License: AGPL-3.0 license file present. Versioning and changelog: version in package.json but no CHANGELOG. Maintenance responsibility: maintainers or contribution guidelines not clearly stated.

Effectiveness7 / 13 · 2.7/5

Output usability: RSS and web access provided, output format clear. Marginal value: provides Chinese podcast, some value. Cost benefit: relies on multiple paid services (OpenAI API) but no cost estimation.

Verifiability3 / 8 · 1.9/5

Claim traceability: some claims in README have links but no detailed evidence. Cross-source corroboration: no third-party verification. Fact-inference separation: facts and inferences not clearly distinguished.

Risks and how to mitigate them
  • Not found in source: confirmation before actingTurn on (or add) a confirmation step before it acts, and try it in a sandbox or test environment before real data.
  • Not found in source: rollback or recovery pathBack up first, or work on a git branch or snapshot, so its changes can be undone.
  • Project relies on multiple external services (OpenAI API, Cloudflare R2/KV), API key security is a concern.
  • No user confirmation mechanism; automatic fetching and content generation may raise copyright issues.
  • Edge TTS may hang during local development; need to comment out relevant code.
Evidence confidence: Low Reviewed Aug 11, 2026 Reviewed revision 461837e9d88a New commits since this review; the score may not cover them
See the full review method →

FAQ

What are the running costs of this project?
You need to pay for OpenAI API calls and Cloudflare storage and request fees, but personal small-scale use may fall within free tiers. Check official pricing for details.
What happens if the OpenAI API is unavailable?
The content generation step fails, causing the day's podcast not to be produced and the workflow to error. There is no fallback generator.
How do I update the code after deployment?
Pull the latest code and rerun the deploy commands; Cloudflare Workers will update automatically.
Can I customize the sources or output language?
You would need to modify the fetching logic and prompts in the code; currently it only supports Hacker News and Chinese output.
What is the audio quality like?
It uses Edge TTS, which sounds clear but not lifelike. You can replace the TTS service for higher quality if needed.
View on GitHub ↗ Install ↓

Related agents