7. 启动 omicOS:cli 模式(终端)
omicos cli 把守护进程和聊天界面合到一起,在终端里开一个全屏聊天窗口,完全不需要浏览器。这是 SSH / HPC 环境的首选。
7.1 一条命令搞定
cd ~/my-analysis
omicos cli
预期输出:终端切换到全屏聊天界面(不再有普通滚动输出)。顶部显示当前进程和会话,底部是输入框。按 Ctrl+C 退出后,终端恢复原样。
它做三件事:起本机守护进程 → 注册成带 (cli) 后缀的进程 → 进入聊天界面。omicos cli 等价于 omicos cli chat,chat 是默认子命令。
7.2 聊天界面键位
| 按键 | 作用 |
|---|---|
| Enter | 发送消息(输入法选字时按 Enter 选字不会误触发送) |
| Shift + Enter / Alt + Enter / Ctrl + J | 换行(写多行消息) |
| ↑ / ↓ | 输入框为空时滚动历史;有内容时翻阅之前发过的消息 |
| PageUp / PageDown、Ctrl+U / Ctrl+D | 滚动对话记录 |
| Esc | 关闭当前弹出的面板(斜杠命令列表、@ 提及选择器等) |
| Ctrl + C | 有任务在跑时=中断当前这一轮;空闲时=退出 |
7.3 已经有 serve 在跑时会自动接管
工作区里已有一个 omicos serve 在运行时,omicos cli 不报错,也不另起守护进程,而是直接连上那一个,再开聊天界面。此时终端里的会话历史和网页端是同一份,因为用的是同一个进程。
如果每次 omicos cli 都新起一个守护进程,你会得到两个互不相识的 kernel:网页端载入的 adata 在终端里不存在,两边各写各的会话历史,最后还要抢同一个端口。
自动接管让"同一个工作区只有一个大脑"成为默认。判断依据是工作区目录,不是端口——所以在另一个目录敲 omicos cli,仍然会起一个新的。
只有工作区里没有守护进程时,omicos cli 才自己起一个。那时它才是 7.4 说的独立 (cli) 身份。
想连到不在当前工作区、但你知道地址的 omicos,用 --attach:
omicos cli --attach http://127.0.0.1:5055
预期输出:直接进入聊天界面。若那个 omicos 的工作区和你当前目录不一致,进界面前会先在终端提示一行:
[omicos] attaching explicitly to Core workspace /Users/you/other-project; CLI started in /Users/you/my-analysis
7.4 cli 自起守护进程时与 serve 的差异
omicos cli 自己起守护进程时,参数和 omicos serve 基本一致,但默认值不同:
| 维度 | omicos serve |
omicos cli |
|---|---|---|
默认 --data-dir |
.omicos |
.omicos/cli |
默认 --upstream-base-url |
无 | https://auth.omicos.cn(两者都可用 OMICOS_UPSTREAM_BASE_URL 覆盖) |
| 进程标识 | local-<workspace_id> |
local-<workspace_id>-cli |
| 进程显示名 | 原名 | 原名 + (cli) |
| 日志 | --debug true / --log-filter / RUST_LOG |
界面占用屏幕,只能用 RUST_LOG |
因为 data-dir 不同,cli 自起的守护进程与 serve 的会话历史互相隔离。 网页端进程选择器里,带
(cli)后缀和不带后缀的是两个独立命名空间。cli 里聊的内容在网页端「看不到历史」,多半是选错了进程。
7.5 cli 专属参数
| 参数 | 作用 |
|---|---|
--attach <URL> |
连到一个已经在跑的 omicos(见 7.3),而不是自己起一个。 |
--process <id> |
断言本机这个 omicos 的进程 id 必须是它,对不上就报错退出。用于脚本里防止连错实例。 |
--session <id> |
恢复指定会话(默认恢复最近活跃的那个)。 |
--new |
强制开一个新会话。 |
--process 常被误解成「连到远端的某个云端进程」,它不是。它只校验本机 omicos 的身份,对不上直接报错:
omicos cli --process local-deadbeef
预期输出:
Error: --process local-deadbeef does not identify the running local Core (local-9f2c4d7a1b8e4f5c8d3a6b0e2f7c1a94); use the web app for another process or omit --process
想操作另一台机器上的 omicOS,走网页端,或者按远程部署配方做端口转发后在那台机器上开 omicos cli。
7.6 登录 / 登出
cli 模式下的设备码登录和登出:
omicos cli login
omicos cli logout
输出见第 5 章。
7.7 调日志
聊天界面占满屏幕时,--debug / --log-filter 用不了。要看日志只能用环境变量:
RUST_LOG=omicos_core=debug omicos cli
预期输出:聊天界面照常打开,调试日志写到 stderr。想留存的话把 stderr 重定向到文件:
RUST_LOG=omicos_core=debug omicos cli 2> omicos-cli.log
预期输出:聊天界面照常打开,日志进 omicos-cli.log;退出后 tail omicos-cli.log 可看。
下一步
- 想把分析跑在远程服务器上 → 第 8 章:远程 / SSH / HPC 部署
- 想查全部命令参数 → 第 9 章:命令与参数速查