DSH Plugins Marketplace

DSH Plugins

Plugins

/

Development & Infrastructure

/

dsh-learning-gap-check

P

dsh-learning-gap-check

Manifest valid

???????????(??????????????????????,?????,???????)

hasBundlePatch

dsh-learning-gap-check

Boundary: this plugin checks a 能力差距与培养计划台账 for arithmetic and closure — that each gap names its position and competency, that the two level columns parse as numbers, that the gap equals required minus actual, that a gap beyond your threshold carries a development action, that an action names an owner and a due date, that the completion date is not later than the deadline, and that the action status comes from your vocabulary. It does not decide whether an employee is competent, whether an assessment was objective, whether a development action worked, or whether someone should be reassigned or dismissed.

⚠️ What this plugin deliberately leaves out

It ships no competency scale, and it assumes the levels are numbers. LG-002 and LG-003 read three numeric columns and check the arithmetic between them. A register using letter grades (A/B/C) or words (熟练/掌握) is reported as unparseable, because comparing such levels is a modelling decision the plugin will not make for you. Convert the scale, or disable those rules.

It ships no threshold for "big enough to need action". How much of a gap obliges a development action is the institution's talent-management call — some units require one for any shortfall, others tolerate a step — so LG-004's threshold starts at 0 and the rule reports itself in skipped until you set it.

The status vocabulary ships empty for the same reason. And the date rule checks only that the deadline does not precede the completion date, which is a data-entry property: it does not judge whether the work was done late.

Every excerpt in the rule pack says, in so many words, that the clause text was not obtained. The regime lives in GB/T 19025 (identical to ISO 10015) and each institution's qualification and training rules. The verification pass could not retrieve verbatim clause text, so the pack states the gap in the excerpt field itself and keeps every rule at warn or info. When the texts are in hand, replace each excerpt with the real clause and raise kind to direct.

Compatibility

