跳转到内容

高级定制

对于高级用户,FeedCraft 提供了一个管理后台来定制 RSS 的处理流程。

  1. 使用 Docker 部署 FeedCraft(参考快速开始)。
  2. 浏览器访问 http://你的服务器IP:10088
  3. 使用默认凭据登录:
    • 用户名:admin
    • 密码:adminadmin (请登录后立即修改密码)

AtomCraft 是最小的处理单元。除了内置的原子工艺(如 translate-title, fulltext),你可以基于模版创建自定义的原子工艺。

示例:自定义翻译 Prompt 你可以基于 translate-content 模版创建一个名为 translate-to-french 的新原子工艺,并在参数中填入自定义的 Prompt,指示 AI 将内容翻译成法语。

FlowCraft 是多个 AtomCraft 的组合序列。这允许你将多个操作串联起来。

示例:全文 + 摘要 + 翻译 你可以定义一个名为 digest-and-translate 的组合工艺,包含以下步骤:

  1. fulltext (提取正文)
  2. summary (生成摘要)
  3. translate-content (翻译内容)

你可以在后台的 FlowCraft 页面创建和管理组合工艺。 编辑器允许你添加原子工艺并安排它们的执行顺序。使用箭头按钮 (⬆️/⬇️) 调整顺序,或使用垃圾桶图标将其从流程中移除。(See 2b2439b)

Recipe 将特定的 RSS 源 URL 与某个 原子工艺 (AtomCraft) 或组合工艺 (FlowCraft) 绑定。这允许你创建一个持久化的、经过定制的订阅源 URL。

示例:

  • 输入 URL: https://news.ycombinator.com/rss
  • 处理器: digest-and-translate (上面创建的工作流)
  • 结果: 你会得到一个新的 FeedCraft URL,订阅它即可获得带全文、摘要和翻译的 Hacker News。

你可以在 docker-compose.yml 中使用环境变量配置 FeedCraft。

  • FC_PUPPETEER_HTTP_ENDPOINT: Browserless/Chrome 实例的地址。fulltext-plus 功能必须。
  • FC_REDIS_URI: Redis 连接地址。用于缓存,加快处理速度并减少 AI Token 消耗。
  • FC_LLM_API_KEY: OpenAI 或兼容服务(如 DeepSeek, Gemini 等)的 API Key。
  • FC_LLM_API_MODEL: 默认使用的模型(如 gemini-pro, gpt-3.5-turbo)。支持多个模型: 你可以提供一个逗号分隔的模型列表(例如 gpt-3.5-turbo,gpt-4)。FeedCraft 会为每个请求随机选择一个模型,如果调用失败,会自动重试列表中的其他模型。
  • FC_LLM_API_BASE: API 接口地址。如果是兼容 OpenAI 的 API,通常以 /v1 结尾。
  • FC_LLM_API_TYPE: (可选) openai (默认) 或 ollama.

为了发挥 FeedCraft 的全部功能,建议搭配 Redis 和 Browserless 部署。

version: "3"
services:
app.feed-craft:
# ... (参考快速开始)
environment:
FC_PUPPETEER_HTTP_ENDPOINT: http://service.browserless:3000
FC_REDIS_URI: redis://service.redis:6379/
# ...
service.redis:
image: redis:6-alpine
container_name: feedcraft_redis
restart: always
service.browserless:
image: browserless/chrome
container_name: feedcraft_browserless
environment:
USE_CHROME_STABLE: true
restart: unless-stopped

服务默认监听在 80 端口,你也可以在同一网络下的其他容器中,使用 http://app.feed-craft/xxx 这样来进行访问(比如RSS 阅读器中通过这种方式来走内网通信订阅)。