OpenCode可以在代码项目中查找实现、修改文件并运行测试,模型服务则由开发者自行选择。终端、桌面和浏览器入口围绕同一类项目任务工作,还能按动作与资源设置权限,为代码探索、实施和审查安排不同的智能体。它适合希望保留本地开发流程,同时控制模型接入与工具执行范围的开发者。
模型服务与项目执行分别配置
OpenCode把对话推理交给已连接的模型,把文件搜索、编辑和命令交给项目工具,执行结果再返回当前会话。客户端以MIT许可证开源,模型可以来自多个提供商,也可选择官方提供的模型访问服务。用户既要配置模型凭据,也要明确工具权限;能否执行某项操作取决于规则与环境,不能仅凭模型名称判断。
为当前会话选择模型
通过/connect连接服务后,可用/models查看当前项目可用且已启用的模型,选择只影响当前会话,不会改写默认配置。若要为后续任务设定默认模型,可在配置文件中单独指定;一次命令行运行也能通过参数临时选择。部分模型提供不同推理强度等变体,具体选项取决于该模型的目录信息,不能假定所有模型通用。
用不同智能体安排规划和实施
内置Build负责通常的编码任务,Plan侧重探索与规划,不编辑普通项目文件,但仍可能按权限执行shell命令。General与Explore可作为子智能体承担多步工作或只读探索,子会话使用独立上下文。还可在项目目录创建Markdown智能体文件,把提示词、模型偏好和权限保存为具名角色,用于重复进行代码审查或专项分析。
从搜索代码到执行验证
描述目标后,OpenCode可先按文件模式查找路径,再搜索文本并读取带行号的代码,随后编辑现有内容或写入新文件。适配的模型还能通过补丁一次增删改多个文件。shell工具支持指定工作目录,运行测试或构建;较长任务可在后台继续并在完成时通知会话,较大的输出会缩短展示,同时保留完整结果供继续检查。
按动作和资源控制授权
V2权限规则由动作、资源和允许、询问或拒绝三种结果组成,同一对象以最后匹配的规则为准。可先要求shell命令确认,再允许常规Git检查,同时拒绝推送;也能限制具体路径的编辑或某个子智能体的启动。多个文件涉及不同规则时,任一拒绝都会阻止操作。规则应与所用智能体一起检查,因为内置角色有各自默认设置。
回退对话和相关文件改动
对某次回答不满意时,可用/undo暂存回退,恢复受影响文件并把原提示放回输入框,编辑后重新提交;提交前用/redo可取消这次回退。文件快照依赖Git仓库,只覆盖活动目录中的符合条件文件,不包含数据库、进程或Git状态等外部影响。恢复前需要检查差异,快照不能代替正式提交或备份。
接入本地与远程MCP服务
OpenCode可连接本地命令启动的MCP服务,也能接入远程地址,让智能体使用服务器提供的工具、提示和资源。添加时可选择项目范围或全局范围,再检查连接状态;需要认证的远程服务可在/mcps中登录。工具会占用模型上下文,应只连接当前工作需要的服务,并为其配置相应权限,实际能力由服务器及授权范围决定。
保存项目约定并延续长会话
把构建命令、架构说明和验证要求写入AGENTS.md后,OpenCode在进入项目及探索子目录时加载相应指令;多个文件会合并,不会自动解决互相矛盾的约定。长会话接近上下文限制时,默认通过摘要腾出空间,并保留近期对话。可调整保留量和缓冲比例,但摘要会丢失细节,重要规范仍应放在项目文件中。
在项目中发起第一次编码任务
- 安装当前版本:从官网选择匹配操作系统的V2 CLI或桌面客户端,确认使用对应版本的文档与配置。
- 连接模型:在终端界面使用/connect完成服务配置,再通过/models选择当前项目可用的模型。
- 准备任务上下文:进入待处理项目,补充复现步骤、相关路径与预期行为,需要长期沿用的约定写入AGENTS.md。
- 规划并实施:先要求解释影响范围,再安排代码修改和现有测试;按需要设置文件、命令与子智能体权限。
- 审阅交付结果:检查文件差异、测试输出和剩余问题,不合适的近期变更可检查快照后回退,确认后按项目流程提交。
适合哪些开发任务
- 定位陌生代码:提供模块路径和行为问题,让探索智能体搜索并解释相关实现,为后续改动确定范围。
- 修复可复现缺陷:提交报错、输入样例与预期结果,结合文件编辑和shell验证迭代修正,再由开发者审阅差异。
- 重复代码审查:将检查重点和只读权限保存为自定义角色,对当前改动输出问题与文件位置,作为人工评审材料。
- 维护有统一规范的项目:在AGENTS.md保存构建和测试要求,按目录补充约定,让不同任务沿用明确的项目背景。
- 连接开发资料:为项目配置必要的MCP服务并完成授权,让任务按需查询外部资料或调用工具,再将结果用于代码处理。
用户评价与讨论
暂无评价,来发表第一条评价吧。