持久事件傳遞
事件會在開始分發前寫入 PostgreSQL,接著至少傳遞一次。操作人員可以手動重試失敗的傳遞,也可以重播完整事件。
Sparrow 是開源、自架式 webhook 傳遞伺服器,適用於需要將事件發佈至多個 HTTP 消費者的系統。應用程式會註冊事件類型與 webhook,透過 REST API 推送事件發生資訊,再由 Sparrow 將事件分發至相符的訂閱。
伺服器會在開始傳遞前將事件持久化至 PostgreSQL、簽署傳出的請求、記錄傳遞結果,並透過退避機制執行分類重試。它將傳遞服務、worker 管線、內嵌儀表板與 API 文件整合在單一 Go 二進位檔中,並以 PostgreSQL 作為必要資料庫。
事件會在開始分發前寫入 PostgreSQL,接著至少傳遞一次。操作人員可以手動重試失敗的傳遞,也可以重播完整事件。
Sparrow 會區分可重試的失敗(包括 5xx 回應、逾時、429 回應及連線遭拒)與永久性失敗,例如許多 4xx、DNS 及 TLS 錯誤。
每次傳遞都會依照 Standard Webhooks 慣例進行簽署。預設使用 HMAC-SHA256;個別 webhook 可改用 Ed25519。密鑰會以 AES-256-GCM 進行信封加密後靜態儲存。
傳遞管線支援每個訂閱的 Go 範本轉換、每個 webhook 的速率限制、webhook 健康狀態追蹤,以及傳遞嘗試的稽核軌跡。
OpenTelemetry 追蹤會透過佇列工作傳遞,而結構化記錄與指標可透過 OTLP 匯出。內嵌儀表板會顯示傳遞記錄與每個 webhook 的健康狀態。
伺服器以單一 Go 二進位檔發行,內嵌 UI,並僅以 PostgreSQL 作為核心資料庫相依項目。River worker 使用相同資料庫,且遷移會在啟動時自動執行。
產品或後端可以發布一次 `order.created` 或 `invoice.created` 等事件,讓 Sparrow 將其分發至每個相符的消費者 webhook,而不必另外實作傳遞佇列。
團隊可以提供具範圍限制且會過期的消費者入口連結,讓個別消費者註冊端點、瀏覽事件目錄,以及檢視或重試自己的傳遞記錄,而不必取得管理員 API 金鑰。
操作人員可以使用傳遞記錄、錯誤類別、webhook 健康狀態、追蹤資訊及重播或重試控制項,診斷無法使用或設定錯誤的接收方並恢復傳遞。
來源可以發布經驗證的 Stripe 或 GitHub webhook,而 recipe 與 sink satellite 可以將事件連接至 Slack、Discord、PagerDuty、ntfy、ClickHouse、SMTP、S3/MinIO 或 OTLP logging 等目的地。
開發人員可以在整合工作期間執行 CLI listener 或 webhook.site、檢查已簽署的信封、在瀏覽器中預覽 recipe 轉換,並使用 REST API 或內嵌文件測試工作流程。
有記錄的本機設定使用 Docker Compose。下載 Compose 檔案,執行 `docker compose up -d`,然後在 `http://localhost:8080` 開啟網頁 UI。Compose 設定包含 PostgreSQL,並會在啟動時自動執行遷移。針對正式環境,安裝文件指出應設定實際的加密金鑰與資料庫,而不是使用本機評估的預設值。
註冊事件類型、註冊包含一或多個事件名稱的 webhook,然後將事件 POST 至相關的消費者端點。Sparrow 會持久化事件、比對訂閱、建立傳遞任務,並在背景中傳送已簽署的 HTTP POST 請求。可透過 API 或內嵌 UI 檢查傳遞狀態。
Sparrow 至少傳遞一次事件。失敗的傳遞會分類為伺服器錯誤、逾時、速率限制、連線遭拒、DNS 錯誤及 TLS 錯誤等類別。可重試的失敗會使用指數退避,而永久性失敗則會停止;操作人員也可以手動重試傳遞並重播事件。
預設情況下,傳遞會使用每個 webhook 專屬的密鑰搭配 HMAC-SHA256 及 Standard Webhooks 標頭。webhook 也可以改用 Ed25519,接收方可使用公開金鑰進行驗證。webhook 密鑰會以 AES-256-GCM 進行信封加密後靜態儲存。
Sparrow 預設會封鎖私有 IP 與中繼資料 IP 位址,以防範 SSRF。本機評估可透過 `SPARROW_ALLOW_PRIVATE_NETWORKS=true` 啟用私有網路傳遞;文件也指出,評估用 Compose 檔案已啟用此設定。
ByteAsk 是專為 C 與 C++ 打造的終端機優先 AI coding agent,先編輯儲存庫再用真實編譯器、除錯器、sanitizer 與測試驗證變更,並提供免費方案與付費方案。
Epherem 是適用於 Lovable、Bolt、v0、Replit、Cursor 與 Claude Code 等 AI 程式設計工具打造網頁應用程式的靜態安全掃描器,檢查原始碼與相依套件中的常見安全錯誤,分類呈現結果並提供修正建議,無須執行應用程式。
CreateOS Sandbox 是以 Firecracker micro-VM 執行程式與 agent 工作負載的隔離運算環境,支援私有網路、SDK、CLI 與 MCP 程式化控制。
GitBot 是以瀏覽器為基礎的本機工作區,可使用 Claude Code、Codex 或 OpenCode 建立可重複使用的程式設計機器人,並在儲存庫資料夾中執行,支援持續執行緒與可設定權限。
hob 是一個獨立的 coding agents 工作區,整合 agent sessions、終端機、歷史紀錄與後續工作,並維持你既有的工具與供應商設定。適合想保有本機路由、歷史與工作區結構控制權的開發者。
Ably Chat 是一個聊天 API 平台,適合打造自訂即時聊天應用程式。支援聊天室訊息、輸入中提示、在線狀態、表情回應與訊息更新,並提供依使用量計費選項。