跳到主要内容

dsh-plugin-tushare

已验证

dsh-plugin-tushare · v0.1.0 · MIT

Shared Tushare Pro access for DeepSeek Harness finance plugins: one token, one per-interface quota gate, one trading calendar, and errors that tell an agent whether the token lacks permission or the quota just needs a moment.

安装

dsh plugin add dsh-plugin-tushare

dsh --profile default --dump-config 确认 layer 已生效 —— 参见安装指南

源码

发布到 npm 但没有公开仓库。安装前请检查包内容。

标签

说明文档

dsh-plugin-tushare

English | 中文

本仓库金融插件共用的 Tushare Pro 接入。它提供 tushare 服务, 不注册任何工具——模型不会直接调用它。

装一次、配一次 token,所有金融插件共用。

dsh plugin --profile web add dsh-plugin-tushare
- id: tushare
  config:
    token: '你的 tushare token'

为什么要一个共享 provider

每个金融插件当然可以各带一个 token 字段,但那样用户要把同一个 token 粘四遍;更要命的 是——Tushare 按账号计量配额,而四个插件各算各的限流,四个都"守规矩"地压着上限, 合起来照样超。

一个服务意味着一份 token、一个配额闸、一份交易日历。

Tushare 是免费的吗

Tushare Pro 账号免费注册,但接口按积分开放,积分来自注册、活跃或付费。大致是:

档位 本仓库用到的接口
basic —— 入门账号即可 trade_calstock_basicdaily
points —— 需要更高积分 daily_basicincomebalancesheetcashflowfina_indicatorexpressmoneyflowtop_listhsgt_top10moneyflow_hsgtcb_basiccb_dailystk_holdernumber

这些门槛 Tushare 会调整,所以上表是说明,不是判据。真正权威的是你拿到的报错—— 它写着当前的积分要求。ctx.tushare.access(apiName) 返回档位,便于工具提前提示。

失败时告诉 agent 什么

Tushare 对每一次调用都返回 HTTP 200、把失败写在 body 里,而且三个毫不相干的问题 都以同一个 code: 40203 出现。本客户端把它们分开,因为处置方式完全相反:

类型 含义 agent 应该做什么
no-token 未配置,或 token 被拒 让用户去设置一个有效的 token
access-denied token 积分不够,访问不了这个接口 如实上报——重试和换措辞都没用
rate-limited 每分钟配额用尽(已退避重试过) 等一会,或收窄请求范围
provider-error Tushare 拒绝了这个请求本身 通常是参数错,属于 bug
transport 请求根本没拿到应答 网络问题,重试可能有用

access-deniedno-token 的文案会明确要求 agent 不得替换或编造数据。这句话 之所以存在,是因为反面情形被真实观察到过:只被告知"数据不可用"时,agent 从别处凑出 数字,然后自信地给了答案。接口不可用必须终止任务,而不是改道绕行。

服务接口

ctx.tushare.configured                      // boolean:配了 token 吗?
ctx.tushare.access(apiName)                 // 'basic' | 'points' | undefined
ctx.tushare.query({ apiName, params, fields, signal })   // → 行数组,失败抛 TushareError
ctx.tushare.tradeDates({ endDate, count, signal })       // → ['20260810', …] 升序

消费方声明 inject: ['tools', 'systemPrompt', 'tushare'],沿用 dsh 自身能力的 provider/consumer 拆分方式(dsh-bash-local + dsh-tool-bash)。它们需要本插件已安装 才会加载。

窗口按交易日计数,取自交易所日历——日历算术没法告诉你某个周一是不是休市。

许可

MIT