版权声明本文为博主原创文章遵循 CC 4.0 BY-SA 版权协议转载请附上原文出处链接和本声明。手打不易如果转摘请注明出处本文链接https://zhangxiaofan.blog.csdn.net/article/details/161698399文章目录背景先说结论OpenCode开源优势详解GitHub数据一览为什么OpenCode是真正的开源OpenCode的核心竞争力OpenCode基础使用教程安装步骤方式一官方安装包推荐方式二通过配置文件安装插件方式三手动安装方式四使用npx一键安装基本命令启动OpenCode基本交互命令文件操作命令配置详解全局配置文件项目级配置文件Skill优先级配置国产AI模型DeepSeek模型配置通义千问Qwen模型配置智谱GLM模型配置多模型配置示例OpenCode核心功能特性Skills系统什么是Skills常用Skills列表如何使用Skills创建自定义Skill插件架构插件配置插件推荐插件优先级工具映射实战案例使用OpenCode开发一个简单功能场景描述使用brainstorming skill分析需求使用writing-plans skill编写实施计划使用test-driven-development skill实现功能使用verification-before-completion skill验证完成常见问题与故障排查插件未加载Skills未找到性能优化建议总结背景随着AI技术的飞速发展AI编程工具已成为开发者的必备神器。市面上涌现出众多AI编程助手如OpenAI Codex、Claude Code、Cursor等它们各有特色但大多存在一个共同问题不够开放。要么是闭源商业产品如Cursor要么是协议不明确如Claude Code这让很多开发者在使用时心存顾虑能否用于商业项目能否自由修改和扩展能否集成到自己的产品中而OpenCode的出现完美解决了这些问题。它不仅功能强大更重要的是——真正开源。本文将详细介绍OpenCode这款开源AI编程工具包括它的开源优势、基础使用教程、核心功能特性帮助开发者快速上手。先说结论OpenCode是目前GitHub上最受欢迎的开源AI编程工具拥有169,839个Star约17万采用MIT开源协议完全商业友好。相比其他AI编程工具OpenCode的核心优势在于一句话总结OpenCode是真正的开源王者Star数最高、协议最开放、社区最活跃是开发者首选的AI编程工具。OpenCode开源优势详解GitHub数据一览OpenCode的GitHub仓库数据令人印象深刻核心数据仓库地址https://github.com/anomalyco/opencodeStar数量169,839GitHub AI编程工具类目第一Fork数量20,320开源协议MIT License完全开源商业友好主要语言TypeScript创建时间2025年4月30日官网https://opencode.ai社区活跃度指标贡献者数量100 位活跃贡献者最近一周提交182次高度活跃开放Issue数量6,605个社区讨论热烈下载量最新版本下载量超过30万次为什么OpenCode是真正的开源MIT协议的商业自由MIT协议是最宽松的开源协议之一它允许✅ 商业使用无限制✅ 可自由修改和分发✅ 可集成到商业产品中✅ 无需付费授权✅ 可私有化部署对比其他工具的局限工具协议类型商业使用私有部署自由修改OpenCodeMIT✅ 无限制✅ 支持✅ 支持Claude Code无明确协议⚠️ 受限⚠️ 不明确⚠️ 不明确Cursor闭源❌ 商业产品❌ 不支持❌ 不支持OpenAI CodexApache-2.0✅ 支持✅ 支持✅ 支持需声明社区活跃度对比OpenCode的社区活跃度远超其他工具每周182次提交 vs Claude Code中等vs Cursor低100贡献者 vs Cursor闭源无贡献者6,605个开放Issue显示社区参与度极高OpenCode的核心竞争力1. Star数量领先169,839个Star远超Claude Code13万、OpenAI Codex8.9万、Cursor3.3万显示社区认可度最高。2. 真正的开源MIT协议比Claude Code无明确协议和Cursor闭源更开放真正实现开源二字。3. 社区最活跃每周182次提交100贡献者远超Codex和Cursor显示项目生命力旺盛。4. 商业友好MIT协议允许商业使用而Cursor是商业闭源产品Claude Code协议不明OpenCode是最佳选择。5. 插件生态丰富支持 superpowers-zh 等技能框架可扩展性强社区驱动的插件开发。6. 快速迭代v1.15.13版本持续更新响应社区需求迅速每周都有新功能和优化。OpenCode基础使用教程安装步骤OpenCode支持多种安装方式适应不同开发者的需求。方式一官方安装包推荐Windows安装访问官网下载页面https://opencode.ai/download选择Windows版本.exe安装包双击安装包按照提示完成安装安装完成后在命令行验证# 验证安装 opencode--version# 预期输出 OpenCode v1.15.13macOS安装# 使用Homebrew安装 brewinstallopencode# 或者下载.dmg安装包 # 从官网下载https://opencode.ai/download# 双击.dmg文件拖拽到Applications文件夹# 验证安装 opencode--versionLinux安装# Debian/Ubuntu wgethttps://opencode.ai/download/opencode_latest.debsudodpkg-iopencode_latest.deb# Fedora/RHEL wgethttps://opencode.ai/download/opencode_latest.rpmsudorpm-iopencode_latest.rpm# AppImage通用 wgethttps://opencode.ai/download/opencode_latest.AppImagechmodx opencode_latest.AppImage ./opencode_latest.AppImage# 验证安装 opencode--version方式二通过配置文件安装插件OpenCode支持通过配置文件安装增强插件如superpowers-zh中文增强版。步骤创建或编辑opencode.json配置文件全局或项目级{plugin:[superpowersgithttps://github.com/jnMetaCode/superpowers-zh.git]}重启OpenCode插件会通过Bun自动安装并注册所有skills验证插件加载# 在OpenCode中询问 问AI告诉我你有哪些 superpowers# 预期输出 AI会列出所有已加载的skills包括 - 头脑风暴brainstorming - 编写计划writing-plans - 测试驱动开发test-driven-development 等方式三手动安装# 克隆superpowers-zh仓库 gitclone https://github.com/jnMetaCode/superpowers-zh.git# 复制skills到项目目录 cdyour-projectmkdir-p.opencode/skillscp-rsuperpowers-zh/skills/* .opencode/skills/# 验证安装 # 在OpenCode中使用skill工具列出skills方式四使用npx一键安装# 进入项目目录 cd/your/project# 使用npx安装 npx superpowers-zh# 验证安装 # 检查.opencode/skills目录是否创建成功ls.opencode/skills基本命令OpenCode提供了丰富的命令行工具和交互式界面。启动OpenCode# 启动交互式界面 opencode# 启动并指定工作目录 opencode--workdir/path/to/project# 启动并加载特定配置 opencode--config/path/to/opencode.json基本交互命令在OpenCode交互式界面中可以使用以下命令# 查看帮助 /help# 列出可用skills use skill tool to list skills# 加载特定skill use skill tool to load superpowers/brainstorming# 查看当前配置 /config# 查看日志 /logs# 退出OpenCode /exit文件操作命令OpenCode支持丰富的文件操作# 读取文件 read/path/to/file# 编辑文件 edit /path/to/file# 创建文件 write/path/to/file# 搜索文件 globpattern**/*.js# 搜索内容 greppatternfunction.*async配置详解全局配置文件全局配置文件位于~/.config/opencode/opencode.json{plugin:[superpowersgithttps://github.com/jnMetaCode/superpowers-zh.git],model:default,temperature:0.7,maxTokens:4000,logLevel:info}项目级配置文件项目级配置文件位于项目根目录/.opencode/opencode.json{plugin:[project-specific-plugin],workdir:./src,exclude:[node_modules,dist,*.test.js]}Skill优先级OpenCode的skill加载遵循优先级规则优先级来源说明最高项目skills.opencode/skills/目录中的skills中等个人skills~/.config/opencode/skills/目录中的skills最低Superpowers skills通过插件加载的skills注意① 同名skill会被高优先级的覆盖② 项目skills适合团队共享的工作流③ 个人skills适合个人习惯的开发模式配置国产AI模型OpenCode支持配置多种国产AI模型包括DeepSeek、通义千问Qwen、智谱GLM等。通过灵活的provider配置开发者可以根据需求选择最适合的模型。DeepSeek模型配置DeepSeek是国内领先的AI模型提供商提供高性价比的推理模型。配置步骤获取API Key访问 https://platform.deepseek.com/ 注册并获取API Key设置环境变量# WindowsPowerShell $env:DEEPSEEK_API_KEYyour-deepseek-api-key# macOS/Linux exportDEEPSEEK_API_KEYyour-deepseek-api-key在opencode.jsonc中添加provider配置{ provider: { zj-deepseek-provider: { npm: ai-sdk/openai-compatible, name: DeepSeek API, options: { baseURL: https://api.deepseek.com/v1, apiKey: {env:DEEPSEEK_API_KEY} }, models: { deepseek-v4-pro: { name: zj-deepseek-v4-pro-max, description: 思考模式,最大上下文 1M,最大输出 384K,3元_6元/百万tokens, limit: { context: 1000000, output: 384000 }, options: { reasoning_effort: max, thinking: { type: enabled } } }, deepseek-v4-flash: { name: zj-deepseek-v4-flash-max, description: 思考模式,最大上下文 1M,最大输出 384K,1元_2元/百万tokens, limit: { context: 1000000, output: 384000 }, options: { reasoning_effort: max, thinking: { type: enabled } } } } } } }注意① DeepSeek支持思考模式通过thinking.type: enabled开启②reasoning_effort: max表示最大推理强度③ 1M上下文长度适合处理大型代码文件通义千问Qwen模型配置通义千问是阿里云推出的大语言模型提供稳定的API服务。配置步骤获取API Key访问 https://dashscope.console.aliyun.com/ 注册并获取API Key设置环境变量# WindowsPowerShell $env:DASHSCOPE_API_KEYyour-dashscope-api-key# macOS/Linux exportDASHSCOPE_API_KEYyour-dashscope-api-key在opencode.jsonc中添加provider配置{ provider: { zj-qwen-provider: { npm: ai-sdk/openai-compatible, name: Qwen API, options: { baseURL: https://dashscope.aliyuncs.com/compatible-mode/v1, apiKey: {env:DASHSCOPE_API_KEY} }, models: { qwen3.6-plus: { name: zj-qwen3.6-plus, description: 最大上下文 991K,最大输出 64K,2元_12元/百万tokens } } } } }注意① Qwen使用阿里云DashScope API需要阿里云账号② 兼容OpenAI API格式易于集成③ 适合处理中等规模的代码文件智谱GLM模型配置智谱GLM是清华系AI公司智谱AI推出的大语言模型在国内具有领先地位。配置步骤获取API Key访问 https://open.bigmodel.cn/ 注册并获取API Key设置环境变量# WindowsPowerShell $env:GLM_API_KEYyour-glm-api-key# macOS/Linux exportGLM_API_KEYyour-glm-api-key在opencode.jsonc中添加provider配置{ provider: { zj-glm-provider: { npm: ai-sdk/openai-compatible, name: GLM API, options: { baseURL: https://open.bigmodel.cn/api/paas/v4, apiKey: {env:GLM_API_KEY} }, models: { glm-5.1: { name: zj-glm-5.1, description: 最大上下文 200k,最大输出 128K,6元_24元/百万tokens } } } } }注意① GLM-5.1是智谱AI最新一代模型代码生成能力强② 适合需要高质量输出的复杂编程任务③ 相比DeepSeek和Qwen价格稍高但质量更优多模型配置示例开发者可以同时配置多个国产AI模型根据不同任务选择不同模型完整配置示例{ provider: { // DeepSeek配置 zj-deepseek-provider: { npm: ai-sdk/openai-compatible, name: DeepSeek API, options: { baseURL: https://api.deepseek.com/v1, apiKey: {env:DEEPSEEK_API_KEY} }, models: { deepseek-v4-pro: { name: zj-deepseek-v4-pro-max, description: 思考模式,最大上下文 1M,最大输出 384K,3元_6元/百万tokens, limit: { context: 1000000, output: 384000 } } } }, // 通义千问配置 zj-qwen-provider: { npm: ai-sdk/openai-compatible, name: Qwen API, options: { baseURL: https://dashscope.aliyuncs.com/compatible-mode/v1, apiKey: {env:DASHSCOPE_API_KEY} }, models: { qwen3.6-plus: { name: zj-qwen3.6-plus, description: 最大上下文 991K,最大输出 64K,2元_12元/百万tokens } } }, // 智谱GLM配置 zj-glm-provider: { npm: ai-sdk/openai-compatible, name: GLM API, options: { baseURL: https://open.bigmodel.cn/api/paas/v4, apiKey: {env:GLM_API_KEY} }, models: { glm-5.1: { name: zj-glm-5.1, description: 最大上下文 200k,最大输出 128K,6元_24元/百万tokens } } } } }OpenCode核心功能特性Skills系统Skills是OpenCode的核心特性它允许开发者定义和加载预定义的工作流方法论。什么是SkillsSkills是一组预定义的工作流程和方法论帮助AI更好地完成特定任务。每个skill包含触发条件在什么情况下使用这个skill工作流程具体的执行步骤最佳实践推荐的做法和注意事项常用Skills列表OpenCode通过superpowers-zh插件提供了丰富的skillsSkill名称用途触发场景头脑风暴(brainstorming)需求分析→设计规格创建功能、构建组件前编写计划(writing-plans)把规格拆成可执行步骤多步骤任务开始前执行计划(executing-plans)按计划逐步实施有书面计划需要执行时测试驱动开发(test-driven-development)严格TDD先写测试再写代码实现功能或修复bug前系统化调试(systematic-debugging)四阶段调试法遇到bug、测试失败时请求代码审查(requesting-code-review)派遣审查agent检查代码完成重要功能后接收代码审查(receiving-code-review)技术严谨处理审查反馈收到代码审查反馈后完成前验证(verification-before-completion)证据先行必须跑验证宣称工作完成前如何使用Skills方法一自动触发Skills会在合适的时机自动触发。例如当你说我想创建一个新功能时brainstorming skill会自动激活。方法二手动加载# 在OpenCode中手动加载skill use skill tool to load superpowers/brainstorming# 或者直接说明意图 我要实现一个用户认证功能请使用brainstorming skill帮我分析需求创建自定义Skill开发者可以创建自己的skill满足特定需求。创建个人Skill# 创建skill目录 mkdir-p~/.config/opencode/skills/my-skill# 创建SKILL.md文件 创建~/.config/opencode/skills/my-skill/SKILL.md--- name: my-skill description: 当 [条件] 时使用 - [功能描述] --- # 我的Skill ## 触发条件 - 条件1具体说明 - 条件2具体说明 ## 工作流程 1. 步骤1具体说明 2. 步骤2具体说明 ## 最佳实践 - 实践1具体说明 - 实践2具体说明 ## 注意事项 注意 ① 第一点说明 ② 第二点说明创建项目Skill在项目的.opencode/skills/目录中创建skill团队成员可以共享使用。插件架构OpenCode的插件架构允许开发者扩展功能。插件配置{plugin:[plugin-namegithttps://github.com/user/plugin-repo.git,another-pluginnpm:package-name]}插件推荐oh-my-openagenthttps://github.com/code-yeongyu/oh-my-openagentmohak34/opencode-notifierhttps://github.com/mohak34/opencode-notifier插件优先级项目级插件 全局插件后加载的插件会覆盖先加载的同名插件工具映射OpenCode提供了丰富的工具集支持各种开发操作。工具类型工具名称功能说明文件操作read, write, edit读取、创建、编辑文件搜索工具glob, grep文件搜索、内容搜索代码分析lsp_*LSP相关工具定义跳转、引用查找等执行工具bash执行bash命令子代理task派遣子代理完成特定任务Skill工具skill加载和列出skills实战案例使用OpenCode开发一个简单功能场景描述假设我们需要开发一个用户登录功能包括用户输入用户名和密码验证用户身份返回登录结果使用brainstorming skill分析需求步骤1启动OpenCode并加载skill# 启动OpenCode opencode# 加载brainstorming skill 我要实现用户登录功能请使用brainstorming skill帮我分析需求步骤2AI会自动引导你分析需求OpenCode会询问登录方式用户名/密码、OAuth、手机号等安全要求加密、Session管理、Token等错误处理用户不存在、密码错误、网络异常等数据存储数据库类型、表结构等步骤3生成设计规格AI会根据你的回答生成详细的设计规格包括功能需求列表技术选型建议数据结构设计API接口设计安全考虑事项使用writing-plans skill编写实施计划步骤1加载writing-plans skill请使用writing-plans skill根据刚才的设计规格编写实施计划步骤2AI会生成详细的实施计划计划会包括创建数据库表结构实现用户模型实现登录验证逻辑实现错误处理编写单元测试集成测试使用test-driven-development skill实现功能步骤1加载TDD skill请使用test-driven-development skill实现用户登录功能步骤2AI会按照TDD流程实现// 步骤1先写测试 describe(UserLogin,(){test(should return success with valid credentials,(){constresultlogin(testuser,password123);expect(result.success).toBe(true);expect(result.token).toBeDefined();});test(should return error with invalid credentials,(){constresultlogin(testuser,wrongpassword);expect(result.success).toBe(false);expect(result.error).toBe(Invalid credentials);});});// 步骤2运行测试预期失败 // 步骤3编写最小实现代码 functionlogin(username,password){// 实现登录逻辑if(usernametestuserpasswordpassword123){return{success:true,token:generated-token};}return{success:false,error:Invalid credentials};}// 步骤4运行测试预期通过 // 步骤5重构优化代码 使用verification-before-completion skill验证完成步骤1加载验证skill请使用verification-before-completion skill验证登录功能是否完成步骤2AI会执行验证步骤✅ 运行单元测试确认通过✅ 运行集成测试确认通过✅ 检查代码质量LSP diagnostics✅ 验证API接口是否正常工作✅ 检查安全考虑是否到位步骤3生成验证报告AI会提供详细的验证报告包括测试覆盖率代码质量指标功能完整性检查安全性评估常见问题与故障排查插件未加载问题现象配置了插件但skills未生效。排查步骤# 检查OpenCode日志 opencode run --print-logshello21|grep-isuperpowers# 检查配置文件 cat~/.config/opencode/opencode.json# 确认Bun已安装 bun--version# 手动重新加载插件 # 删除插件缓存rm-rf~/.config/opencode/plugins/*# 重启OpenCode解决方案① 确保opencode.json配置正确② 确保运行最新版本的OpenCode③ 确保Bun已正确安装④ 检查网络连接插件需要从Git仓库下载Skills未找到问题现象使用skill工具时提示skill不存在。排查步骤# 列出所有可用skills use skill tool to list skills# 检查skill目录 ls~/.config/opencode/skills/ls.opencode/skills/# 检查SKILL.md文件格式 cat~/.config/opencode/skills/my-skill/SKILL.md解决方案① 确保skill目录结构正确② 确保SKILL.md文件包含有效的YAML frontmatter③ 确保skill名称在frontmatter中正确定义④ 检查skill描述是否清晰影响自动触发性能优化建议提升OpenCode响应速度合理配置exclude规则{exclude:[node_modules,dist,build,*.test.js,*.spec.js,.git]}使用项目级配置将通用配置放在全局项目特定配置放在项目级避免重复加载。定期清理缓存# 清理插件缓存 rm-rf~/.config/opencode/plugins/*# 清理临时文件 rm-rf~/.config/opencode/tmp/*选择合适的模型根据任务复杂度选择合适的AI模型简单任务使用快速模型复杂任务使用高级模型。总结通过本文的介绍我们详细了解了OpenCode这款开源AI编程工具。整个过程涵盖了从开源优势分析、基础使用教程、核心功能特性到实战案例等多个环节。OpenCode的核心优势真正的开源王者169,839个StarGitHub AI编程工具类目第一社区认可度最高MIT协议的商业自由完全开源商业友好可自由修改、分发和集成到商业产品中活跃的社区生态100贡献者、每周182次提交、6,605个开放Issue显示项目生命力旺盛插件化架构支持superpowers-zh等技能框架可扩展性强社区驱动的插件开发快速迭代能力v1.15.13持续更新响应社区需求迅速每周都有新功能和优化Skills系统预定义的工作流方法论帮助AI更好地完成特定任务提升开发效率适用场景✅ 个人开发者免费使用无需付费授权✅ 商业项目MIT协议允许商业使用无法律风险✅ 团队协作项目级skills可共享工作流程✅ 企业集成可私有化部署集成到内部系统✅ 定制开发可自由修改源码满足特定需求对比其他工具的选择建议场景推荐工具原因商业项目开发OpenCodeMIT协议商业友好个人学习探索OpenCode完全开源免费使用企业内部部署OpenCode可私有化部署无限制快速原型开发OpenCode/Claude Code功能强大快速上手商业产品购买Cursor闭源商业产品有官方支持希望本文的实践能够为有类似需求的开发者提供一些参考和启发相关资源OpenCode官网https://opencode.aiOpenCode文档https://opencode.ai/docs/GitHub仓库https://github.com/anomalyco/opencodeSuperpowers-zh项目https://github.com/jnMetaCode/superpowers-zh插件生态awesome-opencode下一步行动安装OpenCode体验基础功能加载superpowers-zh插件尝试不同的skills创建自定义skill满足特定需求加入社区参与贡献和讨论让我们一起拥抱开源用OpenCode提升开发效率