English日本語
Tutorial

Claude Code 串接 Telegram 完整教學

從零開始打造你的 AI 助理 — 包含所有踩過的坑和解決方案

2026-05-05 · 點點滴滴喵兒貴

目錄
  1. 前言:為什麼要串接 Claude Code + Telegram
  2. 前置準備
  3. 步驟一:安裝 Bun
  4. 步驟二:安裝 Claude Code
  5. 步驟三:建立 Telegram Bot
  6. 步驟四:設定 Claude Code Telegram Plugin
  7. 步驟五:進階設定
  8. 常見問題排除
  9. 結語

0. 前言:為什麼要串接 Claude Code + Telegram

想像一下:你在通勤的捷運上,掏出手機打開 Telegram,直接用語音跟 Claude 對話。它能幫你寫程式碼、分析文件、規劃行程、甚至幫你查資料。不需要打開電腦,不需要瀏覽器 —— 你的 AI 助理就住在你最常用的通訊軟體裡。

Claude Code 本身是一個強大的 CLI 工具,但它的 Telegram plugin 讓它從「只能坐在電腦前用」變成「隨時隨地可用」。這篇教學會帶你從零開始完成整個串接,包含我自己踩過的所有坑。

串接完成後,你可以:

1. 前置準備

在開始之前,確認你有以下東西:

一台主機
Linux 或 Mac(或雲端 VM)。需要 24/7 開機才能持續接收 Telegram 訊息。
Claude 帳號(二擇一)
方式一:訂閱帳號登入 — 用 claude.ai 的付費訂閱帳號直接登入,月付固定費用,適合一般使用。
方式二:API Key — 到 console.anthropic.com 申請,按量計費,適合重度使用或自動化場景。
Telegram 帳號
需要能建立 Bot。如果你有 Telegram 帳號就行。
基本終端機操力
知道怎麼 ssh、執行指令、編輯設定檔。
Tip:推薦的主機選擇

如果你沒有一台 24/7 開機的主機,推薦用一台便宜的 VPS(例如 Linode 最低方案 $5/月),或一台放在家裡的 Mac mini / Raspberry Pi。重點是它要能持續運行。

2. 步驟一:安裝 Bun

Bun 是一個高效能的 JavaScript runtime,Claude Code 的 Telegram plugin 依賴它來運行。必須先安裝 Bun,才能正常使用 Telegram plugin。

安裝指令(Mac / Linux 通用)

# 安裝 Bun curl -fsSL https://bun.sh/install | bash

安裝完成後,重新載入你的 shell 設定:

# 如果用 zsh(Mac 預設) source ~/.zshrc # 如果用 bash(Linux 常見) source ~/.bashrc

驗證安裝

bun --version # 應該顯示版本號,例如 1.2.x
坑:Bun 必須預先安裝

Claude Code 的 Telegram plugin 在啟動時會呼叫 Bun 來執行相關腳本。如果系統上沒有安裝 Bun,plugin 會靜默失敗 —— 不會報錯,就是不動。這是最常見的「bot 沒回應」原因之一。

坑(Mac):不能用 root 安裝

在 Mac 上,絕對不要用 sudo 執行安裝指令。Bun 的安裝腳本會把二進位檔放到 ~/.bun/bin/,如果用 root 執行,路徑會跑到 root 的 home 目錄,之後普通用戶就找不到 bun。

坑(Mac):系統權限請求

安裝過程中 macOS 可能會跳出安全性權限請求對話框(例如「允許終端機存取下載項目」)。一定要點「允許」,否則安裝會失敗但不會顯示明確的錯誤訊息。

Tip:確認 PATH 設定

如果安裝完 bun --version 顯示 command not found,檢查你的 shell 設定檔(~/.zshrc~/.bashrc)裡有沒有這行:

# 確認 .zshrc 或 .bashrc 裡有這行 export BUN_INSTALL="$HOME/.bun" export PATH="$BUN_INSTALL/bin:$PATH"

3. 步驟二:安裝 Claude Code

安裝 Claude Code CLI

# 用 npm 全域安裝 npm install -g @anthropic-ai/claude-code
坑(Mac):不能用 sudo 安裝

