跳到主要内容
极客日志极客日志面向AI+效率的开发者社区
首页博客GitHub 精选镜像AI 生图工具UI配色美学隐私政策关于联系
搜索内容 / 工具 / 仓库 / 镜像...⌘K搜索
注册
博客列表
编程语言Node.jsAI大前端

OpenCode 开源 AI 编程助手实战指南

OpenCode 是一款全开源的终端 AI 编程代理,支持多种模型提供商与本地部署。通过内置 LSP 和 MCP 协议扩展能力,开发者可在命令行中实现代码生成、重构及调试。配置灵活,兼容主流编辑器与操作系统,适合追求高效工作流的工程师使用。

王初壹发布于 2026/3/28更新于 2026/7/2244 浏览

OpenCode 开源 AI 编程助手实战指南

本工具基于 OpenCode 官方文档及 GitHub 仓库开发,适合希望提升终端开发效率的开发者。

安装前准备

要流畅运行 OpenCode,建议准备好以下环境:

  • 现代终端模拟器:推荐使用 WezTerm、Alacritty、Ghostty 或 Windows Terminal。
  • LLM Provider API 密钥:至少需要一个模型提供商的访问凭证。

如何安装 OpenCode

macOS 与 Linux

最通用的方式是使用官方安装脚本:

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

如果你偏好包管理器,macOS 用户可以使用 Homebrew(推荐):

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

Linux 用户根据发行版选择:

# Debian/Ubuntu
npm install -g opencode-ai

# Arch Linux
paru -S opencode-bin

Windows

Windows 环境下支持多种安装方式:

# Chocolatey
choco install opencode

# Scoop
scoop install opencode

# npm
npm install -g opencode-ai

Docker 与 Nix

容器化部署也很方便:

docker run -it --rm ghcr.io/anomalyco/opencode

Nix 用户可以直接运行:

nix run nixpkgs#opencode

桌面应用

除了命令行,OpenCode 还提供 Beta 版本的桌面客户端。你可以在 Releases 页面下载对应系统的安装包(.dmg, .exe, .deb 等),也可以通过 Homebrew Cask 安装。

快速上手

首次配置 Provider

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

opencode

在 TUI 界面中,输入 /connect 来添加模型提供商。以 OpenCode Zen 为例,系统会引导你访问授权页面获取 API 密钥并粘贴。

初始化项目

为了让 AI 更好地理解你的代码库,建议运行初始化命令:

/init

这会在项目根目录生成 AGENTS.md 文件。建议将其提交到 Git 仓库,这样团队成员也能共享这些上下文信息。

基础交互示例

询问代码问题

直接描述需求即可:

给我简单介绍一下这个代码库
引用特定文件

使用 @ 符号可以精准引用项目中的文件:

@src/components/Button.tsx 这个组件是如何工作的?
执行 Shell 命令

在对话中使用 ! 前缀可以执行本地命令:

!npm test

Plan 与 Build 模式

OpenCode 提供两种核心工作流,通过 Tab 键切换:

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

建议先用 Plan 模式让 AI 思考方案,确认无误后再切回 Build 模式执行。如果操作失误,可以使用 /undo 撤销上一步更改(需确保项目为 Git 仓库)。

配置文件详解

OpenCode 支持 JSON 和 JSONC 格式的配置,优先级从高到低依次为:远程组织配置、全局用户配置、环境变量、项目专属配置。

常见配置项

你可以在项目根目录创建 opencode.json 来定制行为:

{
  "$schema": "https://opencode.ai/config.json",
  "theme": "tokyonight",
  "model": "anthropic/claude-sonnet-4-5",
  "autoupdate": true,
  "tui": {
    "scroll_speed": 3
  },
  "permission": {
    "edit": "allow",
    "bash": "ask"
  }
}

变量替换

敏感信息建议使用环境变量或文件引用,避免硬编码:

{
  "provider": {
    "openai": {
      "options": {
        "apiKey": "{env:OPENAI_API_KEY}"
      }
    }
  }
}

