开源编码代理OpenCode把权限拆成两档:只读的plan先探路,全权限的build再动手
核心概要
开源 AI 编码代理 OpenCode 把内置代理分成两档:默认的 build 拥有完整开发权限,plan 则默认拒绝文件编辑、运行 bash 命令前先请求许可,适合探索陌生代码库或规划改动。它还附带一个用于复杂搜索和多步任务的通用子代理,可在消息中用 @general 调用。安装覆盖脚本、npm、Homebrew、pacman、mise 与 Nix 等渠道,并提供桌面应用下载。
深度剖析
OpenCode 把内置代理按权限分成 build 与 plan 两个可切换角色,用户按 Tab 键在两者之间切换。 此前编码代理通常只提供一个默认工作模式,权限边界由用户自行把握。 默认的 build 是拥有完整开发权限的代理,plan 则是只读代理,用于分析和代码探索。
plan 代理的只读属性由两条具体规则落实,而不是靠提示词约束。 只读代理的边界写在权限设置里,而非依赖模型自觉。 plan 默认拒绝文件编辑,并在运行 bash 命令前请求许可。
除两个主代理外,OpenCode 还内置一个通用子代理处理复杂搜索与多步任务。 复杂检索与多步任务不必由主代理在同一上下文里完成。 该子代理在内部使用,可在消息中通过 @general 调用。
启示与展望
材料面向准备安装和使用 OpenCode 的开发者,说明了两档内置代理的权限差别、子代理的调用方式,以及脚本、npm、Homebrew、pacman、mise、Nix 和桌面应用等安装途径。安装脚本按 XDG_BIN_DIR、$HOME/bin、$HOME/.opencode/bin 的顺序选择安装路径。材料未提出后续实验或路线图。
材料只说明 plan 默认拒绝文件编辑并在运行 bash 前请求许可,未说明这些权限在具体项目中如何调整。材料也未给出代理在真实任务上的表现数据,两档代理的实际效果尚待使用中观察。
