OpenCode 完全指南:開源 AI 程式碼助手讓開發效率飆升

OpenCode 完全指南:開源 AI 程式碼助手讓開發效率飆升
文章摘要
OpenCode 是一個開源的 AI 程式碼助手,支援終端機、桌面應用程式和 IDE 擴充功能。本文將帶你深入了解 OpenCode 的安裝、配置和各項強大功能,讓你體驗 AI 輔助開發的便利性。

什麼是 OpenCode?

OpenCode 是一個開源的 AI 程式碼助手,致力於讓開發者能夠在終端機、IDE 或桌面環境中更高效地撰寫程式碼。由 Anomaly 團隊開發,目前在 GitHub 上已累積超過 10 萬顆星標,擁有超過 700 位貢獻者,每月服務超過 250 萬名開發者。

OpenCode 的核心特點

  • LSP 自動啟用:自動載入正確的 LSP(Language Server Protocol)服務
  • 多工作階段:可同時在同一專案上啟動多個代理程式
  • 分享連結:可分享工作階段連結供他人參考或除錯
  • 廣泛模型支援:支援 75 種以上的 LLM 提供者,包括 Claude、GPT、Gemini 等
  • 隱私優先:不儲存任何程式碼或上下文資料,確保隱私安全

安裝 OpenCode

OpenCode 支援多種安裝方式,以下是各平台的安裝方法:

Linux 和 macOS

使用官方安裝腳本是最簡單的方式:

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

或者使用 Homebrew:

brew install anomalyco/tap/opencode

Windows

在 Windows 上建議使用 WSL(Windows Subsystem for Linux)以獲得最佳體驗:

# 使用 Chocolatey
choco install opencode

# 使用 Scoop
scoop install opencode

# 使用 NPM
npm install -g opencode-ai

使用套件管理器

# 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

配置 OpenCode

安裝完成後,需要配置 LLM 提供者才能開始使用。

連接 OpenCode Zen(推薦)

OpenCode Zen 是經過團隊測試和驗證的優化模型集合,無需擔心模型品質不一致的問題。

  1. 在終端機中輸入 /connect 命令
  2. 選擇 opencode 並前往 opencode.ai/auth 進行驗證
  3. 登入後新增付款資訊並複製 API 金鑰
  4. 將 API 金鑰貼上即可完成配置

其他 LLM 提供者

如果你想使用其他 LLM 提供者(如 Claude、GPT、Gemini 等),也可以手動配置各提供者的 API 金鑰。


初始化專案

配置完成後,即可開始使用 OpenCode:

cd /path/to/your/project
opencode

初始化專案:

/init

這會讓 OpenCode 分析你的專案並在專案根目錄建立 AGENTS.md 檔案。建議將此檔案提交至 Git,這能幫助 OpenCode 理解專案結構和編碼規範。


OpenCode 實際應用

提問與解答

你可以讓 OpenCode 幫你解釋程式碼。使用 @ 鍵可模糊搜尋專案中的檔案:

How is authentication handled in @packages/functions/src/api/index.ts

這對於了解他人撰寫的程式碼特別有幫助。

新增功能

OpenCode 的「規劃模式」是其強大功能之一。在這個模式下,OpenCode 不會直接修改程式碼,而是會提出實作計畫供你審視。

  1. 按下 Tab 鍵切換到規劃模式(畫面右下角會顯示指示器)
  2. 描述你想要的功能
  3. 檢視計畫並提供回饋或補充細節
  4. 確認計畫後,再切換回「建置模式」讓 OpenCode 執行修改

程式碼修改

對於較簡單的修改,你可以直接要求 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 命令復原:

/undo

OpenCode 會恢復變更並顯示你原本的訊息,讓你可以調整提示後再試一次。


OpenCode 常用指令

OpenCode 提供了豐富的指令來提升開發效率。這些指令可分為 TUI 指令和 CLI 指令兩種類型。

TUI 指令

在 OpenCode 終端機介面中,輸入 / 後跟指令名稱即可執行。以下是常用的 TUI 指令:

