news 2026/8/28 4:05:15

OpenCode 入门宝典:小白也能玩转编程

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
OpenCode 入门宝典:小白也能玩转编程

效果预览:代码文件分析

一、OpenCode

OpenCode 是一个开源、模型无关且隐私优先的 AI 编程代理(AI Coding Agent)。它可以直接在终端、桌面应用或 IDE 中,通过自然语言帮你完成理解代码、编写功能、修复 Bug 和重构项目等任务 。其核心目标是提供一个开放、灵活、可完全掌控的 AI 辅助编程工具,让你摆脱单一供应商的限制 。

二、核心特性

OpenCode 的强大之处在于它的核心设计理念:

1、模型无关,自由选择

  • 支持连接 75+ 家模型提供商,包括 OpenAI、Anthropic、Google、阿里云百炼等商业模型 。
  • 内置了如 GLM-4.7、MiniMax M2.1 等免费模型,开箱即用 。
  • 支持通过 Ollama 或 vLLM 连接本地模型(如 Llama 3、Qwen2.5),实现完全离线、数据100%私有的开发环境 。

2、双 Agent 模式,安全高效

  • Build 模式(默认):拥有完整权限,可以直接读取、编辑文件和执行命令,适合实际开发 。
  • Plan 模式(只读):默认拒绝修改文件和执行命令,仅用于分析代码和规划方案。在修改前会征求你的许可,非常适合探索不熟悉的代码库或进行安全审查,通过Tab键即可一键切换 。

3、强大的工具集与无限扩展

  • 内置工具:包括执行 bash 命令、读写文件、grep 搜索、LSP 诊断、抓取网页内容等,所有工具权限都可在配置文件中精细控制(allow/deny/ask)。
  • MCP 支持:通过 Model Context Protocol 服务器连接外部工具,如数据库、搜索引擎或 GitHub,极大扩展能力边界 。
  • oh-my-opencode 插件:将单 Agent 升级为多智能体协作团队,可并行运行多个专业子代理(如前端工程师、文档专家),自动分配任务,实现更复杂的自动化工作流 。

4、隐私优先,完全掌控

  • 工具不会存储你的任何代码或上下文数据 。
  • 会话分享完全由你控制(手动/自动/禁用),且可以随时取消分享,敏感项目可在团队层面统一禁用分享功能 。

三、快速上手指南

1、安装方式

OpenCode 支持多平台,推荐使用一键安装脚本(macOS/Linux):

curl-fsSLhttps://opencode.ai/install|bash

或者通过 npm 全局安装:

npminstall-gopencode-ai

其他安装方式(Windows、Docker、包管理器等)可参考其官网 。

验证安装:

opencode--version

2、初始配置

进入你的项目目录,启动 OpenCode:

cdyour-project opencode

在启动后的界面中,输入/connect命令,选择一个模型提供商(如 OpenAI、OpenCode Zen 或阿里云百炼),并粘贴你的 API 密钥 。

例如硅基流动:

配置完成后可以进行模型对话:

我们可以在终端输入/models查看可用的免费模型:

为让 OpenCode 更好地理解项目,建议运行初始化命令:

/init

这会生成一个AGENTS.md文件,记录项目结构和规范,可提交到 Git 仓库与团队共享 。

3、日常使用

例如分析代码文件:

  • 提问与理解代码:直接提问或使用@引用文件,例如@src/index.js 这个文件的主要功能是什么?
  • 编写与修改代码:用自然语言描述需求,例如创建一个 Express 服务,添加一个返回 JSON 的 /hello 路由。在 Plan 模式下确认方案后,切换到 Build 模式让其执行 。
  • 常用命令
    • /models:列出并切换可用模型 。
    • /undo//redo:撤销或重做更改(需在 Git 仓库中)。
    • /share:生成当前会话的分享链接 。
    • /exit:退出 OpenCode 。

4、适用人群

  • 追求控制力和透明度的开发者:希望审计工具行为,避免被单一云厂商锁定 。
  • 对数据隐私有严格要求的团队:需要确保代码不离开本地或内部服务器 。
  • 希望优化成本的个人/企业:可根据任务性质在强大模型(如 Claude)和廉价模型间灵活切换,平衡效果与成本 。
  • 开源贡献者和终端爱好者:享受自定义、扩展工具,以及纯命令行工作流的高效 。

5、使用本地模型

ollama 提供了原生支持,只需一行指令:

