使用说明
BillBot服务经理
为BillBot基础设施提供统一服务管理的MCP(模型上下文协议)服务器。监控状态、启动/停止服务、尾日志,并在跨越systemd单元、shell脚本和多模式AI工作器的13个服务上运行健康检查——所有这些都是通过一个MCP接口完成的。
特性
- 统一管理 3种不同服务类型(systemd、脚本、多模式)的13项服务
- 多层健康检查 --TCP端口探测,HTTP
/health端点、systemd单元状态、PID文件检测,以及ss端口查找回退 - 日志聚合 --来自journalctl(systemd)或日志文件(脚本/多模式)的尾部日志,具有可配置的行数(1-500)
- ASCII表输出 用于一览所有服务的健康仪表板
- 零外部依赖 除了用于模式验证的MCP SDK和Zod之外
- 标准服务器传输 --通过stdin/stdout进行通信,为任何兼容MCP的客户端做好准备
工具
| 工具 | 说明 | 参数 |
|---|---|---|
service_status |
获取一个或所有服务的状态(名称、状态、端口、PID、正常运行时间、运行状况) | service:服务ID或 "all" |
service_start |
启动特定服务 | service:服务ID |
service_stop |
停止特定服务 | service:服务ID |
service_restart |
重新启动服务(停止+启动,或 systemctl restart 系统d) |
service:服务ID |
service_logs |
跟踪服务的最近日志 | service:服务ID, lines:1-500(默认值50) |
service_health |
快速检查所有服务的运行状况,返回紧凑的ASCII表 | (无) |
托管服务
| ID | 名称 | 类型 | 端口 | 运行状况检查 |
|---|---|---|---|---|
dgx-tunnel |
DGX火花隧道 | systemd | 8001 | TCP |
dgx-tunnel-fast |
DGX火花隧道(快速) | systemd | 8003 | TCP |
heartbeat |
心跳(Qwen3-1.7B) | systemd | 8200 | HTTP /health |
gateway |
OpenClaw网关 | systemd | 18789 | TCP |
mcpjungle |
MCPJungle网关 | 脚本 | 8090 | HTTP /health |
stt |
STT(更快的耳语) | 多模式 | 8101 | HTTP /health |
vision |
视觉(Qwen2.5-VL-7B-AWQ) | 多模式 | 8102 | HTTP /health |
tts |
TTS(Kokoro-82M) | 多模式 | 8103 | HTTP /health |
imagegen |
ImageGen(SDXL Turbo) | 多模式 | 8104 | HTTP /health |
embeddings |
嵌入(nomic嵌入) | 多模式 | 8105 | HTTP /health |
docutils |
DocUtils | 多模式 | 8106 | HTTP /health |
findata |
FinData(金融) | 多模式 | 8107 | HTTP /health |
memory-cortex |
内存Cortex中间件 | 脚本 | 8300 | HTTP /health |
服务类型
- 系统守护进程 --通过管理
systemctl --user.日志通过journalctl。重新启动使用本机systemctl restart. - 脚本 --由shell脚本启动/停止。从文件读取的日志。重启不会停止+1s暂停+启动。
- 多模态 --多模式堆栈上的GPU加速AI服务。与脚本类型相同的生命周期,PID文件位于
/tmp/multimodal-<id>.pid.
建筑学
src/
index.ts (211 LOC) MCP server setup, tool definitions, input validation
registry.ts (208 LOC) Service registry with all 13 service definitions
checks.ts (187 LOC) Multi-layer health checking (TCP, HTTP, systemd, PID, ss)
actions.ts ( 64 LOC) Start/stop/restart/logs execution wrappers
健康检查管道 (按优先顺序):
- 系统状态 --对于systemd类型的服务,查询
ActiveState,MainPID,以及ActiveEnterTimestamp - TCP端口探测器 --尝试进行套接字连接
127.0.0.1:<port>超时2秒 - HTTP健康端点 --服务与
healthCheck: "http",点击配置/health路径(5秒超时)并报告状态代码和响应时间 - PID文件检测 --从已知路径读取PID,并用
kill -0 ss端口查找 --回退以从中提取PIDss -tlnp服务端口的输出
入门指南
先决条件
- Node.js 18+
- npm
安装
git clone https://github.com/oogleyskr/billbot-service-manager.git
cd billbot-service-manager
npm install
构建
npm run build
从编译TypeScript src/ 到 build/ 使用 tsc (目标ES2022,Node16模块分辨率)。
跑
npm start
服务器使用MCP StdioServerTransport通过stdin/stdout进行通信。它不是以交互方式运行的——将其连接到MCP客户端。
使用MCP
MCPJungle配置
{
"name": "services",
"transport": "stdio",
"command": "node",
"args": ["/home/mferr/billbot-service-manager/build/index.js"],
"description": "BillBot service manager — status, start, stop, restart, logs, health"
}
克劳德桌面/OpenClaw配置
添加到MCP服务器配置中:
{
"mcpServers": {
"services": {
"command": "node",
"args": ["/home/mferr/billbot-service-manager/build/index.js"]
}
}
}
工具调用示例
查看所有服务:
{ "tool": "service_status", "arguments": { "service": "all" } }
健康仪表板:
{ "tool": "service_health", "arguments": {} }
输出:
Service | Port | Status | Health | Response
-------------------|-------|---------|---------------------|----------
dgx-tunnel | 8001 | running | reachable | -
heartbeat | 8200 | running | healthy | 12ms
gateway | 18789 | running | reachable | -
stt | 8101 | stopped | - | -
...
10/13 services running
尾梁:
{ "tool": "service_logs", "arguments": { "service": "gateway", "lines": 100 } }
重新启动服务:
{ "tool": "service_restart", "arguments": { "service": "mcpjungle" } }
相关转载
| 回购 | 描述 |
|---|---|
| 借贷者 | OpenClaw分支与DGX Spark集成(主网关) |
| billbot安卓 | 安卓配套应用(Kotlin+Jetpack Compose) |
| 比尔博特·麦克彭格尔 | MCPJungle网关配置和脚本 |
| billbot记忆皮层 | 长期存储系统(SQLite+FTS5) |
| billbot工作区 | BillBot工作区文件和配置 |
| 多模态堆栈 | 本地多模式人工智能服务(RTX 3090) |
许可证
麻省理工学院
