project.case-study
Telegram Gemini Bot
AI 聊天機器人
Telegram Bot 與 Google Gemini CLI 的橋接服務,使用 .NET 10 Worker Service 架構。群組內透過 @bot 或 /ask@bot 觸發、走 Headless Gemini CLI 串流模式,預設模型 gemini 3.0 pro,SQLite 保留每組對話最多 20 筆上下文。
01 問題
Gemini CLI 互動體驗強但只能在本機終端使用,無法與家人或群組朋友共用;單純呼叫純 API 又會失去 CLI 的多輪上下文與工具呼叫能力。
02 解法
.NET 10 Worker Service 透過 Telegram Bot API 接收訊息,以 Headless 模式呼叫 Gemini CLI(stdin piping)串流回覆。群組僅在 @bot 或 /ask@bot 時觸發;SQLite 儲存每組對話歷史。模型 / 逾時 / 輸出格式皆可在 appsettings.json 調整。前置需求為 Node.js 20+ + `npm install -g @google/gemini-cli` + `gemini login`。
03 成果
開源於 GitHub,把 Gemini CLI 的多輪上下文與工具呼叫能力延伸到 Telegram 群組情境,並可彈性切換模型。
04 功能特色
- ▸ 群組 @mention / /ask@bot 觸發
- ▸ Headless Gemini CLI(stdin piping)串流回覆
- ▸ 預設模型 gemini 3.0 pro,可自訂
- ▸ 預設逾時 120 秒、輸出格式可調
- ▸ SQLite 對話歷史(預設保留 20 筆)