DSH Plugins Marketplace

DSH Plugins

Plugins

/

Development & Infrastructure

/

dsh-soe-decision-check

P

dsh-soe-decision-check

Manifest valid

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

hasBundlePatch

dsh-soe-decision-check

Boundary: this plugin checks a 三重一大决策事项台账 for the procedural trail a register can be held to — that each matter records its proposal and its basis, that a matter marked as pre-studied records a study date, that the pre-study date is not later than the meeting date, that a decision and a vote record exist, that the matter category comes from your vocabulary, that the register names the enterprise and the deciding body, and that numbers are unique. It does not decide whether a decision was compliant, whether authority was exceeded, whether an amount reaches the "large fund operation" threshold, or who is accountable.

⚠️ What this plugin deliberately does not know

What counts as a "三重一大" matter, and at what amount, is set by each enterprise's own implementing measures — and the thresholds differ by industry, level and scale. So this plugin hard-codes no amount threshold and no matter list. Instead:

  • SD-002 reads the register's own 前置研究 column to decide whether a matter needed pre-study, and the values that count as "pre-studied" are configurable.
  • SD-005 requires a vote record only when a decision is recorded, and it does not check whether the votes meet a required proportion — that proportion comes from the implementing measures, and a register rarely records the quorum and voting rule needed to compute it.
  • SD-006's category vocabulary ships empty; with nothing configured it reports itself in skipped.

Every excerpt in the rule pack says, in so many words, that the clause text was not obtained. The regime lives in 《关于进一步推进国有企业贯彻落实"三重一大"决策制度的意见》(中办发〔2010〕17号) and each enterprise's implementing measures. 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.

A further limit worth stating: this checks that the trail exists. A study recorded on the right date does not prove the pre-study was substantive, and the plugin makes no finding about that.

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 year of meetings use ptc

What it does

Registers the soe_decision_check tool. It reads one decision register — the enterprise header plus one row per matter — applies a versioned rule pack, and returns a report.

RuleCheckSeverityBasis kind
SD-001a matter records its proposal or its basiswarnprinciple
SD-002a pre-studied matter records the study datewarnprinciple
SD-003the pre-study date is not later than the meetingwarnprinciple
SD-004a decision is recordedwarnprinciple
SD-005a decided matter records the votewarnprinciple
SD-006the category comes from your vocabulary (off by default)infolocal
SD-007the register names the enterprise and deciding bodywarnprinciple
SD-008matter numbers are uniquewarnprinciple

Install

dsh plugin --profile <name> add dsh-soe-decision-check
dsh --profile <name> --dump-config | grep 'dsh-soe-decision-check'

Configuration

KeyTypeDefaultDescription
rulesFilestringrules/soe-decision-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:

  • SD-002 conditionValues — the values in your 前置研究 column that mark a matter as pre-studied, by default [是, Y, yes, true, 已研究, √].
  • SD-005 conditionField / requiredFields — what triggers the vote requirement; the decision column by default, requiring the vote column.
  • SD-006 values — your matter categories, e.g. [重大决策, 重要人事任免, 重大项目安排, 大额度资金运作]. Empty means no check.
  • SD-007 fields — the header fields that must be present; enterprise and deciding body by default. Add meetingNo if your register records the meeting number in the header.

Material format

The tool accepts JSON or YAML:

company: 某某集团有限公司
body: 党委会
meetingNo: 2026 年第 3 次
rows:
  - { 序号: '1', 决策事项: 某某技改项目立项, 事项类别: 重大项目安排,
      议题内容: 提请审议某某技改项目立项及投资概算,
      决策依据: 公司"三重一大"决策制度实施办法第 12 条, 涉及金额: 4800万元,
      前置研究: 是, 前置研究日期: 2026-02-20, 会议日期: 2026-03-05,
      决议结论: 同意立项,投资概算控制在 4800 万元以内,
      表决结果: 应到 9 人,实到 9 人,同意 9 票, 承办部门: 发展策划部 }

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. Dates may be 2026-03-05 or 2026-03-05 09:30.

Rule sources

Rule data lives in rules/soe-decision-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

  • SD-006 never runs. Its vocabulary is empty. What counts as a "三重一大" matter is your implementing measures' business, and the plugin will not impose a list.
  • SD-002 reports itself as skipped. No row is marked as pre-studied. If your register uses different wording for that column, widen conditionValues.
  • SD-003 fires on a pre-study I know happened. The two dates disagree. Either the study date or the meeting date is wrong, or the row belongs to a later meeting.
  • SD-005 fires although the vote passed easily. It checks that a vote is recorded, not that it reached a proportion. Whether the proportion was met needs the quorum and the voting rule.
  • SD-008 fires on one matter twice. Deliberating the same matter at several meetings is normal; distinguish the rows by meeting number rather than reusing the sequence number.
  • 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-soe-decision-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-soe-decision-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-soe-decision-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