DeepSeek Harness 插件

PerryLink/dsh-ap-three-way

Star 数 ★ 0 下载量(近 30 天) 1,415 分类 工作流与自动化 收录于 2026-11-02 npm dsh-ap-three-way

应付三单匹配:导入发票、采购订单与收货单,按容差策略匹配并导出异常底稿——4 个 `ap.*` 工具。

安装

# npm 包(预构建)

dsh plugin --profile web add dsh-ap-three-way

# GitHub 源码(首次需按提示配置 allowBuilds 构建授权后重试)

dsh plugin --profile web add github:PerryLink/dsh-ap-three-way

装任何插件都等于在你的机器上跑第三方代码,权限和你本人一样大——能读你的文件、用你的凭据、访问网络,工具审批管不到它。GitHub 来源的插件还会在安装时执行构建脚本——pnpm 默认拦截,所以安装可能停在 ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED 或 ERR_PNPM_IGNORED_BUILDS;dsh 会打印出需要添加的确切键名,把它加进该 profile 的 pnpm-workspace.yaml 的 allowBuilds 下,重跑一次即可装上。放行构建本身就是一次信任判断:请只安装可信来源,并尽量锁定 commit(github:owner/repo#sha)。

README

dsh-ap-three-way

官方仓库。 本包唯一官方仓库,由 PerryLink 维护;其他账号下的同名仓库与本项目无关。Apache-2.0。

CI DSH Market

发票/PO/GRN 三单匹配、容差与例外底稿。

状态:alpha / 公开合成 / partial / not counted / 非 GA。 不含客户证据、客户数据,也不作生产可用声明。

English · 简体中文 · Español · Português · हिन्दी

dsh plugin --profile <profile> add dsh-ap-three-way

⭐ 如果它帮到了你,点个 star 会让下一个人更容易找到它;没有任何功能被 star 解锁。

Workflow diagram for dsh-ap-three-way: local input, plugin, local output.

工作流:本地输入 → 插件 → 本地输出;不需要调用模型。

Real dsh-ap-three-way terminal output

本地真实测试运行;不调用模型或网络。

一句话

把发票、采购单与收货单逐行比对,列出可过账行和全部例外。

适合 / 不适合

  • 适合:几十到几百行的发票、采购单(PO)、收货单(GRN)CSV;需要按容差给出「可过账 / 例外」清单并留底稿的应付对账。
  • 不适合:需要自动过账、修改供应商主数据或替代审批的场景;本包只做本地匹配,不改任何单据。

输入

  • 发票 CSV:UTF-8,表头 supplier,invoice_no,po_no,line_no,qty,unit_price,amount(invoice_no 可省略)。
  • 采购单 CSV:po_no,line_no,qty,unit_price,amount;收货单 CSV:po_no,line_no,qty。
  • 发票 XML:根节点 <Invoice>,含 Seller/Name 与 Items/Item(Quantity / UnitPrice / Amount)。
  • 金额最多两位小数;建议单个文件 ≤5 MB。自带样例在 samples/quickstart/input/(合成数据,远小于 500 KB)。

输出

  • 终端摘要:可过账几行、例外几行,默认价格容差 1%。
  • 底稿:$DSH_HOME/storages/dsh-ap-three-way/exports/ap-<时间戳>.xlsx,工作表 Matches / Exceptions。
  • 原文件不会被修改。

示例

直接复制这句话:

帮我用自带样例做一次发票、采购单、收货单三单匹配,把能过的和例外分别列出来。

也可以自己跑(真实运行,截图即来自这条命令):

node samples/quickstart/run.mjs

dsh-ap-three-way quickstart 真实运行输出

合成样例 → 金标 samples/quickstart/expected/result.json;命令与哈希见 screenshots.json。

权限

  • 读:你指定的发票 / 采购单 / 收货单 CSV 与发票 XML(由会话读取后作为参数传入);不读其他目录
  • 写:$DSH_HOME/storages/dsh-ap-three-way(匹配状态与 exports/*.xlsx);不改原文件
  • 联网:否(源码中没有 HTTP / DNS / WebSocket 调用)
  • 外部系统:无(不连接 ERP / 供应商系统,不上传数据)

写文件的工具标 R1(本地写),只读工具标 R0;逐项见下方工具表。

FAQ

装不上怎么办?

确认 DSH >=0.2.1-rc.3 <0.4.0、Node >=24.9 <25,并用全新的 DSH_HOME 重试;完整步骤见 TROUBLESHOOTING.md。

价格在 1% 以内,为什么还是例外?

默认容差只放宽「单价」,数量超过收货单(qty_over_grn)仍然算例外;需要放宽时可显式传 price_bps / qty_bps 调容差,并保留策略参数。

能处理我的真实发票吗?

可以本地运行,但本包是 alpha、只用公开/合成数据验证,不构成审计或付款结论;使用真实数据前请脱敏,并保留复核人。

会联网或上传数据吗?

不会。工具、样例和导出都在本机完成。

版本

  • 当前版本:0.1.0(与 package.json 一致)
  • 测试:node --test test/*.test.mjs 全绿(26 个用例,0 失败)

安装

安装并验证:

dsh plugin --profile <profile> add dsh-ap-three-way
dsh --profile <profile> --dump-config | grep dsh-ap-three-way

卸载:

dsh plugin --profile <profile> remove dsh-ap-three-way

安装通道

推荐 npm;其他通道用于固定版本或离线。

  • npm(推荐): dsh plugin --profile <profile> add dsh-ap-three-way
  • git 通道: dsh plugin --profile <profile> add github:PerryLink/dsh-ap-three-way
  • tarball: pnpm pack then dsh plugin --profile <profile> add ./dsh-ap-three-way-<version>.tgz
  • 1024 商店: npm i -g dsh1024 then dsh1024 plugin --profile <profile> add dsh-ap-three-way

它做什么

发票/PO/GRN 三单匹配、容差与例外底稿。 在 DeepSeek Harness 本地运行;下表就是实际工具面,示例使用真实命令面。

输入和输出都留在本地,不上传。

工具

工具名是稳定 API;说明已本地化。

工具 用途 风险
ap.import 导入发票、PO 和 GRN 行 R1 local write
ap.import_invoice_xml 导入发票 XML 测试样例 R1 local write
ap.match 执行三单匹配,默认价格容差 1%,并校验数量(写入匹配与例外) R1 local write
ap.export 导出 Matches/Exceptions xlsx R1 local write
ap.tolerance_match 按可配置容差(bps)重算三单匹配,只读 R0
ap.duplicate_check 检测重复发票行,只读 R0

快速开始

dsh plugin --profile <profile> add dsh-ap-three-way
dsh --profile <profile> --dump-config | grep dsh-ap-three-way

验收示例(fixture + 快速开始)

  • 快速开始:samples/quickstart/(合成数据)→ node samples/quickstart/run.mjs,金标 samples/quickstart/expected/result.json。
  • fixture:fixtures/public/mit/invoice-github-sample.xml(公开 MIT 样本)。
  • 验收:node scripts/acceptance.mjs,明细见 ACCEPTANCE.csv。
req_id metric threshold actual pass source counted
SKU-05-A01 发票行解析 20/20 20 true public/synthetic false
PS1-QS01 quickstart 样例与金标一致 1/1 1 true synthetic/quickstart true

SKU 行是公开/合成 fixture 检查;PS1-QS01 是随包样例的本地复现,均非客户运行。

边界

  • 仅公开/合成样例;不含客户数据或客户证据。
  • alpha/partial、not counted,不作 GA 或生产可用声明。
  • 除非工具明确说明,否则不调用模型、不联网。
  • 每个工具的精确边界见工具表与 ACCEPTANCE.csv。

公开样例

公开/合成 fixture 在 fixtures/;自带快速开始样例在 samples/quickstart/(随包发布,≤500 KB)。ACCEPTANCE.csv 中 SKU 行 counted=false,PS1-QS01 为样例本地复现 counted=true。

开发

pnpm install --frozen-lockfile
pnpm build && pnpm lint && pnpm typecheck && pnpm test

兼容性

维度 状态
Harness dsh >=0.2.1-rc.3 <0.3.0
Node >=24.9.0 <25
Platforms All; local files only
数据 No network, no model call, no upload

权限与数据

  • 本地运行;不联网、不调用模型、不上传。
  • 只使用公开/合成 fixture;不含客户数据或客户证据。
  • alpha/partial;not counted,不作 GA 或生产可用声明。

相关项目

兄弟包与家族索引: dsh-einvoice · dsh-bankrec · dsh-travel-recon · dsh-finops-suite

相关核查器(英文表): Related checkers.

家族

Package npm
dsh-einvoice npm
dsh-docx-redline npm
dsh-policy-ledger npm
dsh-ghg npm
dsh-bankrec npm
dsh-ap-three-way npm
dsh-ifc-qto npm
dsh-qms-capa npm
dsh-legal-intake npm
dsh-legal-clause npm
dsh-freight-audit npm
dsh-hs-candidate npm
dsh-travel-recon npm
dsh-pim-lint npm
dsh-eval-pack npm
dsh-finops-suite npm
dsh-contract-suite npm
Package npm
dsh-aqua-input-check npm
dsh-archive-check npm
dsh-bid-ca-precheck npm
dsh-bid-qual-check npm
dsh-contract-stance npm
dsh-customs-doc-check npm
dsh-demurrage-ledger npm
dsh-drill-script-check npm
dsh-eia-guide-check npm
dsh-emergency-plan npm
dsh-essay-rubric-check npm
dsh-evidence-check npm
dsh-export-ctl-check npm
dsh-fmea-table-check npm
dsh-forecast-penalty npm
dsh-gongwen-flow-check npm
dsh-gongwen-word-check npm
dsh-guard-plan-qc npm
dsh-hazchem-check npm
dsh-hazplan-check npm
dsh-hidden-risk-map npm
dsh-hs-classify npm
dsh-icd-rule-check npm
dsh-lawcite-adapter npm
dsh-lc-doc-check npm
dsh-learning-gap-check npm
dsh-medrec-qc npm
dsh-nsfc-form-check npm
dsh-nurse-record-check npm
dsh-origin-rvc-check npm
dsh-ota-review-check npm
dsh-paper-doc-adapter npm
dsh-permit-report-check npm
dsh-pipeline-check npm
dsh-pleading-draft npm
dsh-policy-brief-draft npm
dsh-power-loss-split npm
dsh-power-ticket-check npm
dsh-ppap-check npm
dsh-protest-deadline npm
dsh-railway-window npm
dsh-repair-order-qc npm
dsh-review-reply-check npm
dsh-rulefile-check npm
dsh-safety-brief-check npm
dsh-site-log-check npm
dsh-soe-decision-check npm
dsh-soilwater-check npm
dsh-sop-sync-check npm
dsh-spc-gbt-adapter npm
dsh-tender-extract npm
dsh-tender-matrix npm
dsh-warranty-calc npm
dsh-auto-review npm
dsh-autotier npm
dsh-budget npm
dsh-cert-mcp npm
dsh-checkpoint-rewind npm
dsh-claude-move npm
dsh-click npm
dsh-composer-history npm
dsh-data-quality npm
dsh-defend npm
dsh-doublecheck npm
dsh-draw npm
dsh-fast npm
dsh-fund-research npm
dsh-industry-research npm
dsh-laya npm
dsh-library npm
dsh-local-ai npm
dsh-lsp-actions npm
dsh-mask npm
dsh-mcp-panel npm
dsh-memento npm
dsh-observe npm
dsh-output-styles npm
dsh-permission-rules npm
dsh-plugin-guide npm
dsh-plugin-upgrade npm
dsh-reach npm
dsh-research-report npm
dsh-score npm
dsh-session-sync npm
dsh-talk npm
dsh-test-drive npm
dsh-translate npm
npm
npm
npm
npm
npm

许可证

Apache-2.0. See LICENSE, NOTICE, THIRD-PARTY-NOTICES.

内容来自项目 README(GitHub)↗

链接

同类插件

查看整个分类 →

评论公开保存在 GitHub Discussions。加载评论会连接 GitHub 和 Giscus;发表内容需要 GitHub 账号。