CLI
在终端里使用 modu_code
modu_code 是 Modu 的终端编码 Agent。这一页覆盖安装、四种运行模式、会话恢复,以及 Agent 运行时的按键交互。
安装
需要 Go(具体版本以仓库中的 go.mod 为准)。可以直接从源码运行:
$ go run ./cmd/modu_code
也可以编译成单个二进制放进 PATH:
$ go build -o modu_code ./cmd/modu_code
$ ./modu_code
下文的 go run ./cmd/modu_code 与 modu_code 两种写法等价。
零配置起步
最快的路径是设一个环境变量,不写任何配置文件。modu_code 按下面的顺序挑选 provider,第一个命中的生效:
ANTHROPIC_API_KEY— Anthropic(走 OpenAI 兼容端点)OPENAI_API_KEY— OpenAI Responses,模型取$OPENAI_MODEL,默认gpt-4oDEEPSEEK_API_KEY— DeepSeek,模型取$DEEPSEEK_MODEL,默认deepseek-chatOLLAMA_HOST— Ollama,模型取$OLLAMA_MODEL(必填)
$ export DEEPSEEK_API_KEY=sk-xxx
$ go run ./cmd/modu_code
一个 provider 都没配也能进 TUI:启动后会提示用 /config 现场配置 provider、API key 和模型。需要多模型、role、reasoning 这些,见模型与 Provider 配置。
运行模式与命令行参数
不带 -p/--rpc/--acp 时是默认的交互 TUI,其余三种是非交互模式,供脚本或编辑器集成使用。
(无)— 交互 TUI(默认)-p "<prompt>"— print 模式:发送一条 prompt,把结果输出到 stdout 后退出--json— 配合-p:输出 NDJSON 事件流而非纯文本--rpc— RPC 模式:stdin/stdout 上的 JSON-line 协议--acp— ACP stdio server:JSON-RPC 2.0 LDJSON,供 Zed 等 ACP 客户端接入--no-approve— 跳过工具执行的人工确认,自动放行全部工具--resume <id>— 恢复已保存的 session(完整 id 或唯一前缀均可)--worktree— 在隔离的 git worktree 中启动
$ go run ./cmd/modu_code -p "总结 cmd/modu_code 的职责" --no-approve
非交互模式在没有配置 provider 时会直接报错退出,而不是进入配置引导——脚本场景需要先把模型配好。
会话与恢复
默认每次启动都会创建新的 session id,不会自动带入同一路径上一次的对话上下文。退出时终端会打印当前 session 的 id 和恢复命令:
$ go run ./cmd/modu_code --resume <session-id>
id 支持唯一前缀,不必粘贴完整的 UUID。
交互与快捷键
Agent 正在跑的时候,输入框里打字有两种送达方式,状态栏会实时提示:
- Enter — 插话:消息在下一个工具边界加入当前这一轮,正在执行的工作不会被丢弃
- ⇧Enter — 排队:消息等这一轮结束后再处理
- Esc — 中断当前任务
- Ctrl+V — 粘贴剪贴板里的图片(也可以把图片文件拖进终端)
在 macOS 终端里请用 Ctrl+V 而不是 Cmd+V 粘贴图片:Cmd+V 会被终端自己拦截,程序收不到这个按键。