kiro-discord-bot

安裝 #

這是 canonical 安裝指南。repo 裡的 INSTALL.md 保留為 agent-friendly checklist,詳細說明以本頁為準。

1. 準備 ACP Engine #

啟動 bot 前,至少要安裝並完成一個支援的 ACP engine 認證。

Kiro CLI 與 OMP 都是外部 agent CLI。kiro-discord-bot 不打包、也不維護這兩個 CLI;它只會把它們作為 ACP engines 啟動,並在外層套用 Discord policy、audit、usage 與 delivery behavior。若官方安裝方式與下方範例不同,請以各自 upstream 文件為準。

Kiro CLI:

curl -fsSL https://cli.kiro.dev/install | bash
export PATH="$HOME/.local/bin:$PATH"
kiro-cli --version

互動式主機可用:

kiro-cli login

Headless 主機請在 bot service environment 設定 KIRO_API_KEY。

OMP 請從官方專案網站 omp.sh 開始。先安裝並完成 omp 認證;若不在 PATH,用 OMP_PATH 指定。新的 production 部署建議使用 bot 專屬 profile,並在啟用 OMP 前先完成此 profile 認證:

omp --version
omp setup

隔離 production profile:

OMP_PROFILE=kiro-discord-bot omp setup

CLI 更新請使用各自指令:

kiro-cli update -y
omp update --check
omp update

更新任一 CLI 後請重啟 bot,讓 ACP preflight 與後續 agent sessions 使用新的 binary。

建議 Engine 路徑 #

路徑適合情境注意事項
Kiro-only第一次安裝,或希望採用最保守的 production path。不需要 OMP setup。
Dual-engine想保留 Kiro 作為預設,但讓特定 channel 或 thread 可切換到 OMP。啟用 /engine 切換前,兩個 engines 都要先安裝並認證。
OMP-only這個 bot process 只應使用 OMP。確認 omp 已用執行 bot 的同一個 OS service user 完成認證。

2. 建立 Discord Bot #

在 Discord Developer Portal 建立 application,並設定:

區域必要設定
OAuth2 scopesbot, applications.commands
基礎權限View Channels, Send Messages, Send Messages in Threads, Create Public Threads, Read Message History, Add Reactions, Use Slash Commands
選用權限WebShare 委派身分需要 Manage Webhooks;Manage Threads, Embed Links, Attach Files 依啟用功能決定
Privileged intentsMessage Content Intent

General Information 的 Interactions Endpoint URL 必須保持空白。若設定 URL,Discord slash commands 會送到該 endpoint,而不是 gateway bot,導致 command timeout。

3. 下載或建置 #

依 OS/architecture 下載 latest release archive:

OSArchArchive
macOSarm64kiro-discord-bot_darwin_arm64.tar.gz
macOSamd64kiro-discord-bot_darwin_amd64.tar.gz
Linuxamd64kiro-discord-bot_linux_amd64.tar.gz
Linuxarm64kiro-discord-bot_linux_arm64.tar.gz

範例:

curl -fsSL https://github.com/nczz/kiro-discord-bot/releases/latest/download/kiro-discord-bot_darwin_arm64.tar.gz | tar xz

從原始碼建置:

VERSION=$(git describe --tags --always 2>/dev/null || echo "dev")
go build -ldflags "-X main.Version=$VERSION" -o kiro-discord-bot .
go build -o mcp-discord-server ./cmd/mcp-discord
go build -o mcp-media-server ./cmd/mcp-media

4. 設定 Environment #

bot 不會自動載入 .env。foreground shell、launchd、systemd 或 Docker 必須注入 environment variables。

最小設定:

DISCORD_TOKEN=your-bot-token
DISCORD_GUILD_ID=your-guild-id
DEFAULT_CWD=/projects
DATA_DIR=./data
BOT_LOCALE=zh-TW

正式環境建議加上:

KIRO_API_KEY=your-headless-key
AGENT_ENGINE=kiro
AGENT_ENGINES_ENABLED=kiro
ALLOWED_CWD_ROOTS=/projects
CRON_TIMEZONE=Asia/Taipei
USAGE_TIMEZONE=Asia/Taipei
PREFLIGHT_MODE=warn
THREAD_AGENT_MAX=0
THREAD_AGENT_IDLE_SEC=900

Dual-engine bot:

AGENT_ENGINE=kiro
AGENT_ENGINES_ENABLED=kiro,omp
OMP_PATH=omp

OMP-only bot:

AGENT_ENGINE=omp
AGENT_ENGINES_ENABLED=omp
OMP_PATH=omp

啟動後用 /doctor 查看有效 runtime 設定;敏感值會被遮蔽。完整變數與預設值見 環境變數參考。

啟用 OMP 或允許 production 使用 /engine 切換前,請先閱讀 Agent Engines。

5. Foreground 啟動一次 #

set -a
. ./.env
set +a
./kiro-discord-bot

預期 log:

  1. ACP preflight 執行並回報每個已啟用 engine 的狀態。
  2. kiro-discord-bot <version> starting。
  3. Slash commands 註冊。
  4. Bot running as <name>#<discriminator>。

6. 初始化 Discord 頻道 #

在 Discord 頻道執行 /cwd。Setup panel 會讓頻道管理員在 DEFAULT_CWD 下選擇或建立專案。完成後,該頻道可以開始 agent 工作,並以安全預設 allowlist 啟用內建 bot-tools MCP。

在初始化後的頻道執行 /doctor,確認 bot 可以 view/send/create thread/read history,並可連到已啟用的 ACP engine。

7. 決定下一步 #

基礎使用不需要外部 MCP server。請逐步啟用能力: