如何安裝與使用 OpenCode:完整指南
如何安裝與使用 OpenCode:完整指南
OpenCode 是一款開源的 AI 程式碼代理,將人工智慧的力量直接帶入你的終端機。與傳統只在編輯器或瀏覽器中運作的 AI 程式碼工具不同,OpenCode 提供了基於終端機的介面、桌面應用程式與 IDE 擴充功能,全部都是為了讓你成為更高效率的開發者而設計。本篇全面指南將帶你了解安裝、設定與有效使用 OpenCode 的所有必要知識。
什麼是 OpenCode?
OpenCode 是一款由 AI 驅動的程式碼助理,可以幫助你:
- 更快撰寫程式碼,透過智慧化的程式碼生成與補全
- 高效偵錯,分析錯誤並建議修正方案
- 理解程式碼庫,以自然語言查詢為基礎
- 新增功能,自動規劃與實作
- 程式碼審查,以 AI 分析並提供建議
- 自動化工作流程,利用 AI 代理與自訂工具
它支援多個大型語言模型(LLM)提供者,包括 Anthropic、OpenAI、Google 等,讓你可靈活選擇最適合需求的模型。
系統需求
前置條件
安裝 OpenCode 前請確認:
現代終端機模擬器(用於 TUI 操作):
Node.js(用於 npm/bun/pnpm/yarn 安裝):
- 建議 Node.js 版本 18 或以上
LLM 提供者的 API 金鑰:
- Anthropic API key(用於 Claude 模型)
- OpenAI API key(用於 GPT 模型)
- 或其他支援提供者的金鑰
安裝方式
方式一:安裝腳本(推薦)
最快速的安裝方式是使用官方安裝腳本:
curl -fsSL https://opencode.ai/install | bash此方法適用於 macOS、Linux 與 Windows(須有 Git Bash 或 WSL)。
方式二:使用 Node.js 套件管理器
使用 npm:
npm install -g opencode-ai使用 Bun:
bun install -g opencode-ai使用 pnpm:
pnpm install -g opencode-ai使用 Yarn:
yarn global add opencode-ai方式三:使用 Homebrew(macOS 與 Linux)
brew install opencode方式四:使用 Paru(Arch Linux)
paru -S opencode-bin方式五:Windows 特別安裝方式
使用 Chocolatey:
choco install opencode使用 Scoop:
scoop bucket add extras
scoop install extras/opencode使用 Mise:
mise use -g github:sst/opencode方式六:Docker
容器化使用方式:
docker run -it --rm ghcr.io/sst/opencode方式七:下載執行檔
你可以直接從 GitHub Releases 頁面下載預編譯的二進位檔。
驗證安裝
安裝完成後,驗證是否正常運作:
opencode --version應該會顯示版本號。
初始設定
連接到 OpenCode Zen(新手推薦)
OpenCode Zen 是 OpenCode 團隊精選且測試過的模型清單,方便快速入門。
- 啟動 OpenCode:
cd /path/to/your/project
opencode- 在 TUI 執行連接指令:
/connect從提供者清單中選擇 "opencode"
前往認證網址:opencode.ai/auth
登入並新增付款資訊(若有免費額度可使用)
複製你的 API 金鑰,並在終端機提示時貼上
連接其他提供者
你也可以將 OpenCode 連接到其他 LLM 服務:
使用 /connect 指令:
/connect選擇你偏好的提供者(Anthropic、OpenAI、Google 等)並依照流程認證。
使用 CLI 認證:
opencode auth login此指令會引導你設定 Models.dev 支援的任一提供者 API 金鑰。
列出已設定的提供者:
opencode auth list或簡短指令:
opencode auth ls登出提供者:
opencode auth logout設定專案上下文
設定好提供者後,初始化你的專案:
- 切換至專案目錄:
cd /path/to/your/project- 啟動 OpenCode:
opencode- 執行初始化指令:
/init這會分析你的專案架構,並在專案根目錄建立 AGENTS.md 檔案,幫助 OpenCode 了解你的編程模式、框架與專案結構。
小提醒:將 AGENTS.md 提交到 Git,有助於維持團隊間一致性,並隨著時間提升 OpenCode 對專案的理解。
使用終端機使用者介面(TUI)
OpenCode 的 TUI 在終端機提供互動式體驗。
啟動 TUI
直接執行:
opencode或搭配選項:
# 繼續上次會話
opencode --continue
# 繼續指定會話
opencode --session <session-id>
# 以提示語開始
opencode --prompt "Explain this codebase"
# 使用特定模型
opencode --model anthropic/claude-sonnet-4-5
# 使用特定代理人
opencode --agent plan基本 TUI 操作
- 捲動:使用滑鼠滾輪或方向鍵
- 切換模式:按
Tab鍵在規劃模式與建置模式間切換 - 執行指令:輸入
/進入指令面板 - 搜尋檔案:使用
@符號模糊搜尋專案檔案 - 離開:按
Ctrl+C或使用/exit
提問
你可以向 OpenCode 問關於程式碼庫的問題:
How is authentication handled in @packages/functions/src/api/index.ts使用 @ 符號引用特定檔案,OpenCode 會分析並提供詳細說明。
新增功能
OpenCode 透過雙模式工作流程來幫助新增功能:
第一步:規劃模式
- 按
Tab切換到 規劃模式 - 描述需求:
When a user deletes a note, we'd like to flag it as deleted in the database.
Then create a screen that shows all the recently deleted notes.
From this screen, the user can undelete a note or permanently delete it.- 審核建議方案
- 依回饋調整:
We'd like to design this new screen using a design I've used before.
[Image #1] Take a look at this image and use it as a reference.小提醒:你可以將圖片拖放進終端機,OpenCode 將會掃描並分析。
第二步:建置模式
- 再次按
Tab切換到 建置模式 - 確認實作:
Sounds good! Go ahead and make the changes.OpenCode 隨即開始實作,根據需求建立與修改檔案。
直接修改
針對簡單的變更,可以跳過規劃:
We need to add authentication to the /settings route.
Take a look at how this is handled in the /notes route
in @packages/functions/src/notes.ts and implement the same logic
in @packages/functions/src/settings.ts還原與重做變更
犯錯了?使用還原指令:
/undo這會回復最後一批變更,方便你調整提示語。
重做剛剛還原的變更:
/redo你可以多次使用 /undo 還原多次變更。
CLI 指令
OpenCode 提供強大的 CLI 功能,方便程式化存取與自動化。
執行直接提示
非互動式執行 OpenCode:
opencode run "Explain how closures work in JavaScript"適合腳本、整合或快速解答,不需啟動 TUI。
管理模型
列出所有可用模型:
opencode models依提供者過濾:
opencode models anthropic刷新模型快取(新增模型時有用):
opencode models --refresh顯示詳細模型資訊(含成本):
opencode models --verbose啟動無界面伺服器
啟動 HTTP 伺服器以供 API 存取:
opencode serve指定自訂埠號:
opencode serve --port 3000方便與網頁應用整合,或在腳本中避免 MCP 伺服器冷啟動,提高回應速度。
附加到伺服器
先在一個終端機啟動伺服器:
opencode serve另一個終端機附加使用,加快執行:
opencode run --attach http://localhost:4096 "Explain async/await in JavaScript"管理代理人
建立新的自訂代理人:
opencode agent create引導你設定包含系統提示及工具配置的代理人。
GitHub 整合
安裝 GitHub 代理人以實現倉庫自動化:
opencode github install設定 GitHub Actions 工作流程,用於自動程式碼審查與問題管理。
升級 OpenCode
升級到最新版本:
opencode upgrade或升級到指定版本:
opencode upgrade v0.1.48必要時指定安裝方式:
opencode upgrade --method brew設定
OpenCode 支援透過 JSON 配置檔靈活設定。
設定檔位置
配置檔會合併,不會覆蓋,支援全域、專案專屬及自訂設定。
全域設定:
~/.config/opencode/opencode.json- 用於主題、提供者、快捷鍵與一般設定
專案設定:專案根目錄下的
opencode.json- 用於專案特定的提供者、代理人或設定
- 可以安全提交到 Git
自訂設定路徑:透過環境變數
OPENCODE_CONFIG設定自訂設定目錄:透過環境變數
OPENCODE_CONFIG_DIR設定
基本設定範例
建立以下結構的配置檔:
{
"$schema": "https://opencode.ai/config.json",
// 主題選擇
"theme": "opencode",
// 使用的主要模型
"model": "anthropic/claude-sonnet-4-5",
// 輕量任務的小型模型
"small_model": "anthropic/claude-haiku-4-5",
// 自動更新設定
"autoupdate": true
}配置提供者
直接在配置檔中設定 API 金鑰:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"anthropic": {
"options": {
"apiKey": "{env:ANTHROPIC_API_KEY}"
}
},
"openai": {
"options": {
"apiKey": "{env:OPENAI_API_KEY}"
}
}
}
}建議使用環境變數,安全性更佳。格式為 {env:VARIABLE_NAME}。
使用檔案參考
也可以引用檔案以儲存敏感資料:
{
"$schema": "https://opencode.ai/config.json",
"provider": {
"openai": {
"options": {
"apiKey": "{file:~/.secrets/openai-key}"
}
}
}
}自訂指令
定義重複任務的自訂指令:
{
"$schema": "https://opencode.ai/config.json",
"command": {
"test": {
"template": "Run full test suite with coverage report and show any failures.\nFocus on failing tests and suggest fixes.",
"description": "執行測試並產生覆蓋率",
"agent": "build",
"model": "anthropic/claude-haiku-4-5"
},
"component": {
"template": "Create a new React component named $ARGUMENTS with TypeScript support.\nInclude proper typing and basic structure.",
"description": "建立新元件"
}
}
}在 TUI 中以 /test 或 /component MyComponent 呼叫。
自訂代理人
建立專用代理人:
{
"$schema": "https://opencode.ai/config.json",
"agent": {
"code-reviewer": {
"description": "審查程式碼,針對最佳實踐與潛在問題",
"model": "anthropic/claude-sonnet-4-5",
"prompt": "你是一位程式碼審查員。重點在安全性、效能與可維護性。",
"tools": {
"write": false,
"edit": false
}
}
}
}權限設定
控制 OpenCode 不須徵詢即可執行的操作:
{
"$schema": "https://opencode.ai/config.json",
"permission": {
"edit": "ask",
"bash": "ask"
}
}設定操作需使用者批准,避免意外操作。
程式碼格式化工具
設定自動格式化程式碼:
{
"$schema": "https://opencode.ai/config.json",
"formatter": {
"prettier": {
"disabled": false
},
"custom-prettier": {
"command": ["npx", "prettier", "--write", "$FILE"],
"environment": {
"NODE_ENV": "development"
},
"extensions": [".js", ".ts", ".jsx", ".tsx"]
}
}
}TUI 設定
客製化終端機介面:
{
"$schema": "https://opencode.ai/config.json",
"tui": {
"scroll_speed": 3,
"scroll_acceleration": {
"enabled": true
}
}
}進階功能
分享對話
可與團隊分享會話內容:
/share建立可分享的連結並複製到剪貼簿,預設對話不會自動共享。
配置分享行為:
{
"share": "manual" // "manual"(手動)、"auto"(自動)、"disabled"(禁用)
}MCP 伺服器
Model Context Protocol (MCP) 伺服器可擴展 OpenCode 功能:
{
"$schema": "https://opencode.ai/config.json",
"mcp": {
"filesystem": {
"command": "npx",
"args": ["-y", "@modelcontextprotocol/server-filesystem", "/path/to/allowed/files"]
}
}
}指令與規則
提供專案特定指令:
{
"$schema": "https://opencode.ai/config.json",
"instructions": [
"CONTRIBUTING.md",
"docs/guidelines.md",
".cursor/rules/*.md"
]
}OpenCode 會利用這些文件了解你的專案編程標準與慣例。
環境變數
透過環境變數設定 OpenCode:
# 自動分享會話
export OPENCODE_AUTO_SHARE=true
# 自訂設定路徑
export OPENCODE_CONFIG=/path/to/config.json
# 設定配置目錄
export OPENCODE_CONFIG_DIR=/path/to/config-dir
# 禁用自動更新
export OPENCODE_DISABLE_AUTOUPDATE=true
# 禁用預設外掛
export OPENCODE_DISABLE_DEFAULT_PLUGINS=true
# 啟用實驗性模型
export OPENCODE_ENABLE_EXPERIMENTAL_MODELS=true
# 啟用 Exa 網頁搜尋
export OPENCODE_ENABLE_EXA=true實驗性功能
啟用實驗性功能:
export OPENCODE_EXPERIMENTAL=true特定實驗功能:
# 啟用圖示偵測
export OPENCODE_EXPERIMENTAL_ICON_DISCOVERY=true
# 在 TUI 禁止選取時拷貝
export OPENCODE_EXPERIMENTAL_DISABLE_COPY_ON_SELECT=true
# 設定 bash 指令最大輸出長度
export OPENCODE_EXPERIMENTAL_BASH_MAX_OUTPUT_LENGTH=10000
# 設定 bash 指令預設逾時(毫秒)
export OPENCODE_EXPERIMENTAL_BASH_DEFAULT_TIMEOUT_MS=30000最佳實務
有效提示
- 明確具體:提供清楚詳細指令
- 使用上下文:用
@引用檔案增進理解 - 提供範例:展示範例說明需求
- 分步進行:複雜任務分階段完成效果更佳
大型專案作業
- 使用
/init:讓 OpenCode 了解專案結構 - 指明檔案:用
@限制上下文範圍 - 善用規劃模式:先審查計畫再實作
- 逐步變更:小幅且可管理的改動
成本優化
- 使用小型模型:設定
small_model用於輕量任務 - 先規劃後建置:規劃模式減少迭代成本
- 自訂指令:定義高效常用工作流程
- 監控使用量:檢查提供者儀表板用量
安全最佳實務
- 切勿提交 API 金鑰:使用環境變數
- 設定權限:利用
permission需批准敏感操作 - 審查變更:務必檢視 OpenCode 建議內容
- 分離金鑰:為 OpenCode 建立專用且限制適當的金鑰
疑難排解
安裝問題
問題:安裝後找不到指令
解決方案:
- 確認安裝位置:
which opencode - 檢查 PATH 路徑:
echo $PATH - 嘗試完整路徑呼叫:
~/.local/bin/opencode - 使用其他安裝方式重新安裝
認證問題
問題:API 金鑰不被識別
解決方案:
- 確認金鑰正確:
opencode auth list - 檢查環境變數:
echo $ANTHROPIC_API_KEY - 重新認證:
opencode auth login
效能問題
問題:響應速度慢
解決方案:
- 使用
opencode serve加速執行 - 改用較快的模型
- 減少上下文窗口大小
- 在設定中關閉未使用工具
TUI 問題
問題:終端顯示異常
解決方案:
- 使用現代終端機模擬器(WezTerm、Alacritty 等)
- 確認終端支援 24 位元色彩
- 嘗試更換主題
- 若遇滾動加速問題可關閉該功能
模型問題
問題:找不到模型
解決方案:
- 刷新模型清單:
opencode models --refresh - 確認已設定提供者:
opencode auth list - 檢查模型名稱格式:
provider/model - 確認提供者有該模型可用
將 OpenCode 整合至開發流程
日常開發
- 早晨:執行
/init同步最新代碼 - 功能開發:先規劃再建置
- 偵錯:就錯誤提問,引用檔案
- 程式碼審查:使用自訂審查代理人
- 文件生成:用自訂指令產生文件
團隊協作
- 分享設定:將
opencode.json與AGENTS.md提交 Git - 分享會話:使用
/share討論實作細節 - 自訂指令:在專案設定裡定義團隊工作流程
- 一致代理人:共用代理人定義維持一致性
CI/CD 整合
- GitHub 代理人:安裝以自動 PR 審查
- 測試:CI 中使用自訂測試指令
- 程式碼品質:配置格式化工具與權限設定
結語
OpenCode 開啟了 AI 輔助開發的新紀元,將強大的 AI 能力直接帶入你的終端機。透過靈活的配置、多元 LLM 提供者支援,以及直覺的 TUI 介面,它旨在提升你的開發生產力,同時不干擾既有工作流。
重點整理:
- 使用安裝腳本或偏好的套件管理器安裝
- 透過
/connect或opencode auth login設定 API 金鑰 - 使用
/init初始化專案,增進上下文理解 - 複雜功能使用規劃模式,直接修改用建置模式
- 利用配置檔、指令與代理人客製化
- 使用 CLI 指令實現自動化與腳本化
- 妥善管理 API 金鑰與權限,保障安全
後續建議:
- 探索 OpenCode 文件 進階功能
- 加入 OpenCode Discord 社群
- 自訂主題與快捷鍵,打造專屬體驗
- 嘗試不同 LLM 提供者與模型
- 整合 OpenCode 於你的團隊工作流
準備提升你的開發效率?
瞭解 LightNode 的 AI 優化主機方案,提供專屬 GPU 實例及可擴充基礎架構,助你部署 AI 驅動應用。
OpenCode 是開源且持續進化的專案,歡迎貢獻程式碼、回報問題或分享使用心得,讓它為每個人帶來更棒的開發體驗。祝你程式碼順利!