指令說明
/init建立或更新 AGENTS.md 檔案,分析專案結構並建立開發規範文件
/new開始新的工作階段,別名:/clear
/undo復原對話中的最後一條訊息,包括所有檔案變更
/redo重做之前復原的訊息
/share分享當前工作階段,建立可分享的連結
/unshare取消分享當前工作階段
/sessions列出工作階段並在工作階段之間切換,別名:/resume/continue
/models列出所有可用的模型
/themes列出可用的主題
/connect將 LLM 提供者新增到 OpenCode
/compact壓縮當前工作階段,別名:/summarize
/details切換工具執行詳情的顯示
/editor開啟外部編輯器來撰寫訊息
/export將當前對話匯出為 Markdown
/thinking切換思考/推理區塊的可見性
/help顯示說明對話框

CLI 指令

除了 TUI 指令,OpenCode 還提供強大的命令列工具。以下是常用的 CLI 指令:

# 啟動 OpenCode
opencode                          # 啟動 TUI
opencode /path/to/project         # 指定專案目錄啟動
opencode --continue               # 繼續上一個工作階段

# 模型管理
opencode models                   # 列出所有可用模型
opencode models anthropic         # 列出特定提供者的模型
opencode models --refresh         # 重新整理模型快取

# 代理管理
opencode agent create             # 建立新代理
opencode agent list               # 列出所有代理

# MCP 伺服器管理
opencode mcp add                  # 新增 MCP 伺服器
opencode mcp list                 # 列出所有 MCP 伺服器
opencode mcp auth                 # 對 MCP 伺服器進行認證

# 工作階段管理
opencode session list             # 列出所有工作階段
opencode export                   # 匯出工作階段資料
opencode import                   # 匯入工作階段資料

# 統計資訊
opencode stats                    # 顯示 Token 用量和費用統計
opencode stats --days 30          # 顯示最近 30 天的統計

# 其他實用指令
opencode run "提示詞"             # 非互動模式執行
opencode serve                    # 啟動 API 伺服器
opencode web                      # 啟動 Web 介面
opencode upgrade                  # 更新 OpenCode

代理(Agents)

OpenCode 內建了多種代理類型,可透過 Tab 鍵切換或使用 @ 提及呼叫:

代理類型說明
Build主代理預設代理,啟用所有工具
Plan主代理規劃和分析代理,無法修改檔案
General子代理通用研究代理,完整工具存取
Explore子代理快速唯讀代理,用於探索程式碼庫

技能(Skills)

技能是可重複使用的行為定義,透過 SKILL.md 檔案設定。技能檔案放置位置:

  • 專案:.opencode/skills/<name>/SKILL.md
  • 全域:~/.config/opencode/skills/<name>/SKILL.md
---
name: git-release
description: Create consistent releases and changelogs
---
## What I do
- Draft release notes from merged PRs
- Propose a version bump
- Provide a copy-pasteable git command
## When to use me
Use this when you are preparing a tagged release.

透過靈活運用這些指令和快捷鍵,可以大幅提升使用 OpenCode 的開發效率。


進階功能

主題自訂

OpenCode 支援多種主題,你可以根據喜好進行設定。

快捷鍵自訂

自訂鍵位綁定以符合個人工作流程。

程式碼格式化

配置程式碼格式化工具,確保程式碼風格一致。

自訂命令

建立重複使用的自訂命令,提高工作效率。

整合 GitHub Copilot

登入 GitHub 即可使用現有的 Copilot 帳戶。

整合 IDE

OpenCode 提供 IDE 擴充功能,讓你可在喜愛的編輯器中使用。


圖片支援

OpenCode 支援圖片分析功能。你可以將圖片拖曳到終端機中,OpenCode 會掃描圖片並將其加入提示中。這對於設計 UI 時參考範例圖片特別有用。


分享功能

使用 /share 命令可建立當前對話的分享連結,讓團隊成員能夠參考你的工作階段或協助除錯。


總結

OpenCode 作為一個開源的 AI 程式碼助手,提供了豐富的功能來提升開發效率。從自動化的 LSP 支援到多模型整合,再到強大的規劃和復原機制,OpenCode 為開發者提供了一個靈活且強大的 AI 輔助工具。

對於團隊開發而言,將 AGENTS.md 提交至版本控制系統,能確保所有成員都能獲得一致的 AI 輔助體驗。而其隱私優先的設計理念,更讓企業和重視資料安全的開發者能夠放心使用。

X