5. 首次登录与云端账户

omicOS 的智能体聊天、跨设备查看、订阅分层都依赖云账户。登录全程在终端完成,本机不需要浏览器——无论是个人电脑还是没有图形界面的 HPC / 服务器都一样。

有两种登录方式,区别在于认证方式,不在于有没有浏览器:

方式 命令 怎么认证
邮箱 / 密码 omicos login 直接在终端输入邮箱和密码
设备码配对 omicos cli login 终端打印一个配对码,在另一台已登录 omicOS 的设备上确认

大多数情况下用 omicos login 最简单。

5.1 邮箱 / 密码登录:omicos login

直接在终端输入邮箱和密码即可,不需要浏览器,适用于任何机器(笔记本、服务器、HPC 登录节点):

omicos login
# 终端交互提示:
#   Email:    you@example.com
#   Password: ********
# 登录成功 → 凭证写入 ~/.omicos/cloud_login.json

可用参数:

参数 作用
--email <地址> 直接传邮箱,跳过交互提示
--password <密码> 直接传密码(注意会留在 shell 历史里,慎用)
--name <名称> 覆盖进程显示名(默认取 conda 环境名或当前目录名)
--force 即使已登录也强制重新认证
--server <URL> 认证服务地址,默认 https://auth.omicos.cn
--status 不登录,只校验当前登录状态并打印邮箱 + 进程名
--logout 登出,删除本地凭证

检查当前登录状态:

omicos login --status

5.2 设备码配对登录:omicos cli login

如果你不想在终端里输入密码,或想从一台已经登录过 omicOS 的设备来授权新机器,可以用设备码配对(device-code pairing,RFC 8628 标准):

omicos cli login
# 终端打印一个配对地址 + 一个短码,例如:
#   请在已登录 omicOS 的设备上打开 https://auth.omicos.cn/device
#   并输入配对码:ABCD-WXYZ

操作流程:

  1. 另一台已登录 omicOS 账号的设备上打开终端给出的配对地址。
  2. 输入短码 ABCD-WXYZ 并确认。
  3. 当前这台机器会自动轮询到批准结果,凭证写盘,登录完成。

设备码登录的参数较少:--server(默认 https://auth.omicos.cn)、--logout

何时用哪种? 直接知道账号密码、想一步到位 → 用 omicos login。手头这台是全新机器、不方便输密码、但你另一台设备已登录 → 用 omicos cli login 扫码授权。两者都在终端完成,本机都不需要浏览器。

5.3 登录后留下了什么

登录凭证既存在工作区本地,也存在全局

  • omicos login 默认把凭证写到全局 ~/.omicos/cloud_login.json(这也是 omicos login --status 打印的 config: 路径,与你在哪个目录运行无关)。
  • 守护进程实际优先读取工作区本地的 <工作区>/.omicos/cloud_login.json——云端账户切换、凭证 realign 会把凭证写到那里,全局副本作为回退。所以同一个工作区里 omicos serve 用的是该工作区的登录身份。

两处文件权限都是 0600(仅本人可读写),内容相同,包含:

字段 含义
user_token 长效用户令牌,认证用户级 API(如查询账户、订阅信息)
process_token 短效进程令牌,用于 WebSocket 进程连接与心跳,每次登录都会轮换
process_id 云端进程标识,形如 local-<workspace_id>
user.cloud_base 服务端域名(auth.omicos.cn),后续所有云端调用都以它为准
logged_in_at 登录时间

安全警告: cloud_login.json 未加密,仅靠文件权限 0600 保护。切勿把它提交到 git、粘贴到聊天里、或拷给别人。在 Windows 上文件权限模型不同,注意检查 umask。

5.4 登出

omicos login --logout         # 邮箱 / 密码登录的登出
omicos cli login --logout     # 设备码登录的登出

登出按 account_id 作用域删除——只清掉当前账户的凭证,不会误删同机器上其他账户共享的全局登录。

下一步

登录后就可以启动 omicOS 了。按场景选择:

results matching ""

    No results matching ""