v0.1.0
MiBee Steward v0.1.0 — 首个公开版本
⚠️ 这是一个雏形体验版本(Early Preview)。 核心功能已可用,但在交互细节、性能调优、边界场景上仍有打磨空间。我们期待你的反馈来决定后续优先级——请通过 Issues 提交问题或建议。
MiBee Steward 回答三个问题:这个网络上有哪些设备?它们是什么?它们之间什么关系? 它是一个设备管理与网络层自动发现系统,将 SNMP/ICMP/TCP/HTTP 探测、设备身份推断、资产注册管理(CMDB-lite)和心跳存活检测打包进单个二进制文件(Go 后端 + 内嵌 SvelteKit SPA,CGO-free SQLite)。
核心功能
🔍 网络发现(Scanner v2)
插件式 5 层扫描引擎(probe → classify → handler → persist),支持:
- 主动探测:ICMP、TCP 端口扫描、SNMP(8 OID)、RTSP、ONVIF、HTTP、ARP、UDP 发现(mDNS/NetBIOS/SSDP)
- 身份推断:从扫描证据自动推断设备类型/厂商/操作系统/主机名(摄像头、服务器、交换机、路由器、NAS 等)
- 同步扫描(≤1024 IP,即时返回结果)与异步定时任务(cron 调度,支持大范围扫描)
- 跨子网 MAC 解析(通过路由器 SNMP ARP 表)、OUI 厂商映射
- 扫描结果持久化 + CSV 导出
📋 设备注册管理
- 完整 CRUD、批量操作、CSV 导出
- 双层 JSON 属性(扫描属性 + 用户自定义属性)
- 设备分组(device-systems)、文档关联(URL/文件上传)
- Prometheus 标签管理、开放端口/检测服务记录
💓 心跳监测
- 多协议存活探测(ICMP/TCP/HTTP/SNMP),30s 间隔,5 次失败判定离线
- 独立时序存储(单独 SQLite 文件,批量写入),内存状态缓存 + WAL 隔离安全同步
- 心跳趋势图表、历史记录、统计
🔐 认证与权限
- JWT(Cookie + Bearer 双通道),2FA(TOTP),登录锁定,Token 黑名单
- RBAC(admin/user),首次登录强制改密
- 管理员可重置任意用户密码;CLI 子命令
reset-admin-password用于 admin 密码恢复
📊 仪表盘与可观测性
- 可配置 widget 概览页,Prometheus 时序图表
/metrics(Prometheus 指标)+/sd(HTTP Service Discovery,供 Prometheus 自动发现设备)- 审计日志(所有管理员操作记录)
🔔 通知渠道
- Webhook / Email 渠道管理 + 测试发送
🌐 国际化
- 中文 / 英文完整翻译
快速上手
# 下载对应架构的二进制
chmod +x mibee-steward-linux-amd64
# 准备配置(从模板复制后修改 jwt_secret 和 initial_admin_password)
cp configs/config.example.yaml configs/config.yaml
# 编辑 config.yaml:设置 auth.jwt_secret(≥32 字符)和 auth.initial_admin_password
# 启动
./mibee-steward -config configs/config.yaml
# 浏览器访问 http://localhost:8080,用 admin / 你设置的密码登录忘记 admin 密码时重置:
./mibee-steward reset-admin-password -config configs/config.yaml部署方式
| 方式 | 说明 |
|---|---|
| 二进制 | 单文件部署,SQLite 数据文件,适合单机 |
| Docker | 多阶段构建,非 root 用户,docker compose up |
| systemd | 含安全加固(NoNewPrivileges / ProtectSystem=strict / MemoryMax) |
| nginx 反代 | TLS 终止 + HSTS + 安全头 + /metrics 限 localhost |
详见 deploy/ 目录与 docs/zh/deployment.md。
已知限制
- 单实例:当前为单机 SQLite 部署,不支持多节点分布式部署
- 不做告警:告警引擎不在产品范围内——MiBee Steward 聚焦"发现 + 识别 + 注册"。如需告警请接入 Alertmanager / Uptime Kuma
- eBPF 被动观测:需特殊构建(
make build-with-ebpf)且运行时需 CAP_BPF/CAP_NET_ADMIN - 这是雏形版本,部分边界场景和交互细节仍在打磨
下载
| 文件 | 架构 | 适用 |
|---|---|---|
mibee-steward-linux-amd64 |
x86_64 | 标准服务器 / PC |
mibee-steward-linux-arm64 |
ARM64 | 树莓派 / ARM 服务器 |
反馈
- 提交问题或建议:Issues
- 完整文档:
docs/zh/(中文)/docs/en/(English) - 配置参考:
configs/config.example.yaml(每个字段都有注释)
What's Changed
- Polish repo: README/zh docs, fix all CI failures, migrate to golangci-lint v2 by @mickeyzzc in #1
- fix(api): make /metrics and /sd public (no auth required) by @mickeyzzc in #2
- feat(scanner): dual JSON attributes + scan/discovery/field-completion overhaul by @mickeyzzc in #3
New Contributors
- @mickeyzzc made their first contribution in #1
Full Changelog: https://github.com/Mi-Bee-Studio/MiBeeSteward/commits/v0.1.0