PerryLink/dsh-nsfc-form-check ↗★ 0

dsh-nsfc-form-check

国家自然科学基金申请书形式审查与匿名化提示(依据《国家自然科学基金条例》与申请人导入的当年指南,仅提示差异,不作出定性结论) 适合科研管理人员及申请人,用于基金申请书的形式审查。

パッケージ
dsh-nsfc-form-check
互換性
未検証
Harness ピア範囲
>=0.1.2-rc.1 <0.2.0 || >=0.2.0-0 <0.3.0
Cordis ピア範囲
^4.0.2
バージョン
0.2.1
ライセンス
NOASSERTION
最終更新
2026/10/08

インストール

$npx -p @deepseek-ai/dsh dsh plugin --profile web add github:PerryLink/dsh-nsfc-form-check

ドキュメント

README 全文を読む ↗

Configuration

Every tunable lives in the Schemastery schema in src/config.ts. The roster is the one thing this plugin cannot work without: an identity check needs a list of the terms to look for, and that list is institution-specific, so it stays in the deployment's own configuration rather than travelling with the package.

KeyTypeDefaultDescription
rulesFilestringrules/nsfc-form-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
authorNamesstring[][]Applicant names to look for
institutionNamesstring[][]Institution and unit names to look for
advisorNamesstring[][]Advisor names to look for
allowListstring[][]Terms to ignore even when they match
timeoutMsnumber120000Cooperative tool timeout budget

Rule-level parameters worth knowing:

  • NF-009 coverLines — how many leading lines count as the cover page. Empty means the plugin does not assume any institution's template.
  • NF-010 maxLines / maxChars — the length limit for the year and project type you are filing under. maxLines counts extracted paragraphs, which is not the same as typeset pages.
  • NF-011 require — your form-review item list, as [{ label, match }] pairs.
  • NF-012 markerPatterns / requiredDisclosure — how a repeat proposal is recognised in your template, and what it must disclose.
  • NF-014 requireMention + advisorNames — the inverse check, off until you enable it for the year.
  • NF-015 secretTerms — your confidentiality office's term list. The plugin ships none, because what counts as classified is defined by state secrecy rules, not by this plugin.