官方包 · 自动化与基础设施

把 RSS 与 RSSHub 的 feed 变成实时事件

RSS、Atom 或 JSON Feed(包括任何 RSSHub 路由)一有新条目,就实时送到打开着的浏览器和 App。feed-relay 是一个小型开源 Go 服务,和你的 RSSHub 放在一起运行。

  • 每个新条目可以变成 channel 事件、推送通知或收件箱通知,并且只发送一次,重启也不会重发。
  • 带 WebSub hub 的 feed(例如 YouTube 频道)几秒内就会送达;其他 feed 用 ETag 和 Last-Modified 轮询,没有更新时几乎没有成本。
  • 首次启动只记住 feed 里已有的条目,不会一启动就刷屏。
  • 内置 Web 控制台,可新增、预览、暂停和测试 feed;另有 MCP 服务器,让 AI agent 也能管理 feed。每次变更都会通过你的 Hibira 应用实时送到打开着的控制台。
feed relay 控制台:粘贴 github.com/vercel/next.js/releases 即可找到对应的 RSSHub 路由,添加订阅源之前可先预览最新的版本发布。
feed relay 控制台:粘贴 github.com/vercel/next.js/releases 即可找到对应的 RSSHub 路由,添加订阅源之前可先预览最新的版本发布。

登录后,示例代码会自动填入您的集群主机。 登录

  1. 安装

    # docker-compose.yml, with HIBIRA_APP_ID, HIBIRA_APP_KEY and HIBIRA_APP_SECRET in .env
    services:
      rsshub:
        image: diygod/rsshub:latest
      feed-relay:
        image: ghcr.io/hibira-io/feed-relay:latest
        env_file: .env   # also ADMIN_PASSWORD for the console, MCP_TOKEN for /mcp
        environment:
          RSSHUB_URL: http://rsshub:1200
        ports:
          - "8080:8080"
        volumes:
          - ./feed-relay.yaml:/config/feed-relay.yaml:ro
          - relay-data:/data
    volumes:
      relay-data:
  2. 配置

    # feed-relay.yaml
    hibira:
      url: https://ws.hibira.io
      app_id: ${HIBIRA_APP_ID}
      key: ${HIBIRA_APP_KEY}
      secret: ${HIBIRA_APP_SECRET}
    feeds:
      - name: releases
        url: /github/release/hibira-io/pusher-server   # an RSSHub route
        channel: releases
      - name: go blog
        url: https://go.dev/blog/feed.atom
        channel: news
        interval: 10m
  3. 使用

    import Pusher from 'pusher-js';
    
    const pusher = new Pusher('YOUR_APP_KEY', {
      cluster: 'hkg',
      wsHost: 'ws.hibira.io',
      enabledTransports: ['ws', 'wss'],
    });
    
    // { feed: { name, title }, id, title, link, summary, author, image, published }
    pusher.subscribe('releases').bind('new-item', (item) => {
      console.log(item.feed.title, item.title, item.link);
    });

开始之前

  • 应用密钥只会在创建应用或轮换密钥时显示一次。请只放在服务器上,不要放进浏览器或游戏的构建包。
  • 每个事件控制在 3,500 字节以内,符合 Free 套餐 4 KB 的上限;会先缩短摘要。完整文章请从 item.link 获取。
  • 不想自己运行服务?用 n8n、Make、Activepieces 或 Node-RED 的 RSS 触发器接上我们的 Hibira 节点,也能做到同样的事,由工作流轮询。
  • 只转发你有权使用的 feed,并遵守各来源网站的条款。
  • 在 Free 套餐下,若要让控制台实时更新,请把控制台的地址(例如 http://localhost:8080)加入应用的允许来源。
  • Free 套餐需要把页面加载的每个来源都加入应用的“允许的来源”(开发时是 http://localhost:3000,之后是您的域名)。"*" 需要付费套餐。

请使用控制台中应用的 Key;Secret 只放在你的服务器上。频道、事件与授权端点的用法与 Pusher 完全相同。 免费创建账号 →