適用於 Claude Desktop
向 Claude 查詢你的 IBKR 帳戶。
在 Mac 上把 Canary 加入 Claude Desktop,然後問它你的持倉今日表現如何、哪些風險規則需要留意,或者市場走勢如何。Claude 可以讀取你的帳戶,但不能下達、更改或取消訂單。
需要 IBKR Pro 帳戶,並在 Mac 上運行 IB Gateway 或 TWS(Interactive Brokers 的桌面軟件),且已開啟其 API。
開源 · Go
盈透證券(Interactive Brokers)的投資組合、風險及訂單工具。
Canary 在你自己的電腦上連接 IBKR 帳戶,讀取你的投資組合及市場數據,每分鐘檢查你的風險規則,並草擬規則要求的保護措施。Claude、你的腳本及已配對的手機應用程式,讀取的都是同一組數字。
canary brief,每日早上的概覽。虛構帳戶適用於 Claude Desktop
在 Mac 上把 Canary 加入 Claude Desktop,然後問它你的持倉今日表現如何、哪些風險規則需要留意,或者市場走勢如何。Claude 可以讀取你的帳戶,但不能下達、更改或取消訂單。
需要 IBKR Pro 帳戶,並在 Mac 上運行 IB Gateway 或 TWS(Interactive Brokers 的桌面軟件),且已開啟其 API。
給工程師
本機守護程序(daemon)負責維持 IBKR 連線,並保管你的風險政策及訂單日誌。每個 CLI 指令都會傳回 JSON,因此 CLI 就是你的 API。Go 程式可以使用守護程序客戶端,或直接使用 TWS 協定,無需供應商 SDK。
訂單只經一條路徑,這條路徑設於需自行選用的交易版本內,會按你的限額及確認逐一檢查每張訂單。Canary Desk(私人項目)就是這樣建成的。
給 AI 代理
先看 llms.txt:Canary 是甚麼、其工具傳回甚麼、限制在哪裏。數字均附來源及時效。Canary 無法確認的內容會報告為缺失,絕不顯示為零。
每個 MCP 工具都是唯讀的:不能預覽或發送訂單,也不能更改限額。安裝詳情見伺服器清單。
持倉、風險敞口,並與券商結單對帳。過時或缺失的數據會保留標示,絕不填補。
市況階段、市場廣度、壓力、日曆及市場事件,各自附來源及時效。
規則手冊每分鐘檢查投資組合。規則一旦觸發,Canary 便草擬其要求的止蝕、平倉或削減預算。
需自行選用的交易版本會發送你確認或按規則預先授權的訂單;當你持有的股數減少時,會縮減或取消自己設下的止蝕盤。標準下載版本是唯讀的。
近期版本
canary strategy-one 為標普 500 股票排名,並顯示包含止蝕位及倉位大小的入場計劃。此篩選沒有交易資金配置,也不會發送訂單。v3.33canary feedback 準備一份已遮蓋敏感資料的診斷報告及 GitHub 錯誤報告表格連結。提交前請先閱讀報告;此指令不會自行提交任何內容。v3.33canary mandate 顯示尚餘空間。v3.22canary add 按每個期限列出最接近你 delta 區間的認沽期權,以及尚未受保護的股數,然後在該範圍內計算認沽期權的數量。認購及認沽區間設於你的機會政策內。v3.31canary status 會指出每項與 Canary 所需不同的 TWS 或 IB Gateway 設定。Canary 絕不更改任何設定。v3.26開始使用
在同一部電腦上運行 IB Gateway 10.37 或以上版本,或 TWS。你需要具備 TWS API 權限的 IBKR Pro 帳戶;IBKR Lite 不包括此權限。
每個版本都附有已簽署的校驗碼,安裝程式會以固定的金鑰核對。Canary 不發送遙測數據。
Claude Desktop 安裝curl -fsSL https://raw.githubusercontent.com/osauer/canary/main/install.sh | sh
canary status # 連接到哪個 Gateway 及帳戶
canary brief # 今日需要留意甚麼
# Claude Desktop
canary setup claude-desktop
# Claude Code 外掛程式
/plugin marketplace add osauer/canary
/plugin install canary@canary
# 然後問:
# 「我的 IBKR 帳戶今日狀況如何?」
開始之前
Canary 透過本機 TWS 或 IB Gateway 連線,與 Interactive Brokers 配合使用。市場數據視乎你的 IBKR 訂閱而定。
可以,透過選用的交易版本及其審批檢查。標準下載版本及所有 MCP 工具都是唯讀的。見訂單指南。
適用。無論你的帳戶由哪家 IBKR 公司持有,連接方式都相同;簡報、交易所日曆和貨幣會跟隨你的持倉,持有港股也一樣。見香港及新加坡指南。你所在的地區未必可以使用 Claude:撰寫本文時(2026 年),Anthropic 的支援地區列表並未包括香港、澳門或中國內地。CLI 和已配對的應用程式不需要 Claude;其他 MCP 主機也可以使用同一套工具,但所用的模型同樣要在你的地區有提供。
運行 canary status。其中的 Gateway 設定一行會以淺白文字指出每項與 Canary 所需不同的設定。Canary 在每次連線後讀取設定一次,絕不更改。見故障排除。
以此為基礎開發
Canary 為代理提供每個數字及其來源和時效,並讓每張訂單都受你的規則約束。用兩個指令連接 Claude Code,或建立你自己的代理。Canary Desk 就建基於此,並有用於簡報及分析的代理。
MIT 授權;原始碼在 GitHub 上。無需註冊,也沒有遙測。
唯讀邊界證據
Canary 無法確認的數字絕不會顯示為正常。來源、時效及覆蓋範圍都在數字旁邊,讓你和你的助手知道可信賴甚麼。
在命令列上
每個數字都註明來源及時效。每個指令也可輸出 JSON 供腳本使用。
canary positions虛構帳戶
canary rules虛構帳戶Canary Edge
Edge 把每次開倉、加倉、減倉及平倉,與在 1、5 及 20 個交易日內維持倉位不變作比較,數據來自券商紀錄。
它描述過去的交易,不作預測或建議。
政策檢查
Canary 按你設定的數字行事,由規則門檻到訂單大小及現金儲備。它會列出每一個生效中的數字及其來源和含義,並將它們互相對照、與你的帳戶對照。每個不合適的數值都會附上原因,適用時亦會建議修正方法。
訂單限額跟隨帳戶變動。單一訂單價值的上限會隨帳戶價值(即淨清算價值)變動,介乎你設定的最低值與最高值之間。臨時提高上限需要一次覆寫,Canary 會記錄在日誌中。
在交易版本中,只要保護性止蝕盤沽出的數量不超過你持有的股票或 ETF(連同你其他正在生效的沽出訂單計算),該上限及沽空檢查都不會拒絕它。當你持有的股數少於 Canary 自己某個止蝕盤將沽出的數量時,Canary 會自行縮減或取消該止蝕盤。
檢查只作讀取;要更改限額,請編輯你的檔案。你手動設下的止蝕盤絕不會被更改,標準下載版本維持唯讀。
政策檢查如何運作canary policy show --explain 列出每項限額、政策及設定,連同其數值、單位及來源。加上章節名稱可只輸出其中一部分。
canary policy check 將你的設定檔、政策檔案及帳戶互相對照,解釋每個不合理的數值,適用時建議修正方法。
canary_policy_check 為 MCP 客戶端提供相同檢查。它只作讀取,不能更改限額。
觀察名單及形態
在一份觀察名單上保留最多 20 隻美股。Canary 將每根已完成的五分鐘 K 線與過往可比較的交易日對比,當異常成交量之後價格守穩或上升時便會報告。
對於你想跟進的形態,它會列出標準認購期權,並讀取你所選認購期權的一個附日期報價。Canary 落單成交後,會在兩個時點以其後報價檢查入場表現。
形態只是觀察,並非經驗證的訊號。成交後價格追蹤(markout)不計佣金,也絕不取代帳戶盈虧。編輯觀察名單只會更改本機偏好設定,而且沒有 MCP 形態工具。
canary watchlist add NVDA 保存一份可長期保留的名單,最多 20 隻股票。其他一概不變。
canary setups coverage 顯示每個交易日已完成的 K 線、評估狀態及缺失數據。
canary setups markouts 讀取其後的報價,並說明任何檢查點缺失的原因。
借貨研究
比較你指定股票的借貨費用、價格及流動性。篩選 IBKR 的美股借貨數據,找出費用持續高企的股票,並按規模及回補日數排列 FINRA 報告的沽空持倉。
你的助手透過唯讀 MCP 工具讀取相同結果。篩選條件在結果數量限制之前套用,每行都保留來源日期。
借貨費用是借入方的成本,並非出借方的收益率。沽空持倉來自每月兩次的報告,並不追蹤即時持倉。自由流通量百分比無法提供。
canary lending rates 及 canary lending market,針對你列出的代號。
canary lending screen 找出在多個來源日期都維持高費用的借貨。
canary short-interest screen,可按僅限上市股票、價格、流動性及回補日數篩選。
現金調撥
Canary 為你所持貨幣的剩餘現金規劃短期政府票據。它會優先保留承諾款項及現金儲備,才作新買入;儲備跟隨帳戶的淨清算價值及計劃需要而變動。
在任何買入之前,計劃會顯示票據的最低訂單額、費用範圍,以及扣除差價、費用及放棄的現金利息後的估計收益。每次買入都維持在最低與最高金額之間,確保不會小得賺不回佣金。由你選擇哪種貨幣優先。
Canary 制訂計劃,並檢查現金、票據、價格、費用及授權;如你使用 Canary Desk,計劃會在其中顯示。每張訂單都需要你確認,或經明確預先授權、設有限額及否決時限的調撥。
預設關閉。開啟時需要在政策中設定已校準的儲備,以及最新的交收紀錄。票據如在到期前沽出,可能會虧損。
閱讀調撥控制每種貨幣的已交收現金,資料須新近至已反映已確認的交易,並已扣除承諾款項及儲備。只要任何貨幣處於借款狀態,買入票據便會暫緩,因為票據的收益會低於該筆貸款的孖展利息。
同一貨幣的票據及其到期日。券商預覽價格及費用,計劃則顯示相對持有現金的淨收益。
確認訂單,或使用你已授予的限定授權。缺少證據時訂單會暫緩。
以結單為據的外匯
外匯貢獻量度貨幣變動對帳戶基礎貨幣盈虧的影響,涵蓋當日、當週、當月及年初至今,數據來自已完成的券商結單。
自 v3.16 起。canary reporting fx --json 及 canary_reporting_fx 傳回相同結果。缺失的日期保持可見,不完整的期間不顯示總計。這是估值歸因,與已實現的外匯批次盈虧分開。
股票借出觀察
Canary 從保留的 IBKR 結單讀取受管理的股票借出及客戶淨費用。借出中的持倉帶有附日期的註記,費用紀錄可按需要開啟。
canary lending fees --json 及 canary_lending_fees 傳回相同、設有上限的唯讀紀錄。缺失的部分、不完整的期間,以及收入確實為零的完整紀錄,三者保持區分。
自 v3.16 起。費用與帳戶盈虧分開,因為費用與派付及盈虧的關係尚未確認。帳戶需要有包含借出數據的結單報告,才會顯示內容。
股票借出如何報告架構
守護程序負責維持券商連線,並保管證據、你的規則及訂單日誌。其他一切都只是轉接層,建基於相同而具類型定義的結果。
它按需要啟動,閒置 15 分鐘後停止。券商回應緩慢時,狀態查詢仍可快速回應;執行 canary stop 後,它會保持停止,直至你重新啟動。
全部功能
Go 函式庫
pkg/ibkr 自行處理 TWS 通訊協定,無需供應商 SDK,也不會再分發任何 Interactive Brokers 程式碼。
要從你自己的程式讀取運行中的 Canary,請匯入模組根目錄。canarytest 在臨時 socket 上提供服務,供你測試使用。
cfg := ibkr.DefaultConfig()
cfg.Port = 4002 // Gateway, paper account
conn := ibkr.NewConnector(&ibkr.ConnectorConfig{
PreferredClientID: 17,
BaseConfig: cfg,
})
if err := conn.Start(ctx); err != nil {
return err
}
defer conn.Stop()
summary, err := conn.RequestAccountSummary(ctx, 5*time.Second)
if err != nil {
return err
}
fmt.Println(summary.AccountID)