kiro-discord-bot:住在 Discord 裡的可訓練 AI Agent — 綁定 Codebase、記住規矩、越用越強

本篇文章更新時間:2026/06/04
如有資訊過時或語誤之處,歡迎使用 Contact 功能通知或向一介資男的 LINE 社群反應。
如果本站內容對你有幫助,歡迎贊助支持


前言:AI Agent 不該每次都從零開始

你有沒有這種經驗:每次跟 AI 聊新的 session,都得重新解釋一次你的偏好、你的專案結構、你的 coding style?你昨天教它的東西,今天它全忘了。

市面上的 AI 聊天機器人都有這個問題 — 它們是無狀態的。每次對話都是全新的開始。

kiro-discord-bot 是我開發的開源專案,解決的正是這個問題:一個住在 Discord 裡的可訓練 AI agent,綁定你的 codebase、記住你的規矩、越用越強。

它不是聊天機器人。它是一個持續成長的開發助手,透過記憶系統和專案綁定,隨著使用時間累積能力。


核心理念:越用越強

一般 AI bot 的能力是固定的。kiro-discord-bot 的能力是累積的

時間 做什麼 效果
Day 1 綁定專案 !start /home/user/my-project Agent 開始認識你的 codebase
Day 3 教它規矩 !memory add 永遠用繁體中文回答 永久記憶,跨 session 生效
Day 7 加入 steering 文件定義架構邊界 Agent 遵守你的模組規則和禁止事項
Day 14 設定 Cron 排程 /cron 每天自動巡檢伺服器、跑報告
Day 30 啟用 MCP 插件(Discord 操作、媒體生成) Agent 能主動跨頻道協作、生成圖片影片

Memory + Steering + 對話歷史 + MCP 工具持續累積。第一天它是一個聽話的助手,第三十天它是你的團隊成員


功能全覽

專案綁定

  • 每個 Discord 頻道綁定一個專案目錄
  • Agent 可以讀寫程式碼、跑測試、執行命令、管理基礎設施 — 在你的真實 repo 中
  • ALLOWED_CWD_ROOTS 限制 Agent 可存取的目錄範圍(安全邊界)

