跳到主要内容
极客日志极客日志
首页博客AI提示词GitHub精选代理工具
搜索
|注册
博客列表
编程语言Node.jsAI大前端

OpenCode 开源 AI 编程助手:从安装到高级配置实战

OpenCode 是一款全开源的 AI 编程代理,支持终端、桌面及 IDE 扩展三种形态。它兼容 75+ 模型提供商,内置 LSP 语言服务器与 MCP 协议扩展能力。通过 Plan/Build 双模式切换,开发者可在只读分析与实际代码修改间灵活转换。配置 JSON 支持环境变量注入与权限细粒度控制,结合自定义命令与规则文件,能深度适配团队规范。涵盖安装部署、Provider 对接、快捷键定制及最佳实践,帮助快速构建本地化智能编码工作流。

WenxuanMa发布于 2026/3/23更新于 2026/5/87 浏览

OpenCode 开源 AI 编程助手:从安装到高级配置实战

什么是 OpenCode

OpenCode 是一个 100% 开源的 AI 编程代理(Coding Agent),提供终端界面(TUI)、桌面应用和 IDE 扩展多种使用方式。它可以帮助开发者与 AI 对话编写代码、分析理解代码库、自动修改重构、调试修复问题以及生成文档和测试。

核心特点

  • 100% 开源:MIT 许可证,代码完全开放
  • 多 Provider 支持:兼容 Claude、OpenAI、Google、本地模型等 75+ 提供商
  • 开箱即用的 LSP:内置语言服务器支持,提供智能诊断
  • TUI 优先设计:由 Neovim 用户打造,极致终端体验
  • 客户端/服务器架构:支持远程控制,可从手机驱动桌面上的 OpenCode
  • MCP 协议支持:可扩展外部工具和服务

与闭源方案的区别

相比某些闭源竞品,OpenCode 的优势在于不绑定特定厂商,LSP 支持开箱即用,且插件与 MCP 扩展性更强。


安装指南

前置要求

  1. 现代终端模拟器:推荐 WezTerm、Alacritty、Ghostty、Kitty 或 Windows Terminal。
  2. LLM Provider 的 API 密钥:至少需要一个可用。

通用安装(推荐)

适用于 macOS 和 Linux 的最简单方式:

curl -fsSL https://opencode.ai/install | bash

各平台安装细节

macOS

推荐使用 Homebrew,更新更快:

brew install anomalyco/tap/opencode
# 或者使用官方 formula
brew install opencode
Linux

Debian/Ubuntu 可使用 npm 或安装脚本:

npm install -g opencode-ai
# 或使用安装脚本
curl -fsSL https://opencode.ai/install | bash

Arch Linux 用户:

paru -S opencode-bin
Windows

支持 Chocolatey、Scoop 或 npm:

choco install opencode
scoop install opencode
npm install -g opencode-ai

其他安装方式

  • Docker:docker run -it --rm ghcr.io/anomalyco/opencode
  • Nix:nix run nixpkgs#opencode
  • 桌面应用(Beta):支持 macOS (Apple Silicon/Intel)、Windows (.exe) 及 Linux (.deb/.rpm/AppImage)。可通过 Homebrew Cask 或 Scoop 安装。

自定义安装目录时,可设置环境变量 ,优先级高于默认路径。

OPENCODE_INSTALL_DIR

快速开始

首次配置 Provider

进入项目目录后启动 OpenCode,通过 /connect 命令连接服务。以 OpenCode Zen 为例,访问授权页面获取 API 密钥并粘贴即可。

初始化项目

运行 /init 命令,OpenCode 会分析项目结构并创建 AGENTS.md 文件,帮助其更好地理解上下文。建议将此文件提交到 Git 仓库。

基础交互示例

  • 询问代码:直接输入自然语言问题。
  • 引用文件:使用 @ 符号搜索并引用项目文件,例如 @src/components/Button.tsx。
  • 添加功能:指定文件范围,如 请在 @src/api/auth.ts 中添加用户登录功能。
  • 执行 Shell 命令:以 ! 前缀执行,如 !npm test。

Plan 与 Build 模式

OpenCode 提供两种主要模式,按 Tab 键切换:

模式说明适用场景
Build完整权限,可修改文件实际开发工作
Plan只读模式,只分析不修改代码审查、规划方案

建议先用 Plan 模式确认方案,再切换到 Build 模式执行。

撤销与重做

使用 /undo 和 /redo 命令回滚操作。注意:此功能依赖 Git 仓库环境。


配置文件详解

格式与位置

OpenCode 支持 JSON 和 JSONC 格式。配置加载优先级如下:

  1. .well-known/opencode(远程组织配置)
  2. ~/.config/opencode/opencode.json(全局用户配置)
  3. OPENCODE_CONFIG 环境变量
  4. 项目根目录 opencode.json
  5. .opencode 目录
  6. OPENCODE_CONFIG_CONTENT 环境变量

完整配置示例

