前言¶
DeepSeek Harness(DSH)的插件生态旨在扩展工具能力。处理发票(特别是中文电子发票)通常涉及手动录入或复杂的 Excel 操作。目前,该垂直方向缺乏现成的解决方案。dsh-invoice-tools 是一个原生 DSH 工具,旨在解析发票 PDF(XML 附件优先或文本层正则兜底)并生成报销单。
安装与前置要求¶
本插件依赖相邻的 dsh-src 检出(link: 依赖)。在安装插件之前,请确保官方 DeepSeek Harness 源码已检出并构建。
# 1. 先检出并构建 dsh-src
git clone https://github.com/deepseek-ai/deepseek-harness.git dsh-src
cd dsh-src
pnpm install && pnpm run build
# 2. 安装本插件
dsh plugin add
核心功能¶
该插件提供两个主要工具:invoice_parse 和 invoice_summary。
invoice_parse¶
用于单张或批量发票解析。
* XML 优先:读取 PDF 内嵌的结构化 XML。
* 文本层兜底:如果没有 XML,使用正则匹配票号和金额。
* 勾稽校验:自动验证 价税合计 == 金额 + 税额。
* 置信度标注:根据来源标记解析质量(高/中/低)。
invoice_summary¶
用于汇总结算并生成报销单。
* 分类:根据 categories 参数映射发票到类别(如差旅、办公)。
* 重复检测:检测重复的发票号码和金额。
* 输出:生成 Markdown 或 xlsx 文件。
使用示例¶
解析单张发票¶
invoice_parse path='invoices/电子发票_2024.pdf'
解析目录¶
invoice_parse path='invoices/'
生成报销单(默认 Markdown)¶
invoice_summary
生成报销单并指定类别¶
invoice_summary out='both' categories='{"发票号码123...":"差旅","文件B.pdf":"办公"}'
生成 xlsx 报销单¶
invoice_summary files='["invoices/A.pdf","invoices/B.pdf"]' out='md'
# xlsx 文件将以 base64 文本形式落盘
技术细节与限制¶
- 依赖:插件依赖相邻的
dsh-src检出(link:依赖)。 - 文件限制:单文件读取上限 16MB;目录扫描递归深度上限 3。
- 扫描件处理:纯扫描件(图片/无文本层 PDF)会返回明确的“跳过原因”,不会中断批量处理。
- xlsx 落盘:由于 DSH 文件系统服务仅提供文本信道,xlsx 输出以 base64 文本形式写入
.b64文件。解码方式如下:
base64 -d 报销单-20260823.xlsx.b64 > 报销单-20260823.xlsx
- 隐私:不上传任何查验接口,数据仅在本地处理。
适用场景¶
适用于需要自动化发票处理流程的 DSH 用户。要求输入为标准的中文电子发票 PDF 或图片。不依赖 OCR,纯结构化解析。