DeepSeek Harness Plugin Hub

Publish and manage complete Harness Profiles. Discover Plugins for your next setup.

Explore

PluginsPresetsDocsNews

Community

Publish a pluginContactReport an issue

Resources

Plugin Hub on GitHubDeepSeek HarnessSystem statusPrivacy notice
© 2026 DeepSeek Harness Plugin HubPowered byPaxTech

Independent and unofficial. Not affiliated with, authorized by, or endorsed by DeepSeek.

Checkdigit — DSH Plugin for DeepSeek Harness
DeepSeek Harness Plugin Hub
ProfilesPluginsCategoriesNewsDocsSign inManage Profiles
ProfilesPluginsCategoriesNewsDocsSign in
← Plugins
C

dsh-checkdigit

Checkdigit

Check-digit mathematics toolbox for DeepSeek Harness (dsh): generate, validate and detect check digits for Luhn, Verhoeff, Damm, ISBN-10/13, EAN-8/13, UPC-A, ISIN, CUSIP, IBAN, CAS Registry Number and ABA routing number, plus ISBN-10 <-> ISBN-13 conversion — zero runtime dependencies

The plugin will be installed here. Keep web if you are unsure.

npx -y @deepseek-ai/dsh plugin --profile web add github:TYEclipse/dsh-checkdigit#b20ac9e4b120ce492ff1d44ee5276db1ba5369bc
READMECompatibilityVersions

Compatibility and provenance

Checkdigit is published as dsh-checkdigit and currently resolves to version 0.2.3. The Hub verifies its manifest and preserves the exact installation source for reproducible installs.

DSH compatibility
*
Runtime surfaces
any
Release source
github
Registry updated
9/10/2026

Versions

0.2.3stable
9/10/2026
0.2.0stable
9/3/2026
0.1.0stable
8/23/2026

Related plugins

Loading related plugins…

Latest
0.2.3
DSH
*
HMR
Process restart
Tree shaking
Safe tree shaking not declared
Unpacked size
Unavailable
Files
Unavailable
Surface
any
License
MIT
Source
github
GitHub
★ 0
Weekly downloads
0
View source ↗
README badge

Click the badge to copy Markdown for your README.

Do you maintain this Plugin?Claim benefit · Priority security scan

Verify the GitHub repository declared in package.json to manage this listing. After you claim it, Hub will prioritize a security scan of the current version and publish the result when it passes.

Claim this Plugin →
Report an issue

Related plugins

More verified plugins in developer-tools.

Web App@deepseek-ai/dsh-web-appThe dsh browser-surface bundle: the web patch layer over dsh-base plus the runtime glue plugin (frontend dist serving, web-surface prompt, bash runtime variables, URL line)Sdk Minimal@deepseek-ai/dsh-sdk-minimalThe standalone minimal SDK profile bundle: JSON-RPC, one DeepSeek adapter, persistent shell, and JSONL sessionsSdk App@deepseek-ai/dsh-sdk-appThe dsh SDK profile bundle: stdio JSON-RPC serving and process lifecycle over dsh-baseSubagent Codex@deepseek-ai/dsh-subagent-codexOne-shot Codex subagent provider over the official app-server protocol

README

dsh-checkdigit

Check-digit mathematics toolbox for DeepSeek Harness (dsh): generate, validate and detect check digits for 13 schemes — Luhn, Verhoeff, Damm, ISBN-10, ISBN-13, EAN-8, EAN-13, UPC-A, ISIN, CUSIP, IBAN, CAS Registry Number and ABA routing number — plus an ISBN-10 ⇄ ISBN-13 converter.

校验位数学工具箱:生成 / 验证 / 识别 13 种校验位(Luhn、Verhoeff、Damm、ISBN、EAN、UPC、ISIN、CUSIP、IBAN、CAS 化学文摘号、ABA 美国银行路由号),另带 ISBN-10 与 ISBN-13 互转工具;零运行时依赖、纯本地算术。

Why

Language models routinely botch check-digit arithmetic: wrong card-number checksums, ISBNs that fail validation, IBANs with impossible check digits. Every algorithm here is implemented from its published specification with pure integer arithmetic — deterministic, offline, zero runtime dependencies — and cross-checked against published worked examples (Apple's US0378331005, the classic GB82 WEST 1234 5698 7654 32, the Luhn textbook example 79927398713, water's CAS number 7732-18-5, and more).

Install

dsh plugin --profile web add github:TYEclipse/dsh-checkdigit

