System AtomCrafts
FeedCraft comes with a set of built-in “AtomCrafts” that perform specific processing steps on your feeds. You can chain these AtomCrafts together in a FlowCraft to create powerful pipelines.
Content Acquisition & Repair
Section titled “Content Acquisition & Repair”These atoms help you fetch full content or fix common feed issues.
fulltext
Section titled “fulltext”Extracts the full content of the article from the original webpage.
- Use case: When the RSS feed only provides a summary or snippet.
- Mechanism: Uses a standard HTTP client to fetch the page and an algorithm to extract the main content. Fast and lightweight.
fulltext-plus
Section titled “fulltext-plus”Extracts full content using a headless browser (Puppeteer).
- Use case: For websites that require JavaScript to render content or have strong anti-bot protections.
- Mechanism: Connects to the configured Browserless/Puppeteer service to render the page. Slower but more robust.
Simple proxy for the feed.
- Use case: When you just want to forward the original feed without modification, or use FeedCraft as a central gateway.
guid-fix
Section titled “guid-fix”Replaces the RSS item GUID with an MD5 hash of the item’s content.
- Use case: Some feeds change their GUIDs frequently even when content hasn’t changed, causing duplicate unread items in readers. This atom stabilizes the GUID based on content.
relative-link-fix
Section titled “relative-link-fix”Converts relative links (e.g., <a href="/about">) in the content to absolute links (e.g., <a href="https://example.com/about">).
- Use case: Essential when extracting full content, as relative links will break when viewed in an RSS reader.
cleanup
Section titled “cleanup”Cleans up the HTML content to remove clutter.
- Use case: Improving readability by removing classes, styles, and empty tags.
Filtering
Section titled “Filtering”Control which items make it into your final feed.
Limits the number of items in the feed.
- Parameters:
num(default:10): The maximum number of items to keep.
time-limit
Section titled “time-limit”Filters out items that are older than a specific number of days.
- Parameters:
days(default:30): Max age of articles in days.
keyword
Section titled “keyword”Filters items based on keywords in the title or content.
- Parameters:
keyword: The Regex pattern to match.mode:keep(default) to keep matching items, orblockto remove them.target:title,content, orall(default).
AI Enhancement
Section titled “AI Enhancement”Use Large Language Models (LLM) to transform and enrich your content.
translate-title
Section titled “translate-title”Translates the article title to your target language.
- Parameters:
prompt: Custom prompt. Defaults to a standard translation prompt. Supports{{.TargetLang}}placeholder.
translate-content
Section titled “translate-content”Translates the entire article content, replacing the original.
- Parameters:
prompt: Custom prompt. Supports{{.TargetLang}}.
translate-content-immersive
Section titled “translate-content-immersive”Bilingual translation. Appends the translation after each paragraph of the original text.
- Parameters:
prompt: Custom prompt.
summary
Section titled “summary”Generates a summary of the article and prepends it to the content.
- Parameters:
prompt: Custom prompt for summarization.
introduction
Section titled “introduction”Generates a short introduction or “lead-in” for the article.
- Parameters:
prompt: Custom prompt.
beautify-content
Section titled “beautify-content”Re-formats the article using LLM to fix layout, remove ads, and standardizing Markdown, then converts back to clean HTML.
- Parameters:
prompt: Instructions for the “editor” persona.
AI Filtering
Section titled “AI Filtering”Advanced filtering using semantic understanding.
ignore-advertorial
Section titled “ignore-advertorial”Uses LLM to detect if an article is an advertorial or soft advertisement and removes it.
- Parameters:
prompt-for-exclude: A prompt that should returntrueif the item is an ad.
llm-filter
Section titled “llm-filter”Generic LLM-based filter. You define the condition for exclusion.
- Parameters:
filter_condition: A natural language question/condition. If the LLM answers “yes” (true), the item is removed.- Example: “Is this article about sports?” (Removes sports articles).