系列文章: Openalice (6/6)

OpenAlice 自動化排程與 Heartbeat:讓 AI 在你睡覺時監控市場
用 OpenAlice 的早期,你大概是這樣的:想知道什麼,就去問它。它回答,你思考,偶爾讓它幫你分析一個標的。
這當然有用,但有個問題——你還是要記得去問。
市場不等你。有些機會出現在你在開會的時候、Fed 發聲明在你睡著的時候、NVDA 突破關鍵阻力在你在吃飯的時候。你不可能 24 小時盯著市場,但你也不想錯過真正值得注意的時刻。
這就是 OpenAlice 自動化層要解決的問題。
Event Log:一切自動化的核心
在理解 Cron 和 Heartbeat 之前,先說一個底層設計——append-only event log。
OpenAlice 的所有系統活動都流過這個 log:交易、AI 訊息、排程觸發、心跳結果,全部是有型別的 event,支援即時訂閱。
這個設計讓自動化很乾淨:每個功能都是這個 event bus 的「監聽器」,有 event 進來就觸發對應行為。不同功能之間不需要互相知道彼此的存在,只需要監聽自己在意的 event。
理解了這個,Cron、Heartbeat、Webhook 的邏輯就很清楚了——它們都是在特定條件下往 event log 丟東西,然後 AI 讀到 event 就執行。
Cron 排程:定時觸發 AI 任務
Cron 讓你可以設定時間規則,在指定時間點自動觸發 AI 任務。
支援三種格式:
- Cron 表達式 — 標準 cron 語法,精確控制時間
- 間隔 — 每 X 分鐘/小時執行一次
- 一次性時間戳 — 在特定時間點觸發一次
實際應用場景:
# 每天早上 9:00(台北時間)執行盤前分析
每天 9:00 AM 幫我分析今日開盤前市場概況
# 每週一提醒我檢視整體部位
每週一 8:30 AM 產生本週投資組合健診報告
# Fed 決策日前一小時提醒
在美聯準會宣布利率決策前 1 小時提醒我
Cron 觸發後,OpenAlice 會發 event 進 log,AI 讀到後執行對應的研究或分析任務,然後把結果送到你設定的頻道(Web UI 或 Telegram)。
Heartbeat:主動的市場守望者
Cron 是「定時觸發」——不管市場有沒有發生什麼,到時間就執行。
Heartbeat 不一樣——它是根據市場狀況決定要不要打擾你。
Heartbeat 是一個特殊的 Cron job,它定期審視市場,但只在「真的有事」的時候才主動通知你。這個「真的有事」是什麼,你來定義。
Heartbeat 的工作流程:
定期觸發(你設定的頻率,例如每 30 分鐘)
→ AI 審視市場狀況
→ 是否有符合你設定條件的訊號?
→ 有 → 通知你(Web UI / Telegram)
→ 沒有 → 靜默,不打擾
這裡有個關鍵設計:Heartbeat 會過濾「活躍交易時段」。你可以設置只在特定市場開盤時段監控,休市期間靜默——不然你會在半夜三點收到一個「沒什麼特別的」通知。
什麼樣的條件適合設進 Heartbeat?
- 某個標的突破近期高點或跌破支撐
- 某個技術指標達到超買/超賣區間
- 某個總體指標(殖利率、VIX)突破閾值
- 持倉虧損達到某個百分比需要注意
- 特定關鍵字出現在財經新聞(「Fed」「earnings miss」「geopolitical」)
Heartbeat 解決的不是「幫你做決策」,而是「在對的時機讓你做決策」。
Webhook:外部觸發的接入
Webhook 讓外部系統可以觸發 OpenAlice 的 event——規劃中的功能,但設計概念值得先了解。
應用場景包括:
- 你的 TradingView 策略觸發訊號時,call webhook 讓 OpenAlice 知道
- 某個 API 服務回傳特定資料時,往 OpenAlice 推送 event
- 其他 AI Agent 在完成分析後觸發 OpenAlice 執行交易
這個方向讓 OpenAlice 不只是一個獨立工具,而是可以接入更大 AI 工作流的節點。
Telegram:行動端的交易審核面板
自動化通知要有用,接收端要夠方便——這就是 Telegram 整合的原因。
OpenAlice 有 Telegram bot,你可以:
- 接收 Heartbeat 主動通知
- 接收 Cron 排程任務的結果
- 查看部位狀態
- 審核 AI stage 好的訂單,決定是否 push 執行
Telegram 上的交易審核面板特別有意思:AI 在背景幫你做好了分析、stage 了訂單、附上 commit message——然後傳一個 Telegram 訊息給你,你看一眼,按「確認執行」或「忽略」。
就這樣。不需要打開電腦,不需要登入券商介面——在手機上審核 AI 的建議,然後決定要不要讓它執行。
設計好的自動化工作流
把這些功能組合起來,可以建出一個很實用的工作流:
盤前準備(Cron)
每天開盤前 30 分鐘,自動跑一個分析:關鍵指數期貨、昨夜美股走勢、今天有無重大事件(財報、Fed 發言、重要數據)。結果送到 Telegram,你在通勤途中看完,到電腦前已有方向感。
市場監控(Heartbeat)
設定 Heartbeat 每 30 分鐘審一次你的持倉標的——有異常才通知。正常的市場波動不需要你知道,但如果 NVDA 突然單日跌超 5%,或者 VIX 突破 30,你要馬上收到訊息。
決策執行(Trading-as-Git)
Heartbeat 觸發通知後,AI 已經幫你 stage 了可能的應對訂單(例如加倉或減倉),你看 Telegram 上的說明,決定要不要 push。
這三件事組合起來,你對市場的反應速度不比全天盯盤的人慢,但你不需要全天盯。
自動化的邊界
一件事要說清楚:自動化越高,Guard Pipeline 越重要。
你讓 AI 監控得越主動、執行得越自動,就越需要在 Guard Pipeline 裡設好護欄——最大部位上限、單筆訂單上限、24 小時內最多執行幾筆、哪些標的 whitelist 允許自動執行。
OpenAlice 的設計鼓勵你漸進式開放自動化權限:先在通知模式跑一段時間,確認 AI 的判斷和你的偏好一致,再把部分執行權限開放給它。不要一開始就設成全自動——你還在建立對它判斷的理解。
這不是說 OpenAlice 不可信,而是說任何自動化系統都需要先被觀察,再被信任。
整個系列到這裡
五篇走完,你現在對 OpenAlice 的輪廓應該很清楚了:
架構理解 → 四個層次(交易、研究、自動化、介面)各司其職
環境跑起來 → Node 22 + pnpm 10 + Claude Code,五分鐘的事
交易設計 → Trading-as-Git:stage、commit with message、push
研究工具 → OpenBB 引擎、技術指標、基本面、新聞監控
自動化 → Cron 定時 + Heartbeat 條件觸發 + Telegram 行動審核
從這裡開始,就是把它跑進你自己的工作流裡——試著問它你真正在意的問題、設置你真正需要的 Heartbeat 條件、用它分析你真正在持有的標的。
沒有比真實使用更快建立對它的理解。
回到系列總覽
這篇是 OpenAlice 系列的第五站,也是最後一站,專門講自動化排程、Heartbeat 監控與 Telegram 整合。整條路的閱讀地圖在 OpenAlice 入門課。