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 的结果,有助于排查不同版本的输出差异。

调用失败时查看故障排查。交易预览、确认和订单查询流程见账户与真实交易。