opencode
开源 AI 编码代理,提供终端和桌面应用两种形态,通过 build(全权限)和 plan(只读分析)两种 agent 模式辅助开发。亮点在于完全开源,可本地部署,支持多种安装方式,社区活跃。适合希望摆脱闭源商业产品限制的开发者。
README
开源 AI 编码 agent。
English | 简体中文 | 繁體中文 | 한국어 | Deutsch | Español | Français | Italiano | Dansk | 日本語 | Polski | Русский | Bosanski | العربية | Norsk | Português (Brasil) | ไทย | Türkçe | Українська | বাংলা | Ελληνικά | Tiếng Việt
安装
# YOLO
curl -fsSL https://opencode.ai/install | bash
# 包管理器
npm i -g opencode-ai@latest # 或 bun/pnpm/yarn
scoop install opencode # Windows
choco install opencode # Windows
brew install anomalyco/tap/opencode # macOS 和 Linux(推荐,始终保持最新)
brew install opencode # macOS 和 Linux(官方 homebrew formula,更新较慢)
sudo pacman -S opencode # Arch Linux(稳定版)
paru -S opencode-bin # Arch Linux(AUR 最新版)
mise use -g opencode # 任意操作系统
nix run nixpkgs#opencode # 或 github:anomalyco/opencode 获取最新开发分支
[!TIP] 安装前请移除 0.1.x 之前的旧版本。
桌面应用(BETA)
OpenCode 还提供桌面应用程序版本。直接从发布页面或 opencode.ai/download 下载。
| 平台 | 下载文件 |
|---|---|
| macOS(Apple Silicon) | opencode-desktop-mac-arm64.dmg |
| macOS(Intel) | opencode-desktop-mac-x64.dmg |
| Windows | opencode-desktop-windows-x64.exe |
| Linux | .deb、.rpm 或 .AppImage |
# macOS(Homebrew)
brew install --cask opencode-desktop
# Windows(Scoop)
scoop bucket add extras; scoop install extras/opencode-desktop
安装目录
安装脚本按以下优先级确定安装路径:
$OPENCODE_INSTALL_DIR- 自定义安装目录$XDG_BIN_DIR- 符合 XDG Base Directory Specification 的路径$HOME/bin- 标准用户二进制目录(如果存在或可创建)$HOME/.opencode/bin- 默认回退路径
# 示例
OPENCODE_INSTALL_DIR=/usr/local/bin curl -fsSL https://opencode.ai/install | bash
XDG_BIN_DIR=$HOME/.local/bin curl -fsSL https://opencode.ai/install | bash
Agents
OpenCode 内置了两个 agent,可通过 Tab 键在它们之间切换。
- build - 默认可进行开发的完全访问 agent
- plan - 只读 agent,用于分析和代码探索
- 默认拒绝文件修改
- 运行 bash 命令前需请求权限
- 适合探索不熟悉的代码库或规划变更
此外还包含一个 general 子 agent,用于复杂搜索和多步骤任务。它在内部被使用,可通过在消息中输入 @general 来调用。
了解更多关于 agents 的信息。
文档
有关如何配置 OpenCode 的更多信息,请参阅我们的文档。
贡献
如果您有意为 OpenCode 贡献代码,请在提交 pull request 之前阅读我们的贡献指南。
基于 OpenCode 的衍生项目
如果您正在开发与 OpenCode 相关的项目,并在名称中使用了 "opencode"(例如 "opencode-dashboard" 或 "opencode-mobile"),请在 README 中注明该项目并非由 OpenCode 团队构建,且与 OpenCode 无任何关联。