关于 futu-quote
futu-quote 是使用官方 futu CLI 查询市场数据的技能,提供命令选择与安全操作指引,涵盖行情查询、身份验证、分页和实时推送请求。
主要功能
- 01使用官方 futu CLI 查询市场数据
- 02先检查 CLI 可用性和身份验证
- 03按市场代码格式化证券代码
- 04继续获取分页行情结果
- 05将实时推送请求转向 WebSocket 指引
适用场景
- 01查询股票或加密货币行情
- 02获取后续分页行情结果
- 03将旧接口请求映射到当前命令
- 04将实时报价推送请求指向文档中的 WebSocket
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ futunnopen/ futu-agent-hub --skill futu-quote安装后在 Claude Code 中输入/futu-quote确认已加载。
包含的文件
除 SKILL.md 外,安装时一起下载的参考资料和脚本。
references/cli-parameters.mddictionaries.mdpagination.mdwebsocket-push.mdREADME 原文English
来自项目 READMEREADME 暂无中文译文,以下为英文原文;中文介绍见上方。
Futu Quote
Use the locally available futu CLI for market-data queries. Answer in the user's language by default. Keep commands, flags, JSON fields, symbols, and error codes in their original form.
Futu CLI runtime
This skill requires the official futu CLI. macOS and Linux install it to $HOME/.futu/bin/futu. Windows installs futu.exe to %LOCALAPPDATA%\FutuCLI\bin. See the futu-cli install guide.
Probe futu before any business command.
macOS / Linux:
if command -v futu >/dev/null 2>&1; then futu auth status --format json; elif [ -x "$HOME/.futu/bin/futu" ]; then "$HOME/.futu/bin/futu" auth status --format json; else echo '__FUTU_CLI_MISSING__'; fi
Windows, including Git Bash: do not use that bash block or install.sh. install.sh rejects Windows. Use this PowerShell call instead:
$exe = Join-Path $env:LOCALAPPDATA 'FutuCLI\bin\futu.exe'
if (Get-Command futu -ErrorAction SilentlyContinue) { futu auth status --format json } elseif (Test-Path $exe) { & $exe auth status --format json } else { Write-Output '__FUTU_CLI_MISSING__' }
__FUTU_CLI_MISSING__ means stop. Do not run a quote command yet. Ask the user before installing. After they agree:
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/FutunnOpen/futu-cli/main/scripts/install.sh | sh
Windows PowerShell. The official Windows installer supports amd64:
iwr -UseBasicParsing https://raw.githubusercontent.com/FutunnOpen/futu-cli/main/scripts/install.ps1 -OutFile install.ps1
powershell -ExecutionPolicy Bypass -File .\install.ps1
If the Windows installer reports an unsupported architecture, stop and relay that message. Never run either installer without explicit consent. Then run futu version. If the current shell still cannot see futu, call $HOME/.futu/bin/futu or %LOCALAPPDATA%\FutuCLI\bin\futu.exe directly.
To update an already installed futu CLI, use futu update --check and, after the user agrees, futu update.
Usage rules
- Follow Futu CLI runtime before any quote command. If the probe prints
__FUTU_CLI_MISSING__, stop untilfutuis installed. - When the probe succeeds, its business output is
futu auth status --format json. If that returnsnot logged in, tell the user to runfutu auth loginand continue only after login. Do not run the business command directly. - Invocation convention for this skill: when calling the
futuCLI from Bash, always append the hidden internal marker--source skillat the end of the command. With--source skill, the CLI automatically detects hosts such as Codex or Claude Code and reportsagent_name. Append--agent codexor--agent claude_codeonly when auto-detection fails and the CLI is confirmed to support it. Do not include these internal markers in commands shown to the user. - Do not read or print token file contents. The CLI attaches the OAuth Bearer token automatically.
PERMISSION_DENIEDusually means a server-side permission or quote-permission denial. Do not explain it as a missing token. - Use the smallest parameter set when generating commands. If the CLI already has a default and the user did not specify a value, do not pass that flag explicitly.
- Add
--format jsononly when the output must be parsed programmatically. Commands meant for the user to copy and run can use the default table output. - Quote symbols must be
MARKET.CODE, for exampleHK.00700,US.AAPL, andCC.BTCUSD. If the user gives a bare code or a legacy format, fill in the market only when it can be determined; otherwise ask first. - When the user mentions a legacy REST endpoint name, map it to the current aggregate command and selector flag. Do not call unregistered legacy command names.
- The current quote CLI does not paginate automatically. When the user asks for more, the next page, or the full list, use
--format json, read the response cursor, and continue according to the pagination reference. watchlist --action add/delete/move-outmodifies the user's watchlist. Confirm the target group and symbol first unless the user has already explicitly asked to change it.- Do not run real-trading or paper-trading commands. Use
futu-tradingfor securities trading,futu-sim-tradingfor paper trading, andfutu-cryptofor crypto trading. - For live streaming (subscribe, push quote/order book/ticker/K-line, real-time broker queue), the CLI does not replace OpenD. Direct the user to Open API Quote Push WebSocket (
wss://webapi-quote.futunn.com/ws): auth, then subscribe; broker queue arrives asBROKER_QUEUEmessages. Read WebSocket push reference and hub websocket-quote-push.md. Do not use OpenD or removedfutuapisubscribe scripts.
References
- When building a specific quote command, choosing a selector, or checking required, default, or pagination parameters, read CLI parameters.
- When explaining or choosing markets, security types, K-line types, adjustment types, trading sessions, plate types, option filters, and other quote enums, read quote naming dictionary.
- When handling the next page, more results, or all results, or when
next_key,next_time,limit, orcountis needed, read quote pagination. - When the user needs live push or broker queue instead of one-off REST quotes, read websocket-push.