腳本與 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 的結果,有助於排查不同版本的輸出差異。