dsh-wind-finance:Wind 金融分析能力独立打包与按日去重

前言

在智能体与后台脚本并行使用 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。

配置

凭据不随包分发,按以下顺序解析:

  1. 环境变量 WIND_API_KEY(或 WIND_MCP_TOKEN);
  2. 宿主 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 仓库。

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

Xiaoye