跟 Bun 一樣,不要用 sudo npm install -g。如果遇到權限問題,正確做法是修改 npm 的全域安裝路徑:

# 如果 npm install -g 遇到 EACCES 權限錯誤,改用這個方法: mkdir -p ~/.npm-global npm config set prefix '~/.npm-global' # 然後在 ~/.zshrc 或 ~/.bashrc 加入: export PATH="$HOME/.npm-global/bin:$PATH" # 重新載入設定 source ~/.zshrc # 再次安裝 npm install -g @anthropic-ai/claude-code

設定認證(二擇一)

方式一:用訂閱帳號登入(推薦新手)

如果你有 Claude Pro / Team / Max 訂閱,可以直接用帳號登入,不需要 API Key:

# 啟動 Claude Code,會自動跳出瀏覽器讓你登入 claude # 登入你的 claude.ai 帳號即可 # 月付固定費用,不需要另外儲值
訂閱帳號 vs API Key 怎麼選?

訂閱帳號:月付固定費用(Pro $20/月),適合一般使用,不用擔心用量。
API Key:按量計費,適合重度自動化、需要精確控制成本、或企業部署的場景。
建議:先用訂閱帳號開始,等用量穩定後再評估是否轉 API。

方式二:用 API Key

# 設定環境變數(當前 session 立即生效) export ANTHROPIC_API_KEY="sk-ant-api03-xxxxxxxxxxxxxxxxxxxxxxxxxx"

為了讓每次開機都生效,把它寫入 shell 設定檔:

# 寫入 ~/.zshrc(Mac)或 ~/.bashrc(Linux) echo 'export ANTHROPIC_API_KEY="sk-ant-api03-你的key"' >> ~/.zshrc source ~/.zshrc
安全提醒

API Key 等同於你的信用卡。不要把它放到公開的 git repo 或分享給別人。如果你用雲端主機,確認 ~/.zshrc 的檔案權限是 600(只有自己能讀)。

驗證安裝

claude --version # 應該顯示版本號 # 快速測試 API 是否能用 claude -p "說 hello" # 如果正常回應,代表 API Key 設定成功

4. 步驟三:建立 Telegram Bot

在 Telegram 中建立一個 Bot,取得 Bot Token。