模型与 Provider 配置

OpenCode 支持 75+ 个 LLM 提供商,包括 Anthropic、OpenAI、Google Vertex AI 以及本地运行的 Ollama 或 LM Studio。

配置本地模型

如果你使用 Ollama,可以在配置文件中指定本地地址:

{
  "provider": {
    "ollama": {
      "npm": "@ai-sdk/openai-compatible",
      "name": "Ollama (local)",
      "options": {
        "baseURL": "http://localhost:11434/v1"
      },
      "models": {
        "llama2": {"name": "Llama 2"}
      }
    }
  }
}

注意:如果工具调用功能异常,尝试在 Ollama 中将 num_ctx 调大至 16k-32k。

TUI 终端界面使用

基本操作

  • 发送消息:直接输入文字按 Enter。
  • 换行输入:Shift+Enter 或 Ctrl+Enter。
  • 引用文件:输入 @ 后模糊搜索文件名。
  • 中断响应:按 Escape 键。

常用快捷键

操作快捷键
新建会话Ctrl+x + n
会话列表Ctrl+x + l
撤销操作Ctrl+x + u
压缩上下文Ctrl+x + c
导出会话Ctrl+x + x
退出Ctrl+c / Ctrl+d

编辑器设置

为了配合 /editor 命令,建议配置 EDITOR 环境变量。例如在 VS Code 中:

export EDITOR="code --wait"

Agent 系统与自定义

主 Agent 与子 Agent

默认情况下,你可以切换 Build(构建)和 Plan(规划)两个主 Agent。此外,还可以手动调用子 Agent,如 @general 用于复杂任务搜索,或 @explore 用于快速浏览代码结构。

自定义 Agent

你可以通过 JSON 或 Markdown 文件定义专用 Agent。例如创建一个代码审查专家:

---
description: 代码审查专家
mode: subagent
model: anthropic/claude-sonnet-4-5
tools:
  write: false
  edit: false
---
你是一个代码审查专家。请关注代码质量、潜在 Bug 及安全考虑,提供建设性反馈。

MCP 服务器扩展

Model Context Protocol (MCP) 允许 OpenCode 集成外部工具,如数据库、API 或第三方服务。

配置本地 MCP

{
  "mcp": {
    "my-local-mcp": {
      "type": "local",
      "command": ["npx", "-y", "@modelcontextprotocol/server-everything"]
    }
  }
}

常用集成

  • Sentry:用于错误监控。
  • Context7:用于文档搜索。
  • Grep by Vercel:用于代码搜索。

认证通常通过 opencode mcp auth <server> 完成。

LSP 语言服务器

OpenCode 内置了强大的 LSP 支持,能够自动诊断 TypeScript、Python、Rust 等多种语言的代码问题。当打开文件时,它会自动启动对应的语言服务器并将诊断信息反馈给 LLM。

如需禁用自动下载,可设置环境变量:

export OPENCODE_DISABLE_LSP_DOWNLOAD=true

主题与个性化

为了获得最佳视觉效果,请确保终端支持 Truecolor(24 位色)。内置主题包括 Tokyo Night、Catppuccin、Gruvbox 等。

切换主题非常简单:

/theme

或在配置文件中指定:

{"theme": "tokyonight"}

Rules 自定义指令

AGENTS.md 类似于 Cursor 的 rules 文件,用于向 LLM 灌输项目特定的规范和结构。你可以手动编写,或通过 /init 自动生成。

引用外部规则

在配置中加载外部文档:

{
  "instructions": [
    "CONTRIBUTING.md",
    "docs/guidelines.md"
  ]
}

最佳实践与进阶技巧

高效工作流

  1. 先规划后执行:利用 Plan 模式梳理逻辑,再切换到 Build 模式落地。
  2. 善用引用:通过 @ 符号提供具体上下文,减少 AI 幻觉。
  3. 拖放图片:在终端中拖入设计图,让 AI 参考 UI 实现。

