dsh-cn-disclosure:零依赖本地优先的 A股 公告/年报 结构化抽取

在 DeepSeek Harness (DSH) 的插件生态中,处理 A股 公告主要面临两类痛点:一是依赖外部 API 获取摘要,同质化严重;二是缺乏本地结构化抽取能力,难以直接用于事件研究。经过检索,目前 GitHub 上缺乏通用的本地 A股 披露结构化抽取器。本文介绍 helibeiqi/dsh-cn-disclosure,这是一个 dsh bundle,旨在将自由文本的公告或年报片段转换为事件研究可用的结构化字段。

定位与核心差异

本插件专注于“本地优先的 A股 披露结构化抽取”这一细分领域。与现有的“公告抓取+摘要”类 MCP 不同,它不依赖外部 API,不抓取网页,完全在本地运行。

核心差异在于:
1. 零依赖与隐私:无 API key,无需联网,文档与 PII 不出机。
2. 格式容忍:对自由文本做正则扫描,不假设固定的公司或版式结构,适应 A股 各公司披露格式不一的现实。
3. 面向事件研究:输出包含披露类型、方向、日期、金额、比例、股数等字段,可直接喂给事件研究流水线。

内置能力与数据规模

插件内置了一套规则集,覆盖了常见的披露场景:
* 17 种披露事件类型:涵盖业绩预告/快报、业绩变脸、分红、回购、增/减持、解禁、重组、并购、定增、担保、诉讼、中标、重大合同、停牌复牌、股权激励、高管变动等。
* 9 种字段抽取规则:支持日期、金额(亿/万)、百分比、同比、每股收益、每股分红、股数等字段的提取。

所有规则存储在 data/disclosure-rules.json 中,可扩展。

工具清单

插件提供 5 个 MCP 工具,用于不同的处理阶段:

  • extract_disclosure:主工具。对披露文本做全量结构化(分类 + 字段 + 事件)。
  • classify_disclosure:仅做披露类型分类,返回命中类型、方向及匹配词。
  • extract_events:抽取事件研究可用的事件列表。
  • extract_from_file:读取本地文件(.txt/.md/.html,HTML 自动去标签)后抽取。
  • disclosure_stats:查看规则集的规模概览。

所有工具返回 UTF-8 JSON 文本。

安装与启用

本仓库是一个 dsh bundle。你需要将 cordis.patch.yml 合并进你的 dsh profile,从而注册为一个 mcp server。

  1. 克隆仓库。
  2. 编辑 cordis.patch.yml。
  3. 合并进 dsh profile。
  4. 重启 dsh 进程。

安装后的配置示例(请根据本机路径修改):

- insert:
    - path: plugins.mcp-servers
      items:
        - id: mcp-cn-disclosure
          name: A股信息披露结构化抽取
          transport: stdio
          command: !!js process.env.QUANT_MCP_NODE || process.execPath
          args:
            - "C:\\Users\\helib\\dsh-cn-disclosure\\cn-disclosure-mcp-server.mjs"
          cwd: "C:\\Users\\helib\\dsh-cn-disclosure"
          enabled: true

命令使用 !!js process.env.QUANT_MCP_NODE || process.execPath,可免疫本机 Node 版本目录漂移。

部署完成后,可在本地运行 python _selftest.py 进行独立验证。

典型用法

场景 1:减持公告
输入文本:“拟减持不超过1200万股(占总股本3.5%)…”
调用 extract_disclosure,返回结果可包含 events[decrease],字段为 shares=12,000,000 股, pct=3.5%, date。

场景 2:年报摘要
输入文本:“业绩和分红…”
调用 extract_disclosure,可同时提取 events[earnings_pre](营收/净利/同比)和 events[dividend](每10股派5元)。

扩展与维护

如需覆盖更多披露场景,无需修改代码。直接编辑 data/disclosure-rules.json:
* event_types:定义披露事件类型。
* field_patterns:定义字段抽取的正则与单位。

修改后重启 server 即生效。

已知局限

  1. 扫描版 PDF:对扫描版 PDF 需先转文本(可用 pdfplumber 或手动复制),插件只处理文本。
  2. 数值识别:数值为字面正则识别,未做会计口径校验(如“扣非 vs 归母”需人工复核)。
  3. 多事件并列:当公告中包含多个事件(如“减持 + 诉讼”)时,均会列出,由调用方按类型取舍。

总结

dsh-cn-disclosure 为 DSH 用户提供了一个低成本、高隐私的 A股 公告结构化解决方案。它适合需要本地处理大量披露文本、进行事件研究的场景。代码托管在 GitHub 上,遵循 MIT 许可证。

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

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

小夜