OpenCode 常用命令
· 5 min read
OpenCode 命令体系 纯 markdown 驱动,工作流可沉淀成可复用命令——零代码扩展,迁过来上手成本低。
- 核心命令 4 条:
/init//compact//clear//undo,覆盖会话生命周期。 - 自定义命令:
.opencode/command/*.md放 markdown 即生效,业务团队也能贡献。 - 高频工作流:新项目
/init→ 改AGENTS.md→ 写专属命令;改 Bug 走/undo兜底。 - 更新机制:默认启动自检;手动
opencode upgrade,跨大版本前看 CHANGELOG。 - 选型标准:多 provider 切选 OpenCode,只用 Claude 选 Claude Code。
OpenCode 经常被拿来和 Claude Code 比,两者定位其实不一样。
Claude Code 是 Anthropic 自家产品的命令行前端,而 OpenCode 是真正意义上的开源 AI Agent——模型、provider、UI 都可以换。对经常要在不同模型之间切来切去的人来说,OpenCode 更灵活。
但灵活也意味着学习成本:命令体系、配置文件、扩展方式都和 Claude Code 不一样。这篇整理我用得最多的几条命令,省得每次都去翻文档。
核心命令:让 OpenCode 跑起来
/init 启动项目
新项目接入 OpenCode 的第一步:
/init
它会扫描项目结构,生成 AGENTS.md(也有版本叫 CLAUDE.md),把项目的技术栈、目录结构、约定写进去。下次再让 OpenCode 改代码,它就知道这是 Vue 项目还是 Next.js,不用每次都解释一遍。
最佳实践:生成完 AGENTS.md 后人工检查一遍,把 OpenCode 没识别出来的部分手动补上(部署流程、CI 命令、测试约定),别全信它自己写的。
/compact 压缩上下文
对话变长之后,token 消耗会指数级上升。这时候:
/compact
OpenCode 会调用模型把当前对话历史压缩成一段摘要,塞回上下文,腾出 token 空间。
注意:压缩会丢失细节。如果当前对话里有什么特别重要的中间结论,先复制出来再压缩,否则后面再问起来 OpenCode 可能一脸茫然。