性能优化

  • 为轻量任务配置 small_model 以降低成本。
  • 启用自动压缩 (compaction) 管理上下文长度。
  • 按需开启 MCP 服务器,避免不必要的上下文膨胀。

安全建议

  • 对敏感命令(如 rm, git push)设置为 ask 权限。
  • 定期审查 auth.json 中的密钥存储位置。

常见问题解答

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

Q: Shift+Enter 不工作怎么办? A: 某些终端需要特殊配置,Windows Terminal 用户需在 settings.json 中添加按键映射。

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

Q: 遇到 content filter 错误? A: Azure 用户可能需要将内容过滤器从 DefaultV2 改为 Default。

更多资源请访问官方文档或 GitHub 仓库。

目录

  1. OpenCode 开源 AI 编程助手实战指南
  2. 安装前准备
  3. 如何安装 OpenCode
  4. macOS 与 Linux
  5. 或者使用官方 formula
  6. Debian/Ubuntu
  7. Arch Linux
  8. Windows
  9. Chocolatey
  10. Scoop
  11. npm
  12. Docker 与 Nix
  13. 桌面应用
  14. 快速上手
  15. 首次配置 Provider
  16. 初始化项目
  17. 基础交互示例
  18. 询问代码问题
  19. 引用特定文件
  20. 执行 Shell 命令
  21. Plan 与 Build 模式
  22. 配置文件详解
  23. 常见配置项
  24. 变量替换
  25. 模型与 Provider 配置
  26. 配置本地模型
  27. TUI 终端界面使用
  28. 基本操作
  29. 常用快捷键
  30. 编辑器设置
  31. Agent 系统与自定义
  32. 主 Agent 与子 Agent
  33. 自定义 Agent
  34. MCP 服务器扩展
  35. 配置本地 MCP
  36. 常用集成
  37. LSP 语言服务器
  38. 主题与个性化
  39. Rules 自定义指令
  40. 引用外部规则
  41. 最佳实践与进阶技巧
  42. 高效工作流
  43. 性能优化
  44. 安全建议
  45. 常见问题解答
  • 免费图片AI生成工具免费生成了解详情
  • Magick API 一键接入全球大模型注册送1000万token查看
  • 免费图片视频在线生成30秒,将你的创意变成现实开始设计
  • X/Twitter免费视频下载器免登陆无限额度免费视频解析下载了解详情
  • 100+免费在线小游戏爽一把
极客日志微信公众号二维码

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

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

更多推荐文章

查看全部
  • C++26 契约编程深度解析:异常安全与契约设计法则
  • Rust 核心基础数据类型与变量系统详解
  • 《GPT 图解大模型是怎样构建的》技术解析与学习指南
  • C++二叉搜索树:核心特性、实现与性能分析
  • C++ 哈希表原理与 unordered 容器详解
  • ClawdBot Web Dashboard 访问失败的 4 种原因与修复方案
  • 学术论文写作:重复率与 AIGC 检测的应对方案
  • OmniSteward:基于 LLM Agent 的智能家居与电脑控制方案
  • 非技术岗转向 AI 岗位的现实评估与规划
  • Whisper 语音识别微调及多端部署方案
  • 基于 DeepFace 和 OpenCV 的情绪分析器实现
  • Moon VR Video Player 使用教程:支持 8K/12K 及多音轨字幕
  • uniapp APP 端人脸识别、核身、对比及活体检测纯前端实现方案
  • MATLAB 实现基于 DQN-MLP 的无人机三维路径规划
  • Flutter 三方库 bavard 鸿蒙化适配:聊天协议与机器人逻辑
  • AI 时代初级开发者的创意生存指南:数据与创新的边界
  • AI 辅助 Python 毕业设计项目架构搭建与实现
  • 向量数据库选型指南:主流方案对比与最佳实践
  • 智能家居多协议网关融合配置技术解析
  • 呼入智能客服机器人实战:高并发场景下的架构设计与性能优化

相关免费在线工具

  • 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