CLI 与 TUI
用终端操作 Carina — CLI 黄金路径与交互 TUI 表面。
CLI 与 TUI 共享同一 daemon、策略内核与审计链路(与 JSON-RPC 一致)。
Doctor
carina doctor运行或打开 TUI
cd /path/to/repocarina run "your task"# 或交互:carinacarina run在cwd创建 safe-edit 会话并等待任务完成(除非--background)。 裸carina打开交互 TUI,并在需要时 自动启动 daemon。检查
carina sessionscarina audit SESSIONcarina audit verify SESSIONcarina patch list SESSION
交互 TUI
Section titled “交互 TUI”在 TTY 下运行 carina。这是 0.8 线的主操作面。
| 输入 | 行为 |
|---|---|
? | 切换帮助面(与 /help 相同) |
/ | 打开 slash 命令面板(可输入过滤) |
Esc | 关闭浮层 / 取消 |
Ctrl-C | 中断当前 run(默认可重映射) |
Ctrl-O | 展开被截断的工具输出(默认可重映射) |
页脚常显示帮助/命令提示,以及 上下文压力(ctx% / 估算)、HITL 审批状态、队列深度(有跟随时)。以页脚为准,勿死记键位。
Slash 命令
Section titled “Slash 命令”注册于 TUI(crates/carina-tui/src/command.rs)。/exit 是 /quit 的别名。daemon 注册的 skill 会以动态 slash 出现(如 /review)。
| 命令 | 用途 |
|---|---|
/settings | 打开设置 |
/status | 运行时与会话状态 |
/context | 上下文压力与压缩回执详情 |
/changes | 审阅 patch 事务、文件、hunk 与回滚 |
/density | 切换 Compact / Comfortable transcript 密度 |
/symbols | 预览并选择终端符号 |
/provider | 选择或配置 provider |
/model | 选择模型 |
/plan | 切换 plan 模式(退出可能需要受控审批) |
/build | 切换到 build 模式 |
/sessions | 浏览会话 |
/import | 导入本地 Claude Code 或 Codex 会话 |
/resume | 恢复会话 |
/cancel | 取消当前 run(仅有活动 run 时可用) |
/queue | 查看 / 丢弃 follow-up 执行队列 |
/minimal | 屏幕模式:精简 chrome |
/fullscreen | 屏幕模式:全屏审阅 |
/inline | 屏幕模式:inline / 能力回退 |
/keymap | 键位参考 |
/doctor | 健康检查与恢复 UI |
/help | 完整帮助面 |
/quit | 退出(/exit 别名) |
也可从 CLI 列出(含 skill,若 daemon 已注册):
carina commands listTranscript 密度
Section titled “Transcript 密度”Compact 是默认模式:例行成功读取会折叠,已验证编辑仍保留可审阅证据,但不会塞满 transcript。Comfortable 增加间距,并默认展开例行工具详情。使用 /density 或 Settings 中的 Density 行;两处都会持久化同一个 tui_density 偏好。用户显式执行的展开或折叠始终优先于密度默认值。
密度只改变呈现,不改变屏幕模式、策略、审批状态、patch 身份或 daemon 数据。
使用 /symbols 或 Settings 中的 符号 行,可在原位比较四种偏好:
| 偏好 | 行为 |
|---|---|
| 自动 | 默认使用 Unicode;遇到明确的旧式终端兼容信号时使用 ASCII |
| Unicode | 适用于包含常用 Unicode 符号的字体 |
| Nerd Font | 需要显式选择,并要求 Nerd Font Mono |
| ASCII | 字体兼容性最高 |
选择会按正常的全局/项目配置级联保存为 tui_glyphs: "auto" | "unicode" | "nerd" | "ascii"。候选行会立即预览但不会保存;应用后才会提交选择,按 Esc 则保留之前的设置。这只改变呈现,不改变草稿、transcript 状态、选择、展开状态、策略或屏幕模式。
自动模式无法可靠探测终端安装了哪些字体,也绝不会自动选择 Nerd Font。它的保守 ASCII 信号包括 TERM=dumb 和旧式 Windows 原生控制台;Windows Terminal、macOS 与 Linux 上的字体覆盖仍可能不同。请选择保持对齐的预览行。方框或错位符号表示字体覆盖不完整,此时可选择 ASCII 恢复。
有效的 CARINA_TUI_GLYPHS=auto|unicode|nerd|ascii 具有最高优先级。未设置该变量时,为真的旧版兼容变量 CARINA_ASCII 会先于已保存偏好强制使用 ASCII。环境变量控制当前层级时,Settings 会明确说明。NO_COLOR 与符号层级互相独立:它只关闭产品颜色,不会切换符号。
Composer 状态
Section titled “Composer 状态”Composer 下方保持固定的两行状态面。第一行只承载当前动作或恢复提示;第二行统一承载 Run、Queue、HITL、Isolation、Context 与 ScreenMode。开始执行、收到输出或等待审批时,composer 都不会位移,也不会换成另一套布局。
窄屏会先压缩低优先级上下文,再处理治理状态。Run、HITL、Isolation 和非零 Queue 始终可见;进入警告或临界区的上下文压力也会保留。
失败卡片会记录实际处理失败 run 的模型。顶部模型代表下一次运行的偏好,因此切换顶部模型不会改写旧失败记录里的历史事实。
| 操作 | 行为 |
|---|---|
| 用当前模型重试 | 沿用失败请求,但使用会话当前的模型与推理强度偏好 |
| 重放原配置 | 使用失败 run 原本受治理的模型与推理配置 |
| 详情 | 显示重试根任务、最近 run 与失败事件身份 |
| 复制 ID | 复制失败身份,用于审计或排障 |
每次重试都会创建一个链接到原 run 的新不可变 run,不会覆盖原来的失败结果。相关尝试会收敛在同一张失败卡片中,并显示尝试次数。恢复一旦排队,重试入口会立即禁用,直到出现新的终态。
操作始终可见且可点击。在 composer 为空且没有活动 run 时,按 Tab 聚焦最近一条可重试失败;使用 Tab 或方向键移动,按 Enter 执行,按 Esc 返回 composer。已有草稿和活动 run 的 follow-up 行为仍保有 Tab 的控制权。
在 Fullscreen 模式中,/changes 按 transaction → file → 带行号 hunk 投影每个 patch。所选文件保留 A/M/D 状态、增删统计、hunk 归因与有界 diff 窗口。大型 diff 会显示明确的续行提示,而不会阻塞 frame loop;校验与回滚仍作用于 daemon 中的完整事务。
回滚确认绑定到预览时精确的 patch_id 与 transaction_id,且只在 workspace 仍与预览一致时打开。确认或取消前会冻结导航,因此移动列表项不能重定向破坏性动作。Minimal 与 Inline 模式继续使用紧凑 changes 表面和原生 scrollback 行为。
动效与无障碍
Section titled “动效与无障碍”动效只表达活动执行或后台校验;静态的审批 / 输入等待不会动画。设置 CARINA_REDUCED_MOTION=1 可移除装饰性动画 deadline,同时保留状态、布局、键盘动作与进度文本。
TUI 中的审批
Section titled “TUI 中的审批”高风险副作用会弹出 审批浮层(双轴 HITL:隔离 + 审批队列)。也可在另一终端处理:
carina approve SESSION DECISION_IDcarina deny SESSION DECISION_ID "reason"见 策略。
默认在 TUI 内;项目/全局配置可通过 tui_keybindings 覆盖。优先看页脚、? 与 /keymap。
CLI 命令分组
Section titled “CLI 命令分组”| 区域 | 命令 |
|---|---|
| 生命周期 | init, status, doctor, update, daemon *, runtime *, runtimes |
| 工作 | run, ask, resume, fork, steer, answer, import * |
| 检查 | sessions, items, watch, cost, session review, checkpoint * |
| 治理 | approve, deny, profile, audit*, patch*, report, export |
| 编排 | workflow *, worker *, schedule * |
| 记忆 / 上下文 | memory *, context * |
| 提供商 | auth *, providers list |
完整表见 CLI 参考。
会话迁移见 导入会话。
- 本机二进制:
carina --help - TUI slash 注册表:
crates/carina-tui/src/command.rs· 能力账本:crates/carina-tui/CAPABILITIES.md - 配方:常用工作流
这个页面有帮助吗?
哪里有问题?
感谢反馈。
本次会话中每个页面仅记录一次投票。