会话与终端

内置终端

NomiFun 在应用内附带了一个真正的终端。每个终端都是后端管理的原生 PTY 会话,你可以从桌面窗口或浏览器里以交互方式驱动它;当它挂到会话工作目录后,操作的就是文件树里那份文件——也可以把它交给自动工作来代你驱动。

从侧边栏的终端区段新建,或导航到 /terminal-new 进入创建页;会话页面路由为 /terminal/:id

操作步骤

  1. 新建终端。 在侧边栏终端区段点 +,进入创建页。会话条目会持久化保存,重启 app 后仍在列表里。

    新建终端

  2. 选工作目录。 指定子进程派生的工作目录;挂到某段会话的工作目录后,终端与消息流操作同一份文件。最近用过的目录会被记住。

  3. 选启动方式(预设)。 四种预设:

    • Shell——启动时解析为你平台的登录 shell(Windows 为 PowerShell/cmd,macOS/Linux 为 $SHELL)。
    • Claude Code / Codex / Gemini——启动对应的 agent CLI 二进制,该二进制需已安装并在 PATH 上。

    选择终端启动方式(Shell / Claude Code / Codex / Gemini 预设)

  4. 设权限模式(仅 agent 预设)。 Default 为交互式审批;Full Auto 会附加该 CLI 自身的非交互式 flag,绕过逐步确认。Full Auto 让 CLI 在你机器上获得广泛能力,请把它当作已登录的 shell 来对待。

  5. 微调启动命令并启动。 创建页会把解析后的 命令 + 参数 渲染到可编辑字段,按需调整(额外 flag、替代入口点等)后按 Launch。页面随即跳到 /terminal/<id>,开始接收实时输出。

    驱动一个 Codex 终端会话

  6. 驱动会话。 会话页是连到实时流的 xterm.js:

    • 键入把击键发给 PTY;粘贴会作为一次粘贴落地,多行文本不再变成一连串回车。
    • 调整面板大小会同步调整 PTY 尺寸并持久化。
    • 重命名 / 置顶从会话头进行,置顶的终端浮到侧边栏顶部。
    • Kill 停止子进程但保留条目(可原地重新启动);Delete 杀掉并彻底移除该行。
    • 重新启动在子进程退出后用存储的命令 + 目录 + 环境原地重开,同一条侧边栏条目接上新进程。

要点与边界

  • 原生 PTY,不是模拟。 终端是后端派生的真实伪终端子进程,TUI、彩色输出、交互式 CLI 都能正常工作。
  • 挂到会话工作目录。 挂载后,终端与会话操作同一份文件,适合手动检查或运行命令补位。
  • 重新启动是原地的。 同一会话 id 附上新进程,你不会每次重启 CLI 都多出一个侧边栏条目。
  • 元数据持久化、PTY 不迁移。 名称、目录、命令、环境、尺寸等存于本地;子进程退出后条目保留,但活跃 PTY 没了,需重新启动。
  • 可作为自动工作目标。 只有 agent-CLI 终端(Claude Code / Codex)符合自动工作条件;普通 Shell 可手动驱动但不是自动工作目标。绑定见下方”相关”。
  • 可叠加决策值守。 长跑会话可在会话头开启 IDMM,在 provider 抖动或决策卡点时护送本轮到终态。故障值守与决策值守默认关闭。

常见问题

  • 找不到 CLI? agent 预设直接调用 claude / codex / gemini,它们必须在运行后端的账户 PATH 上。要么全局安装,要么在启动前把启动命令改成绝对路径。
  • 想改环境或工作目录? 这是有意为之——会话条目存储着它们。需要不同设置时,用想要的配置新建一个终端。
  • 调整大小后输出乱了? 部分 TUI 在尺寸变化时需要重绘,按 Ctrl-L(或你 CLI 的重绘快捷键)。
  • Shell 终端能交给自动工作吗? 不能。当前只有 agent-CLI 终端是自动工作目标,普通 Shell 只能手动驱动。

相关

完整文档 → GitHub