這個專案提供一份可部署到 Zeabur 的模板,讓你用 OpenAB 搭配 OpenCode,建立可在 Discord 中互動的 AI Bot。
模板檔案在 openab-opencode.yaml。
- 在 Zeabur 部署
ghcr.io/openabdev/openab-opencode:0.7.7 - 讓 Discord 訊息透過 OpenAB 接到 OpenCode ACP
- 使用
/home/node作為持久化儲存 - 支援用
OPENCODE_MODEL指定預設模型 - 支援用
OPENROUTER_API_KEY直接提供 OpenRouter 憑證 - 會建立 OpenCode workspace 規則檔,並透過
opencode.json載入額外 instructions
部署前請先準備:
DISCORD_BOT_TOKEN- 選填:
OPENAB_ALLOWED_CHANNELS - 選填:
OPENAB_ALLOWED_USERS - 選填:
OPENCODE_MODEL - 選填:
OPENROUTER_API_KEY
如果你要使用 OpenRouter,建議直接填:
OPENCODE_MODEL=openrouter/...OPENROUTER_API_KEY=你的 key
這樣通常不需要再手動執行 opencode auth login。
在 Discord Developer Portal 建立 Bot 後,建議勾選這些權限:
檢視頻道傳送訊息建立公開討論串在討論串中傳送訊息讀取訊息歷史記錄新增反應管理訊息
另外也要在 Bot 設定中啟用 Message Content Intent。
- 到 Zeabur 建立專案
- 用 openab-opencode.yaml 部署模板
- 填入需要的變數
- 等服務啟動完成
- 在 Discord 中
@Bot 開始對話
如果 DISCORD_BOT_TOKEN 留空,服務會進入 sleep,不會直接崩潰。
如果你使用的是現在這份模板,之後大多數調整都可以直接在 Zeabur 完成。
- 到 Zeabur 更新
OPENROUTER_API_KEY - 重啟 service
- 到 Zeabur 更新
OPENCODE_MODEL - 重啟 service
啟動時模板會自動把 /home/node/workspace/opencode.json 同步成新的 model,不需要再手動刪檔。
/home/node/.config/openab/config.toml:OpenAB 執行設定/home/node/workspace/opencode.json:OpenCode 設定,包含預設模型與instructions/home/node/workspace/AGENTS.md:主要專案級規則/home/node/workspace/TOOLS.md:工具與環境備註/home/node/workspace/USER.md:使用者偏好/home/node/workspace/IDENTITY.md:agent 身份設定/home/node/workspace/SOUL.md:agent 風格與價值觀
如果要重建 OpenAB 設定,可以刪除:
rm /home/node/.config/openab/config.toml之後重啟 service 即可。
其中規則的套用方式是:
AGENTS.md:由 OpenCode 當作專案級規則檔自動讀取TOOLS.md、USER.md、IDENTITY.md、SOUL.md:由/home/node/opencode.json的instructions載入
優先檢查:
OPENCODE_MODEL是否為正確的 provider/model 格式- 如果使用 OpenRouter,
OPENROUTER_API_KEY是否已填入 - service 是否已重啟
Zeabur 更新環境變數後,請記得手動重啟 service。
- OpenAB: openabdev/openab
- OpenCode 文件: opencode.md
- 此 repo 主要維護 Zeabur 模板與部署文件