ollama launch opencode--modelqwen3.5:4b

首次推理很慢,第二次就很快了:

我们看下配置文件是什么样的:

cat/home/sam/.local/state/opencode/model.json

6、资源链接

  • 官方网站:https://opencode.ai
  • GitHub 仓库:https://github.com/anomalyco/opencode
  • 官方文档:https://opencode.ai/docs

四、技能配置与使用

1、配置路径

放置 Skill 文件:

  • 项目配置:.opencode/skills/<name>/SKILL.md
  • 全局配置:~/.config/opencode/skills/<name>/SKILL.md
  • 项目 Claude 兼容:.claude/skills/<name>/SKILL.md
  • 全局 Claude 兼容:~/.claude/skills/<name>/SKILL.md
  • 项目代理兼容:.agents/skills/<name>/SKILL.md
  • 全局代理兼容:~/.agents/skills/<name>/SKILL.md

扫描机制:

对于项目本地路径,OpenCode 会从当前工作目录向上遍历,直到到达 git 工作树根目录。 在此过程中,它会加载.opencode/中所有匹配的skills/*/SKILL.md,以及匹配的.claude/skills/*/SKILL.md.agents/skills/*/SKILL.md

全局定义也会从~/.config/opencode/skills/*/SKILL.md~/.claude/skills/*/SKILL.md~/.agents/skills/*/SKILL.md中加载。

例如在当前项目配置:

mkdir-p.opencode/skills

2、技能测试

SkillsDemo项目下打开 opencode,测试调用 Skill:

3、技能注入原理

用户创建技能
放置SKILL.md文件

OpenCode启动/进入项目

技能发现机制
扫描预定义路径

解析所有SKILL.md文件

提取元数据
(名称与描述)

生成轻量级
列表

将列表注入Agent
初始上下文

Agent接收用户任务

Agent分析任务上下文

任务是否匹配
某技能描述?

Agent调用skill工具
并指定技能名称

技能完整指令
(Markdown正文)被加载

Agent遵循指令
执行任务

4、Skills 示例

gitclone https://github.com/anthropics/skills# git clone https://gitcode.com/GitHub_Trending/skills3/skills

可以直接下载官方仓库的 Skills 注入到 Agent 中,根据业务的实际需求进行迭代优化:

例如,这里我将 skills 全部克隆下来:

打开 opencode,测试 pdf 技能:

可以看到,Agent 会按照注入的 Skill 进行操作,并且支持错误闭环处理:

五、对比 Claude Code

1、核心定位与基本介绍

特性OpenCodeClaude Code
核心定位开源的 AI 编程代理,强调灵活性、可定制性和隐私优先Anthropic 官方推出的 AI 编程助手,强调与 Claude 模型生态的深度集成和流畅体验
开源模式100% 开源(MIT 许可证),拥有超过 11.2 万 GitHub 星标和众多社区贡献者 。闭源商业产品,代码不公开 。
主要形态终端界面 (TUI) 优先,同时提供桌面应用(Beta) 和 VS Code 扩展 。终端界面,并提供网页版、桌面应用以及 VS Code 和 JetBrains IDE 的插件 。

2、关键特性深度对比

2.1、大语言模型 (LLM) 支持

这是两者最核心的区别。

  • OpenCode模型无关,支持 75+ 家模型提供商 。你可以自由选择:
    • 商业模型:如 OpenAI (GPT)、Anthropic (Claude)、Google (Gemini) 等。
    • 免费/本地模型:内置 GLM-4.7、MiniMax M2.1 等免费模型,也支持通过 Ollama 连接本地模型(如 Llama 3)。
  • Claude Code深度绑定Anthropic 的 Claude 系列模型(如 Sonnet, Opus)。模型能力与工具本身协同进化 。

2.2、核心功能与体验

  • 工作模式
    • OpenCode:提供Plan(只读规划)和Build(全权限编辑)两种模式,可按Tab键切换 。
    • Claude Code:通过自然语言交互,在修改文件前会征求用户许可 。具备原生的子代理(如 Explore)进行代码库导航 。
  • 工具集与扩展性
    • OpenCode:内置 bash、文件读写、grep 搜索、LSP 诊断等工具。通过MCP 服务器oh-my-opencode插件实现高度扩展(如多智能体协作)。
    • Claude Code:内置 20+ 种工具,同样支持 MCP 服务器 。其系统提示经过精细调校,与模型配合更紧密 。
  • 项目上下文
    • OpenCode:通过/init命令生成AGENTS.md文件来记录项目结构和规范,可提交至 Git 仓库供团队共享 。
    • Claude Code:自动分析项目,无需手动初始化。通过CLAUDE.md文件添加项目上下文,并支持跨会话的自动记忆 。

