---
title: "`claude` — 启动交互式 REPL"
description: "不确定任务该怎么拆、需要边看边聊时，直接敲 claude 进入对话。这一节讲清启动前要站对哪个目录、界面里最常用的动作，以及会话结束以后怎么接回来。"
updated: 2026-11-13
canonical: https://docai.cc/learn/start-interactive-repl/
markdown_mirror: https://docai.cc/learn/start-interactive-repl.md
---
## 适合用对话解决的场景

有一次性的小问题，也有说不清从哪下手的大任务。前者适合单次模式，后者更适合坐下来聊：先让它读、再让它说方案、你补充约束、它调整，来回几轮才收敛。

不带任何参数的 `claude` 就是为这种节奏准备的。它打开一个持续存在的会话，你一句它一句，上下文在内存里累积。

一段典型的对话长这样：

> 你：先读一下这个项目，告诉我入口文件和测试命令，不要改任何东西。
>
> 它：入口是 `src/main.ts`，测试用 `npm test`……
>
> 你：好，先只改 `src/parser.ts` 里的空值处理，改完把 diff 给我看。

第一轮只对齐，第二轮才动手。每轮目标单一，你也能在中间叫停。

## 站对目录再启动

进项目根目录，再启动：

```bash
cd ~/projects/my-app
claude
```

这个动作不是形式。它默认在当前目录里找文件、读配置、认项目说明；从主目录启动，它看到的是另一个世界，回答也会跟着飘。

需要同时访问旁边的共享目录时，可以在启动时额外挂进来：

```bash
claude --add-dir ../shared-lib
```

参数名与行为以当前版本为准。第一次启动可能要求登录或确认信任这个目录，按提示走完即可。

拿不准自己在哪，先跑一句 `pwd` 看路径。启动位置错了，最省事的修法是退出、`cd` 到正确目录再重来，比在对话里反复解释路径要快。

## 界面里最常用的几个动作

| 动作 | 效果 |
| --- | --- |
| 输入后按 Enter | 发送这一轮消息 |
| Shift + Enter | 换行，不发送（终端支持不一，必要时跑一次 `/terminal-setup`） |
| 上、下方向键 | 翻之前输入过的内容 |
| Ctrl + L | 重绘屏幕，输入与历史都保留 |
| Ctrl + C | 打断当前输出，回到输入状态 |
| `/help` | 列出全部斜杠命令 |
| `/clear` | 清空上下文，重新开始 |
| `/compact` | 压缩历史，保留要点，省 token |
| `/exit` 或 Ctrl + D | 退出 |

`/clear` 和 `/compact` 的区别值得记：前者把对话归零，适合换话题；后者保留摘要，适合长会话中途减重。相关概念见[上下文窗口](/concepts/context-window/)。

## 启动时就把条件带好

与其进去以后再改，不如一开始写清楚：

```bash
claude --model <模型名> "先读一遍 src/api/，画一张模块依赖关系"
claude --permission-mode acceptEdits
claude --append-system-prompt "回答一律用简体中文，先给结论再给理由"
```

- `--model`：按任务难度选，具体可选值用 Tab 补全查看；
- `--permission-mode`：控制哪些操作需要确认，`acceptEdits` 会放行文件编辑，命令执行仍会问；
- `--append-system-prompt`：追加长期约束，比每轮重复交代更省事；
- `--verbose`：想看逐轮的完整输出时打开。

如果习惯 Vim 键位，可以在 `/config` 里切换 Editor mode；不同版本入口可能不同，以界面上实际看到的选项为准。

## 会话并没有真的消失

直接关窗口或输入 `/exit`，这一轮对话结束，但记录还在。下次接着聊：

```bash
claude -c          # 接最近一次
claude -r          # 从历史里挑一个
```

`-c` 适合「昨天没做完，今天继续」；`-r` 适合同时推进几件事，需要跳回某个旧话题。注意 `-c` 接的是当前目录下最近一次会话，换了目录就找不到；要精确回到某一次，用 `-r` 从列表里挑，或直接用 `--resume <会话 ID>` 指定。接回来的会话带着历史，输入 token 天然比新会话多，长会话在退出前先 `/compact` 一下会更划算。

## 一个常见误区

把 REPL 当成聊天窗口，一次贴进很长的需求，然后等它全部做完。更有效的用法是把它当成结对同事：第一轮只让它读和复述，第二轮给范围明确的改动，第三轮一起看结果。轮次清楚，出错也容易定位。

另一个误区是全程不清理上下文。一个会话里连着换三个不相关的任务，前面读过的文件和结论会一直占着位置，既费 token，也容易让它把旧任务的约束套到新任务上。换话题前先 `/clear`，比事后解释「刚才那个不算」省事得多。

对比一下两种开场：

> 差：把这个项目优化一下，该改的都改。
>
> 好：先看 `src/cache/`，说明现在的失效策略是什么；我确认后你再提改动方案。

前者听起来省事，实际把判断权全部交了出去；后者每一步都在你的视野里，也更容易在跑偏时拉回来。

想先熟悉快捷键，可以看[快捷键参考](/learn/claude-code-shortcuts/)。如果你已经知道第一句要问什么，可以省掉「启动后再输入」这一步，见[带初始提示启动](/learn/start-repl-with-prompt/)。
