安装与设置指南
几分钟就能跑起来。选好平台、安装,然后开始第一次扫描。一份许可证覆盖你所有设备。
macOS 已公证
- 下载 .dmg 并打开。
- 把 DeviceShelf 拖进「应用程序」文件夹。
- 从 Launchpad 或「应用程序」里打开。它经过 Apple 公证,直接就能启动,不会弹安全警告。
系统要求:macOS 12 或更高版本(Apple Silicon 与 Intel)。按设备实时带宽需要提升权限,参见实时带宽。其余功能开箱即用。
Windows
- 下载安装程序(.exe)——Intel/AMD 选 x64,Snapdragon / Copilot+ 电脑选 ARM64 版。
- 运行它。Windows SmartScreen 可能提示发布者未经验证(该版本未签名):点击更多信息 → 仍要运行。
- 跟着安装向导走完,然后启动 DeviceShelf。
要看实时带宽:先装 Npcap。Windows 上按设备统计带宽依赖抓包,因此需要 Npcap。安装程序会引导你安装;你也可以自行下载 Npcap,然后重启 DeviceShelf。扫描、端口、安全报告等其余功能无需 Npcap。
延伸阅读:启用实时带宽。
Linux
DeviceShelf 提供 AppImage(免安装,随处可跑)以及原生 .deb / .rpm 包,支持 x86-64 和 ARM64。
要装 .deb?请用终端,别双击——在 Ubuntu 24.04 上双击 .deb 会交给 App Center 处理,可能悄无声息地失败:
sudo apt install ./DeviceShelf-*.deb
完整的 Linux 指南(AppImage、.rpm、抓包权限):在 Linux 上安装。
iPhone 与 Android
iPhone 和 iPad 版的 DeviceShelf 已上架 App Store。Android 版以直装 APK 的形式提供,由你自己安装——没有 Google Play 上架。许可证密钥在桌面端和移动端通用,买一次覆盖你所有设备。
在服务器上全天候运行 已包含
如果要不间断地监控,还有一个无界面的服务器版:可跑在 Docker 里、用 .deb 安装,或注册成 Windows 服务。把它指向你想全天候盯着的网络即可。你现有的许可证就覆盖它:同一个密钥,不额外收费。
1.5.3 新功能:服务器内置本地 MCP 服务器——连接 Claude、Cursor 或任何 AI 代理,用自然语言询问你的网络。连接指南 →
安装步骤、告警、令牌设置和 MCP 连接示例都在服务器指南里。
Home Assistant
服务器版通过 MQTT 把你的设备发布给 Home Assistant。Home Assistant 会自动发现它们,所以那边除了 MQTT 集成和一个 broker 之外不用装任何东西——不需要 add-on,也不需要自定义组件。
- 确认 Home Assistant 里的 MQTT 集成已经连上你的 broker(Mosquitto add-on 可以,任何外部 broker 也可以)。
- 在服务器控制台里打开设置 → 集成 → Home Assistant,填入 broker 地址(
192.168.1.10:1883就够了),如果你的 broker 需要认证再补上用户名和密码。 - 勾选发布到 Home Assistant,然后点测试连接。实体会在一个扫描周期内出现。
每台导出的设备都会变成 Home Assistant 里的一台设备,带一个在线状态传感器以及 IP 和延迟,厂商、型号、类型、操作系统和开放端口则作为属性附在上面。旁边还有网络计数器和一个事件实体,会在出现新设备、设备离线以及新端口被打开时触发,于是自动化就能在陌生设备接入你网络时做出反应。
收藏的设备和基础设施(网关、路由器、交换机、AP、NAS、打印机)会自动发布。其他设备可以在各自的详情页里单独加入或排除。
激活你的许可证
- 购买后你会收到一封带许可证密钥的邮件。
- 在应用里:设置 → 许可证,粘贴密钥,点激活。
- 在 iPhone 和 Android 上,直接在手机里打开许可证邮件并点激活按钮,剩下的会自动完成。
不用账户,也不联网校验——激活完全离线完成。同一个密钥也能激活你其余的设备。延伸阅读:激活 DeviceShelf。
权限一览
| 功能 | 需要什么 |
|---|---|
| 扫描、端口、安全报告、AI | 无需权限——处处可用,开箱即跑 |
| 按设备实时带宽 | Windows:Npcap · macOS/Linux:提升权限(sudo 或 BPF/setcap) |
| 被动 DHCP 指纹识别 | macOS/Linux 需提升权限 · Windows 上不可用 |
没有这些权限应用照样能跑,只是对应的那个功能不启用。