前言¶
在智能体与后台脚本并行使用 Wind 数据时,常见的问题是同一份数据当天被取两次、额度白烧,或者交互式对话与脚本走了不同通道,导致行为不一致。此外,有时会用网页抓取或模型记忆凑答案,数据来源不可控。本插件把这三类问题收进一个入口:一个宿主工具 wind_finance,负责路由到正确的 Wind 数据域、执行取数,并维护按日回执与缓存,避免同一天重复调用同一数据集。
它是什么¶
- 定位:把 Wind 金融分析能力打包成 DSH 独立 bundle,注册一个宿主工具
wind_finance。 - 维护者:zirscard。
- 核心能力:
- 路由:按自然语言定位到正确的 Wind 工具;
- 执行:通过 Wind 元路由 MCP 端点取数(批处理时可切换到 CLI 目录);
- 按日去重:维护当日回执与缓存,命中时返回缓存结果,不消耗额度。
- 零依赖:宿主侧无 npm 依赖,仅使用 Node 内置模块。
安装与启用¶
从目录或仓库地址安装:
dsh plugin add <本插件目录或仓库地址>
或从发布 tarball 安装:
dsh plugin add https://github.com/<owner>/dsh-wind-finance/releases/download/v0.1.0/dsh-wind-finance.tgz
安装后,宿主会注册 wind_finance 工具,并向 system prompt 注入路由说明。agent 侧的完整操作口径见 SKILL.md。
配置¶
凭据不随包分发,按以下顺序解析:
- 环境变量
WIND_API_KEY(或WIND_MCP_TOKEN); - 宿主 profile patch 中已配置的
wind-tools凭据(只读读取,不复制、不打印)。
设置环境变量:
export WIND_API_KEY='<your-token>'
可选环境变量:
| 变量 | 默认 | 说明 |
|---|---|---|
WIND_API_KEY |
— | Wind API 凭据,首选 |
WIND_MCP_TOKEN |
— | WIND_API_KEY 的别名 |
WIND_MCP_ENDPOINT |
https://mcp.wind.com.cn/vserver_wind_tools/mcp/ |
私有化部署时的元路由端点 |
WIND_MCP_SKILL_DIR |
~/.agents/skills/wind-mcp-skill |
批处理模式使用的 CLI 目录 |
DSH_HOME |
~/.dsh |
宿主 home,回执与缓存写在其下 |
典型用法¶
交互式对话模式:
// 1) 定位工具
{ "question": "贵州茅台最新成交价和涨跌幅" }
// 2) 执行取数
{ "tool_name": "get_stock_price_indicators",
"params": { "windcode": "600519.SH", "indexes": "中文简称,最新成交价,涨跌幅" } }
批处理(定时任务 / 脚本):
{ "mode": "batch", "server_type": "stock_data",
"tool_name": "get_stock_price_indicators",
"params": { "windcode": "600519.SH" } }
返回中的 cached: true 表示命中当日回执,结果来自当天早先的取数,不是估算值。
状态文件¶
插件运行时会在 $DSH_HOME/wind-finance/ 下写入回执与缓存:
$DSH_HOME/wind-finance/
receipts/<YYYY-MM-DD>.json # 当天每次调用的回执(成功/失败、耗时、工具名)
cache/<YYYY-MM-DD>/*.json # 对应的响应缓存,供当天复用
回执与缓存写在插件包之外,不污染包目录,也不会被打进发布产物。
验证与发布前检查¶
本地语法检查:
node --check index.js
node --check runner.js
node test/smoke.mjs # 离线:结构与契约检查
WIND_SMOKE_LIVE=1 node test/smoke.mjs # 联机:真实取一次数
发布前检查项(来自 README):
- 无本机绝对路径、无客户名、无凭据、无
__pycache__/ 二进制; node --check通过,test/smoke.mjs全绿;WIND_API_KEY未出现在任何提交文件中。
许可与依赖¶
- 许可证:MIT。
- 依赖:宿主侧零 npm 依赖,只用 Node 内置模块。
- Wind 数据服务由 Wind 官方提供,凭据与调用额度由使用者自行申请,详见 THIRD_PARTY_NOTICES.md。
适用场景与注意¶
- 适合需要稳定、统一、可审计的 Wind 金融数据链路的智能体与后台脚本场景。
- 插件以当前 dsh 进程权限运行,安装前应检查源码与许可证。
- 凭据不随包分发,需自行通过环境变量或宿主 profile 配置。
短结尾¶
本插件将 Wind 金融分析能力打包为一个独立 bundle,提供路由、取数与按日去重,避免重复调用同一数据集。更多细节见目录页与 GitHub 仓库。