Standalone(自托管)
Standalone 模式让 ADHDev 完全运行在一台机器上。它把本地仪表板、本地 HTTP/WebSocket API 以及 session-host 运行时打包进一个进程 —— 无需账户,无云端连接,无 P2P,无 TURN。
它是 ADHDev 的 AGPL-3.0 开源界面,以 @adhdev/daemon-standalone 发布。
何时使用
当你想控制的一切都在你面前这台机器上 —— 或在一台你可以通过自己的局域网直接访问的机器上时,Standalone 就是正确的选择。
它不是云端仪表板的自托管替代品。Standalone 有意不包含:
- 推送通知 —— 没有发送到你手机的批准、完成或断连通知
- 通过互联网的远程访问 —— 没有信令服务器,因此不存在来自你网络之外的连接
- 多机器集群 —— 一个 standalone 服务器只管理它自己那台机器
这些都是云端功能。如果你需要它们,请参见快速开始了解云端守护进程。
启动它
npm install -g adhdev
adhdev standaloneadhdev standalone 是一层薄封装:它会解析并启动 @adhdev/daemon-standalone 包,与你的 CLI 所来自的 npm 通道相匹配。你也可以直接运行 OSS 包:
npm install -g @adhdev/daemon-standalone
adhdev-standalone或者不做任何全局安装:
npx @adhdev/daemon-standalone然后打开 http://localhost:3847。
预期结果: 仪表板加载并显示你的本地机器。没有登录界面 —— standalone 没有账户。
TIP
经过公开安装测试的路径是 macOS 和 Windows。Linux 可能可以运行 standalone,但尚未得到足够验证,无法作为受支持的路径呈现。
端口与绑定
standalone 服务器从一个端口同时提供仪表板和 HTTP/WebSocket API,默认为 3847,绑定到 127.0.0.1(仅回环)。
adhdev standalone --port 4000局域网访问
要从网络中的另一台设备访问仪表板,请绑定回环之外的地址:
adhdev standalone --host 0.0.0.0 --token <some-secret>--host 接受一个显式地址 —— 一个 IPv4 地址、一个 IPv6 地址,或 localhost。它没有布尔形式:不带值的裸 --host,或无法识别的值,会是一次可见的启动失败,而不是一次你并未要求的静默绑定。
WARNING
--host 0.0.0.0(或 IPv6 任意地址 ::)会绑定所有网络接口。Standalone 默认没有认证,因此任何能访问该端口的人都能完全控制你的代理。绑定到公开地址时务必搭配 --token。当你在没有认证的情况下公开绑定时,服务器会在启动时打印一条警告。
--token 要求提供该令牌,仪表板才会连接。这是 standalone 唯一的认证机制。
标志
| 标志 | 用途 |
|---|---|
--port, -p <port> | HTTP/WS 服务器的端口(默认 3847) |
--host, -H <address> | 显式绑定地址 —— IPv4、IPv6 或 localhost(默认 127.0.0.1) |
--token <token> | 要求提供此令牌才能使用仪表板 |
--dev | 启用 DevConsole,用于编写和测试供应商脚本 |
--public <path> | 指向仪表板发行包的自定义路径 |
--no-open | 启动时不打开浏览器 |
--help, -h | 显示用法 |
standalone 中可用的功能
仪表板启动后,本地代理界面的行为与云模式相同:
Standalone 与云端对比
| Standalone | Cloud | |
|---|---|---|
| 需要账户 | 否 | 是 |
| 传输 | 你机器上的直接 HTTP/WS | P2P WebRTC,NAT 受阻时使用 TURN |
| 可从互联网访问 | 否 | 是 |
| 每个仪表板的机器数 | 一台 | 取决于套餐 |
| 推送通知 | 否 | 是 |
| 认证 | 可选的 --token | OAuth、API 密钥、机器密钥 |
| 许可证 | AGPL-3.0 | 专有 |
更深入的配置
OSS 仓库收录了 standalone 内部机制的参考文档 —— 密码认证、保存的主机默认值、本地配置文件位置、本地 API 界面以及 session-host 运行时:
