|
|
há 3 semanas atrás | |
|---|---|---|
| .idea | há 3 semanas atrás | |
| cmd | há 3 semanas atrás | |
| docs | há 3 semanas atrás | |
| internal | há 3 semanas atrás | |
| scripts | há 3 semanas atrás | |
| .gitignore | há 3 semanas atrás | |
| Makefile | há 3 semanas atrás | |
| README.md | há 3 semanas atrás | |
| go.mod | há 3 semanas atrás | |
| go.sum | há 3 semanas atrás |
OpenCode 状态监控工具,支持实时监控多个 OpenCode 实例的状态,并通过 MQTT 推送状态信息。
从 dist/ 目录下载对应平台的可执行文件:
opencode-monitor-linux-amd64 - Linux x86_64opencode-monitor-windows-amd64.exe - Windows x86_64# 克隆项目
git clone <repository-url>
cd AI-Status-Light
# 编译当前平台
go build -o bin/opencode-monitor ./cmd/monitor
# 编译所有平台
make build-all
# 自动发现并监控所有 OpenCode 实例
./opencode-monitor monitor
# 监控指定端口
./opencode-monitor monitor --ports 4096,4097
# 启动监控 + API 服务
./opencode-monitor monitor --api-addr :8080
# 启动独立的 API 服务
./opencode-monitor serve --addr :8080
# 查看 MQTT 配置
./opencode-monitor config list
# 设置 MQTT 配置
./opencode-monitor config set --broker tcp://127.0.0.1:1883 --topic opencode/status
# 删除配置
./opencode-monitor config delete 1
| 方法 | 路径 | 说明 |
|---|---|---|
| GET | /api/health | 健康检查 |
| GET | /api/mqtt | 获取所有配置 |
| POST | /api/mqtt | 创建配置 |
| GET | /api/mqtt/:id | 获取单个配置 |
| PUT | /api/mqtt/:id | 更新配置 |
| DELETE | /api/mqtt/:id | 删除配置 |
# 创建 MQTT 配置
curl -X POST http://localhost:8080/api/mqtt \
-H "Content-Type: application/json" \
-d '{"broker":"tcp://127.0.0.1:1883","topic":"opencode/status"}'
# 获取所有配置
curl http://localhost:8080/api/mqtt
{
"port": 4096,
"type": "session.status",
"status": "忙碌",
"tool": "bash",
"state": "运行中: ls -la",
"title": "",
"timestamp": "2026-06-03T10:30:00Z"
}
| 类型 | 说明 |
|---|---|
| session.status | 会话状态变化 |
| session.idle | 会话空闲 |
| message.part.updated | 消息部分更新 |
| permission.updated | 权限请求 |
| session.error | 会话错误 |
./opencode-monitor monitor [选项]
选项:
--host string 主机地址 (默认 "127.0.0.1")
--ports string 端口列表,逗号分隔 (如: 4096,4097,4098)
--scan string 扫描端口范围 (如: 4096-4100)
--pid 通过进程号查找端口
--interval int 动态扫描间隔(秒) (默认 5)
--db string 数据库路径 (默认 "./data/config.db")
--api-addr string API 服务地址 (如: :8080)
./opencode-monitor serve [选项]
选项:
--addr string 监听地址 (默认 ":8080")
--db string 数据库路径 (默认 "./data/config.db")
AI-Status-Light/
├── cmd/monitor/ # 程序入口
├── internal/
│ ├── api/ # HTTP API 模块
│ ├── database/ # SQLite 数据库模块
│ ├── discovery/ # 端口发现模块
│ ├── event/ # 事件处理模块
│ ├── monitor/ # 监控器核心模块
│ └── mqtt/ # MQTT 客户端模块
├── docs/ # 文档
├── dist/ # 编译产物
└── Makefile # 构建脚本
# 安装依赖
go mod tidy
# 运行测试
go test ./...
# 构建
make build
# 构建所有平台
make build-all
MIT License