You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
**FeedCraft** is a simple, powerful RSS feed processing tool.
21
21
It can serve as middleware to handle your RSS feeds; you can use it to extract the main text, perform intelligent translation, generate article summaries through AI, filter articles using natural language, and more.
22
-
It includes a built-in visual RSS generator (HTML/Curl/Search to RSS) that can turn web pages, API responses, or search results into RSS feeds.
22
+
It includes a built-in visual RSS generator (HTML/JSON/Search to RSS) that can turn web pages, JSON API responses, or search results into RSS feeds.
23
23
24
24
**FeedCraft** 是一个简单、强大的 RSS 源处理工具.
25
25
他可以作为一个中间件处理你的 RSS 源, 你可以用它来提取正文、智能翻译、通过 AI 生成文章摘要、通过自然语言筛选文章等.
26
-
它内置了可视化 RSS 生成器 (HTML/Curl/Search to RSS),支持将网页、API (Curl) 或搜索结果转换为 RSS 订阅源。
26
+
它内置了可视化 RSS 生成器 (HTML/JSON/Search to RSS),支持将网页、JSON API (Curl) 或搜索结果转换为 RSS 订阅源。
27
27
28
28
## 核心特性
29
29
30
30
- 开源可自部署. 可以作为中间件与现有的任何 RSS 阅读器协同使用
31
31
- AI Power, 可以接入 Open AI 接口兼容的 LLM 对 RSS 进行处理, 可自定义 prompt
32
-
-**HTML/Curl/Search to RSS**: 内置可视化 RSS 生成器,支持将网页、API (Curl) 或搜索结果转换为 RSS 订阅源
32
+
-**HTML/JSON/Search to RSS**: 内置可视化 RSS 生成器,支持将网页、JSON API (支持 Curl 语句导入) 或搜索结果转换为 RSS 订阅源
Copy file name to clipboardExpand all lines: doc-site/src/content/docs/en/guides/advanced/customization.md
+3Lines changed: 3 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -65,12 +65,15 @@ You can configure FeedCraft using environment variables in `docker-compose.yml`.
65
65
66
66
-**FC_PUPPETEER_HTTP_ENDPOINT**: Address of the Browserless/Chrome instance. Required for `fulltext-plus`.
67
67
-**FC_REDIS_URI**: Redis connection address. Used for caching to speed up processing and reduce AI token consumption.
68
+
-**FC_HTTP_USER_AGENT_FEED**: (Optional) Default `User-Agent` for feed-style outbound requests, such as fetching RSS/XML resources. Search provider requests are temporarily grouped into this same rule.
69
+
-**FC_HTTP_USER_AGENT_HTML**: (Optional) Default `User-Agent` for HTML page fetches, such as fulltext extraction and the HTML-to-RSS tooling. **Note:** If the value contains spaces or parentheses, it must be enclosed in quotes.
68
70
-**FC_LLM_API_KEY**: API Key for OpenAI or compatible services (like DeepSeek, Gemini, etc.).
69
71
-**FC_LLM_API_MODEL**: Default model to use (e.g., `gemini-pro`, `gpt-3.5-turbo`). **Multiple Models Support:** You can provide a comma-separated list of models (e.g., `gpt-3.5-turbo,gpt-4`). FeedCraft will randomly select a model for each request and automatically retry with others if a call fails.
70
72
-**FC_LLM_API_BASE**: API endpoint address. For OpenAI-compatible APIs, usually ends with `/v1`.
71
73
-**FC_LLM_API_TYPE**: (Optional) `openai` (default) or `ollama`.
72
74
-**FC_LLM_MAX_CONCURRENCY**: (Optional) Global maximum concurrency for LLM requests (default: `3`). Limits concurrent API calls to prevent rate limits.
73
75
-**FC_DOMAIN_MAX_CONCURRENCY**: (Optional) Maximum concurrent requests per target domain during web scraping like fulltext extraction (default: `3`). Prevents overwhelming target servers.
76
+
-**LOG_LEVEL**: (Optional) Log level for the backend application (e.g., `info`, `debug`, `trace`). Overrides the default level set by `ENV`.
Copy file name to clipboardExpand all lines: doc-site/src/content/docs/en/guides/advanced/html-to-rss.md
+1-1Lines changed: 1 addition & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -11,7 +11,7 @@ sidebar:
11
11
FeedCraft includes a visual **HTML to RSS** tool that allows you to generate selectors for creating RSS feeds from websites that don't provide them natively.
12
12
13
13
:::note
14
-
This tool is designed for HTML pages. If you need to process a JSON API, use the [CURL to RSS](/en/guides/advanced/curl-to-rss/) instead.
14
+
This tool is designed for HTML pages. If you need to process a JSON API, use the [JSON to RSS](/en/guides/advanced/json-to-rss/) instead.
Copy file name to clipboardExpand all lines: doc-site/src/content/docs/en/guides/advanced/json-to-rss.md
+27-5Lines changed: 27 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,5 +1,5 @@
1
1
---
2
-
title: CURL to RSS
2
+
title: JSON to RSS
3
3
description: Convert any JSON API response into an RSS feed with jq selectors and optional templates.
4
4
sidebar:
5
5
order: 3
@@ -8,11 +8,11 @@ sidebar:
8
8
variant: success
9
9
---
10
10
11
-
FeedCraft includes a **CURL to RSS** tool that allows you to fetch data from JSON APIs, extract fields with `jq`, and optionally post-process them with templates before generating an RSS feed.
11
+
FeedCraft includes a **JSON to RSS** tool that allows you to fetch data from JSON APIs, extract fields with `jq`, and optionally post-process them with templates before generating an RSS feed.
12
12
13
13
## Overview
14
14
15
-
The CURL to RSS tool helps you:
15
+
The JSON to RSS tool helps you:
16
16
17
17
1.**Fetch** JSON data from an API endpoint (supporting custom headers and methods).
18
18
2.**Parse** the JSON structure using `jq` syntax, then optionally use templates to build the final RSS fields.
@@ -21,13 +21,13 @@ The CURL to RSS tool helps you:
21
21
22
22
## How to use
23
23
24
-
Navigate to **Worktable > Curl to RSS** in the admin dashboard.
24
+
Navigate to **Worktable > JSON to RSS** in the admin dashboard.
25
25
26
26
### Step 1: Request Configuration
27
27
28
28
You need to define how to fetch the JSON data.
29
29
30
-
-**Import from Curl**: You can paste a `curl` command to automatically populate the URL, method, headers, and body. This is useful if you copy the request from your browser's Developer Tools.
30
+
-**Import from cURL**: You can paste a `curl` command to automatically populate the URL, method, headers, and body. This is useful if you copy the request from your browser's Developer Tools.
31
31
-**Method**: Select `GET` or `POST`.
32
32
-**URL**: The API endpoint URL.
33
33
-**Headers**: Add any necessary headers (e.g., `Authorization`, `Content-Type`).
@@ -50,6 +50,28 @@ The tool uses **[jq](https://jqlang.github.io/jq/)** syntax for querying JSON, a
50
50
-**Date Selector**: (Optional) Path to the publication date.
51
51
-**Content Selector**: (Optional) Path to the full content or summary.
52
52
53
+
#### Using Templates (Optional)
54
+
55
+
You can use [Go Templates](https://pkg.go.dev/text/template) to further process extracted values.
56
+
57
+
**Available Variables:**
58
+
59
+
-`.Fields`: The parsed field values (e.g., `.Fields.Title`, `.Fields.Link`, `.Fields.Date`, `.Fields.Description`).
60
+
-`.Item`: The raw JSON item object (e.g., `.Item.id`, `.Item.author.name`).
61
+
62
+
**Built-in Functions:**
63
+
64
+
-`trimSpace`: Removes leading and trailing whitespace.
65
+
-`trim`: Removes specified leading and trailing characters.
66
+
-`default`: Provides a fallback value if the field is empty.
67
+
68
+
**Examples:**
69
+
70
+
-**Clean up whitespace in title**: `{{ .Fields.Title | trimSpace }}`
Copy file name to clipboardExpand all lines: doc-site/src/content/docs/en/guides/advanced/tools.md
+15Lines changed: 15 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -48,6 +48,21 @@ The **Craft Dependencies** (System Health) tool visualizes the internal relation
48
48
If you encounter errors like "Craft not found", use this tool to trace the broken link in your configuration.
49
49
:::
50
50
51
+
## System Runtime
52
+
53
+
The **System Runtime** (Observability) tool provides a comprehensive dashboard for monitoring the health and execution status of your resources.
54
+
55
+
-**Usage**:
56
+
1. Navigate to **Tools > System Runtime**.
57
+
-**Features**:
58
+
-**Resource Health**: View the current status (Healthy, Degraded, Paused) of Recipes and other components, including consecutive failures.
59
+
-**Execution Logs**: Track detailed execution history, success rates, and specific error types (e.g., Timeout, Network, Parse) across all runs.
60
+
-**System Notifications**: Review automated alerts regarding resource state transitions (e.g., when a Recipe becomes degraded). You can also subscribe to these alerts via the built-in RSS feed at `/system/notifications/rss`.
61
+
62
+
:::tip
63
+
If a Recipe fails repeatedly and becomes "Paused", you can use the System Runtime dashboard to manually "Resume" it after fixing the underlying issue.
Copy file name to clipboardExpand all lines: doc-site/src/content/docs/en/guides/start/concepts.md
+5Lines changed: 5 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -57,6 +57,11 @@ You can configure processors for a Topic Feed to automatically handle the combin
57
57
-**Limit**: Keeps only the most recent items.
58
58
59
59
**Managing Topic Feeds:**
60
+
61
+
:::caution
62
+
The Topic Feed feature is currently under active development. Its UI entry point in the admin dashboard has been temporarily hidden until the feature is stable and ready for general use.
63
+
:::
64
+
60
65
Navigate to **Worktable > Topic Feed** to create and manage topics.
61
66
62
67
-**Create**: Define a title, add multiple input URIs (e.g. `feedcraft://recipe/my-recipe` or external RSS URLs), and set your aggregator config.
0 commit comments