# 交互指令（CLI）

以下指令均以 `/` 开头。默认进入对话输入模式，输入指令用于控制程序状态。

## 指令清单

- `/help`：显示所有指令与简要说明。
- `/new`：创建新对话（生成新的对话 ID）。
- `/resume`：加载旧对话（仅当前工作区路径内的历史对话）。
- `/allow`：切换运行模式（`read_only` / `full_access`）。
- `/model`：切换模型与思考模式。
- `/status`：查看当前对话状态。
- `/compact`：触发对话压缩。
- `/config`：查看当前配置。
- `/exit`：退出程序。

---

## /resume 交互细节

`/resume` 有两种用法：

1) **交互列表模式**：
- 执行 `/resume` 后显示列表（最新在上）。
- 上下方向键移动选择光标 `>`。
- 兼容性兜底：支持**数字输入**直接选择第 N 条。
- 列表项格式示例：
```
  Updated Conversation
  2分钟前 帮我看看...(第一条用户消息前50字)
> 14小时前 查看所有...
  13天前 ...
```

2) **直接加载模式**：
- 直接输入 `/resume <conversation_id>` 加载指定对话。
- 例如：
```
/resume 019c99ad-3177-7970-bcf5-0c5893e177a2
```

**作用域限制**：`/resume` 只加载**当前工作区路径**下的历史对话。不同路径的工作区对话相互隔离。

---

## /status 输出字段

- 当前模型 + 思考模式
- 工作区 path
- allow 状态（只读/无限制）
- 对话 ID
- Token usage（当前上下文长度，来自 API 返回并缓存）

---

## /config 输出字段

- base_url
- modelname
- apikey（脱敏，仅显示前缀+末尾，例如：`sk-xxxxxxw2y`）

---

## /compact 行为

- 对当前对话进行压缩。
- 输出示例：
```
压缩完成：<旧token> -> <新token>
```
