CodeBuddy‑CLI:启动自动授权 + 继续上次对话 codebuddy -c --permission-mode acceptEdits

CodeBuddy‑CLI:启动自动授权 + 继续上次对话 codebuddy -c --permission-mode acceptEdits

前提:已经完成一次登录授权,token会本地持久保存,后续不会再弹出浏览器登录窗口,直接复用已有授权。

1、启动直接继续最近一次对话(交互TUI)

参数 -c / --continue,启动就加载上一轮完整上下文,不用重新登录、不用新建会话

bash 复制代码
codebuddy -c
#等价
codebuddy --continue
  • ✅复用本地已保存token,默认授权,不会再触发登录流程
  • ✅自动加载最近会话全部历史,直接接着聊
  • ✅进入交互式TUI程序,不会退出

如果要恢复某一个指定会话ID:

bash 复制代码
codebuddy -r 你的sessionId

2、默认工具授权(自动放行文件/命令,不用每次y确认)

两种方式:命令行参数临时生效,或者写入配置永久生效。

①启动参数(单次生效)

--permission-mode acceptEdits:允许读文件、编辑文件;bash命令依旧询问

bash 复制代码
codebuddy -c --permission-mode acceptEdits

⚠️高危:bypassPermissions 全部跳过所有确认(不推荐日常使用)

bash 复制代码
codebuddy -c --permission-mode bypassPermissions

②写入配置永久生效(每次启动自动继承)

编辑 ~/.codebuddy/settings.json,没有就新建:

json 复制代码
{
  "permission": {
    "defaultMode": "acceptEdits"
  }
}

保存后,直接执行 codebuddy -c,每次启动自动使用该权限模式,不用每次加参数

注意:auto模式在CLI配置文件会被忽略,只能用参数传入,优先用acceptEdits

3、一键别名(推荐,简化输入)

bash/zsh配置 ~/.bashrc / ~/.zshrc,增加别名:

bash 复制代码
alias cb='codebuddy -c --permission-mode acceptEdits'

source生效

bash 复制代码
source ~/.bashrc

之后直接敲

bash 复制代码
cb

效果:自动复用登录授权,继续上次对话,文件编辑默认放行,进入交互TUI

4、容器环境关键点(你docker场景)

  1. token保存在 ~/.local/share/CodeBuddyExtension/容器销毁会丢失登录状态,务必做卷挂载持久化目录,否则每次docker重启要重新扫码登录。
bash 复制代码
-v $PWD/codebuddy_data:/root/.local/share/CodeBuddyExtension
  1. 只要本地token文件完好,codebuddy -c就不会弹出浏览器登录,直接授权。

5、OpenCode对应对照(一并给你)

OpenCode没有 -c 参数,要继续对话只能进入TUI后执行 /new / /sessions

OpenCode设置默认权限编辑 ~/.config/opencode/tui.json

常用速记

命令 作用
codebuddy 全新空白会话,复用已有登录授权
codebuddy -c 启动,继续最近会话,复用token
/clear TUI内清空上下文,开新对话,程序不退出
Esc 打断AI输出,不退出程序
Ctrl+C 完全退出CLI

排查:如果启动又弹出登录,说明本地token丢失,重新运行一次codebuddy完成一次扫码登录即可,之后 -c 就免登录。

OpenCode CLI 与 CodeBuddy CLI 会话控制完全指南

核心区别一览

操作 OpenCode CLI CodeBuddy CLI
打断生成(不退出程序) Esc Esc
开启全新对话(不退出程序) /new /clear
彻底退出程序 /exitCtrl+XQ Ctrl+C

⚠️ 关键提醒 :两个 CLI 中 Ctrl+C 都不是打断生成,而是直接强制退出整个 TUI 程序。


OpenCode CLI 完整会话控制

1. 打断当前 AI 输出 / Agent 工具执行(程序不退出)

  • Esc(Escape 键):立刻停止流式输出,TUI 保持运行,上下文完整保留,可继续聊天。Agent 正在执行 shell、文件修改等工具调用时,Esc 同样可以中断任务。
  • 兜底命令 :若终端不响应 Esc(常见于 Docker 容器或 Web 终端),直接输入 /interrupt 回车,效果与 Esc 完全等同。

