官方套件 · 自動化與基礎架構

把 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 bytes 內,符合 Free 方案 4 KB 的上限;會先縮短摘要。完整文章請從 item.link 取得。
  • 不想自己跑服務?用 n8n、Make、Activepieces 或 Node-RED 的 RSS 觸發器接上我們的 Hibira 節點,也能做到一樣的事,由 workflow 輪詢。
  • 只轉發你有權使用的 feed,並遵守各來源網站的條款。
  • 在 Free 方案下,若要讓主控台即時更新,請把主控台的網址(例如 http://localhost:8080)加入應用程式的允許來源。
  • Free 方案需要把頁面載入的每個來源都加進應用程式的「允許的來源」(開發時是 http://localhost:3000,之後是您的網域)。"*" 需要付費方案。

請使用儀表板中的應用程式 Key;Secret 只放在你的伺服器上。頻道、事件與授權端點的用法和 Pusher 完全相同。 免費建立帳號 →