Skip to content

v0.1.0

Choose a tag to compare

@github-actions github-actions released this 07 Jul 15:26

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

Full Changelog: https://github.com/Mi-Bee-Studio/MiBeeSteward/commits/v0.1.0