前言¶
在 DeepSeek Harness(DSH)里做 A 股相关能力时,常见做法是插件自带行情、看板或转发接口。智能体拿到的往往是「有数」,但同一份 PE/PB 序列或三张报表,不同实现可能给出相反结论:负 PE 被当成历史极低、样本过短仍报精确分位、周期股只靠 PE、亏损却显示零条红旗等。维护者 SunnyRad 把 dsh-a-share-toolkit 做成「能力型、不取数」的插件:行情与财报由调用方自备(如 Tushare Pro、问财或自导出 CSV),插件只做分位计算与规则化体检,全程离线,计算侧仅用 Python 标准库。下文介绍定位、工具列表、安装方式、数据契约与使用边界。
这是什么¶
dsh-a-share-toolkit 面向 DSH 的模型推理类插件,将 A 股估值历史分位体检与个股财务报表体检封装为 4 个可直接调用的 Harness 工具,并附带 2 个 runtime skill。它不抓取、不转发、不缓存任何行情或估值数据;输出为统计口径下的分位与校验结果,以及单文件自包含 HTML 报告(可本地双击打开,无外部请求)。仓库:https://github.com/SunnyRad/dsh-a-share-toolkit;社区目录页:https://www.skillhub.cn/plugins/SunnyRad/dsh-a-share-toolkit。许可协议为 MIT;package.json 中版本为 0.1.0,要求 Node >=22。
核心功能¶
插件注册的工具如下。
| 工具 | 作用 |
|---|---|
a_share_valuation_checkup |
将 PE/PB/PS 历史序列换算为历史分位,生成 HTML 报告 |
a_share_valuation_contract |
打印估值分析所需的输入契约 |
a_share_financial_checkup |
读取利润表、资产负债表、现金流量表,生成财务体检 HTML 报告 |
a_share_financial_contract |
打印财务体检所需的输入契约 |
另有 runtime skill:a-share-valuation-percentile、a-share-financial-checkup。
与「带数据源的 A 股看板」不同,本插件不解决「没数据」,而针对「算错」做了显式规则。README 中列举的若干陷阱及处理方式包括:亏损公司负 PE 判为指标不适用并引导看 PB;历史样本少于 250 个交易日拒绝出分位、少于 750 则标注仅供参考;PE 与 PB 分位相差超过 40 个百分点时按周期特征切换主判断指标;净利为负计入红旗;小基数同比在占比过低时不计为真缺陷;金融业等场景下跳过不适用的毛利率类指标。
安装与启用¶
下面是在指定 profile 下从 GitHub 安装官方文档给出的命令:
dsh plugin --profile <name> add github:SunnyRad/dsh-a-share-toolkit
本地已有包目录时,也可通过 plugin_manager install_bundle,target 传入包目录绝对路径。
安装前宜自行查看仓库源码与 LICENSE,并记住:插件在当前 dsh 进程权限下运行;本仓库不包含任何内置数据源域名,也不会代你拉行情。
数据契约与典型用法¶
两个体检工具均不取数。需要先看清字段要求时,调用对应的 *_contract 工具即可打印完整契约。
估值输入 —— 一段 PE/PB/PS 历史序列,建议 750 个交易日以上。示例结构:
{
"code": "600519.SH",
"source": "Tushare Pro(用户自有凭据)",
"history": [
{"date": "2026-11-09", "pe_ttm": 20.5, "pb_mrq": 6.1}
]
}
亏损公司的 PE 为负数时应照原样传入,不要改成 0 或删掉;插件会识别指标失效并剔除。
财务输入 —— 三张报表,建议 8 期以上:
{
"code": "600519.SH",
"source": "Tushare Pro(用户自有凭据)",
"unit": "yuan",
"income": [{"report_date": "2026-09-30", "revenue": 1.231e11, "net_profit": 6.08e10}],
"balance": [{"report_date": "2026-09-30", "total_assets": 3.0e11, "total_liab": 6.0e10}],
"cashflow": [{"report_date": "2026-09-30", "cfo": 5.2e10}]
}
source 为必填项,报告会原样印出,用于标明数据由谁提供。
典型流程可以是:1、用自有渠道准备 JSON 或 data_path 指向的文件;2、先调 a_share_valuation_contract 或 a_share_financial_contract 核对字段;3、再调 a_share_valuation_checkup 或 a_share_financial_checkup 生成 HTML。端到端调用在仓库 check.py 的注册与 schema 测试中有所覆盖,开发者可参考 README 中的测试说明。
适用场景与注意¶
适合:已在智能体或流水线中具备 A 股数据源(Tushare、问财、CSV 导出等),希望在 DSH 内做离线估值分位与财报规则体检、且不希望插件触碰外网的场景。
不适合:期望插件内置行情、自动拉 K 线或估值序列的场景——本插件明确不提供数据。
边界(来自 README):不生成交易建议;报告为本地 HTML,无外部请求。DSH 生态理念是「一切皆插件」;社区目录 skillhub.cn 为独立站点,与 DeepSeek / 幻方无官方从属关系,本文不把该目录描述为官方应用商店。
维护者若改动 assets/ 下 Python,需执行 python -X utf8 sync_assets.py 以按内容哈希保持插件运行时与产品源一致。
结尾¶
dsh-a-share-toolkit 把 A 股「分位怎么算、报表怎么检」从数据源里拆出来,用契约化输入和显式规则降低结论反转风险。安装命令以 README 为准;进一步了解工具行为与测试闸,见 GitHub 仓库 SunnyRad/dsh-a-share-toolkit 与目录页 skillhub.cn/plugins/SunnyRad/dsh-a-share-toolkit。