{
  "$schema": "https://opencode.ai/config.json",
  "theme": "tokyonight",
  "model": "anthropic/claude-sonnet-4-5",
  "small_model": "anthropic/claude-haiku-4-5",
  "autoupdate": true,
  "tui": {
    "scroll_speed": 3,
    "diff_style": "auto"
  },
  "server": {
    "port": 4096,
    "hostname": "0.0.0.0",
    "mdns": true
  },
  "permission": {
    "edit": "allow",
    "bash": "ask"
  },
  "compaction": {
    "auto": true,
    "prune": true
  }
}

变量替换

支持环境变量 {env:VAR} 和文件内容 {file:path} 注入,便于安全存储敏感信息。


Provider 配置

OpenCode 支持 75+ 个 LLM 提供商。常用配置包括:

  • Anthropic / OpenAI:支持订阅认证或手动输入 API Key。
  • OpenCode Zen:官方推荐的经过验证模型列表。
  • 本地模型:Ollama 或 LM Studio 需配置 baseURL 和 models。
  • Amazon Bedrock:支持 AWS 访问密钥或命名配置文件。
  • OpenRouter:聚合多个提供商,可配置 fallback 策略。

若需禁用特定 Provider,可在配置中设置 disabled_providers 数组。


TUI 终端界面使用

启动与基本操作

直接运行 opencode 或在指定目录下启动。发送消息按 Enter,换行使用 Shift+Enter 或 Ctrl+Enter。

内置命令

命令快捷键说明
/connect-添加 Provider
/modelsCtrl+x m选择模型
/newCtrl+x n新建会话
/sessionsCtrl+x l会话列表
/undoCtrl+x u撤销操作
/exportCtrl+x x导出 Markdown
/helpCtrl+x h显示帮助

导航与编辑器

滚动使用 PageUp/PageDown,跳转顶部/底部用 Ctrl+g/End。配置 EDITOR 环境变量可启用 /editor 命令调用外部编辑器(VS Code 需加 --wait 参数)。


Agent 系统

主 Agent 与子 Agent

  • 主 Agent:通过 Tab 在 Build 和 Plan 间切换。
  • 子 Agent:使用 @general 或 @explore 调用,适合复杂任务或只读探索。

自定义 Agent

支持 JSON 配置或 Markdown 文件定义。例如创建代码审查专家 Agent,限制其仅能读取不能修改文件:

{
  "agent": {
    "code-reviewer": {
      "description": "代码审查专家",
      "mode": "subagent",
      "tools": { "write": false, "edit": false }
    }
  }
}

自定义命令

通过 JSON 或 Markdown 文件定义快捷指令。支持参数替换 $ARGUMENTS、Shell 命令输出 !`command` 及文件引用。

示例:创建 React 组件命令,模板中包含 TypeScript 类型定义。


快捷键配置

默认 Leader 键为 Ctrl+x。可在配置中自定义快捷键映射,例如将退出设为 <leader>q。禁用某项快捷键可设为 "none"。

常用快捷键包括:

  • 新建会话:<leader>n
  • 中断响应:Escape
  • 压缩会话:<leader>c
  • 复制消息:<leader>y

MCP 服务器

Model Context Protocol (MCP) 允许集成外部工具。配置分为本地(Local)和远程(Remote)两种类型。

常用示例

  • Sentry:错误监控,需 OAuth 认证。
  • Context7:文档搜索。
  • Grep by Vercel:代码搜索。

权限管理支持全局禁用或按 Agent 单独启用特定 MCP 工具。


LSP 语言服务器

OpenCode 内置多种语言的 LSP 支持,如 TypeScript (typescript)、Python (pyright)、Rust (rust-analyzer) 等。打开文件时会自动启动对应服务器获取诊断信息。

可自定义 LSP 命令或禁用特定语言的服务。环境变量 OPENCODE_DISABLE_LSP_DOWNLOAD 可防止自动下载。


主题与个性化

终端需支持 Truecolor 才能正确显示主题。内置主题包括 tokyonight、catppuccin、gruvbox 等。

切换主题使用 /theme 命令或修改配置中的 theme 字段。自定义主题需遵循 JSON Schema 定义颜色变量。


Rules 自定义指令

AGENTS.md 文件用于定义给 LLM 的自定义指令,类似 Cursor 的 rules。支持自动生成或手动编写,包含项目结构、编码规范及 Monorepo 约定。

也可在配置中引用外部文件作为指令集,实现团队规范共享。


最佳实践与进阶技巧

高效工作流

  1. 先规划后执行:利用 Plan 模式确认方案。
  2. 精准引用:使用 @ 锁定上下文文件。
  3. 拖放图片:终端中拖入设计稿供 LLM 参考。

性能优化

  • 配置 small_model 处理轻量任务降低成本。
  • 启用自动压缩 (compaction) 管理上下文长度。
  • 避免加载过多 MCP 服务器。

