Skip to content

腳本與 AI 工具 ​

讓具備終端執行能力的 AI 工具調用 CLI,或在腳本中讀取結構化結果。本頁聚焦提示詞、命令調用和 JSON 處理。

環境準備見安裝與登錄。本頁介紹通過終端命令調用 CLI;當前 CLI 未提供 ACP 或 MCP 服務啓動入口。

讓 AI 完成一次查詢 ​

將下面的提示交給具備終端執行能力的 AI 工具:

text
請使用 Futu CLI 查詢蘋果和英偉達的行情,以 JSON 讀取結果,
整理證券代碼、價格、漲跌幅和可用的數據時間,並註明交易時段。
如果授權失效、缺少權限或數據不完整,請説明原因,不要補造數據。

AI 工具可以執行:

bash
futu quote US.AAPL US.NVDA --format json

一次成功調用應返回行情數據,隨後由 AI 工具整理成回答。quote 的漲跌幅可由 last_price 和 prev_close_price 計算;昨收缺失或為 0 時,不應計算該值。原始返回沒有的時間或時效信息應標為未提供。

在腳本中讀取 JSON ​

多數業務命令默認輸出表格,使用 --format json(簡寫 -f json)獲取 JSON。下面的 Bash 示例需要 jq,會保存查詢結果和診斷文本;先檢查 CLI 是否成功,再解析結果:

bash
if futu quote US.AAPL US.NVDA --format json > quotes.json 2> quotes.stderr.log; then
  jq -e 'type == "array"' quotes.json > /dev/null &&
    jq '.[] | {code, last_price, prev_close_price}' quotes.json
else
  futu_status=$?
  cat quotes.stderr.log >&2
  exit "$futu_status"
fi

以下是 quote 的結構示意,僅節選字段,數值為演示值:

json
[
  {
    "code": "US.AAPL",
    "last_price": 180,
    "prev_close_price": 178,
    "suspension": false
  }
]

JSON 輸出約定 ​

情況當前行為與處理方式
成功響應結構隨命令變化。quote 返回數組;部分查詢在攜帶分頁或跳過信息時返回 data、pagination、skipped 等字段,需檢查實際結構
字段缺失對象中的數值 0、空字符串、null、空數組和空對象會被省略,false 會保留。缺失字段可能是零值被省略,也可能是接口未提供,不能統一補成 0
命令失敗命令返回錯誤時使用非零退出碼,錯誤説明可寫入 stderr;不要假設錯誤內容也是 JSON
部分結果退出成功仍需核對返回標的、分頁及 skipped 信息,不能僅憑退出碼判斷數據完整
文本輸出例外version、update 使用文本;當前真實證券 order cancel 提交成功後也輸出文本,預覽階段可輸出 JSON

如果使用 futu … | jq … 管道,應在 Bash 中啓用 set -o pipefail,避免只得到最後一個命令的退出狀態。記錄 futu version 的結果,有助於排查不同版本的輸出差異。

調用失敗時查看故障排查。交易預覽、確認和訂單查詢流程見賬户與真實交易。