mathruffian-dot/opencode-lazy-packs/00-env-setup
Claude Code and agent skill by mathruffian-dot/opencode-lazy-packs
- community
Checking that the SKILL.md file is still in the repository.
從零把 OpenCode 環境裝好——OpenCode 桌面版與 CLI、Git、GitHub CLI、Node.js、uv,先偵測再安裝、每步驗證。說「建置環境」「安裝 OpenCode」「安裝開發環境」「環境建置」時載入。
Install
npx vskill@latest install mathruffian-dot/opencode-lazy-packs/00-env-setupSKILL.md
環境建置(懶人包 #00)
做完這一包,你的電腦會有:
| 工具 | 是什麼 | 之後誰會用到 | |
|---|---|---|---|
| OpenCode 桌面版 | 你要用的 AI 助手,有視窗介面 | 研習全程的主角 | |
| OpenCode CLI | 同一個工具的終端機版本 | 進階操作、腳本自動化 | |
| Git | 幫檔案存檔、記錄每次修改 | GitHub 那一包(07-github) | |
| GitHub CLI(gh) | 讓 AI 直接操作 GitHub | GitHub 那一包(07-github) | |
| Node.js | 一堆外掛(MCP)的執行環境 | 後續幾乎每一包 | |
| uv | Python 工具的安裝器 | NotebookLM、檔案工具包等 Python 系工具 |
⚠️ 這一包裝完,OpenCode 還不會回答你。它只是「裝好了」,還沒有連上任何 AI 模型。請務必接著做 #01:連接模型(`01-connect-model`),那一包才會讓它真的開始工作。
這包負責什麼、不負責什麼
| ✅ 這包負責 | ❌ 這包不負責(誰負責) | |
|---|---|---|
| 安裝 OpenCode 桌面版 + CLI | 連接 AI 模型、API 金鑰 → `01-connect-model` | |
| 安裝 Git 與 GitHub CLI | 登入 GitHub、設定 git 使用者資訊 → `07-github` | |
| 安裝 Node.js、uv | 安裝各種 MCP 與外掛 → 後續各包 | |
| 驗證每個工具真的能跑 | 教你怎麼用 OpenCode → 研習現場 |
開始之前:你現在是哪一種狀況?
這份文件是「貼給 AI agent 執行」用的。但如果你連 AI agent 都還沒有,會有雞生蛋問題。對號入座:
| 狀況 | 怎麼做 | |
|---|---|---|
| A. 我什麼 AI 工具都沒有 | 先自己手動做完 步驟 2(裝 OpenCode 桌面版,就是下載點兩下)。打開 OpenCode 後,去做 #01 連接模型,回來把這份整份貼給它做完剩下的 | |
| B. 我已經有 Claude Code / Codex / 其他 agent | 直接把這份整份貼給它,從步驟 1 開始跑 | |
| C. 我已經有 OpenCode 而且能對話了 | 直接把這份整份貼給 OpenCode,從步驟 1 開始跑 |
給 AI Agent 的執行原則
執行這份文件時請遵守:
- 先偵測再安裝:每個工具都先跑偵測指令,已經有的就跳過,不要重裝。
- 每步都要驗證:安裝完一定要跑驗證指令,看到預期輸出才算過。
- 失敗不要硬闖:某一項失敗就記下來繼續下一項,最後在回報裡標 ❌,不要整份中斷。
- 需要人手動的地方要停下來:例如需要管理員權限、需要在瀏覽器點同意,明白告訴使用者要做什麼,等他回覆。
- Windows 一律用 PowerShell,不要用 CMD。
- 不要在 PowerShell 用 `&&` 串指令(Windows PowerShell 5.1 會直接語法錯誤),要用
;。 - 不要對原生指令加 `2>$null` 或 `2>&1`:PowerShell 5.1 會把它們的 stderr 包成錯誤物件,讓你把成功的安裝誤判成失敗。判斷成敗請看輸出內容,不要只看 exit code。
- 不要幫使用者選付費方案、不要輸入任何金鑰,那是 #01 的事。
步驟 1:全面偵測(先看你已經有什麼)
Windows(PowerShell)
整段複製貼上:
macOS / Linux(終端機)
判定:把 [缺] 的項目記下來,後面只補這些。標 [有] 的一律跳過,不要重裝。
💡 順便確認 winget 在不在(Windows 才需要):winget --version。沒有的話 → 到 Microsoft Store 安裝「應用程式安裝程式 / App Installer」,或用各步驟附的「下載頁備案」。
步驟 2:安裝 OpenCode 桌面版(研習主線)
🎯 研習現場以桌面版為主。有視窗、可以拖檔案進去、看得到程式碼差異,對第一次接觸的老師最友善。
Windows
驗證:
預期輸出:出現一行含有 SST.OpenCodeDesktop 和版本號的表格列。 失敗長相:找不到任何符合輸入準則的已安裝套件。
macOS
驗證:ls /Applications | grep -i opencode → 應列出 OpenCode 應用程式。
Linux
到 <https://opencode.ai/download> 下載 .deb 或 .rpm,然後:
🖐️ 所有平台的共同備案
winget / brew 失敗(沒有管理員權限、公司電腦鎖住、網路擋住),一律改走這條:
- 開瀏覽器到 <https://opencode.ai/download>
- 選你的系統下載(Windows 是安裝檔、macOS 是
.dmg、Linux 是.deb/.rpm) - 點兩下安裝
ℹ️ 桌面版目前標示為 beta。日常使用穩定,但偶爾有小狀況屬正常;遇到怪事先重開,再看常見問題表。
步驟 3:安裝 OpenCode CLI(輔助)
🎯 CLI 是終端機版本,跟桌面版可以並存,設定檔共用。之後要寫自動化腳本、要在遠端機器上跑,會需要它。
Windows
macOS
Linux
驗證(所有平台)
預期輸出:一組版本號(例如 1.x.x)。 失敗長相:opencode : 無法辨識… / command not found → 見下方 PATH 說明。
⚠️ 只選一種安裝方式,不要混裝。同一台電腦上如果既用 winget(或 brew)裝、又用npm install -g opencode-ai裝,PATH 上會有兩個opencode,之後升級會很混亂。本包一律以「winget / brew / 官方安裝腳本」為準;npm 版只在前三者都不可用時當備案。
🐧 Linux/macOS 用 `curl … | bash` 的一句提醒:這是官方文件公告的安裝方式,但「把網路上的腳本直接交給 shell 執行」本質上就是信任該網域。不放心的話,改用 brew(macOS)或到 GitHub Releases 下載執行檔。
🪟 Windows 不能用 `curl … | bash`:那是 bash 語法,PowerShell 跑不動。Windows 請用 winget。
步驟 4:安裝 Git
🎯 Git 幫你的檔案存檔、記錄每一次修改。之後 GitHub 那一包(07-github)要用它把教材推上 GitHub。v2 起,Git 的安裝由本包負責,不再推給別包。
先偵測:git --version 有輸出版本號就跳過這步。
Windows
🔒 沒有管理員權限時(學校電腦常見):先試winget install --id Git.Git --exact --scope user;仍失敗就到 <https://git-scm.com/downloads> 下載安裝檔,或請資訊組協助。
📌 順便知道一件事:Windows 版的 Git 會一起裝「Git Credential Manager」(GCM)。它負責記住你的 GitHub 登入,第一次git push時會開瀏覽器讓你授權一次,之後就不用再輸入任何東西。這件事在07-github那一包很重要:GCM 的設定寫在 system 層,用 `git config --global` 查不到。查不到不代表沒有——很多人因此誤以為憑證沒設好,跑去修一個根本不存在的問題。詳見07-github的步驟 2-3。
macOS
macOS 通常已內建 Apple 版 Git,先跑 git --version。真的沒有:
(或執行 xcode-select --install,系統會跳視窗引導安裝。)
Linux(Debian / Ubuntu)
驗證
預期輸出:git version 2.x.x。
📌 不要在這裡設定 `git config --global user.name / user.email`——那屬於 GitHub 那一包(`07-github`),避免兩包重複問使用者同一件事。
步驟 5:安裝 GitHub CLI(gh)
🎯gh讓 AI 可以直接幫你開 repo、上傳、開網站,不用你自己點網頁。
先偵測:gh --version 有輸出就跳過。
Windows
macOS
Linux(Debian / Ubuntu)
找不到套件的話(較舊的發行版),改用 GitHub 官方來源:
驗證
預期輸出:gh version 2.x.x (…)。
📌 這一步不要登入。gh auth login需要開瀏覽器輸入驗證碼,是 GitHub 那一包(`07-github`)的內容。這裡只確認「裝好了、叫得動」。
步驟 6:安裝 Node.js
🎯 之後很多 MCP 外掛是用npx啟動的,那需要 Node.js。OpenCode 本身不需要 Node.js(它是獨立執行檔),所以先前 v1 把 Node 當成 OpenCode 的前置條件是寫錯的——它是「後面幾包」的前置條件。
先偵測:node --version 與 npm --version 都有輸出就跳過。
版本要求
裝目前的 LTS(長期支援版)即可,本文件刻意不釘死版本號——你在 2026 年裝到的 LTS 和 2027 年裝到的不會一樣,釘死只會讓文件過期。下面每個指令都會自動抓當下的 LTS。
Windows
macOS
Linux(Debian / Ubuntu)
setup_lts.x會自動對應到「當下的 LTS」,不需要每年改文件(v1 寫死的setup_20.x已經過時了)。若不想加外部套件庫,也可以sudo apt install -y nodejs npm,但發行版內建的版本通常較舊。
驗證
預期輸出:node 印出 v 開頭的版本號、npm 印出數字版本號,兩個都要有。
步驟 7:安裝 uv
🎯uv是 Python 工具的安裝器。NotebookLM MCP、教學檔案處理工具包等 Python 系工具都靠它安裝。📌 這是全套懶人包裡 uv 安裝的唯一權威版本(v1 在三個檔案裡各寫一次,版本還不一致)。其他包需要 uv 時,一律回來看這一節。
先偵測:uv --version 有輸出就跳過。
Windows(建議)
winget 不可用時的官方腳本備案:
macOS
Linux / 通用備案
驗證
預期輸出:uv 0.x.x(或更高)。
步驟 8:重開終端機,然後做最終驗證
🚨 這一步最常被跳過,也最常害人以為安裝失敗。剛剛裝的工具會把自己加進系統 PATH,但已經開著的終端機視窗讀不到新的 PATH。所以在舊視窗打git、gh一定會說「找不到」——不是沒裝好,是視窗太舊。
做法:關掉目前的 PowerShell / 終端機,開一個新的,再跑驗證。
Windows 若不想關視窗,可以就地刷新 PATH:
macOS / Linux:source ~/.zshrc(或 source ~/.bashrc)。
最終驗證
Windows(PowerShell,用 `;` 不是 `&&`):
macOS / Linux:
預期輸出:六行,每行都是版本號,沒有任何「找不到指令」。
Windows 再補一行確認桌面版:
步驟 9:把桌面版打開來看一眼
- 從開始功能表 / 啟動台 / 應用程式清單開啟 OpenCode。
- 能看到主視窗、不會閃退,這一包就算完成。
- 這時候你跟它講話它還不會回答,因為還沒接上模型——這是正常的,不是壞掉。
📎 附錄:MCP 通用守則(後面每一包都會用到,先看一眼)
從 03-notebooklm 開始,幾乎每一包都要在 ~/.config/opencode/opencode.json 的 mcp 區塊加一段設定。 下面六條是每一包共用的,各包不再重複說明。裝 MCP 卡住的時候,先回來對這一頁。
🎯 這一節現在不用動手,只要知道「有這一頁」就好。等你做到後面幾包再回來查。
1. 🔴 一定要加 timeout,不加幾乎必翻車
OpenCode 的 MCP 逾時預設只有 5000 毫秒(5 秒)。
用 npx 啟動的 MCP,第一次要先上網把套件下載下來,通常遠超過 5 秒 → OpenCode 直接判定連線失敗。 研習現場整間教室同時下載,只會更慢。這是最容易整班一起卡住的地方。
300000 毫秒 = 5 分鐘。套件下載過一次會被快取,之後啟動很快,但這個值留著不會有副作用,每一台 MCP 都加上去就對了。
💡 加了還是逾時? 部分版本的 OpenCode 對「單一 server 的 timeout」支援不穩定。再補一個全域設定(跟mcp同一層):```json{"experimental": {"mcp_timeout": 300000}}```
🖐️ 研習現場的預防針:講師可以請大家先在終端機手動跑一次npx -y 某個-mcp-套件,讓套件先下載完(跑起來後按 Ctrl+C 中止即可)。之後 OpenCode 啟動就不會卡在下載。
2. ✅ 驗證用 opencode mcp list,不要用「重開問問看」
改完設定,不要靠「重開 OpenCode,問它有沒有工具」來判斷成功——問不出來也可能只是它沒想到要用。
預期輸出:每一台 server 一列,狀態顯示 `✓ connected`。看到 ✓ 才算成功,這是唯一可靠的判準。
其他相關指令:
| 指令 | 用途 | |
|---|---|---|
opencode mcp add | 互動式新增一台 server(會幫你寫成正確格式,不用背欄位) | |
opencode mcp list | 列出所有 server 與連線狀態 ← 驗證就看這個 | |
opencode mcp auth <名稱> | 對支援 OAuth 的遠端 server 登入(見第 6 點) | |
opencode mcp logout <名稱> | 清掉該 server 的登入憑證 | |
opencode mcp debug <名稱> | 連不上時看細節 |
3. ⚠️ 網路上抄來的設定多半是 Claude Code 的,直接貼一定壞
OpenCode 的欄位名稱跟 Claude Code 不相容。 這是照抄教學最常見的死法:
| 項目 | Claude Code 的寫法 | OpenCode 的寫法 | |
|---|---|---|---|
| 區塊名稱 | "mcpServers" | `"mcp"` | |
| 執行指令 | "command": "npx"(字串) | `"command": ["npx", …]`(陣列) | |
| 參數 | "args": ["-y", "套件名"] | 沒有 `args` 欄位,全部併進 command 陣列 | |
| 環境變數 | "env": { … } | `"environment": { … }` | |
| 遠端 server | "type": "sse" / "http" | `"type": "remote"` + `"url"` |
❌ 錯誤(Claude Code 的格式,OpenCode 讀不懂)
✅ 正確(OpenCode 的格式)
對照著看:command和args合併成一個陣列,env改名叫environment,最外層 `mcpServers` 改成 `mcp`。
4. 💬 OpenCode 的設定檔可以寫註解、容許尾逗號
OpenCode 用 JSONC(JSON with Comments)解析設定檔,所以下面這些都不會壞:
檔案也可以直接存成 opencode.jsonc。
📌 如果你看到某份教學說「opencode.json 絕對不能有註解、最後一項不能有逗號」——那是在講一般 JSON,對 OpenCode 不適用。但其他格式錯誤照樣會壞:大括號少一個、引號沒成對、Windows 路徑的反斜線沒寫成兩條\\。所以設定改完,還是要用opencode mcp list驗一次。
5. 🔑 金鑰不要寫明文,用 {env:變數名}
研習現場的設定檔會投影在大螢幕上,明文金鑰等於當場公開,還會被拍照。 OpenCode 支援從環境變數讀值:
This is the start of the file. Read the full SKILL.md on GitHub.
Security
- Security scanPassed, 100 of 100Pattern checks on the skill's files.
- Model reviewPassed
Quality evaluation
- Task evaluationNot runNo evaluation yet. Run one in Skill Studio.
Source
- SKILL.md in the repositoryCheckingskills/00-env-setup/SKILL.md
Popularity
- Repository stars
- 52
- Repository forks
- 27
- 7-day trend score
- 20
Stars and forks are for the whole GitHub repository, not this skill alone. Not refreshed yet.
Works with
Any agent vskill installs to: 56 targets in all. These 39 have a page on this site.
- Claude Code
- Cursor
- GitHub Copilot
- Windsurf
- Codex
- Gemini CLI
- Cline
- Amp
- Roo Code
- Goose
- Continue
- Kilo Code
- Junie
- Trae
- OpenHands
- Qwen Code
- AI Agent
- Tabnine Chat
- Sourcegraph Cody
- Amazon Q
- Firebase Genkit
- Sweep
- Devin
- Phind
- Mentat
- Claude Desktop
- Aider
- GPT Pilot
- Plandex
- bolt.new
- v0
- Replit Agent
- Anse
- TypingMind
- BetterChatGPT
- LibreChat
- Warp AI
- Pieces
- Fig AI
Embed badge
[](https://verified-skill.com/skills/mathruffian-dot/opencode-lazy-packs/00-env-setup)