第 12 章 高級

企業應用與整合

將 opencode 整合到 CI/CD 流程、企業內部系統與團隊協作環境

摘要

本章聚焦於 opencode 在企業環境中的應用。你將學習如何將 opencode 整合到 GitHub Actions 與 GitLab CI 等 CI/CD 管道中,設定網路代理與自訂憑證以符合企業安全政策,利用企業版的集中管理功能,以及使用分享功能促進團隊協作。這些能力讓 opencode 不僅是個人開發工具,更能成為團隊與組織的標準化 AI 協作平台。

學習目標

GitHub Actions 整合

opencode 提供官方 GitHub Actions 整合,讓你可以直接在 CI/CD pipeline 中使用 opencode 執行自動化任務,例如程式碼審查、自動修復、文件生成等。

安裝官方 Action

使用以下指令在 GitHub 倉儲中安裝整合:

opencode github install

這個指令會自動在你的倉儲中建立必要的 workflow 檔案,並設定 GitHub App 權限。

Workflow 範例

以下是一個典型的 workflow 設定,在每次 Pull Request 時自動執行程式碼審查:

# .github/workflows/opencode-review.yml
name: OpenCode Review
on:
  pull_request:
    types: [opened, synchronize]

jobs:
  review:
    runs-on: ubuntu-latest
    steps:
      - uses: actions/checkout@v4
      - uses: anthropics/opencode-action@v1
        with:
          api-key: ${{ secrets.ANTHROPIC_API_KEY }}
          command: |
            請審查此 PR 的變更,檢查:
            - 是否有安全漏洞
            - 程式碼風格是否一致
            - 是否有遺漏的邊界情況

支援的事件類型

opencode GitHub Action 支援以下事件:

常見應用場景

GitLab CI 整合

雖然 opencode 目前沒有官方 GitLab Action,但社群提供了完善的 CI 整合方案。

社群 CI 元件

你可以透過 GitLab CI 的 includes 功能引用社群維護的 CI 元件:

# .gitlab-ci.yml
include:
  - component: gitlab.com/opencode-community/ci-components/opencode-review@v1

opencode-review:
  variables:
    OPENCODE_API_KEY: $ANTHROPIC_API_KEY
    OPENCODE_COMMAND: "審查此 Merge Request 的程式碼品質"
  rules:
    - if: '$CI_PIPELINE_SOURCE == "merge_request_event"'

自訂 CI Job

你也可以手動撰寫 GitLab CI job:

opencode-check:
  image: node:20
  script:
    - npm install -g @opencode-ai/opencode
    - opencode ci-review --api-key $ANTHROPIC_API_KEY
  only:
    - merge_requests

GitLab Duo @opencode

對於 GitLab Ultimate 用戶,opencode 可以與 GitLab Duo 整合,透過 @opencode 在 MR 評論中直接呼叫:

@opencode 請檢查此 MR 中的資料庫遷移是否安全

當 GitLab 偵測到 @opencode 提及時,會自動呼叫已設定的 opencode webhook 來處理請求。

網路功能

企業環境通常有嚴格的網路安全政策,opencode 為此提供了完整的代理與憑證支援。

HTTPS 代理伺服器

透過標準的 HTTPS_PROXY 環境變數設定代理:

# PowerShell
$env:HTTPS_PROXY="http://proxy.company.com:8080"
opencode

# Bash / Zsh
export HTTPS_PROXY=http://proxy.company.com:8080
opencode

opencode 也支援 HTTP_PROXYNO_PROXY 等標準環境變數:

export HTTP_PROXY=http://proxy.company.com:8080
export HTTPS_PROXY=http://proxy.company.com:8080
# 繞過內部網域的代理
export NO_PROXY=.internal.company.com,localhost,127.0.0.1

自訂憑證(CA Certificates)

如果你的企業使用內部 CA 簽發的憑證(例如在 SSL 解密代理後),可以透過 NODE_EXTRA_CA_CERTS 指定自訂 CA 憑證檔案:

export NODE_EXTRA_CA_CERTS=/etc/ssl/certs/company-ca.crt
opencode

此環境變數是 Node.js 原生支援的功能,opencode 會自動讀取並信任指定的 CA 憑證。這對於使用內部 AI 閘道或自託管模型服務的企業特別重要。

環境變數 用途 範例值
HTTPS_PROXY HTTPS 流量代理 http://proxy:8080
HTTP_PROXY HTTP 流量代理 http://proxy:8080
NO_PROXY 繞過代理的網域 .local,10.0.0.0/8
NODE_EXTRA_CA_CERTS 自訂 CA 憑證路徑 /etc/ca-certs.pem

企業版(Enterprise)

opencode Enterprise 為組織提供了額外的管理與安全功能,適合需要集中管控的企業環境。

集中設定(Centralized Configuration)

企業版允許管理員透過中央伺服器統一分發設定,取代每個開發者手動設定 opencode.json

// 企業集中設定範例
{
  "model": "anthropic/claude-opus-4",
  "enterprise": {
    "configUrl": "https://config.internal.company.com/opencode",
    "forceConfig": true,
    "allowedPlugins": ["@company/opencode-plugin-*"],
    "disallowedTools": ["bash"],
    "auditLog": true
  }
}

SSO 單一登入

企業版支援基於 SAML 2.0OIDC 的單一登入,讓使用者可以透過公司帳號直接使用 opencode:

內部 AI 閘道

企業可以設定內部 AI 閘道(AI Gateway)作為所有 AI 請求的統一入口:

# 設定內部 AI 閘道
export OPENCODE_API_BASE=https://ai-gateway.internal.company.com/v1
export OPENCODE_API_KEY=internal-gateway-key

自行託管(Self-Hosted)

對於資料安全要求嚴格的組織,opencode 企業版支援完全自行託管:

分享功能

opencode 的分享功能讓開發者可以將當前的對話工作階段分享給團隊成員,促進協作與知識傳遞。

三種分享模式

模式 設定值 說明
手動分享 "share": "manual" 預設模式。使用者需要主動輸入 /share 才能分享工作階段
自動分享 "share": "auto" 工作階段會在結束時自動分享,適合團隊協作情境
停用分享 "share": "disabled" 完全停用分享功能,適合處理敏感資料的專案

在 opencode.json 中設定

{
  "share": "manual",
  "shareUrl": "https://share.internal.company.com"
}

使用分享指令

在手動模式下,使用以下指令管理分享:

# 分享當前工作階段
/share

# 取消分享
/unshare

分享後,團隊成員會收到一個唯一的分享連結,可以直接檢視對話內容與操作記錄,但無法修改原始工作階段。

分享的最佳實踐

實戰練習

練習 1:設定 GitHub Actions Workflow

在你的專案中執行 opencode github install,然後開啟生成的 workflow 檔案,修改提示詞使其針對你的專案語言進行程式碼審查。提交並觀察 PR 評論。

練習 2:設定代理與憑證

模擬企業環境:設定 HTTPS_PROXY 環境變數指向一個本地代理(如 mitmproxy),並透過 NODE_EXTRA_CA_CERTS 設定自訂憑證。確認 opencode 可以正常連線到 API。

練習 3:分享工作階段

與另一位開發者協作:在 opencode 中執行一個有意義的任務(如重構一個函數),然後輸入 /share 分享工作階段。請對方開啟分享連結並回饋意見。

練習 4:設計企業部署方案

假設你的組織有 50 位開發者,需要導入 opencode 企業版。撰寫一份部署計畫,包含:集中設定策略、SSO IdP 選擇、AI 閘道架構、以及分享功能的使用政策。