opencode-code-agent/README.zh-TW.md

145 lines
4.8 KiB
Markdown
Raw Normal View History

2026-03-23 09:24:33 +00:00
# gstack-opencode
Garry Tan 的 gstack 移植至 OpenCode。完整的 AI 工程工作流程,內含 27 項技能。
## 內容總覽
### 衝刺技能20 項)
| 技能 | 功能說明 |
|------|----------|
| `/office-hours` | YC 辦公時間 — 重新定義你的產品概念 |
| `/plan-ceo-review` | CEO 審查 — 找出 10 星級產品 |
| `/plan-eng-review` | 工程經理 — 鎖定架構、資料流、測試 |
| `/plan-design-review` | 設計師審查 — 各維度評分 0-10 |
| `/design-consultation` | 從零建立設計系統 |
| `/review` | 資深工程師 — 找出能通過 CI 的錯誤 |
| `/ship` | 發佈工程師 — 測試、推送、建立 PR |
| `/land-and-deploy` | 合併 PR、CI、部署、驗證 |
| `/qa` | QA 主管 — 瀏覽器測試、修復錯誤 |
| `/qa-only` | QA 報告員 — 僅產生錯誤報告 |
| `/design-review` | 設計師稽核 + 自動修復 |
| `/canary` | SRE — 部署後監控 |
| `/benchmark` | 效能工程師 — Core Web Vitals |
| `/document-release` | 技術文件撰寫 — 更新文件 |
| `/retro` | 工程經理 — 每週回顧 |
| `/investigate` | 除錯器 — 系統性根因分析 |
| `/cso` | 資安長 — OWASP + STRIDE |
| `/codex` | 第二意見 — OpenAI Codex 審查 |
| `/autoplan` | 自動審查流水線 |
| `/setup-deploy` | 部署設定器 |
### 安全技能4 項)
| 技能 | 功能說明 |
|------|----------|
| `/careful` | 破壞性指令前發出警告 |
| `/freeze` | 鎖定編輯範圍至單一目錄 |
| `/guard` | 完整安全防護careful + freeze |
| `/unfreeze` | 解除 freeze 限制 |
### 瀏覽技能8 項)
| 技能 | 功能說明 |
|------|----------|
| `/browse` | 無頭 Chromium — 約 100 毫秒/指令 |
| `/setup-browser-cookies` | 從真實瀏覽器匯入 Cookie |
| `/qa` | 瀏覽器基礎的 QA 測試 |
| `/design-review` | 使用截圖進行視覺稽核 |
| `/canary` | 監控已部署的應用程式 |
| `/benchmark` | 效能基準測試 |
| `/land-and-deploy` | 部署後驗證 |
| `/setup-browser-cookies` | 工作階段管理 |
## 安裝說明
### 系統需求
- [OpenCode](https://opencode.ai)
- [Bun](https://bun.sh) v1.0+
- [Git](https://git-scm.com/)
### 快速安裝
```bash
# 複製此儲存庫
git clone https://github.com/your-username/gstack-opencode.git ~/gstack-opencode
# 執行安裝腳本
cd ~/gstack-opencode && ./setup
# 加入至你的 Shell 設定檔
echo 'source ~/gstack-opencode/bin/gstack-env.sh' >> ~/.zshrc
source ~/.zshrc
```
### 手動安裝
```bash
# 1. 複製 gstack
git clone https://github.com/garrytan/gstack.git ~/gstack-opencode/source
# 2. 編譯 browse
cd ~/gstack-opencode/source
bun install
bun build --compile browse/src/cli.ts --outfile ~/gstack-opencode/browse/dist/browse
# 3. 將技能連結至 OpenCode
mkdir -p ~/.config/opencode/skills/gstack
ln -sf ~/gstack-opencode/skills/* ~/.config/opencode/skills/gstack/
```
## 目錄結構
```
~/gstack-opencode/
├── skills/ # 27 項 OpenCode 技能
│ ├── office-hours/SKILL.md
│ ├── review/SKILL.md
│ ├── browse/SKILL.md
│ └── ...
├── browse/ # 無頭瀏覽器引擎
│ └── dist/browse # 已編譯的二進位檔63MB
├── bin/ # 工具指令稿
│ ├── gstack-env.sh # 環境設定
│ ├── gstack-slug # 產生儲存庫 slug
│ └── ...
├── plugin/ # OpenCode 外掛
│ └── gstack-guardian.js # 安全機制
├── review/ # 共用資產
│ ├── checklist.md
│ └── ...
├── ETHOS.md # 建構者理念
├── BROWSER.md # 瀏覽器指令參考
├── setup # 安裝指令稿
└── README.md # 本檔案
```
## 環境變數
| 變數名稱 | 說明 |
|----------|------|
| `GSTACK_OPENCODE_DIR` | gstack-opencode 目錄的路徑 |
| `GSTACK_BROWSE` | browse 二進位檔的路徑 |
## 安全機制
`/careful`、`/freeze` 和 `/guard` 技能透過 OpenCode 外掛(`plugin/gstack-guardian.js`)實作。它會攔截:
- **破壞性指令:** `rm -rf`、`DROP TABLE`、`git push --force` 等。
- **Freeze 違規:** 在鎖定目錄外的編輯操作。
## 與原版 gstack 的差異
| 面向 | Claude Code | OpenCode |
|------|-------------|----------|
| 鉤子機制 | PreToolUse hooks | 外掛 `tool.execute.before` |
| 環境變數 | `${CLAUDE_SKILL_DIR}` | `${GSTACK_OPENCODE_DIR}` |
| 安全技能 | Shell 指令稿 | JavaScript 外掛 |
| 技能格式 | YAML + Markdown | YAML + Markdown簡化版 |
## 致謝
原版 gstack 由 [Garry Tan](https://github.com/garrytan/gstack) 開發 — MIT 授權條款
OpenCode 移植由 gstack-opencode 貢獻者完成
## 授權條款
MIT