日常使用
撤销与回退
改错了怎么办:/undo 撤销上一问改过的文件、对话也退回去;/rewind(或空输入框里双击 ESC)选一问,对话和代码一起回到它之前。也说清哪些改动撤不回来。
- 预计用时
- 约 3 分钟
- 适用版本
- v0.5.0 及以上
撤销上一问:/undo
输入 /undo,上一问里用写入、修改工具(write_file / edit_file)改过的文件恢复原样,这一问新建的文件删掉,对话也退回到这一问之前。可以连着用,一问一问往回撤。
回到某一问之前:/rewind
想一次退好几问,输入 /rewind,或者在空输入框里连按两次 ESC,弹出这次启动后的提问列表:
- 触发:空输入框里双击 ESC,对话里记成一次
/rewind。 - 提问列表:这次启动后的每一问,↑↓ 选、Enter 确定、ESC 取消。
选中一问后,从最近一问往前逐个撤销,对话与它们改过的文件一起回到那一问之前;同一个文件被几问改过时,落到最早那一版。那一问的原话会放回输入框,改了再发就行。
改之前先看清楚:/diff
不确定要不要撤,先输入 /diff:列出这次会话改过的文件,和第一次改之前比。这份对比不随压缩丢弃,只在 /clear、切换会话时清掉。
有风险的改动放进独立工作树
要试一个没把握的改动,干脆不在主目录里改:heng-agent -w 名字 启动,或会话里 /worktree new 名字,就在 .heng-agent/worktrees/名字(分支 heng/名字)里干活,不碰主分支和你没提交的改动。不满意 /worktree remove 名字 删掉(分支没合并就保留);满意了在工作树里 /commit,回主目录 git merge heng/名字。详见 git 工作树隔离。
做完是这样
/undo 之后,上一问改过的文件回到了原样,对话也少了那一问;/rewind 之后,选中的那一问出现在输入框里等你改了重发。用 bash 改动过的部分需要你自己处理。