Colin-XKL/FeedCraft
craft your feed at ease! 轻量级rss中间件, 提取全文, 翻译、摘要一站式服务
FeedCraft – AI‑enhanced RSS processing
What it is
- An open‑source Go service that sits between any RSS/Atom source and your reader. It can fetch, transform, and re‑publish feeds with optional AI‑driven steps.
Core ideas
| Concept | What it means |
|---|---|
| AtomCraft | A single processing step (e.g., fulltext, translate‑title, introduction). |
| FlowCraft | A pipeline of AtomCrafts chained together (e.g., fulltext → introduction → translate‑title). |
| Recipe | A named configuration that ties a FlowCraft to a specific input RSS URL, exposing a new RSS endpoint you can subscribe to. |
Key features
- AI‑powered transformations – plug in any OpenAI‑compatible LLM (OpenAI, Ollama, Gemini, etc.) and write custom prompts for:
- Summarising articles (
introduction,summary) - Translating titles or full content (
translate‑title,translate‑content,translate‑content‑immersive) - Cleaning/beautifying text (
beautify-content,ignore‑advertorial)
- Summarising articles (
- Full‑text extraction – plain (
fulltext) or browser‑rendered (fulltext‑plus) for sites that rely on JavaScript. - Portable mode – prepend a short prefix to any RSS URL and get instant processing without a dedicated deployment.
- Dock (advanced) mode – run a persistent instance with a web UI where you can create and manage Recipes, view before/after comparisons, and edit prompts.
- HTML/JSON/Search → RSS generator – turn arbitrary web pages, JSON API responses (including raw
curlcommands), or search results into a proper RSS feed. - Built‑in UI – visual editor for AtomCrafts, recipe manager, and a feed‑comparison tool.
Typical workflow
- Deploy FeedCraft (Docker‑compose is the recommended method).
- Set environment variables for:
- Browser rendering service (
FC_BROWSER_PROVIDER+ endpoint) – needed forfulltext‑plus. - Redis (caching, queueing).
- LLM endpoint, key, model, and type (
FC_LLM_API_*).
- Browser rendering service (
- Define a Recipe via the UI or by calling the HTTP API, selecting the desired AtomCrafts or a custom FlowCraft.
- Subscribe to the generated RSS URL, e.g.
The service will fetch the original feed, translate each title with the configured LLM, and return a new RSS stream.https://feed-craft.example.com/craft/translate-title?input_url=https://feeds.feedburner.com/visualcapitalist
Deployment
- Docker image:
ghcr.io/colin-xkl/feed-craft(also available on Docker Hub). - Minimal
docker‑compose.ymlspins up the app, a Redis container, and a browserless‑chrome container for headless rendering. - Default admin credentials are
admin / adminadmin– change them immediately. - Environment variables let you switch between portable (single‑request) and dock (persistent UI) modes.
AI integration details
- The service does not ship any model; it forwards prompts to any endpoint that follows the OpenAI
/v1/chat/completionscontract. - You can set a default target language (
FC_DEFAULT_TARGET_LANG) so translation crafts automatically know which language to output. - Prompt customization is exposed in the UI, allowing you to fine‑tune how the LLM summarises or translates content.
Who might use it
- RSS power users who want clean, full‑text articles without ads.
- Multilingual readers who need on‑the‑fly translation of foreign‑language feeds.
- Content curators who want AI‑generated summaries to skim large feeds quickly.
- Developers building downstream services that consume enriched RSS (e.g., newsletters, chat‑bot feeds).
License
- GPL‑v3, so you can run, modify, and redistribute the software as long as you keep the same license for derivatives.
Bottom line: FeedCraft is a self‑hostable, Go‑based middleware that turns ordinary RSS feeds into AI‑enhanced, full‑text, translated, or summarised streams, with a visual UI for building custom processing pipelines. It fits squarely in the AI‑augmented tooling space and can be deployed with a single Docker‑Compose file.
Related
- Project
- Project
- Project
- Project
- Project