服务端 REPL
通过 SIREN Server REPL 管理在线客户端、Shell 和远程命令
服务端 REPL 是远程模式的命令行入口。启动 siren_server 后,终端中的 >>> 提示符可用于管理在线客户端、打开交互式 Shell 和执行单条远程命令。
./siren_server -c /path/to/server_config.yaml>>> helpREPL 适合已经登录控制主机、需要在终端里直接操作的场景。需要图形化客户端列表、Project 视图、浏览器 Shell 或文件管理时,使用 Web 控制台 更方便。
客户端管理
客户端通过 TLS 加密通道连接服务端。连接成功后,服务端会为当前连接分配一个数字 Client ID,后续 REPL 命令都通过这个 ID 指定目标客户端。
Client ID 只代表当前在线连接,客户端断开并重新连接后可能变化。执行操作前先用 ls 确认目标客户端。
列出客户端
>>> ls设置备注
为客户端添加备注,便于在多客户端场景下快速识别。省略备注内容时会清空已有备注:
>>> note <Client ID> [Note]备注按客户端稳定身份保存。服务端短暂下线、升级或客户端重连后,已设置的备注会恢复;WebUI Project 归属也会按稳定身份恢复。
重连后需要重新确认 Client ID
稳定身份用于恢复备注和 Project 归属,不代表 Client ID 固定不变。交互式 Shell、端口转发和正在执行的命令属于当前连接上的活动会话,服务端重启后需要重新打开。
远程命令执行
交互式 Shell
shell 会在服务端通过 tmux 打开一个新窗口,并把目标客户端的交互式 Shell 接入该窗口。它适合连续排查、编辑文件,或运行 vim、top 这类需要完整终端交互的程序。
>>> shell <Client ID>Shell 特性
Shell 会话通过独立的 TLS 中继连接传输,不影响主控制通道。服务端需要安装 tmux,客户端也需要能回连服务端临时中继端口。如果不想依赖 tmux,可以使用 Web 控制台的 Shells 页面。
退出 Shell 的方式与退出普通终端相同(输入 exit 或按 Ctrl+D),退出后自动返回 SIREN Server REPL。
单条命令执行
run 用于执行一次性命令,并把输出返回到 REPL。它适合快速查看当前用户、系统版本、进程列表等信息;需要持续交互时使用 shell。
>>> run <Client ID> <Command>单条命令的返回内容有大小限制,超过约 50KB 时会被截断。长输出建议写入文件后用 WebUI Files 下载,或通过 upload 保存到 Artifacts 查看。