界面与快捷键
启动
不带子命令运行 duoduocode 即进入终端交互界面:
duoduocode
首次进入会要求选择或确认模型,之后即可直接对话。
配置文件
终端界面的行为由 tui.json 控制(同样支持 .jsonc)。按以下顺序合并,后者覆盖前者:
- 全局配置目录下的
tui.json - 环境变量
DUODUO_TUI_CONFIG指定的文件 - 项目内的
.duoduo/tui.json(自外層目录向内,逐级覆盖) DUODUO_CONFIG_DIR指定的目录中的tui.json
{
"$schema": "https://www.dd322.cn/code/tui.json",
"theme": "tokyonight",
"diff_style": "auto",
"scroll_speed": 3,
"mouse": true,
"keybinds": {
"session_new": "<leader>n"
}
}
| 字段 | 说明 |
|---|---|
theme | 主题名,见主题 |
keybinds | 覆盖默认键位 |
diff_style | 差异展示方式:auto 或 stacked |
scroll_speed | 滚动速度 |
scroll_acceleration | 滚动加速度 |
mouse | 是否启用鼠标 |
plugin / plugin_enabled | 终端插件 |
旧版本允许把
theme/keybinds/tui直接写在主配置文件中,现在会被忽略并提示迁移到tui.json。
终端快捷键
<leader> 默认为 ctrl+x。
会话
| 快捷键 | 作用 |
|---|---|
<leader>n | 新建会话 |
<leader>l | 会话列表 |
<leader>x | 导出会话 |
<leader>g | 会话时间线 |
ctrl+r | 重命名会话 |
ctrl+d | 删除会话 |
escape | 中断当前生成 |
<leader>c | 压缩会话上下文 |
消息与编辑
| 快捷键 | 作用 |
|---|---|
return | 发送 |
shift+return / ctrl+return / alt+return / ctrl+j | 输入换行 |
<leader>y | 复制消息 |
<leader>u | 撤销消息(同时回滚文件改动) |
<leader>r | 重做消息 |
<leader>e | 在外部编辑器中打开 |
ctrl+z | 挂起到后台(Windows 上禁用) |
界面与选择
| 快捷键 | 作用 |
|---|---|
<leader>b | 开关侧栏 |
<leader>s | 查看状态 |
ctrl+p | 命令面板 |
<leader>m | 模型列表 |
<leader>a | Agent 列表 |
tab | 在 Agent 间循环 |
<leader>t | 主题列表 |
ctrl+c / ctrl+d / <leader>q | 退出 |
桌面端快捷键
mod 在 macOS 上是 Cmd,在其他平台是 Ctrl。
| 快捷键 | 作用 |
|---|---|
mod+shift+p | 命令面板 |
mod+shift+n | 新建会话 |
mod+k / mod+p | 打开文件 |
mod+f | 查找 |
mod+w | 关闭标签 |
ctrl+l | 聚焦输入框 |
mod+\ | 开关文件树 |
ctrl+` | 开关终端 |
ctrl+alt+t | 新建终端 |
mod+shift+b | 开关预览面板 |
mod+shift+r | 开关 Review 面板 |
mod+shift+l | 把选中内容加入上下文 |
mod+alt+[ / mod+alt+] | 上一条 / 下一条消息 |
mod+' | 选择模型 |
mod+; | Gear / MCP |
mod+. / shift+mod+. | 切换 Agent |
mod+shift+a | 自动接受编辑 |
alt+z | 自动换行 |
桌面端快捷键可在设置中自定义,修改后持久保存在本地。
撤销与回滚
<leader>u(终端)不仅撤销消息,还会把该消息造成的文件改动一并回滚。这依赖快照功能,若关闭了 snapshot 配置,则无法回滚文件。
详见快照与回滚。