命令行
命令行形态与桌面端共用同一份数据目录与配置,适合无头环境、容器或脚本化运行。
命令行尚未发布
命令行形态目前未发布,也未经过人工验收:包未对外公开,「osw」也没有可供安装的分发渠道。下面写的是它已经实现的能力,现阶段只有从源码构建才能运行。日常使用请以桌面端为准。
用法
osw [命令] [选项]| 命令 | 说明 |
|---|---|
start | 启动服务(不写命令时的默认行为)。 |
stop | 停止由本 CLI 启动的实例。 |
status | 输出运行状态、监听地址、数据目录与版本。 |
version | 输出版本号。 |
选项
| 选项 | 说明 |
|---|---|
--data-dir | 数据目录。 |
--host | 代理监听地址。 |
--proxy-port | 代理端口。 |
--management-port | 管理端口。 |
--web | 由管理服务托管控制台(默认开启)。 |
--no-web | 不托管控制台,只提供 HTTP API。 |
--json | 以 JSON 输出(仅 status)。 |
--help | 显示帮助。 |
--version | 输出版本号。 |
管理服务只监听本机
管理服务固定只监听 127.0.0.1:它本身没有鉴权。需要在别的机器上访问时,请走 SSH 隧道。
启动
启动后会打印控制台地址、代理地址、管理服务地址与数据目录,按 Ctrl+C 停止。
--host 会暴露无鉴权代理
代理监听在非回环地址上时,同网络的其它设备可以直接访问它,而它不带鉴权。只想本机使用,就别传 --host(默认只监听 127.0.0.1)。
状态
osw status # 人类可读
osw status --json # 供脚本消费状态包含:运行中 / 未运行 / 无响应、管理服务、代理地址、控制台、数据目录、版本、PID、启动时间。
几种提示值得留意:
- 端口没在监听:进程还在,但代理端口没有监听——服务可能启动到一半就失败了。
- 版本漂移:运行中的实例版本与当前 CLI 版本不一致。
停止
osw stop 向实例发出退出请求并做清理。若没找到运行中的实例,会清理失效的运行时文件;若实例没开启退出握手(或那个端口上其实是别的服务),会拒绝退出请求。
冲突处理
- 端口被占用:停掉占用进程,或用
--proxy-port/--management-port换端口。 - 已有实例在运行:先用
osw stop停掉;要同时跑两个,给其中一个--data-dir指定另一个数据目录。