Then add dsh-checkdigit to dsh.profile.bundles in your profile's package.json if it is not auto-activated, and restart dsh.

Tools

checkdigit_generate

Compute the check digit for a payload and return the complete identifier.

checkdigit_generate(scheme="luhn", payload="7992739871")
→ checkDigit: "3", complete: "79927398713"

Supported scheme values and their payloads:

schemepayloadcheck digitexample complete
luhndigits (any length ≥ 1)last digit79927398713
verhoeffdigits (any length ≥ 1)last digit2363
dammdigits (any length ≥ 1)last digit5724
isbn109 digits10th char (0-9 or X)0306406152
isbn1312 digits13th digit9780306406157
ean87 digits8th digit96385074
ean1312 digits13th digit4006381333931
upca11 digits12th digit036000291452
isin2 letters + 9 alphanumerics12th char (digit)US0378331005
cusip8 chars from [A-Z0-9*@#]9th char (digit)037833100
iban2-letter country + BBANchars 3–4 (two digits)GB82WEST12345698765432
cas2–9 digits (hyphens ignored)last digit7732-18-5
aba8 digits9th digit021000021

Use it to build test card numbers, ISBNs, barcodes, securities identifiers, routing numbers or account numbers whose check digits actually verify.

checkdigit_validate

Verify the check digit of a full identifier. The scheme is auto-detected when omitted (CAS hyphenated → ISIN → 9-digit ABA → CUSIP → IBAN → EAN-13 → UPC-A → EAN-8 → ISBN-10 → Luhn); pass scheme to force one.

checkdigit_validate(value="GB82WEST12345698765432")
→ valid: true, scheme: "iban", iban.country: "GB", iban.formatted: "GB82 WEST 1234 5698 7654 32"

checkdigit_validate(value="7732-18-5")
→ valid: true, scheme: "cas", checkDigit: "5"

checkdigit_validate(value="021000021")
→ valid: true, scheme: "aba", checkDigit: "1"

checkdigit_validate(value="79927398714")
→ valid: false, scheme: "luhn", checkDigit: "4", expected: "3",
  detail: "Luhn: check digit should be 3, but the value ends in 4"

Spaces and dashes in the input are ignored. When a value is invalid, the result carries the expected check digit so callers can fix it programmatically.

checkdigit_info

Describe the supported schemes: identifier lengths, payload formats, check-digit positions and worked examples. Call with a scheme for one scheme, or without arguments for all 13.

isbn_convert

Convert between ISBN-10 and ISBN-13 in both directions. The source check digit is verified first; the 978 Bookland prefix is prepended (10→13) or dropped (13→10) and the target check digit recomputed. Hyphen grouping from the input is preserved in formatted.

isbn_convert(isbn="0-306-40615-2")
→ valid: true, direction: "to13", converted: "9780306406157", formatted: "978-0-306-40615-7"

isbn_convert(isbn="978-0-306-40615-7")
→ valid: true, direction: "to10", converted: "0306406152", formatted: "0-306-40615-2"

isbn_convert(isbn="9791090636071")
→ valid: false, error: "ISBN-13 with the 979 prefix has no ISBN-10 equivalent; only the 978 Bookland prefix maps back to ISBN-10"

ISBN-10 check digits may be X (value 10): 0-8044-2957-X → 978-0-8044-2957-3.

Supported schemes

SchemeStandardDetail
LuhnISO/IEC 7812Credit/debit cards, IMEI, loyalty cards
Verhoeff—Dihedral-group checksum; catches all single errors and adjacent transpositions
Damm—Quasigroup operation; full-value tally must be zero
ISBN-10ISO 2108Mod-11; check digit may be X (= 10)
ISBN-13ISO 2108EAN-13 arithmetic (Bookland)
EAN-8 / EAN-13GS1 GTIN-8 / GTIN-13Retail barcodes
UPC-AGS1 GTIN-12North American retail barcodes
ISINISO 6166Securities; letters expand A=10…Z=35, then Luhn
CUSIPANSI X9.6North American securities; * @ # allowed; even positions doubled
IBANISO 13616Mod-97 over letter-expanded rearranged string; BBAN length table for 75+ countries
CAS Registry NumberCASChemical substances; digit × position-from-right sum mod 10
ABA routing numberUS Federal ReserveBank routing transit numbers; 3-7-1 weighted sum mod 10

Development

pnpm install
pnpm build
pnpm test   # 67 tests, anchors cross-checked against published worked examples
pnpm lint

License

MIT