部分终端/容器内 Esc 响应慢,可连按两次强制中断。

2. 结束当前对话,开启全新空白对话(程序不退出)

  • 斜杠命令(最可靠,不受终端按键影响)/new
  • Leader 快捷键 :先按 Ctrl+X 松开,再按 N

旧会话自动存档,可随时通过历史会话功能切回。

3. 浏览、切回历史会话

  • 斜杠命令/sessions
  • Leader 快捷键Ctrl+X 松开后按 L

4. 真正退出 OpenCode(完全关闭程序)

  • 推荐斜杠命令/exit
  • Leader 快捷键Ctrl+X 松开后按 Q
  • 不推荐Ctrl+C(直接强制退出,无保存提示)

高级:修改配置,让 Ctrl+C 变为中断而非退出

编辑配置文件 ~/.config/opencode/tui.json(不存在则新建):

json 复制代码
{
  "$schema": "https://opencode.ai/config.json",
  "keybinds": {
    "app_exit": "ctrl+d,<leader>q",
    "session_interrupt": "escape,ctrl+c"
  }
}

保存后重启 OpenCode。修改后行为:

  • Ctrl+C → 中断生成(不退出程序)
  • 退出程序 → 只能用 Ctrl+DCtrl+XQ

注意:老版本 OpenCode 对此配置支持存在 bug,若修改后无效,请坚持默认方案:用 Esc 和斜杠命令。


CodeBuddy CLI 完整会话控制

1. 打断正在生成的回复(程序不退出)

  • Esc:中断当前正在流式输出的回答,TUI 不退出,保留当前对话上下文。
  • JetBrains 终端 :若 Esc 无效,尝试 Ctrl+EscShift+Esc

⚠️ 注意Ctrl+C 在 CodeBuddy 中是直接退出整个程序,不要用来打断生成

2. 结束当前对话、开启全新对话(程序不退出)

输入斜杠命令:

复制代码
/clear

效果:旧会话存档,开启干净全新对话,程序不退出。旧会话以后可用 /resume 找回。

3. 会话管理速查

命令/按键 作用
Esc 打断正在输出的 AI 回答,保留当前对话上下文
/clear 结束当前对话,新建空白会话(程序不退出)
/resume 列出历史会话,可切回之前的对话
/compact 压缩当前会话上下文,减少 token 占用
Ctrl+C 完全退出 CodeBuddy 程序

容器/终端环境兼容性说明

问题场景 解决方案
Docker 容器内 Esc 无响应 使用斜杠命令 100% 可靠:/interrupt(打断生成)、/new(开新对话)
JetBrains 内置终端 使用 Ctrl+EscShift+Esc 代替 Esc

完整对比总表

工具 打断生成(不退出) 新开对话(不退出) 彻底退出程序
CodeBuddy-CLI Esc /clear Ctrl+C
OpenCode-CLI Esc / /interrupt /new /exit / Ctrl+XQ / Ctrl+C(不推荐)
相关推荐
plainGeekDev1 小时前
Agent调试、错误处理与成本优化
agent·ai编程·claude
心易行者3 小时前
从零搭建完整Web应用:7步走完全流程,配合web应用托管零门槛上线
人工智能·python·ai编程
全栈弄潮儿3 小时前
从零搭建你的 AI 编程工作流
aigc·openai·ai编程
却尘3 小时前
Agent Framework(1):会聊天的模型不值钱:微软用 7 步,把 LLM 从嘴替做成能上岗的 Agent
ai编程
Web3_Basketball3 小时前
从0到1落地MCP连接器企业工具:踩坑全记录
ai编程
十一捉一3 小时前
挑战在 Coding Agent 时彻底推翻之前的方案
agent·ai编程
大模型丫丫4 小时前
如何高效部署开源AI编程助手:OpenCode实战指南
开源·ai编程
OriginCoding4 小时前
用 AI Agent 协作完成一个 Android TOTP 应用:从需求边界到 v1.0.0
android·ai编程
zhangfeng11337 小时前
WebIDE 容器中 AtomCode 报 `ATOMCODE_SIG_STALE` 排查实录:一次由 8 小时时钟偏差引发的“悬案”
编辑器·ai编程·atomcode