快速开始¶
从装好到能下一单,预期 10 分钟。
1. 拿到二进制¶
# macOS Apple Silicon
curl -LO https://futuapi.com/releases/rs-v1.4.26/futu-opend-rs-1.4.26-macos-arm64.tar.gz
# Linux x86_64
curl -LO https://futuapi.com/releases/rs-v1.4.26/futu-opend-rs-1.4.26-linux-x86_64.tar.gz
tar xf futu-opend-rs-1.4.26-*.tar.gz
cd futu-opend-rs-1.4.26
macOS 首次运行前需解除 Gatekeeper 限制:xattr -cr futu-opend futu-mcp futucli
2. 启网关¶
./futu-opend \
--login-account 12345678 \
--login-pwd 'your_password' \
--rest-port 22222 \
--grpc-port 33333
首次登录新设备会要求短信验证码,控制台会提示你输入。之后登录凭证会缓存在 ~/.config/futu/。
启动成功的标志:
INFO addr=0.0.0.0:11111 starting FutuOpenD Rust Gateway
INFO listen_addr=0.0.0.0:22222 REST API 服务已启动 (WebSocket: /ws)
INFO addr=0.0.0.0:33333 gRPC 服务已启动
3. 最简测试¶
# 走 REST
curl http://localhost:22222/api/accounts
curl http://localhost:22222/api/global-state
# 走 CLI
./futucli --gateway 127.0.0.1:11111 quote HK.00700
./futucli --gateway 127.0.0.1:11111 accounts
# 进 REPL 玩
./futucli --gateway 127.0.0.1:11111 repl
# futu (127.0.0.1:11111) > sub HK.00700 -t basic,orderbook
# futu (127.0.0.1:11111) > quote US.AAPL
4. 加鉴权(强烈推荐)¶
无鉴权模式下 REST / gRPC / WS 对任何连进来的客户端全开,仅适合本地开发。生产用 API Key:
# 1. 生成一把只读 key 先测
./futucli gen-key --id research --scopes qot:read,acc:read
# 终端会打印 key 明文:fc_xxxxxxxxxx...
# 记住这串,keys.json 文件里只存 SHA-256 hash
# 2. 重启 gateway 指向 keys.json
./futu-opend \
--login-account 12345678 --login-pwd 'your_pwd' \
--rest-port 22222 --rest-keys-file ~/.config/futu/keys.json \
--grpc-port 33333 --grpc-keys-file ~/.config/futu/keys.json
# 3. 现在 REST 必须带 Authorization: Bearer
curl -H "Authorization: Bearer fc_xxxxxx..." http://localhost:22222/api/accounts
带额度的交易 key:
./futucli gen-key \
--id sim-bot \
--scopes qot:read,acc:read,trade:simulate \
--allowed-markets HK,US \
--max-order-value 100000 \
--max-daily-value 500000 \
--max-orders-per-minute 5 \
--hours-window 09:30-16:00 \
--expires 30d
5. 接入 LLM(MCP)¶
# stdio 模式(LLM 客户端直接启子进程)
export FUTU_MCP_API_KEY="fc_xxxxxx..." # 用上面生成的 key
./futu-mcp --gateway 127.0.0.1:11111 --keys-file ~/.config/futu/keys.json
# HTTP 模式(多 LLM 共享一个 server,v1.0+)
./futu-mcp --gateway 127.0.0.1:11111 \
--keys-file ~/.config/futu/keys.json \
--http-listen 127.0.0.1:38765
# Prometheus 抓取(无需 token)
curl http://127.0.0.1:38765/metrics
在 Claude / GPT 客户端里注册这个 MCP server 后,LLM 就拥有 19 个行情 + 账户 + 交易工具。
6. 监控 + 部署¶
- Prometheus 抓
http://<rest-addr>/metrics - LB / k8s liveness probe 打
http://<rest-addr>/health - Dockerfile 和 systemd unit 完整源码在 部署到生产 里 inline