🚀 蜂鸣器(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 许可证。