2.3、定价与成本

  • OpenCode工具本身免费。你的成本来自所选的 LLM 提供商的API 调用费用。最近推出了聚合网关OpenCode Zen和固定费用的企业级套餐OpenCode Black
  • Claude Code:需要拥有Claude Pro/Max/Teams/Enterprise 订阅(约 $20-200/月)。订阅模式相当于以折扣价购买 API 额度 。

2.4、架构与集成

  • OpenCode:采用客户端/服务器架构,支持通过 HTTP API 远程控制,可实现运行在远程 Docker 容器等高级功能 。
  • Claude Code:传统的 CLI 工具架构,集成式应用,专注于提供一致的端到端体验 。

3、如何选择?总结与建议

简单来说,你的选择取决于你的核心需求:

  • 选择 OpenCode,如果你

    • 追求开放、自由,希望避免被单一供应商锁定(vendor lock-in)。
    • 希望自由选择或切换不同的模型(如用便宜的模型做规划,用强大的模型写核心代码)。
    • 数据隐私有较高要求,或希望使用本地模型
    • 喜欢折腾、自定义,享受开源社区的活跃和透明度 。
  • 选择 Claude Code,如果你

    • 已经是 Claude 的深度用户,希望获得与模型最紧密、最流畅的集成体验 。
    • 追求开箱即用的稳定性和产品化体验,不想在配置和选择上花费时间 。
    • 需要在多平台(终端、Web、IDE)获得无缝一致的体验 。
    • 认可其订阅模式的价值,希望成本可预测 。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/7/14 17:05:46

还不会“小龙虾”的安装?速来看看这个手把手的教程

OpenClaw安装&#x1f916; 让你的 AI 助手住进电脑&#xff0c;24 小时待命前言 最近OpenClaw爆火&#xff01;好多人都在养龙虾&#xff0c;自己摸索了一个安装教程 需要准备备的工具 • Volta&#xff1a;用来灵活安装管理node版本&#xff08;OpenClaw要求node V22以上&…

作者头像 李华
网站建设 2026/7/14 17:06:00

麒麟统信UOS安装MySQL8.0.45

安装时间&#xff1a;2026年3月12日 麒麟统信系统架构是ARM64&#xff0c;MySQL中Debian系列中没有ARM64架构的安装包下载下来使用不了&#xff0c;记录一下安装过程。 选Linux-generic 下载mysql-8.0.45-linux-glibc2.28-aarch64.tar.xz 之后的步骤参考统信UOS8.0安装

作者头像 李华
网站建设 2026/7/14 17:05:59

基于ThinkPHP的物品拍卖程序的设计与实现

目录 可选框架 可选语言 内容 可选框架 J2EE、MVC、vue3、spring、springmvc、mybatis、SSH、SpringBoot、SSM、django 可选语言 java、web、PHP、asp.net、javaweb、C#、python、 HTML5、jsp、ajax、vue3 内容 上拍卖系统&#xff0c;立足于实际的拍卖流程&#xff0c…

作者头像 李华
网站建设 2026/7/14 17:05:58

代码写离婚协议:用递归函数分割房产——软件测试从业者的专业视角

当技术遇上法律——递归分割房产的必要性 在离婚协议中&#xff0c;房产分割往往是争议的焦点&#xff0c;尤其是当涉及多套房产、复杂产权结构时。传统的手工处理方式效率低下且易出错&#xff0c;而作为软件测试从业者&#xff0c;我们深知自动化解决方案的价值。递归函数作…

作者头像 李华
网站建设 2026/7/14 17:05:58

二战中的无人艇:德国FL-Boote自杀式攻击艇

一、历史起源如果说尼古拉特斯拉的遥控船是无人艇的技术源头&#xff0c;那么第二次世界大战期间德国海军使用的FL-Boote遥控爆破艇&#xff0c;则是无人艇在实战中的首次应用&#xff0c;开启了将无人水面艇用于作战的先河。二、一战时期的初步尝试实际上&#xff0c;德国对遥…

作者头像 李华