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

145 lines
4.8 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# 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