Automation 上線中
Telegram 助理 Telegram Assistant
用一支 Telegram bot,把整台 Mac 變成可以遠端指揮的個人助理。
- 上線
- 2026.05
- 開發
- 約 3 週
- 團隊
- 獨立開發
- 狀態
- 上線中
- Stack
- Telegram Bot API · Python · Cloudflare Workers · Notion API
人在外面,卻常常需要家裡那台 Mac 上的某個檔案、某個自動化結果。與其開遠端桌面慢慢點,不如讓一支 Telegram bot 當「嘴巴跟手」—— 我用自然語言下指令,它在家裡的 Mac 上跑完,再把結果傳回手機。
專案背景
自己一個人工作,幾乎所有事都長在這台 Mac 上:草稿、自動化腳本、Notion 資料庫的更新工具。但人不可能整天坐在電腦前。我要的是一個「隨身遙控器」—— 走在路上、在咖啡廳、在客戶現場,都能把一句話丟給它,讓家裡的機器把事做完。
核心設計
- 一句話就是一個指令。 不背指令格式,直接用中文講「把這張收據存起來」「今天還有什麼沒做」,由一層路由判斷該呼叫哪個工具。
- 手機只當輸入輸出,運算留在 Mac。 真正的工作(OCR、寫 Notion、跑腳本)都在家裡那台機器跑,手機只負責收訊息、看結果,敏感資料不外流。
- 閉環,不要半套。 待辦要能「建立 → 提醒 → 完成」整條走完;記帳要能分流到不同帳本,不會把旅行花費混進日常。
- 主動,而不只是被動回答。 每天早上 8 點主動推一份當日摘要,不用我去問。
技術架構
- 入口:Telegram Bot API 收訊息,Cloudflare Workers 當輕量中繼,負責轉發與補跨排程
- 大腦:Mac 上的 Python 服務做自然語言路由,把訊息對應到對應的工具函式
- 能力:收據 OCR 走 macOS 內建影像辨識、資料寫入走 Notion API、待辦與記帳各自獨立的資料表
- 排程:每天定時主動推播,搭配冪等設計避免重複發送
工程挑戰
- 無人值守的穩定性:bot 要 24 小時活著,曾因連線鎖被其他程式搶走而掛掉,最後用獨立啟用 + 自動搶回的機制根治。
- 權限邊界:要存取受系統保護的資料夾,必須處理 macOS 的權限機制,不能讓背景程式硬闖。
- 冪等推播:排程偶爾會漏觸發或重觸發,加了補跨機制與去重,確保每天的摘要不多不少剛好一份。
功能亮點
- 自然語言下指令,不用記格式
- 拍張收據丟進來,自動 OCR 並歸檔到 Notion
- 待辦「建立 → 提醒 → 完成」完整閉環
- 每早 8 點主動推當日摘要
- 旅行記帳與日常帳本自動隔離