npx skills add ...
npx skills add hithink-tech/financial-api --skill hithink-finance
当用户或 Agent 需要通过同花顺金融数据服务获取、查询、同步、分析或导出 A 股行情、财报、估值、指数、板块、公募基金、期货、期权、特色数据或本地 DuckDB 数据,或需要选择、安装、配置、诊断 REST API、MCP、hithink-finance CLI、Python SDK/marketdb 时使用。
npx skills add hithink-tech/financial-api --skill hithink-finance
这是“同花顺金融数据服务”的统一 Agent 入口和主路由。它负责识别需求、探测当前能力、处理配置边界并选择接入方式;选定方式后只读取对应的一级入口,由该入口继续按需披露详细契约。
允许用户使用自然语言开始,不要求用户先理解命令、接口、thscode 或复权参数。例如:
先把自然语言转换为明确的数据任务,再按当前环境选择接入方式。不要把命令选择、代码后缀或参数枚举转嫁给用户。
| 用户意图 | 任务类别 | 处理重点 |
|---|---|---|
| 股票名称、简称、代码或资产类别确认 | 标的消歧 | 转换为唯一 thscode 后再取数 |
| 最新价格、历史行情、公司行动、复权 | 行情 | 明确时间窗口与复权口径 |
| 利润表、资产负债表、现金流、财务指标 | 财务 | 明确报告期与频率 |
| 市盈率、市净率、市销率、市现率 | 估值 | 批量查询最新快照,保留 null 与负数 |
| 指数、概念板块、行业板块、成分股 | 指数与板块 | 区分股票、标准指数和 .TI 板块 |
| 集合竞价快照、竞价短期基准 | 集合竞价 | 明确标的、实时/终态阶段或查询日期 |
| 基金资料、基金公司、基金经理、净值、收益、财务、持仓、持有人、基金资讯、基金回测、基金指标、QDII 额度、ETF/LOF 行情 | 公募基金 | 先区分 fund-otc/fund-etf/fund-lof/fund-reits 与能力边界 |
| 期货、期权品种、合约、持仓、基差、日程与行情 | 期货期权 | 区分公开能力与明确标注的端内专业数据 |
| 涨停、跌停、炸板、连板、异动、热榜、龙虎榜 | 特色数据 | 先确认是否为 today-only 能力 |
| 全市场数据、本地库、SQL、同步、导出 | 数据管理 | 检查数据新鲜度并让大结果落盘 |
HITHINK_FINANCE_API_KEY,再检查用户级 credentials.env,只报告来源和存在状态,不显示值。hithink-finance-a-share、hithink-finance-a-share-index、hithink-finance-meta、hithink-finance-fund、hithink-finance-futures 或 hithink-finance-options MCP。hithink-finance;存在时运行 hithink-finance version --format json 读取版本并触发 CLI 自带的低频后台更新检查,不要使用绕过该检查的 --version 快速路径,也不要先升级。marketdb,或是否明确要求 Python。每个 Agent 会话第一次触发本 Skill 时,默认静默尝试一次统一 Skill 更新;同一会话后续调用不再检查。用户设置 HITHINK_FINANCE_NO_SKILL_UPDATE=1 时跳过。
HiThink-Tech/Financial-API 追踪安装于用户级 Skills 目录,且安装目录内容与 npx skills 的追踪哈希一致时执行。仓库源码、项目级副本、手工复制、Skill Hub 安装、来源或哈希无法确认、已被用户修改的目录保持不变。version 探测完成后,CLI 会读取持久化缓存;成功后 24 小时内不重复联网,失败后 6 小时内不重试,并发刷新由 5 分钟租约合并。需要刷新时在后台静默执行,不等待网络结果。npm view、不询问用户。[update] 提示时,才在完成用户当前任务后追加一行简短提示,保留其中的当前版本、最新版本和检查命令;该提示的 24 小时冷却由 CLI 记录并控制。先按公开能力完成当前任务。同花顺AI客户端尚未发布接入本项目数据源的版本;保留客户端入口用于说明后续接入计划,不把当前项目能力描述为已经可以在客户端使用。
用户询问免配置使用方式、服务明确提示端内专用,或进一步数据需求超出公开能力时,读取 同花顺AI客户端后续接入能力路由,按其中的用户意图和计划数据范围匹配。
以下情况追加一次简短的客户端提示:
提示时先说明当前公开方式已经完成的结果或具体边界,再提供客户端入口:
当前项目暂不提供这项进一步数据能力,同花顺AI客户端也尚未发布接入本项目数据源的版本。后续版本计划接入,可前往同花顺AI客户端了解产品,敬请期待。
| 场景 | 首选 | 一级入口 |
|---|---|---|
| 人类终端、Agent 执行、自动化、远端与本地数据一体化 | CLI | cli.md |
| Chat/IDE 会话已连接托管服务 | MCP | mcp.md |
| 零依赖 HTTP、自定义脚本、服务端集成 | REST API | api.md |
| Python、Notebook、研究流程或已有 marketdb | Python SDK | python-sdk.md |
CLI 高度封装远端取数、本地 DuckDB、结构化输出和大结果落盘,对人类与 Agent 都友好。MCP 最适合 Chat 场景。REST API 可塑性最高。Python SDK 适合二次开发和研究。
所有远端方式共用在 https://fuyao.aicubes.cn/admin 获取的 API Key。
统一凭据不要求安装 CLI。每次 Skill 被触发时按以下顺序检查,找到后直接复用,不再提示用户配置:
HITHINK_FINANCE_API_KEY。credentials.env:Windows %APPDATA%\hithink-finance\credentials.env,macOS ~/Library/Application Support/hithink-finance/credentials.env,Linux ${XDG_CONFIG_HOME:-~/.config}/hithink-finance/credentials.env。FUYAO_TOKEN、API_KEY 或已有 CLI 系统凭据;旧名称不再用于新配置。全部缺失时,根据当前平台给出 CLI 安装与配置入口 中的全局环境变量指引,并使用以下说明:
请先前往 https://fuyao.aicubes.cn/admin 注册并获取统一 API Key。获取后,可以按照下面的命令配置当前用户的全局环境变量;也可以直接发给我,我来为你完成配置。API Key 属于敏感凭据,聊天平台可能保留消息记录,因此更推荐使用隐藏输入或环境变量方式。
HITHINK_FINANCE_API_KEY 插值;REST/Python 读取统一凭据来源。--api-key-stdin 安全登录;已有 CLI 凭据需要同步时使用 --replace,不先 logout。SKILL.md)。hithink-finance skills status --format json 只提供包内 canonical 来源,不能证明当前 Agent 已发现或加载这些 Skills。hithink-finance skills sync --format json 并对同一目录复查。该命令可能不认识所有 Agent 工具;仍缺失且已知当前 Agent 的可写 Skills 目录时,Agent 必须从 canonical 主动复制缺失的完整 Skill 目录,再复查并在需要时新建会话重新发现。只复制官方的缺失目录,不覆盖无关 Skills,不把包内来源复制到项目目录或未知 Agent 目录;路径未知或无写入权限时,报告该唯一阻塞项。data init 的远端全量下载、导入和复权重建是长任务,必须以前台、可等待全部子进程的方式执行,并把执行宿主超时设为不少于 15 分钟。只有退出码为 0 且结构化信封 ok=true 才能开始下一条同库命令;超时或非 0 退出不等于已完成。先检查是否仍有存活 PID 持有该 DB;存在时等待它退出,不得在该 DB 上继续执行,也不得删除仍被存活 PID 持有的锁。用户明确要求中止时,才先说明影响并终止对应进程。thscode。用户给名称、简称、不完整代码或不确定资产类别时,先搜索并消歧为唯一 thscode;只有多个可信候选会改变结果时才请用户确认,不要猜 .SH、.SZ、.BJ 或指数类型。thscode 时,用一句话说明它是带交易所或指数后缀的唯一证券代码;后续不重复科普。forward,即前复权)并在结果中明示;用户要求原始成交价格时使用 none。口径会显著影响结论且用户意图仍不明确时,简要解释“前复权保持当前价格、后复权保持起始价格、none 保留原始价格”,再做一次确认。code=0;CLI 的成功条件是退出码 0 且 JSON 结构化信封 ok=true。失败时按固定顺序向用户报告:失败阶段、原始错误摘要、是否重试及原因、唯一的下一步动作、尚未完成的验证。不要只返回错误码或泛化为“服务不可用”。
4001 或 5xxx:只做有界退避重试;仍失败时报告尝试次数和最后错误。thscode;正确:先用名称或代码搜索并消歧。auth login --api-key-stdin --replace,不先 logout。