🚀 蜂鳴器(Brummer)
具備智能監控功能的終端用戶界面(TUI)開發助手
蜂鳴器(Brummer)是一款用於管理 npm、yarn、pnpm 和 bun 腳本的終端用戶界面(TUI)工具,它集成了 MCP 服務器,方便外部工具訪問。該工具提供智能日誌管理、實時監控功能,並能與開發工具無縫集成。
🚀 快速開始
你可以通過以下鏈接獲取完整的文檔和快速入門指南:
完整文檔請訪問:https://standardbeagle.github.io/brummer/
✨ 主要特性
- 多包管理器支持:自動檢測並使用 npm、yarn、pnpm 或 bun。
- 單倉多包支持:全面支持 pnpm 工作區、npm 工作區、yarn 工作區、Lerna、Nx 和 Rush。
- 多語言檢測:自動檢測 Node.js、Go、Rust、Java(Gradle/Maven)、.NET、Python、Ruby、PHP、Flutter 等語言的命令。
- 交互式 TUI:可瀏覽腳本、監控進程並實時查看日誌。
- 智能日誌管理:
- 自動檢測並優先處理錯誤。
- 具備日誌過濾和搜索功能。
- 檢測構建事件和測試結果。
- MCP 服務器集成:允許外部工具(如 VSCode、Claude Code 等):
- 訪問日誌輸出和錯誤信息。
- 異步執行命令。
- 監控進程狀態。
- 進程管理:可同時啟動、停止和監控多個進程。
- VS Code 任務:檢測並運行 .vscode/tasks.json 中的 VS Code 任務。
📦 安裝指南
快速安裝(單行命令)
🐧 Linux/macOS
curl -sSL https://raw.githubusercontent.com/standardbeagle/brummer/main/quick-install.sh | bash
或者使用 wget:
wget -qO- https://raw.githubusercontent.com/standardbeagle/brummer/main/quick-install.sh | bash
🪟 Windows (PowerShell)
irm https://raw.githubusercontent.com/standardbeagle/brummer/main/quick-install.ps1 | iex
包管理器安裝
📦 NPM/NPX
npx @standardbeagle/brum
npm install -g @standardbeagle/brum
yarn global add @standardbeagle/brum
pnpm add -g @standardbeagle/brum
🐹 Go Install
go install github.com/standardbeagle/brummer/cmd/brum@latest
從源代碼安裝
從源代碼構建
git clone https://github.com/standardbeagle/brummer
cd brummer
make install-user
make install
./install.sh
go build -o brum ./cmd/brum
mv brum ~/.local/bin/
💻 使用示例
基礎用法
在包含 package.json 文件的目錄中,運行以下命令:
brum
選項
brum [flags]
Flags:
-d, --dir string 包含 package.json 的工作目錄(默認值為 ".")
-p, --port int MCP 服務器端口(默認值為 7777)
--no-mcp 禁用 MCP 服務器
--settings 顯示當前配置設置及其來源
-h, --help 顯示幫助信息
TUI 導航
- Tab:在視圖(腳本、進程、日誌、錯誤、URL、設置)之間切換。
- ↑/↓ 或 j/k:瀏覽項目。
- Enter:選擇/執行。
- n:打開運行命令對話框(從腳本標籤頁)。
- Esc 或 q:返回。
- /:搜索日誌。
- p:切換高優先級日誌。
進程管理
- 導航:使用 ↑/↓ 箭頭選擇進程(通過彩色指示器顯示狀態)。
- s:停止選定的進程(僅適用於正在運行的進程 🟢)。
- r:重啟選定的進程(先停止再啟動同一腳本)。
- Ctrl+R:重啟所有正在運行的進程。
- Enter:查看選定進程的日誌。
進程狀態指示器:
- 🟢 運行中 - 進程處於活動狀態(可以停止/重啟)。
- 🔴 已停止 - 進程被手動停止。
- ❌ 失敗 - 進程因錯誤退出。
- ✅ 成功 - 進程成功完成。
- ⏸️ 掛起 - 進程正在啟動。
自動清理:
- 當 Brummer 退出時,所有正在運行的進程將自動停止。
- 使用 Ctrl+C 或 'q' 優雅退出並清理。
- 標題中顯示進程數量:“正在運行的進程 (2)”。
日誌管理
- c:將最近的錯誤複製到剪貼板。
- f:查看/管理過濾器。
其他操作
📚 詳細文檔
配置
Brummer 支持通過 .brum.toml 文件進行分層配置。配置按以下順序加載(後面的值會覆蓋前面的值):
~/.brum.toml(全局用戶設置)。
- 項目根目錄及其父目錄(向上遍歷到根目錄)。
- 當前工作目錄的
.brum.toml 文件。
查看當前配置
brum --settings
brum --settings > .brum.example.toml
配置選項
在項目或主目錄中創建 .brum.toml 文件:
preferred_package_manager = "pnpm"
mcp_port = 7777
no_mcp = false
proxy_port = 19888
proxy_mode = "reverse"
proxy_url = "http://localhost:3000"
standard_proxy = false
no_proxy = false
設置標籤頁
設置標籤頁提供以下功能:
- 包管理器選擇:在 npm、yarn、pnpm 或 bun 之間進行選擇。
- MCP 服務器安裝:一鍵為開發工具安裝:
- Claude Desktop ✓
- Claude Code ✓
- Cursor ✓
- VSCode(帶有 MCP 擴展) ✓
- Cline ✓
- Windsurf ✓
- Roo Code(實驗性)
- Augment(實驗性)
- Cody(實驗性)
MCP 中心模式 🆕
Brummer 中心模式允許 MCP 客戶端通過單個連接發現和控制多個 Brummer 實例:
快速設置
-
一次性配置 MCP 客戶端:
{
"servers": {
"brummer-hub": {
"command": "brum",
"args": ["--mcp"]
}
}
}
-
在每個項目中運行 Brummer:
cd ~/projects/frontend && brum
cd ~/projects/backend && brum
-
在 MCP 客戶端中使用中心工具:
instances/list - 查看所有正在運行的實例。
instances/connect - 連接到特定實例。
- 所有實例工具均可通過前綴使用。
📚 完整中心模式文檔
MCP 服務器集成
MCP 服務器默認運行在 7777 端口,並實現了官方 MCP 可流式 HTTP 傳輸協議:
傳輸協議
單一端點:http://localhost:7777/mcp
連接類型:
- 標準 JSON-RPC(POST 請求,
Accept: application/json)。
- 服務器發送事件(GET 請求,
Accept: text/event-stream)。
- SSE 響應(POST 請求,
Accept: text/event-stream)。
示例連接
const eventSource = new EventSource('http://localhost:7777/mcp');
eventSource.onmessage = (event) => {
const msg = JSON.parse(event.data);
console.log('收到消息:', msg);
};
fetch('http://localhost:7777/mcp', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'Accept': 'application/json'
},
body: JSON.stringify({
jsonrpc: '2.0',
id: 1,
method: 'tools/list'
})
});
可用工具
腳本管理:scripts_list、scripts_run、scripts_stop、scripts_status
日誌管理:logs_stream、logs_search
瀏覽器工具:browser_open、browser_screenshot、browser_navigate、repl_execute
代理工具:proxy_requests
遙測:telemetry_sessions、telemetry_events
其他示例
在特定目錄中運行
brum -d ~/projects/my-app
使用自定義 MCP 端口運行
brum -p 8888
不使用 MCP 服務器運行(僅 TUI)
brum --no-mcp
以無頭模式運行(僅 MCP 服務器)
brum --no-tui
🔧 技術細節
項目結構
brummer/
├── cmd/brum/ # 主應用程序入口點
├── internal/
│ ├── tui/ # 終端 UI 組件
│ ├── process/ # 進程管理
│ ├── mcp/ # MCP 服務器實現
│ ├── logs/ # 日誌存儲和檢測
│ └── parser/ # Package.json 解析
├── pkg/
│ ├── events/ # 事件系統
│ └── filters/ # 日誌過濾
└── go.mod
構建
go build -o brum ./cmd/brum
測試
go test ./...
📄 許可證
本項目採用 MIT 許可證。