記憶系統

  • 永久記憶/memory):教 Agent 你的偏好、coding style、專案規範。跨 session 永久生效。
  • 閃存記憶/flashmemory):當前任務的重點強調,用完即丟不污染未來 session。
  • Steering 文件.kiro/steering/*.md 定義模組邊界、build 指令、禁止事項。

討論串隔離

  • 每個任務自動建立 Discord Thread,工具執行狀態和回覆都在 thread 中,主頻道保持乾淨。
  • 在 thread 中繼續對話會啟動獨立的 thread agent,和主頻道 agent 平行運作。
  • 最多 THREAD_AGENT_MAX 個 thread agent 同時運作,閒置自動清理。

排程與自動化

  • Cron 排程:定時執行任務(伺服器巡檢、日報生成、資料備份)。
  • 自然語言建立排程/cron-prompt 每天早上 9 點檢查所有伺服器健康狀態
  • 單次提醒/remind 明天下午 3 點 提醒我 review PR

模型切換

  • /model <model-id> 即時切換 AI model,不需要重啟。
  • /models 列出所有可用模型。
  • 可 per-channel 設定不同模型。

多 Bot 協作

  • 自動偵測同 server 的其他 bot,進入 mention-only 模式避免 bot 互相觸發。
  • 支援跨 bot 任務交接(handoff):一個 bot 完成後可以 @另一個 bot 接手,帶完整上下文。

自動恢復

  • Heartbeat 定期檢查 agent 健康狀態,死掉自動重啟。
  • Session 持久化:bot 重啟後優先接回既有 ACP session,不遺失對話歷史。

MCP 擴充能力

Bot 內建兩個可選的 MCP Server,擴展 Agent 的能力邊界:

Discord MCP Server

啟用後 Agent 可以主動操作 Discord:讀訊息、發訊息、搜尋、加反應、管理 thread、跨頻道協作。不再只是「被動回應」,而是可以主動行動。

內建安全範圍控制:

  • MCP_DISCORD_ALLOWED_GUILDS / MCP_DISCORD_ALLOWED_CHANNELS:限制可操作範圍
  • MCP_DISCORD_READ_ONLY=true:只允許讀取
  • MCP_DISCORD_ALLOW_DESTRUCTIVE=false:禁止刪除/編輯等破壞性操作

Media Generation MCP Server

Agent 可以生成圖片、影片、音樂、語音:

功能 Provider
圖片生成 / 編輯 Gemini(Nano Banana 2/Pro)、OpenAI(GPT Image)
影片生成 Gemini(Veo 3.1)
音樂生成 Gemini(Lyria 3)
文字轉語音 OpenAI(tts-1-hd)、Gemini TTS

部署方式

前置需求

  • Go 1.21+
  • kiro-cli 1.29+
  • Discord bot token(需啟用 Message Content Intent)

快速開始

git clone https://github.com/nczz/kiro-discord-bot.git
cd kiro-discord-bot
cp .env.example .env
# 編輯 .env:填入 DISCORD_TOKEN、DISCORD_GUILD_ID

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

Docker 部署

docker compose up -d --build

systemd 服務(推薦)

sudo cp kiro-discord-bot.service /etc/systemd/system/
sudo systemctl daemon-reload
sudo systemctl enable --now kiro-discord-bot

技術架構

Discord User
    │ message / slash command
    ▼
Discord Bot (Go)
    ├── per-channel SessionStore     { agentName, sessionId, cwd }
    ├── per-channel JobQueue         buffered chan, FIFO
    ├── per-channel Worker           goroutine, thread-based execution
    ├── per-thread Agent (on demand) isolated context, auto-cleanup
    ├── per-channel ChatLogger       JSONL conversation log
    └── Heartbeat                    background maintenance loop
          ├── HealthTask             agent liveness + auto-restart
          ├── CleanupTask            expired attachment removal
          ├── CronTask              scheduled jobs + reminders
          └── ThreadCleanupTask      idle thread agent eviction
                │
                ▼
kiro-cli acp (one process per channel, stdio JSON-RPC)
          │
          ▼
    AWS Bedrock / Anthropic
  • 語言:Go
  • 協議:Agent Client Protocol (ACP) over stdio JSON-RPC
  • AI Provider:透過 kiro-cli 連接(支援多種模型)
  • 持久化:Session JSON + JSONL 對話日誌 + Cron JSON
  • 多語系:en / zh-TW

與其他方案的差異

特性 kiro-discord-bot 一般 Discord AI Bot
記憶 永久記憶 + 閃存 + Steering 僅 session 內記憶
能力範圍 讀寫程式碼、跑命令、操作基礎設施 只能回答文字
成長性 隨時間累積知識和工具 能力固定
排程 Cron + 自然語言提醒
擴充 MCP 插件(無限擴充) 寫死的功能
協作 多 bot 偵測 + 任務交接
部署 自架(資料在你手上) 通常是第三方 SaaS

授權

Go 原始碼完全開源,自由使用。需搭配 kiro-cli 作為 AI backend。


資源連結

如果你想為團隊部署 AI Agent workspace,或需要客製化 MCP 插件開發,歡迎透過聯絡我們洽詢。


Share:

作者: Chun

WordPress 社群貢獻者、開源社群推廣者。專注於 WordPress 外掛開發、網站效能最佳化、伺服器管理,以及 iDempiere 開源 ERP 導入與客製開發。曾參與 WordCamp Taipei 等社群活動,GitHub Arctic Code Vault Contributor。提供資訊顧問、WordPress 開發教學、主機最佳化與企業 ERP 整合服務。

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *


文章
Filter
Apply Filters
Mastodon