4.1 建立 Bot

  1. 在 Telegram 中搜尋 @BotFather
  2. 點開對話,輸入 /newbot
  3. BotFather 會問你 bot 的顯示名稱(可以是中文,例如「阿貴的 AI 助理」)
  4. 接著問username(必須英文、底線結尾 _bot,例如 agui_ai_bot
  5. 完成後,BotFather 會給你一段 Bot Token,格式像這樣:
# Bot Token 格式範例(這是假的,不要拿去用) 7123456789:AAF1x2y3z4a5b6c7d8e9f0-AbCdEfGhIjKlM
Tip:保管好你的 Bot Token

Bot Token 就像是你 bot 的密碼。拿到 token 的人可以控制你的 bot。妥善保管,不要公開分享。

4.2 設定 Group Privacy(重要!)

這是最容易被忽略的設定。預設情況下,Bot 在群組中只能收到以下訊息:

如果你想讓 bot 收到群組內所有訊息(例如不用每次都 @mention),需要關閉 Group Privacy:

  1. 跟 @BotFather 對話
  2. 輸入 /setprivacy
  3. 選擇你剛建立的 bot
  4. 選擇 Disable
# 在 BotFather 對話中的操作流程: 你:/setprivacy BotFather:Choose a bot to change group messages settings. 你:@your_bot_username BotFather:'Disable' - your bot will receive all messages in groups. 'Enable' - your bot will only receive messages that... 你:Disable BotFather:Success! The new status is: DISABLED.
坑:Group Privacy 必須在加入群組「之前」設定

如果你的 bot 已經在群組裡了,改了 privacy 設定之後,需要把 bot 移出群組再重新加入,新的設定才會生效。這是 Telegram Bot API 的已知行為。

4.3 取得你的 Chat ID

Claude Code 的 Telegram plugin 需要知道哪些 chat_id 被允許互動(安全措施,防止陌生人用你的 bot 消耗你的 API 額度)。

取得個人 Chat ID 的方法:

# 方法 1:用 @userinfobot # 在 Telegram 搜尋 @userinfobot,跟它打招呼,它會回覆你的 ID # 方法 2:用 Bot API 直接查 # 先對你的 bot 發一則訊息,然後用 curl 查看 updates: curl -s "https://api.telegram.org/bot你的TOKEN/getUpdates" | python3 -m json.tool # 在回傳的 JSON 裡找 "chat": { "id": 123456789 }
Tip:群組的 Chat ID

群組的 chat_id 是負數(例如 -1001234567890)。用同樣的 getUpdates 方法,在把 bot 加入群組後發一則訊息就能看到。

5. 步驟四:設定 Claude Code Telegram Plugin

5.1 設定 Bot Token

在 Claude Code 的 CLI 中,使用設定指令來配置 Telegram plugin:

# 啟動 Claude Code claude # 在 Claude Code 互動介面中,使用 /telegram:configure 指令 # 或者直接提供 bot token: /telegram:configure

按照提示貼上你的 Bot Token。

5.2 設定允許的 Chat ID

為了安全,你需要設定哪些 chat_id 可以跟 bot 互動:

# 使用 access 指令管理允許清單 /telegram:access

設定好之後,只有在允許清單中的 chat_id 發來的訊息,bot 才會回應。

5.3 啟動 Claude Code daemon 模式

要讓 bot 持續運行,需要以 daemon 模式啟動 Claude Code:

# 以背景模式啟動 Claude Code(保持 Telegram 連線) claude --daemon # 或使用 nohup 確保關閉終端後繼續運行 nohup claude --daemon &> ~/claude-daemon.log & # 查看 log 確認是否正常啟動 tail -f ~/claude-daemon.log

5.4 驗證

在 Telegram 中對你的 bot 發一則訊息(例如「你好」),如果一切設定正確,bot 應該在幾秒內回覆。

成功指標

如果 bot 有回覆你的訊息,恭喜!基本串接已經完成。接下來可以進入進階設定。

如果 bot 沒回應

最常見的原因(按照排查順序):
1. Bun 沒裝 → 執行 bun --version 確認
2. Bot Token 打錯 → 重新檢查
3. Chat ID 不在允許清單 → 檢查 access 設定
4. Claude Code 沒有在 daemon 模式運行 → 檢查 process

6. 步驟五:進階設定

6.1 語音訊息自動轉文字(Whisper)

如果你想用語音跟 bot 對話,需要設定語音轉文字。Claude Code 的 Telegram plugin 支援接收語音訊息,並透過 Whisper 模型自動轉成文字後處理。

# 如果你有本地的 Whisper 模型(推薦用 faster-whisper) pip install faster-whisper # 或使用 OpenAI 的 Whisper API(需要 OpenAI API Key) export OPENAI_API_KEY="sk-..."
Tip:本地 Whisper vs. API

如果你的主機有 GPU,用本地 Whisper 省錢又快。沒 GPU 的話用 OpenAI Whisper API 比較實際,一分鐘音訊大約 $0.006。

6.2 群組支援

要在群組中使用 bot:

  1. 確認已經關閉 Group Privacy(步驟三有教)
  2. 把 bot 加入群組
  3. 把群組的 chat_id(負數)加到允許清單中
# 群組 chat_id 範例(注意是負數) -1001234567890 # 在 access 設定中加入群組 ID /telegram:access # 然後把群組 chat_id 加進去

6.3 自動啟動(systemd / pm2)

你不會想每次重開機都手動啟動 bot。以下是兩種常見的自動啟動方案:

方案 A:systemd(Linux 推薦)

# 建立 systemd service 檔案 sudo nano /etc/systemd/system/claude-telegram.service
# /etc/systemd/system/claude-telegram.service 的內容 [Unit] Description=Claude Code Telegram Bot After=network.target [Service] Type=simple User=你的用戶名 Environment=ANTHROPIC_API_KEY=sk-ant-api03-你的key Environment=HOME=/home/你的用戶名 ExecStart=/home/你的用戶名/.npm-global/bin/claude --daemon Restart=always RestartSec=10 [Install] WantedBy=multi-user.target
# 啟用並啟動服務 sudo systemctl daemon-reload sudo systemctl enable claude-telegram sudo systemctl start claude-telegram # 檢查狀態 sudo systemctl status claude-telegram # 查看 log journalctl -u claude-telegram -f

方案 B:pm2(Mac / Linux 都適用)

# 安裝 pm2 npm install -g pm2 # 用 pm2 啟動 Claude Code pm2 start "claude --daemon" --name claude-telegram # 設定開機自動啟動 pm2 startup pm2 save # 常用管理指令 pm2 status # 查看狀態 pm2 logs claude-telegram # 查看 log pm2 restart claude-telegram # 重啟

6.4 CLAUDE.md 自訂指令

你可以在專案目錄或 home 目錄建立 CLAUDE.md(或 ~/.claude/CLAUDE.md),自訂 Claude 的行為:

# ~/.claude/CLAUDE.md 範例內容 # 我的偏好設定 - 請用繁體中文回覆 - 回覆要簡潔有力,不要冗長 - 程式碼請加上註解 - 如果我問的問題不夠明確,請追問而不是猜測
Tip:CLAUDE.md 的優先順序

Claude Code 會依序讀取:專案目錄的 CLAUDE.md > ~/.claude/CLAUDE.md。專案層級的設定會覆蓋全域設定。Telegram 對話預設使用全域的 ~/.claude/CLAUDE.md

7. 常見問題排除

Bot 沒有回應

# 排查清單(按順序檢查): # 1. 確認 Bun 有安裝 bun --version # 2. 確認 Claude Code 在運行 ps aux | grep claude # 3. 確認 Bot Token 正確 curl -s "https://api.telegram.org/bot你的TOKEN/getMe" # 應該回傳你的 bot 資訊 # 4. 確認 chat_id 在允許清單 # 重新檢查 /telegram:access 設定 # 5. 群組的話,確認 Group Privacy 已關閉 # 跟 @BotFather 輸入 /setprivacy 確認狀態

權限錯誤(Mac)

EACCES / Permission denied

Mac 上最常見的權限問題就是用了 sudo 安裝。解法:

1. 刪除用 root 安裝的東西:sudo rm -rf /usr/local/lib/node_modules/@anthropic-ai
2. 設定 npm 全域路徑到 home 目錄(步驟二有教)
3. 用普通用戶重新安裝

Bun not found

# 確認 Bun 安裝位置 ls ~/.bun/bin/bun # 如果檔案存在但 command not found,是 PATH 問題 # 確認你的 shell 設定檔有這兩行: export BUN_INSTALL="$HOME/.bun" export PATH="$BUN_INSTALL/bin:$PATH" # 如果用 systemd,也要在 service 檔案中加入 PATH # Environment=PATH=/home/user/.bun/bin:/home/user/.npm-global/bin:/usr/local/bin:/usr/bin:/bin

API Rate Limit

# 如果出現 429 Too Many Requests 錯誤 # 1. 檢查 Anthropic 帳戶餘額 # 到 console.anthropic.com 查看用量和餘額 # 2. 確認你的 API tier # 新帳戶有 rate limit,用越多額度會越高 # 3. 如果是群組使用,注意消耗速度 # 多人同時問 → 快速消耗 rate limit # 建議設定每分鐘訊息上限

語音訊息無法辨識

# 確認 Whisper 相關依賴有安裝 pip show faster-whisper # 確認 ffmpeg 有安裝(Whisper 需要) ffmpeg -version # Mac 安裝 ffmpeg brew install ffmpeg # Linux 安裝 ffmpeg sudo apt install ffmpeg

8. 結語

恭喜你完成了 Claude Code + Telegram 的串接!你現在擁有了一個 24/7 運行的私人 AI 助理,隨時隨地都能透過 Telegram 跟它互動。

回顧一下我們做了什麼:
安裝 Bun → 安裝 Claude Code → 建立 Telegram Bot → 設定 Plugin → 進階配置。整個過程大約 30-60 分鐘(不含踩坑的時間)。

一些使用建議:

# 更新 Claude Code 到最新版 npm update -g @anthropic-ai/claude-code

如果你覺得這篇教學有幫助,歡迎分享給也想串接的朋友。有任何問題也可以在 Telegram 上找我討論。

Happy hacking!

相關資源: