Buckets:
| --- | |
| title: 簡介 | |
| description: 開始使用 OpenCode。 | |
| --- | |
| import { Tabs, TabItem } from "@astrojs/starlight/components" | |
| import config from "../../../../config.mjs" | |
| export const console = config.console | |
| [**OpenCode**](/) 是一個開源的 AI 編碼代理。它提供終端機介面、桌面應用程式和 IDE 擴充功能等多種使用方式。 | |
|  | |
| 讓我們開始吧。 | |
| --- | |
| #### 前提條件 | |
| 要在終端機中使用 OpenCode,您需要: | |
| 1. 一款現代終端機模擬器,例如: | |
| - [WezTerm](https://wezterm.org),跨平台 | |
| - [Alacritty](https://alacritty.org),跨平台 | |
| - [Ghostty](https://ghostty.org),Linux 和 macOS | |
| - [Kitty](https://sw.kovidgoyal.net/kitty/),Linux 和 macOS | |
| 2. 您想使用的 LLM 供應商的 API 金鑰。 | |
| --- | |
| ## 安裝 | |
| 安裝 OpenCode 最簡單的方法是透過安裝指令碼。 | |
| ```bash | |
| curl -fsSL https://opencode.ai/install | bash | |
| ``` | |
| 您也可以使用以下方式安裝: | |
| - **使用 Node.js** | |
| <Tabs> | |
| <TabItem label="npm"> | |
| ```bash | |
| npm install -g opencode-ai | |
| ``` | |
| </TabItem> | |
| <TabItem label="Bun"> | |
| ```bash | |
| bun install -g opencode-ai | |
| ``` | |
| </TabItem> | |
| <TabItem label="pnpm"> | |
| ```bash | |
| pnpm install -g opencode-ai | |
| ``` | |
| </TabItem> | |
| <TabItem label="Yarn"> | |
| ```bash | |
| yarn global add opencode-ai | |
| ``` | |
| </TabItem> | |
| </Tabs> | |
| - **在 macOS 和 Linux 上使用 Homebrew** | |
| ```bash | |
| brew install anomalyco/tap/opencode | |
| ``` | |
| > 我們推薦使用 OpenCode tap 以取得最新版本。官方的 `brew install opencode` formula 由 Homebrew 團隊維護,更新頻率較低。 | |
| - **在 Arch Linux 上安裝** | |
| ```bash | |
| sudo pacman -S opencode # Arch Linux (Stable) | |
| paru -S opencode-bin # Arch Linux (Latest from AUR) | |
| ``` | |
| #### Windows | |
| :::tip[推薦:使用 WSL] | |
| 為了在 Windows 上獲得最佳體驗,我們推薦使用 [Windows Subsystem for Linux (WSL)](/docs/windows-wsl)。它提供更好的效能,並完全相容 OpenCode 的所有功能。 | |
| ::: | |
| - **使用 Chocolatey** | |
| ```bash | |
| choco install opencode | |
| ``` | |
| - **使用 Scoop** | |
| ```bash | |
| scoop install opencode | |
| ``` | |
| - **使用 NPM** | |
| ```bash | |
| npm install -g opencode-ai | |
| ``` | |
| - **使用 Mise** | |
| ```bash | |
| mise use -g github:anomalyco/opencode | |
| ``` | |
| - **使用 Docker** | |
| ```bash | |
| docker run -it --rm ghcr.io/anomalyco/opencode | |
| ``` | |
| 在 Windows 上透過 Bun 安裝 OpenCode 的支援目前正在開發中。 | |
| 您也可以從 [Releases](https://github.com/anomalyco/opencode/releases) 頁面直接下載二進位檔案。 | |
| --- | |
| ## 設定 | |
| 透過 OpenCode,您可以設定 API 金鑰來使用任意 LLM 供應商。 | |
| 如果您剛開始接觸 LLM 供應商,我們推薦使用 [OpenCode Zen](/docs/zen)。這是一組經過 OpenCode 團隊測試和驗證的精選模型。 | |
| 1. 在 TUI 中執行 `/connect` 指令,選擇 opencode,然後前往 [opencode.ai/auth](https://opencode.ai/auth)。 | |
| ```txt | |
| /connect | |
| ``` | |
| 2. 登入並新增帳單資訊,然後複製您的 API 金鑰。 | |
| 3. 貼上您的 API 金鑰。 | |
| ```txt | |
| ┌ API key | |
| │ | |
| │ | |
| └ enter | |
| ``` | |
| 您也可以選擇其他供應商。[了解更多](/docs/providers#directory)。 | |
| --- | |
| ## 初始化 | |
| 設定好供應商後,導覽到您想要處理的專案目錄。 | |
| ```bash | |
| cd /path/to/project | |
| ``` | |
| 然後執行 OpenCode。 | |
| ```bash | |
| opencode | |
| ``` | |
| 接下來,執行以下指令為專案初始化 OpenCode。 | |
| ```bash frame="none" | |
| /init | |
| ``` | |
| OpenCode 會分析您的專案並在專案根目錄建立一個 `AGENTS.md` 檔案。 | |
| :::tip | |
| 您應該將專案的 `AGENTS.md` 檔案提交到 Git。 | |
| ::: | |
| 這有助於 OpenCode 理解專案結構和編碼規範。 | |
| --- | |
| ## 使用 | |
| 現在您已經準備好使用 OpenCode 來處理專案了,儘管提問吧! | |
| 如果您是第一次使用 AI 編碼代理,以下範例可能會對您有所幫助。 | |
| --- | |
| ### 提問 | |
| 您可以讓 OpenCode 為您講解程式碼庫。 | |
| :::tip | |
| 使用 `@` 鍵可以模糊搜尋專案中的檔案。 | |
| ::: | |
| ```txt frame="none" "@packages/functions/src/api/index.ts" | |
| How is authentication handled in @packages/functions/src/api/index.ts | |
| ``` | |
| 當您遇到不熟悉的程式碼時,這個功能非常有用。 | |
| --- | |
| ### 新增功能 | |
| 您可以讓 OpenCode 為專案新增新功能。不過我們建議先讓它制定一個計畫。 | |
| 1. **制定計畫** | |
| OpenCode 有一個*計畫模式*,該模式下它不會進行任何修改,而是建議*如何*實作該功能。 | |
| 使用 **Tab** 鍵切換到計畫模式。您會在右下角看到模式指示器。 | |
| ```bash frame="none" title="Switch to Plan mode" | |
| <TAB> | |
| ``` | |
| 接下來描述您希望它做什麼。 | |
| ```txt frame="none" | |
| 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. | |
| ``` | |
| 您需要提供足夠的細節,讓 OpenCode 理解您的需求。可以把它當作團隊中的一名初級開發者來溝通。 | |
| :::tip | |
| 為 OpenCode 提供充足的上下文和範例,幫助它理解您的需求。 | |
| ::: | |
| 2. **迭代計畫** | |
| 當它給出計畫後,您可以提供回饋或補充更多細節。 | |
| ```txt frame="none" | |
| 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. | |
| ``` | |
| :::tip | |
| 將圖片拖放到終端機中即可將其新增到提示詞中。 | |
| ::: | |
| OpenCode 可以掃描您提供的圖片並將其新增到提示詞中。只需將圖片拖放到終端機視窗即可。 | |
| 3. **建置功能** | |
| 當您對計畫滿意後,再次按 **Tab** 鍵切換回*建置模式*。 | |
| ```bash frame="none" | |
| <TAB> | |
| ``` | |
| 然後讓它開始實施。 | |
| ```bash frame="none" | |
| Sounds good! Go ahead and make the changes. | |
| ``` | |
| --- | |
| ### 直接修改 | |
| 對於比較簡單的修改,您可以直接讓 OpenCode 實施,無需先審查計畫。 | |
| ```txt frame="none" "@packages/functions/src/settings.ts" "@packages/functions/src/notes.ts" | |
| 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 | |
| ``` | |
| 請確保提供足夠的細節,以便 OpenCode 做出正確的修改。 | |
| --- | |
| ### 復原修改 | |
| 假設您讓 OpenCode 做了一些修改。 | |
| ```txt frame="none" "@packages/functions/src/api/index.ts" | |
| Can you refactor the function in @packages/functions/src/api/index.ts? | |
| ``` | |
| 但您發現結果不是您想要的。您**可以使用** `/undo` 指令來復原修改。 | |
| ```bash frame="none" | |
| /undo | |
| ``` | |
| OpenCode 會還原所做的修改,並重新顯示您之前的訊息。 | |
| ```txt frame="none" "@packages/functions/src/api/index.ts" | |
| Can you refactor the function in @packages/functions/src/api/index.ts? | |
| ``` | |
| 您可以調整提示詞,讓 OpenCode 重新嘗試。 | |
| :::tip | |
| 您可以多次執行 `/undo` 來復原多次修改。 | |
| ::: | |
| 您也**可以使用** `/redo` 指令來重做修改。 | |
| ```bash frame="none" | |
| /redo | |
| ``` | |
| --- | |
| ## 分享 | |
| 您與 OpenCode 的對話可以[與團隊分享](/docs/share)。 | |
| ```bash frame="none" | |
| /share | |
| ``` | |
| 這會生成當前對話的連結並複製到剪貼簿。 | |
| :::note | |
| 對話預設不會被分享。 | |
| ::: | |
| 這是一個與 OpenCode 的[範例對話](https://opencode.ai/s/4XP1fce5)。 | |
| --- | |
| ## 個人化 | |
| 以上就是全部內容!您現在已經是 OpenCode 的使用高手了。 | |
| 要讓它更符合您的習慣,我們推薦[選擇一個主題](/docs/themes)、[自訂快捷鍵](/docs/keybinds)、[設定程式碼格式化器](/docs/formatters)、[建立自訂指令](/docs/commands),或者探索 [OpenCode 設定](/docs/config)。 | |
Xet Storage Details
- Size:
- 7.97 kB
- Xet hash:
- 62a45e66cc09eef692edd4ff226f50d88061cad9530db1ded2fcfcc64b5101d7
·
Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.