1. 为什么要在 VS Code 里接行情数据
写代码写到一半,想瞄一眼今天的持仓涨没涨,这个需求太真实了。切手机看盘容易被发现,开浏览器标签页又太显眼,于是很多人把目光投向了编辑器本身——毕竟 VS Code 常年开着,侧边栏多一个面板,谁也看不出来你在干嘛。
LEEK(股票看盘)这个插件就是干这个的:它在 VS Code 侧边栏和状态栏里塞进股票、基金、期货的实时行情,支持 A 股、港股、美股、国内开放式基金,还能画 K 线、看分时、显示均线。装完之后,你的编辑器左边是文件树,右边是行情面板,底部状态栏滚动着自选股价格,同事路过只会以为你在认真 coding。
但真正让这个插件从"看盘工具"升级成"开发工具"的,是它内置的 MCP(Model Context Protocol)支持。MCP 是一套让 AI 助手调用外部工具的标准协议,LEEK 的 SDK 里打包了 14 大类、50 多个标准化的行情数据工具。这意味着你可以让 Claude、Cursor 这类支持 MCP 的 AI 助手直接查询股票数据,做智能分析、写量化脚本、生成复盘报告。
问题来了:这些 AI 工具要调用 MCP 服务,得有一个统一的 API 通道来转发请求、管理 Key、控制调用频率。如果每个数据源都单独配一遍,光是填 Base URL 和 Key 就够折腾半天。这时候就需要一个统一入口,把模型调用和 MCP 工具调用都收拢到同一个 Key 下面。TaoToken 就是做这件事的——它提供一个兼容 OpenAI 风格的 API 端点,同时支持模型对话和 MCP 工具转发,你只需要一个 Key、一个 Base URL,就能把 LEEK 的行情数据接进 AI 工作流。
这篇文章面向三类人:一是想在 VS Code 里安静看盘的程序员;二是想用 AI 分析行情但不想折腾多套配置的量化爱好者;三是已经在用 Claude Code、Cline 这类工具,想把行情数据接进现有 MCP 配置的开发者。下面我会从环境准备开始,一步步给出可复制的配置片段,演示一次行情刷新验证,最后把常见的报错和排查方法列清楚。
2. TaoToken 前置准备:Key、Base URL 与 MCP 通道
在动手改配置之前,先把"通行证"准备好。TaoToken 的角色是一个统一的 API 网关:你在这里拿到一个 Key,然后用这个 Key 去调用模型对话接口,或者转发 MCP 工具请求。对 LEEK 来说,它需要的是一个能稳定转发行情查询请求的通道;对 AI 助手来说,它需要的是一个兼容 OpenAI 格式的模型端点。两者共用同一个 Base URL 和 Key,配置量直接减半。
第一步,打开官网 https://taotoken.net/?utm_source=taotoken_aicg_blog_end&utm_medium=csdn&utm_campaign=rewrite&utm_content= ,注册并登录。登录之后进入控制台,找到 API Keys 页面。这个页面的直达链接是 https://taotoken.net/console/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite ,你也可以从控制台左侧菜单点进去。
在 API Keys 页面点击"创建新 Key",给它起个名字,比如vscode-leek-mcp,方便以后区分用途。创建完成后,Key 只会完整显示一次,复制下来存到安全的地方。注意不要把这个 Key 提交到 Git 仓库,也不要写在会同步到云端的配置文件里。如果你习惯用环境变量管理,可以把它存成TAOTOKEN_API_KEY,后面配置里用${env:TAOTOKEN_API_KEY}引用。
第二步,确认 Base URL。TaoToken 的 API 端点是:
https://taotoken.net/api这个地址不加任何 UTM 参数,直接写进配置里就行。注意区分:官网首页带 UTM 参数用于统计来源,但 API 调用地址是干净的https://taotoken.net/api。很多人在配置时把带参数的首页地址填进去,结果请求 404,这是最常见的低级错误。
第三步,确认你要用的模型 ID。如果你只是用 LEEK 插件本身看盘,不涉及 AI 分析,那模型 ID 可以先不填;但如果你要把行情数据接进 Claude Code、Cline 或者 Codex 这类工具做分析,就需要指定一个模型。TaoToken 支持多种模型,具体可用的模型列表可以在模型对话页面查看:https://taotoken.net/models?utm_source=taotoken_aicg_blog_end&utm_content=models&utm_campaign=rewrite 。常见的比如claude-sonnet-4-20250514、gpt-4o等,按你的需求选。
第四步,了解 MCP 通道的接入方式。TaoToken 的 MCP 转发走的是同一个 Base URL,但路径不同。对于 Claude Code 这类工具,MCP 配置通常写在~/.claude/settings.json或者项目级的.mcp.json里;对于 Cline,配置在 VS Code 的 settings.json 中。不管哪种,核心三件套都是:Base URL、API Key、Model ID。这三样填对了,MCP 工具就能正常调用。
这里有个容易踩的坑:有些人把 TaoToken 当成"中转"来理解,然后去找所谓的"中转地址",结果填了一堆乱七八糟的 URL。TaoToken 的定位是统一的 API 接入层,你只需要记住一个地址https://taotoken.net/api,所有模型调用和 MCP 转发都走这里。不需要额外配置代理,也不需要改系统网络设置。
如果你打算长期用 AI 做编码和行情分析,可以了解一下 Coding Plan:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan&utm_campaign=rewrite 。它针对高频编码场景做了额度优化,比按量计费更划算。不过对于只是偶尔看看行情的用户,按量付费就够了,不用一上来就买套餐。
准备工作做完,你手里应该有三样东西:一个 API Key、Base URLhttps://taotoken.net/api、以及你打算用的模型 ID。接下来进入实际配置环节。
3. 可复制配置:LEEK 插件 + MCP 接入片段
这一节给出完整的配置片段,你可以直接复制粘贴,只需要把 Key 替换成你自己的。配置分两部分:一是 LEEK 插件本身的 VS Code 设置,二是 MCP 工具的接入配置。
3.1 LEEK 插件基础配置
打开 VS Code,按Ctrl+Shift+P(macOS 是Cmd+Shift+P),输入Preferences: Open User Settings (JSON),打开用户设置文件。然后把下面的配置合并进去:
{ "hgleek.watchlist": ["sh600519", "sz000001", "sh000001", "hk00700", "usAAPL"], "hgleek.fundWatchlist": ["000001", "110011"], "hgleek.statusBar.codes": ["sh600519", "sz000001"], "hgleek.statusBar.upColor": "#FF0000", "hgleek.statusBar.downColor": "#00FF00", "hgleek.statusBar.fontSize": 12, "hgleek.refreshInterval": 5 }逐项说明一下。hgleek.watchlist是自选股列表,支持 A 股、港股、美股。A 股代码要加前缀:sh表示上交所,sz表示深交所,bj表示北交所。比如贵州茅台是sh600519,平安银行是sz000001。港股用hk前缀,比如腾讯hk00700。美股直接用us加代码,比如苹果usAAPL。插件会自动识别前缀,你如果只写600519,它也能猜出来是sh600519,但显式写前缀更稳妥。
hgleek.fundWatchlist是基金列表,填 6 位基金代码就行,比如000001是华夏成长,110011是易方达中小盘。插件会从天天基金和东方财富拉取实时估值。
hgleek.statusBar.codes控制底部状态栏显示哪些标的。建议只放 2 到 3 个你最关心的,放太多会挤占状态栏空间,影响其他插件的信息显示。
hgleek.statusBar.upColor和downColor是涨跌颜色。A 股习惯红涨绿跌,所以涨用红色#FF0000,跌用绿色#00FF00。如果你习惯美股配色,可以反过来设。
hgleek.refreshInterval是刷新间隔,单位秒,范围 1 到 60,默认 5 秒。建议不要低于 3 秒,否则容易触发数据源的频率限制,导致行情卡住不更新。5 秒是个比较平衡的值,既及时又不会给数据源太大压力。
3.2 MCP 接入配置
如果你要把行情数据接进 AI 助手,需要配置 MCP。以 Claude Code 为例,配置文件在~/.claude/settings.json(全局)或者项目根目录的.mcp.json(项目级)。推荐用项目级配置,避免污染全局环境。
在项目根目录创建.mcp.json,写入:
{ "mcpServers": { "leek-market": { "command": "npx", "args": [ "-y", "@taotoken/mcp-server-leek" ], "env": { "TAOTOKEN_BASE_URL": "https://taotoken.net/api", "TAOTOKEN_API_KEY": "sk-你的Key替换这里", "TAOTOKEN_MODEL": "claude-sonnet-4-20250514" } } } }这里的三件套对应关系要记清楚:TAOTOKEN_BASE_URL填https://taotoken.net/api,注意结尾没有斜杠;TAOTOKEN_API_KEY填你在控制台创建的那个 Key;TAOTOKEN_MODEL填你要用的模型 ID。这三个值缺一不可,少一个就会报 401 或者模型找不到。
如果你用的是 Cline(VS Code 里的 AI 编码插件),配置写在 VS Code 的 settings.json 里:
{ "cline.mcpServers": { "leek-market": { "command": "npx", "args": ["-y", "@taotoken/mcp-server-leek"], "env": { "TAOTOKEN_BASE_URL": "https://taotoken.net/api", "TAOTOKEN_API_KEY": "sk-你的Key替换这里", "TAOTOKEN_MODEL": "claude-sonnet-4-20250514" } } } }Cline 的配置结构和 Claude Code 基本一致,只是外层键名从mcpServers变成了cline.mcpServers。如果你同时用多个 AI 工具,建议把 Key 抽成环境变量,避免每个配置文件里都写一遍明文。
3.3 Codex 的 auth.json 配置
如果你用 Codex CLI,认证信息写在~/.codex/auth.json。这个文件的结构和上面不太一样:
{ "base_url": "https://taotoken.net/api", "api_key": "sk-你的Key替换这里", "model": "claude-sonnet-4-20250514" }注意 Codex 用的是下划线命名base_url和api_key,不是驼峰也不是全大写。填错格式会导致认证失败。改完这个文件后,重启 Codex CLI 让配置生效。
3.4 配置检查清单
在继续下一步之前,对照检查:
- Base URL 是否为
https://taotoken.net/api,没有多余斜杠,没有 UTM 参数 - API Key 是否以
sk-开头,是否完整复制(没有首尾空格) - Model ID 是否在 TaoToken 支持的模型列表里
- JSON 文件是否合法(可以用
jq . 文件名验证) - 环境变量引用是否正确(如果用
${env:VAR}语法,确认变量已导出)
这几点确认无误,就可以进入验证环节了。
4. 验证请求:一次行情刷新与成功回显
配置写完之后,别急着高兴,先验证数据能不能正常拉回来。这一节演示两个验证动作:一是 LEEK 插件本身的行情刷新,二是通过 MCP 让 AI 查询行情。
4.1 验证 LEEK 插件行情刷新
保存好 settings.json 后,VS Code 会自动重载配置。如果没重载,按Ctrl+Shift+P输入Developer: Reload Window手动刷新。
重载完成后,看左侧活动栏,应该能看到一个 LEEK 图标(🥬)。点击它,侧边栏会展开行情面板。如果你在hgleek.watchlist里配了sh600519,面板里应该出现"贵州茅台"这一行,显示当前价、涨跌幅、涨跌额。
如果面板是空的,或者显示"加载中"一直不消失,先检查网络。LEEK 的数据源是东方财富、腾讯证券这些公开接口,正常情况下不需要特殊网络配置就能访问。如果一直加载不出来,打开 VS Code 的输出面板(Ctrl+Shift+U),在右上角下拉框里选 "LEEK",看有没有报错信息。
状态栏也应该出现行情条。看 VS Code 底部,应该能看到类似贵州茅台 1680.00 +1.23%这样的滚动信息。如果状态栏没显示,检查hgleek.statusBar.codes是否配置正确,以及状态栏是否被其他插件挤占(可以右键状态栏,看看 LEEK 的显示项有没有被隐藏)。
点击侧边栏里的任意股票,会打开一个 K 线详情页。这个页面是 Canvas 绘制的,支持分时图、日 K 线、均线叠加、十字光标。鼠标滚轮可以缩放,拖拽可以平移。如果你能看到 K 线图正常渲染,说明数据通道完全打通了。
4.2 验证 MCP 工具调用
LEEK 插件本身能看盘,只完成了一半。接下来验证 MCP 通道,让 AI 助手能查询行情。
如果你用 Claude Code,在项目目录下打开终端,运行:
claude进入交互界面后,输入:
帮我查一下贵州茅台今天的行情,包括当前价、涨跌幅和成交量Claude 会调用leek-market这个 MCP Server,向 TaoToken 的 API 端点发送请求,然后返回行情数据。如果配置正确,你会看到类似这样的回复:
贵州茅台(sh600519)当前价 1680.00 元,涨跌幅 +1.23%,成交量 3.2 万手。如果 Claude 回复"我没有查询股票的工具"或者"无法访问该 MCP Server",说明 MCP 配置没生效。检查.mcp.json是否在项目根目录,以及 Claude Code 是否重启过(MCP 配置变更需要重启才生效)。
如果你用 Cline,在 VS Code 里打开 Cline 面板,输入同样的查询。Cline 会在执行过程中显示它调用了哪个 MCP 工具。如果看到leek-market被调用,并且返回了行情数据,说明通道正常。
4.3 用 curl 直接验证 API 连通性
如果你不想通过 AI 工具,想直接确认 TaoToken 的 API 端点是否可达,可以用 curl 发一个最简单的请求:
curl -X POST https://taotoken.net/api/v1/chat/completions \ -H "Authorization: Bearer sk-你的Key替换这里" \ -H "Content-Type: application/json" \ -d '{ "model": "claude-sonnet-4-20250514", "messages": [{"role": "user", "content": "回复 OK"}], "max_tokens": 10 }'如果返回 JSON 里包含"content": "OK"或者类似的回复,说明 Key 和 Base URL 都没问题。如果返回 401,说明 Key 错了或者没带上;如果返回 404,说明 Base URL 写错了;如果返回 429,说明触发了频率限制,等一会儿再试。
这个 curl 测试很有用,因为它把变量降到了最少:只有 Base URL、Key、Model 三个参数。如果这个能通,但 MCP 工具调不通,那问题就出在 MCP 配置上,而不是 API 通道上。
4.4 成功回显的判断标准
怎么算验证成功?三个标志:
第一,LEEK 侧边栏能看到实时价格,并且每隔 5 秒自动刷新(价格数字会跳动)。第二,状态栏行情条正常显示,颜色随涨跌变化。第三,AI 助手能通过 MCP 查询到行情数据,并给出包含具体数字的回复。
三个都满足,说明从数据源到 TaoToken 到 LEEK 到 AI 助手的整条链路都通了。如果只满足前两个,说明插件本身没问题,但 MCP 配置需要排查。如果只有第三个满足,说明 API 通道没问题,但插件的数据源可能被限流了。
5. 常见报错排查:401、local proxy failed、reading choices、OAuth
配置过程中最容易卡在几个典型报错上。这一节把最常见的四个列出来,给出原因和解决方法。
5.1 401 Unauthorized
报错原文通常是:
Error: 401 Unauthorized {"error":{"message":"Invalid API key","type":"invalid_request_error"}}原因很直接:Key 不对。可能是复制时漏了字符,或者 Key 已经过期/被删除,或者配置文件里引用的环境变量没生效。
排查步骤:先确认 Key 是否以sk-开头,长度是否完整。然后检查配置文件里有没有多余的空格或换行。如果你用的是${env:TAOTOKEN_API_KEY}这种引用方式,在终端里运行echo $TAOTOKEN_API_KEY确认变量确实存在。如果变量是在.bashrc或.zshrc里导出的,确认当前终端会话已经 source 过。
还有一个隐蔽的情况:Key 是对的,但请求发到了错误的端点。比如把 Base URL 写成了https://taotoken.net/api/(结尾多了斜杠),有些 HTTP 客户端会把路径拼成//v1/chat/completions,导致 401。去掉结尾斜杠即可。
5.2 local proxy failed
报错原文:
Error: local proxy failed: dial tcp 127.0.0.1:7890: connect: connection refused这个报错说明你的系统或某个工具配置了本地代理,但代理服务没启动。常见于之前用过其他网络工具,环境变量里残留了HTTP_PROXY或HTTPS_PROXY指向127.0.0.1:7890。
解决方法:检查环境变量,把代理相关的变量清掉。在终端里运行:
unset HTTP_PROXY unset HTTPS_PROXY unset ALL_PROXY然后重启 VS Code 或终端。如果你确实需要代理才能访问外网,那需要确保代理服务正在运行。但 TaoToken 的 API 端点在正常网络环境下可以直接访问,不需要额外代理。如果你遇到这个报错,大概率是历史配置残留,清掉就好。
5.3 reading choices 报错
报错原文:
Error: reading 'choices' - Cannot read properties of undefined (reading 'choices')这个报错通常出现在 AI 工具解析 API 响应时。原因是返回的 JSON 结构不符合 OpenAI 格式,或者请求根本没成功,返回了一个错误对象,但客户端还在尝试读choices字段。
排查方向:先用 4.3 节的 curl 命令直接测试 API,看返回的 JSON 结构是否正确。如果 curl 返回的是{"error": ...},那说明请求本身有问题,先解决请求问题。如果 curl 返回正常但 AI 工具报这个错,那可能是工具的版本太旧,不支持当前的响应格式,升级工具版本试试。
另一个常见原因:Model ID 填错了。比如填了一个 TaoToken 不支持的模型名,API 返回错误,但客户端没正确处理。确认 Model ID 在模型列表里存在。
5.4 OAuth 相关报错
报错原文:
Error: OAuth authentication failed或者:
Error: invalid_grant这个报错通常出现在 Claude Code 或 Codex 的认证环节。原因是这些工具默认走 OAuth 流程,但你配置的是 API Key 认证,两者冲突了。
解决方法:对于 Claude Code,确认你用的是.mcp.json配置 MCP Server,而不是试图用 OAuth 登录。MCP Server 的认证走env里的TAOTOKEN_API_KEY,不需要 OAuth。如果你之前登录过 Anthropic 官方账号,先退出登录,避免凭证冲突。
对于 Codex,检查~/.codex/auth.json的格式是否正确。Codex 支持 API Key 和 OAuth 两种模式,如果你填了api_key字段,它应该走 API Key 模式。如果同时存在 OAuth token 和 API Key,可能会优先用 OAuth,导致认证失败。清空 OAuth 相关字段,只保留base_url、api_key、model三个。
5.5 行情不刷新或显示"数据获取失败"
这个不是 API 报错,而是 LEEK 插件本身的问题。常见原因有三个:
一是刷新间隔设得太短。如果你把hgleek.refreshInterval设成 1 秒,数据源会限流,导致后续请求全部失败。改回 5 秒或更长。
二是自选股代码格式不对。比如把sh600519写成了SH600519(大写),或者漏了前缀。插件对大小写敏感,统一用小写。
三是数据源临时不可用。东方财富、腾讯证券这些接口偶尔会维护,等几分钟再试。如果长时间不恢复,去 GitHub 提 Issue。
5.6 排查顺序建议
遇到问题不要慌,按这个顺序排查:
先跑 curl 测试 API 连通性。如果 curl 不通,问题在 Key 或 Base URL。如果 curl 通了,问题在工具配置。
然后检查 MCP 配置文件的位置和格式。Claude Code 用.mcp.json,Cline 用 settings.json,Codex 用 auth.json,别搞混。
最后检查环境变量和代理设置。清掉不必要的代理变量,确认 Key 没有多余空格。
大部分问题都出在这三步里。如果都排查完还是不行,去 TaoToken 的接入文档页面看看最新配置示例:https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite 。文档会随版本更新,比你手头的旧教程更准。
6. 把行情接进你的 AI 工作流
配置跑通之后,LEEK 加 TaoToken 的组合能做的事情比单纯看盘多得多。
最直接的用法是让 AI 帮你做盘后复盘。收盘后,在 Claude Code 里输入"帮我查一下今天自选股的涨跌情况,按涨跌幅排序,并总结一下哪些板块表现强势"。AI 会通过 MCP 调用 LEEK 的行情工具,拉取你自选列表里的所有标的,然后生成一份结构化的复盘报告。这比你自己一个个点开看效率高得多。
进阶一点,你可以让 AI 写量化脚本。比如"用 Python 写一个脚本,通过 TaoToken 的 API 获取贵州茅台最近 30 天的日 K 线数据,计算 MA5 和 MA20,并画出金叉死叉信号"。AI 会生成代码,你只需要把 API Key 填进去就能跑。因为 TaoToken 的 API 兼容 OpenAI 格式,Python 里用openai库就能直接调用,不需要额外的 SDK。
如果你用 Cline 或 Claude Code 做日常开发,可以把行情查询和编码任务结合起来。比如你在写一个金融相关的项目,需要测试数据,直接让 AI"查一下当前沪深 300 的实时点位,用这个数据填充测试用例"。AI 会调用 MCP 拿到真实行情,然后写进代码里。这种"编码 + 实时数据"的工作流,是传统看盘软件做不到的。
对于长期做量化或高频看盘的用户,建议了解一下 Coding Plan:https://taotoken.net/coding-plan?utm_source=taotoken_aicg_blog_end&utm_content=coding-plan&utm_campaign=rewrite 。它针对高频调用场景做了额度优化,比按量计费更划算。如果你只是偶尔看看行情、跑跑复盘,按量付费完全够用,不用一上来就买套餐。
还有一点值得提:LEEK 的 MCP 工具是标准化的,意味着你可以把它接到任何支持 MCP 的 AI 工具上。今天用 Claude Code,明天换 Cursor,后天试 Cline,配置逻辑都一样——填 Base URL、Key、Model ID 三件套。这种可移植性在快速变化的 AI 工具生态里很实用,不用每换一个工具就重新学一套配置。
最后给一个实用技巧:把常用的行情查询写成 prompt 模板,存在项目里。比如prompts/daily-review.md,内容大概是"查询自选股列表 [sh600519, sz000001, sh000001] 的今日行情,输出表格包含代码、名称、当前价、涨跌幅、成交量,并按涨跌幅降序排列"。下次直接让 AI 读这个文件执行,省去每次重复描述需求的时间。
配置过程中如果遇到问题,优先查接入文档:https://taotoken.net/doc?utm_source=taotoken_aicg_blog_end&utm_content=doc&utm_campaign=rewrite 。文档里有最新的配置示例和常见问题。需要创建新的 API Key 时,去控制台:https://taotoken.net/console/api-keys?utm_source=taotoken_aicg_blog_end&utm_content=api-keys&utm_campaign=rewrite 。想先试试模型对话效果,可以打开:https://taotoken.net/models?utm_source=taotoken_aicg_blog_end&utm_content=models&utm_campaign=rewrite 。
整套流程跑下来,你得到的是一个"编辑器内看盘 + AI 分析"的闭环:LEEK 负责在侧边栏和状态栏安静地显示行情,TaoToken 负责把数据通道和模型调用统一到一个 Key 下面,AI 助手负责在你需要的时候做分析和生成代码。三者各司其职,配置一次,长期可用。