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)
  • 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 curl commands), or search results into a proper RSS feed.
  • Built‑in UI – visual editor for AtomCrafts, recipe manager, and a feed‑comparison tool.

Typical workflow

  1. Deploy FeedCraft (Docker‑compose is the recommended method).
  2. Set environment variables for:
    • Browser rendering service (FC_BROWSER_PROVIDER + endpoint) – needed for fulltext‑plus.
    • Redis (caching, queueing).
    • LLM endpoint, key, model, and type (FC_LLM_API_*).
  3. Define a Recipe via the UI or by calling the HTTP API, selecting the desired AtomCrafts or a custom FlowCraft.
  4. Subscribe to the generated RSS URL, e.g.
    https://feed-craft.example.com/craft/translate-title?input_url=https://feeds.feedburner.com/visualcapitalist
    
    The service will fetch the original feed, translate each title with the configured LLM, and return a new RSS stream.

Deployment

  • Docker image: ghcr.io/colin-xkl/feed-craft (also available on Docker Hub).
  • Minimal docker‑compose.yml spins 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/completions contract.
  • 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