EchoForge

語音與 Gemini 對話驅動的個人部落格發布系統

2026.03進行中GitHubDemo
Next.jsPythonWhisperOllamaNeon PostgresVercel

EchoForge

A bilingual (zh/en) audio content publishing platform. Upload audio files, let the pipeline transcribe and process them with AI, then publish polished articles in both languages.

What it does

  1. Upload an audio file via the admin panel
  2. The pipeline transcribes the audio, uses a local LLM to refine and translate the content, and writes the result back
  3. Review and publish the post — it appears on the public-facing site in both Chinese and English

Tech stack

LayerTechnology
Frontend / APINext.js (App Router), deployed on Vercel
DatabaseNeon PostgreSQL
File storageVercel Blob
AuthNextAuth.js + Google OAuth
AI pipelineOllama (Qwen2.5 32B), runs locally

Architecture

The pipeline runs on a local machine and polls the database every 30 seconds for new jobs. Vercel and the pipeline never communicate directly — Neon DB is the only bridge. This keeps the local LLM unexposed and prevents Vercel functions from timing out on long inference tasks.

See ARCHITECTURE.md for the full system diagram.

Environment variables

VariableDescription
DATABASE_URLNeon PostgreSQL connection string
AUTH_GOOGLE_IDGoogle OAuth client ID
AUTH_GOOGLE_SECRETGoogle OAuth client secret
AUTH_SECRETNextAuth.js secret
BLOB_READ_WRITE_TOKENVercel Blob token
ALLOWED_EMAILAdmin email address (only this account can log in)

Development

npm install
npm run dev

Open http://localhost:3000.

License

MIT

EchoForge