npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2026 – Pkg Stats / Ryan Hefner

@gravito/zenith

v1.1.3

Published

Gravito Zenith: Zero-config control plane for Gravito Flux & Stream

Downloads

153

Readme

@gravito/zenith (Flux Console) 🧭

專為 Gravito Flux 與 Stream 設計的零配置控制面板與監控儀表板。

@gravito/zenith (又稱為 Flux Console) 是 Gravito 非同步生態系統的官方管理界面。它為您的隊列 (Queues)、工作者 (Workers) 以及背景任務提供即時的可視化監控,讓您能夠在零配置的情況下實現強大的營運控制。

🌟 核心特性

  • 📊 即時監控:透過動態更新的圖表,即時掌握任務吞吐量、錯誤率與隊列延遲。
  • 👷 工作者健康狀況:追蹤集群中所有活躍的 Gravito 與 Laravel Worker 的 CPU、記憶體佔用與運行時間。
  • 🛠️ 隊列管理:隨時暫停或恢復隊列,並深入檢查處於等待 (Waiting)、延遲 (Delayed) 或失敗 (Failed) 狀態的任務。
  • ♻️ 死信隊列 (DLQ) 操作:直接從 UI 批量重試或清除失敗任務,一鍵搞定。
  • 🔍 任務審計與搜尋:對存儲於 SQL (SQLite/MySQL) 或 Redis 中的歷史任務進行深度搜尋。
  • 📜 營運日誌封存:為 Worker 活動與系統事件提供持久化存儲與全文檢索。
  • 🚨 自動化告警:原生整合 Slack、Discord 與電子郵件,當錯誤率飆升或隊列堆積時自動通知。
  • 📅 排程管理:完整的 UI 界面來管理並手動觸發您的 @gravito/stream Cron 定時任務。

📦 安裝

bun add @gravito/zenith

或者使用 bunx 直接執行:

bunx zenith

🚀 快速上手

1. 啟動儀表板

您可以使用內建的 CLI 啟動控制台,它會自動嘗試連接至您的本地 Redis。

# 在預設埠 3000 啟動
bunx zenith start

# 透過環境變數自定義配置
REDIS_URL=redis://production:6379 DB_DRIVER=mysql zenith start

2. 配置監控代理

在您的 Gravito 應用程式中註冊 Pulse 代理程式,以便向 Zenith 回報健康指標。

import { PlanetCore } from '@gravito/core'
import { OrbitStream } from '@gravito/stream'
import { QuasarAgent } from '@gravito/quasar' // 指標回報器

const core = await PlanetCore.boot({
  orbits: [
    OrbitStream.configure({ /* ... */ }),
  ],
})

// 開始回報數據至 Zenith
const agent = new QuasarAgent({ service: 'orders-worker' })
await agent.start()

🛠️ 配置選項

| 環境變數 | 預設值 | 說明 | |---|---|---| | PORT | 3000 | 儀表板運行的埠號。 | | REDIS_URL | redis://localhost:6379 | 隊列後端的連接字串。 | | DB_DRIVER | sqlite | 歷史任務的持久化驅動 (sqlitemysql)。 | | AUTH_PASSWORD | none | 若設置,將為 UI 界面啟用密碼保護。 |

🧩 儀表板區塊

  • 總覽 (Overview):集群整體的健康狀況與任務吞吐量。
  • 隊列 (Queues):各別隊列的詳細狀態與任務檢查。
  • 工作者 (Workers):運行中的進程節點列表及其資源佔用。
  • Pulse:所有服務實例的即時心跳監控。
  • 排程 (Schedules):Cron 任務定義與執行歷史。
  • 指標 (Metrics):用於容量規劃的長期歷史數據。

🤝 參與貢獻

我們歡迎任何形式的貢獻!詳細資訊請參閱 貢獻指南

📄 開源授權

MIT © Carl Lee