快速开始¶
安装网关、完成首次登录,再从本机读取运行状态。本页的验证请求只读,不需要解锁交易。
1. 安装¶
四个程序会安装到 PATH,后续直接使用 futu-opend 和 futucli,无需 ./。
在下载页选择平台,下载、校验并解压安装包。保留四个程序在同一目录,包括网关按需启动的 futu-indicator-worker。
Linux x86_64 示例:v1.9.7 安装包 与 SHA-256 校验文件;其他平台链接见下载页。
macOS / Linux 可在解压目录运行 export PATH="$PWD:$PATH",之后使用本页命令。该设置只对当前终端有效;新终端需再次设置,或使用程序的绝对路径。
Windows 请在 PowerShell 中进入解压目录,使用 .\futu-opend.exe 替换本页的 futu-opend;多行参数合并成一行。HTTP 检查使用 curl.exe。
2. 完成首次登录¶
准备登录账号。在 macOS 或 Linux 的本机终端创建仅当前用户可读的密码文件;输入时不会回显,密码也不会进入命令行历史:
install -d -m 700 "$HOME/.config/futu"
printf '登录密码: '; IFS= read -rs futu_login_password; echo
umask 077
printf '%s\n' "$futu_login_password" > "$HOME/.config/futu/login-pwd"
unset futu_login_password
chmod 600 "$HOME/.config/futu/login-pwd"
在前台终端执行,用你的账号替换 YOUR_LOGIN_ACCOUNT。Windows 用户请在用户目录中创建密码文件,并将下方路径替换为其完整路径。
futu-opend --setup-only \
--login-account YOUR_LOGIN_ACCOUNT \
--login-pwd-file "$HOME/.config/futu/login-pwd"
按终端提示完成设备确认或短信验证。--setup-only 完成验证及凭据缓存后退出,不启动 API 服务。moomoo 账号需在这里和后续启动命令中都添加 --platform moomoo;其他登录选项见启动速查。
后续启动使用相同的系统用户和 HOME,才能读取这次登录生成的设备及凭据状态。登录信息过期或需要重新验证时,回到前台按提示处理。
3. 启动并做只读检查¶
启动网关并保持这个终端运行:
futu-opend \
--login-account YOUR_LOGIN_ACCOUNT \
--login-pwd-file "$HOME/.config/futu/login-pwd" \
--ip 127.0.0.1 \
--port 11111 \
--rest-port 22222
--ip 127.0.0.1 将接口绑定到本机;--rest-port 显式启用 REST。本例使用本机无 API Key 的 HTTP 模式,不发送 Bearer token。此模式没有只读权限限制:本页只发送读取请求。共享给其他客户端前,请先完成下一节的鉴权配置。
在另一个终端运行:
curl --fail-with-body http://127.0.0.1:22222/livez
curl --fail-with-body http://127.0.0.1:22222/readyz
curl --fail-with-body http://127.0.0.1:22222/api/global-state
/livez检查进程是否存活。/readyz检查网关是否具备处理请求的条件;未就绪时先检查启动终端的提示。/api/global-state读取全局状态。HTTP 请求成功后仍需检查业务响应,不能仅凭连通就判断登录或业务调用成功。
连接被拒绝时,确认进程仍在运行、REST 已启用且端口一致。更多诊断见运维入口。
4. 配置访问权限¶
API Key 授权教程集中说明 key 生成、只读 scope 和 HTTPS 配置。先完成这些配置,再让其他程序或远程客户端访问网关。
5. 选择接入方式¶
| 你的目标 | 下一步 |
|---|---|
| 让 AI 助手读取行情与账户 | MCP 接入教程 |
| 用 REST、CLI、gRPC 或 WebSocket 开发 | 接入指南 |
| 按具体场景逐步操作 | 教程索引 |
6. 部署与日常运维¶
本机读取成功后,进入运维入口,完成部署、健康检查和故障排查。服务化部署前必须使用服务进程的用户与 HOME 完成首次登录。
REST 使用 scope 模式时,/metrics 默认需要 Authorization: Bearer token,且 token 必须具有 metrics:read(或 admin)scope。