# akshare-cn-market > This skill should be used when the user asks to "查 AKShare 数据字典", "在 AKShare 里找接口", "AKShare 有哪个接口", "查询板块/行业/概念成分", "查询期货/商品/股指期货数据", "查询基金/宏观/债券数据", "sync AKShare docs", "建立 AKShare 索引", "api_search", or "ak_call". - Author: Nie Jie - Repository: datanger/FinancialBot - Version: 20260208231335 - Stars: 0 - Forks: 0 - Last Updated: 2026-02-08 - Source: https://github.com/datanger/FinancialBot - Web: https://mule.run/skillshub/@@datanger/FinancialBot~akshare-cn-market:20260208231335 --- --- name: akshare-cn-market description: This skill should be used when the user asks to "查 AKShare 数据字典", "在 AKShare 里找接口", "AKShare 有哪个接口", "查询板块/行业/概念成分", "查询期货/商品/股指期货数据", "查询基金/宏观/债券数据", "sync AKShare docs", "建立 AKShare 索引", "api_search", or "ak_call". version: 0.1.0 --- # AKShare 中国市场数据字典索引 (分层暴露) 不要把 AKShare 全量接口一次性写进文档. 通过"离线官网数据字典 + 快速索引"让 LLM 先定位数据域/接口, 再最小化调用与验证. 使用本 skill 时, 优先走 2 个稳定入口: - `sync_docs.py`: 礼貌抓取 AKShare 官网 data 字典页面到本地 (单线程/限速/增量/硬上限). - `api_search.py` + `ak_call.py`: 先检索候选接口, 再执行调用. ## 目录结构 - `scripts/sync_docs.py`: 抓取官网字典页面到 `_data/raw` 并抽取纯文本到 `_data/text` - `scripts/build_index.py`: 从 `_data/text` 构建 SQLite FTS 索引到 `_data/akshare_dict.sqlite3` - `scripts/embed_index.py`: (可选) 通过 Ollama embedding 建立语义索引到同一个 SQLite 数据库 (表 `vec`) - `scripts/api_search.py`: 用 FTS 检索 (按 query + 可选 domain) 返回 Top-N 候选 - `scripts/ollama_embed.py`: Ollama embedding 客户端 (兼容 `/api/embed` 与 `/api/embeddings`) - `scripts/ak_call.py`: 通过函数名调用 `akshare.(**args)` 并输出表格预览 - `references/query_guide.md`: 查询路由与常见 query 模板 - `references/polite_crawl.md`: 抓取策略与安全限制 ## 快速开始 (手动执行) 1) 抓取数据字典 (默认非常保守; 建议低频手动跑) ```bash python .claude/skills/akshare-cn-market/scripts/sync_docs.py ``` 2) 构建索引 ```bash python .claude/skills/akshare-cn-market/scripts/build_index.py ``` 3) (可选) 建立语义索引 (Ollama embedding; 仅作为兜底召回) ```bash python .claude/skills/akshare-cn-market/scripts/embed_index.py ``` 4) 搜索接口/数据块 - 默认走关键词检索 (FTS) - 如果已建立 embedding 索引, 当关键词命中较少时会自动触发语义兜底召回 - 使用 `--embed` 强制启用语义召回, 或使用 `--no-embed` 禁用自动兜底 ```bash python .claude/skills/akshare-cn-market/scripts/api_search.py "期货 持仓" python .claude/skills/akshare-cn-market/scripts/api_search.py "行业 板块 成分股" --domain stock python .claude/skills/akshare-cn-market/scripts/api_search.py "期货 主力持仓 变化" --embed ``` 5) 调用接口 (在确认 endpoint/参数后再调用) ```bash python .claude/skills/akshare-cn-market/scripts/ak_call.py stock_zh_a_spot_em '{}' ``` ## 推荐工作流 1) 判定数据域: stock / board / futures / fund / macro / bond / other 2) 运行 `api_search` 召回 5-10 个候选 endpoint/字典块 3) 读取候选的摘要/参数/返回字段后, 选择最匹配的 1-2 个 endpoint 4) 运行 `ak_call` 做最小化验证 (先 small args / head), 再写业务代码/报告 ## 重要注意事项 - 官网字典是"真源": 索引以官网 data 字典页面为准; 本地索引需要定期手动刷新. - 抓取必须礼貌: 单线程/限速/增量/硬上限. 细节见 `references/polite_crawl.md`.