SurfaceStatus
HarnessPeer range >=0.1.2-rc.1 <0.2.0 || >=0.2.0-0 <0.3.0 — verified to accept both 0.2.0-rc.2 and 0.2.1-alpha.1. engines.dsh is deliberately not declared: it has no reader and cannot reject a host
Node`^22.19.0
PlatformsAll (plain ESM; no native code, no network, no model call)
Tool modeWorks in native, ptc and both; for a department's plan use ptc

What it does

Registers the learning_gap_check tool. It reads one gap-and-plan register — the employee header plus one row per competency — applies a versioned rule pack, and returns a report.

RuleCheckSeverityBasis kind
LG-001the position and competency are recordedwarnprinciple
LG-002the actual level parses as a numberwarnprinciple
LG-003the gap equals required minus actualwarnprinciple
LG-004a gap beyond your threshold carries an action (off by default)infolocal
LG-005an action names an owner and a due datewarnprinciple
LG-006the deadline does not precede the completion datewarnprinciple
LG-007the status comes from your vocabulary (off by default)infolocal

Install

dsh plugin --profile <name> add dsh-learning-gap-check
dsh --profile <name> --dump-config | grep 'dsh-learning-gap-check'

Configuration

KeyTypeDefaultDescription
rulesFilestringrules/learning-gap-check.yamlRule-pack path, relative to the package root
disabledRulesstring[][]Rule ids to stop running; each appears in skipped
onlyRulesstring[][]Run only these rule ids; empty runs every rule
skipNotesstring""Note appended to every skipped reason
timeoutMsnumber120000Cooperative tool timeout budget

Rule-level parameters worth knowing:

  • LG-003 resultField / expression / tolerance — the gap arithmetic, requiredLevel − actualLevel by default with no tolerance. A negative result is reported as-is, since it may mean the columns were transposed.
  • LG-004 triggerField / threshold / requiredField — your rule for when an action becomes mandatory. A threshold of 0 means the rule does not run; 1 means a gap of one step or more.
  • LG-005 conditionField / requiredFields — what triggers the owner-and-deadline requirement.
  • LG-007 values — your status vocabulary, e.g. [未开始, 进行中, 已完成, 已验收]. Empty means no check.

Material format

The tool accepts JSON or YAML:

employee: 张工
department: 设备部
plan: 2026 年度能力提升计划
cycle: 2026 上半年
rows:
  - { 序号: '1', 岗位: 设备工程师, 能力项: 设备故障诊断, 要求等级: '4',
      现有等级: '2', 差距等级: '2', 评估方法: 实操考核 + 主管评价,
      评估日期: 2026-03-01, 培养措施: 安排为期三个月的现场带教与故障复盘,
      责任人: 李主管, 完成期限: 2026-06-30, 完成日期: 2026-06-20,
      状态: 进行中, 评估人: 王经理 }

Column names are matched case-insensitively and ignoring spaces, underscores and hyphens; the register's own column names are kept, so a finding names the column it read.

Rule sources

Rule data lives in rules/learning-gap-check.yaml. The pack's header states the citation gap in full, and each rule's note repeats the part that matters for that rule. The load-time guard that normally enforces "an excerpt must be a real quotation of at least eight characters" cannot tell a quotation from a description — so this pack leans on the header, the per-rule notes and a test that asserts every excerpt admits the gap.

Troubleshooting

  • LG-002 fires on my 熟练 levels. The plugin assumes numeric levels so it can check the arithmetic. Convert the scale, or disable LG-002 and LG-003.
  • LG-003 fires with a negative "should be". The actual level exceeds the required one. Either the columns were transposed or the row records an over-qualified person; decide which and correct the data or disable the rule.
  • LG-004 never runs. Its threshold is 0; set the gap size at which an action becomes mandatory.
  • LG-006 fires although the work finished on time. The rule compares the deadline against the completion date, so a completion before the deadline means the two columns are transposed. It makes no finding about lateness.
  • LG-007 never runs. Its vocabulary is empty; fill it with your statuses.
  • The plugin installs but the tool never appears. Check that main resolves to lib/index.mjs and that pnpm run build produced it; a wrong main makes the loader skip the entry silently.
  • dsh plugin add refuses the package as incompatible. The peer range covers 0.1.x and 0.2.x; if your runtime sits outside it, grant an explicit exemption: dsh plugin --profile <name> allow-version dsh-learning-gap-check@0.1.0 --dsh-version <runtime> --accept-risk
  • check reports manifest-peers as failed. The static checker compares against a hard-coded peer range that predates the 0.2 line. The runtime enforces peer compatibility at install time, so the declared range is the correct one; this is a known upstream issue in dsh-plugin-dev.

Development

pnpm install
pnpm run typecheck   # tsc --noEmit
pnpm test            # vitest, the shared table-plugin suite plus paired fixtures
pnpm run build       # tsdown -> lib/index.mjs + lib/index.d.mts
node ../scripts/sync-shared.mjs dsh-learning-gap-check   # refresh src/shared from ../_shared

The plugin is data-only: src/model.ts declares the table shape, the shared kit supplies the reader and the check engine, and the rule pack declares every check.

License

Apache License 2.0 © 2026 dsh-learning-gap-check contributors.

Comments

Loading…

From the same category

awesome-dsh-plugin

by awesome-dsh-plugin

A curated list of plugins for DeepSeek Harness (dsh) · DeepSeek Harness 插件精选列表

Development & Infrastructure

★ 18.3k

CC0-1.0

Python

Oct 10, 2026

Index only — not installable

by 0xsline

DeepSeek Harness (DSH) ecosystem: curated plugins, tools, and infrastructure from dsh-external/hub and the public dsh-plugin topic.

Development & Infrastructure

★ 1.2k

CC0-1.0

Python

Oct 10, 2026

Index only — not installable

by pax-beehive

Open-source CLI, schemas, resolver, and DSH agent tools for DSH Plugin Hub

Development & Infrastructure

★ 450

MIT

TypeScript

Oct 6, 2026

Index only — not installable

by xiajiajun516

DeepSeek Harness (DSH) backup & restore plugin — export, import, migrate and sync your complete DSH configuration, plugins, MCP servers, skills and workspace. One-click migration to another machine.

Development & InfrastructureManifest valid

★ 176

MIT

TypeScript

Oct 8, 2026

dsh plugin --profile web add dsh-config-manager

by yjh051108

推荐组件(非必须):DeepSeek Harness 运行时注入器;已随 dsh-routing-suite 单仓库化保留,本仓库继续维护/发布。

Development & InfrastructureManifest valid

★ 164

TypeScript

Sep 18, 2026

dsh plugin --profile web add @dsh-external/dsh-super-injector

by jigjoy-ai

A CLI that turns a goal into a pull request - and a sandbox for testing concurrent AI coding agents on the Mozaik runtime.

Development & Infrastructure

★ 124

MIT

TypeScript

Oct 2, 2026

Index only — not installable