DeepSeek Harness Plugin

PerryLink/dsh-ap-three-way

Stars ★ 0 Downloads (30d) 1,415 Category Workflow & Automation Added 2026-11-02 npm dsh-ap-three-way

Accounts-payable three-way match: import invoices, purchase orders and goods receipts, apply the tolerance policy and export the exception workpaper — 4 `ap.*` tools.

Install

# from npm (prebuilt)

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

# from GitHub (first run asks for allowBuilds approval — follow the hint, retry)

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

Any plugin you install runs third-party code with your own permissions — it can read your files, use your credentials, and reach the network, and tool approvals don’t sandbox it. GitHub-sourced plugins also run build scripts at install time — pnpm blocks those until you allow them, so an install can stop with ERR_PNPM_GIT_DEP_PREPARE_NOT_ALLOWED or ERR_PNPM_IGNORED_BUILDS; dsh prints the exact key to add under allowBuilds in your profile’s pnpm-workspace.yaml, and the install works on the next run. Allowing a build is a trust decision: only install sources you trust, and pin a commit (github:owner/repo#sha).

README

dsh-ap-three-way

Official repository. The only official repository of this package, maintained by PerryLink. Same-name repositories under other accounts are not affiliated. Apache-2.0.

CI DSH Market

AP invoice/PO/GRN three-way match with tolerance policy and exception workpaper.

Status: alpha / public-synthetic / partial / not counted / not GA. No customer evidence, customer data, or production-readiness claim.

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

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

⭐ If this helps, a star makes it easier for the next person to find it. Nothing is gated behind it.

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

Workflow: local input → plugin → local output. No model call is required.

Real dsh-ap-three-way terminal output

Real local test run; no model or network call.

Install

Install and verify:

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

Uninstall:

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

Install channels

npm is the recommended channel; the others are for pinning or offline use.

  • npm (recommended): dsh plugin --profile <profile> add dsh-ap-three-way
  • git channel: 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 store: npm i -g dsh1024 then dsh1024 plugin --profile <profile> add dsh-ap-three-way

What it does

AP invoice/PO/GRN three-way match with tolerance policy and exception workpaper. Runs locally on DeepSeek Harness. The table below is the exact tool surface; the examples use the real command surface.

Input and output stay local; nothing is uploaded.

Tools

Tool names and descriptions are kept in English to match the runtime output.

Tool Purpose Risk
ap.import Import invoice, PO and GRN rows R1 local write
ap.import_invoice_xml Import an invoice XML fixture R1 local write
ap.match Three-way match with a 1% default price tolerance and quantity checks R0
ap.export Export Matches/Exceptions xlsx R1 local write

Quick start

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

Examples

Fixture-backed example

Input: fixtures/public/mit/invoice-github-sample.xml

Command: pnpm test

Acceptance row:

req_id metric threshold actual pass source counted
SKU-05-A01 发票行解析 20/20 20 true public/synthetic false

This is a fixture-backed acceptance row, not a customer run; no output is invented.

Limits

  • Public/synthetic only; no customer data or customer evidence.
  • Alpha/partial, not counted, no GA or production-readiness claim.
  • No model or network call unless a tool explicitly says so.
  • The exact per-tool boundaries are in the table and ACCEPTANCE.csv.

Public sample

Public/synthetic fixtures live in fixtures/; ACCEPTANCE.csv records the public checks with counted=false.

Development

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

Compatibility

Surface Status
Harness dsh >=0.2.1-rc.3 <0.3.0
Node >=24.9.0 <25
Platforms All; local files only
Data No network, no model call, no upload

Permissions & data

  • Runs locally; no network, no model call, no upload.
  • Public/synthetic fixtures only; no customer data, no customer evidence.
  • Alpha/partial; not counted, no GA or production-readiness claim.

Related work

Sibling packages and family indexes: dsh-einvoice · dsh-bankrec · dsh-travel-recon · dsh-finops-suite

Related checkers

Each entry is a separate package with its own rule pack and version; install only the ones you need.

Package Why it is relevant
dsh-invoice-ledger Invoice-side duplicate and arithmetic checks before or after the three-way match.
dsh-excel-reconcile Fallback two-table alignment when PO/GRN data arrives as flat files.

Family

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

License

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

Content from the project README on GitHub ↗

Links

More in this category

View the whole category →

Comments are public GitHub Discussions. Loading them connects to GitHub and Giscus; a GitHub account is required to post.