安全建议

  • 敏感命令(如 rm *, git push)设置为 ask 权限。
  • 团队协作时共享 opencode.json 和 AGENTS.md。

常见问题解答

Q: 如何更换模型? A: 使用 /models 命令或在配置文件中设置 model 字段。

Q: Shift+Enter 不工作? A: 部分终端(如 Windows Terminal)需在 settings.json 中配置按键映射。

Q: 撤销操作无效? A: 确保项目已初始化为 Git 仓库。

Q: API 密钥存储位置? A: ~/.local/share/opencode/auth.json。

Q: 如何重置 OpenCode? A: 删除 ~/.config/opencode 和 ~/.local/share/opencode 目录。

Q: Azure 遇到 content filter 错误? A: 将资源的内容过滤器从 DefaultV2 改为 Default。

Q: 如何使用代理? A: 设置 HTTPS_PROXY 和 HTTP_PROXY 环境变量。


更多资源

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

目录

  1. OpenCode 开源 AI 编程助手:从安装到高级配置实战
  2. 什么是 OpenCode
  3. 核心特点
  4. 与闭源方案的区别
  5. 安装指南
  6. 前置要求
  7. 通用安装(推荐)
  8. 各平台安装细节
  9. macOS
  10. 或者使用官方 formula
  11. Linux
  12. 或使用安装脚本
  13. Windows
  14. 其他安装方式
  15. 快速开始
  16. 首次配置 Provider
  17. 初始化项目
  18. 基础交互示例
  19. Plan 与 Build 模式
  20. 撤销与重做
  21. 配置文件详解
  22. 格式与位置
  23. 完整配置示例
  24. 变量替换
  25. Provider 配置
  26. TUI 终端界面使用
  27. 启动与基本操作
  28. 内置命令
  29. 导航与编辑器
  30. Agent 系统
  31. 主 Agent 与子 Agent
  32. 自定义 Agent
  33. 自定义命令
  34. 快捷键配置
  35. MCP 服务器
  36. 常用示例
  37. LSP 语言服务器
  38. 主题与个性化
  39. Rules 自定义指令
  40. 最佳实践与进阶技巧
  41. 高效工作流
  42. 性能优化
  43. 安全建议
  44. 常见问题解答
  45. 更多资源
  • 💰 8折买阿里云服务器限时8折了解详情
  • GPT-5.5 超高智商模型1元抵1刀ChatGPT中转购买
  • 代充Chatgpt Plus/pro 帐号了解详情
  • 🤖 一键搭建Deepseek满血版了解详情
  • 一键打造专属AI 智能体了解详情
极客日志微信公众号二维码

微信扫一扫,关注极客日志

微信公众号「极客日志V2」,在微信中扫描左侧二维码关注。展示文案:极客日志V2 zeeklog

更多推荐文章

查看全部
  • OpenClaw 爆发推动低代码 AI 变革:从工具赋能到生态重构
  • 无人机 Remote ID Beacon 帧字段详解
  • Trae 高峰期模型排队优化:接入无问芯穹配置实战
  • Git 推送报错 Updates were rejected 常见原因及解决方法
  • AIGC 产品经理转行指南:核心技能与实战项目解析
  • 智谱 GLM-4-9B-Chat 模型部署与认知微调实战
  • 2026 Python 展望:AI 时代的核心基础设施语言
  • AI 驱动下内存价格暴涨原因及未来趋势分析
  • 极空间部署 Miloco 全屋 AI 自动化方案
  • MySQL 数据类型详解:从数值到字符串的实战指南
  • 从零实现 LLaMA 架构:构建轻量级大语言模型
  • 基于 OpenClaw 与飞书开放平台实现 AI 新闻推送机器人
  • 使用 Nginx 部署前端 Vue 项目指南
  • C++ 高性能订单簿(Order Book)核心实现
  • 前端文件上传实战:优化体验与性能
  • Ollama 本地大模型运行指南
  • C++条件判断、循环与数组详解
  • Python 开源 AI 模型引入与测试全流程实战
  • Spring Web 模块核心原理与 RESTful API 实战
  • VSCode 自定义 Copilot Agent 及使用 Awesome Agent 模板

相关免费在线工具

  • RSA密钥对生成器

    生成新的随机RSA私钥和公钥pem证书。 在线工具,RSA密钥对生成器在线工具,online

  • Mermaid 预览与可视化编辑

    基于 Mermaid.js 实时预览流程图、时序图等图表,支持源码编辑与即时渲染。 在线工具,Mermaid 预览与可视化编辑在线工具,online

  • 随机西班牙地址生成器

    随机生成西班牙地址(支持马德里、加泰罗尼亚、安达卢西亚、瓦伦西亚筛选),支持数量快捷选择、显示全部与下载。 在线工具,随机西班牙地址生成器在线工具,online

  • Base64 字符串编码/解码

    将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online

  • Base64 文件转换器

    将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online

  • Markdown转HTML

    将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML转Markdown 互为补充。 在线工具,Markdown转HTML在线工具,online