跳至主要內容
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 筆上下文。

.NET 10Worker ServiceTelegram Bot APIGemini CLISQLite

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 筆)