dsh-crwu-workbench 0.0.10

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (479) hide show
  1. package/CHANGELOG.md +1516 -0
  2. package/LICENSE +26 -0
  3. package/README.en.md +204 -0
  4. package/README.md +521 -0
  5. package/SECURITY.md +39 -0
  6. package/bin/darwin-arm64/crwu +0 -0
  7. package/bin/darwin-arm64/dws +0 -0
  8. package/bin/darwin-arm64/ossutil +0 -0
  9. package/bin/manifest.json +82 -0
  10. package/bin/win32-x64/crwu.exe +0 -0
  11. package/bin/win32-x64/dws.exe +4 -0
  12. package/bin/win32-x64/ossutil.exe +0 -0
  13. package/common/skills/.synced.json +8 -0
  14. package/common/skills/crwu-dws/SKILL.md +208 -0
  15. package/common/skills/crwu-dws/references/00-/347/233/256/345/275/225/345/277/253/347/205/247schema.md +113 -0
  16. package/common/skills/crwu-dws/references/01-/345/256/241/346/240/270/344/270/213/350/275/275/344/270/216manifest/350/247/204/350/214/203.md +115 -0
  17. package/common/skills/crwu-dws/references/02-/347/274/223/345/255/230/344/270/216/345/205/234/345/272/225/346/237/245/346/211/276/350/247/204/350/214/203.md +119 -0
  18. package/common/skills/crwu-dws/scripts/test_dws_source_contract.py +493 -0
  19. package/common/skills/crwu-h3yun-login/SKILL.md +130 -0
  20. package/common/skills/crwu-h3yun-query/SKILL.md +192 -0
  21. package/config/crwu-workbench.yml +26 -0
  22. package/cordis.patch.yml +46 -0
  23. package/lib/client.js +10346 -0
  24. package/lib/index.js +11584 -0
  25. package/package.json +119 -0
  26. package/scripts/prepare.mjs +59 -0
  27. package/skills/README.md +26 -0
  28. package/skills/crwu/crwu-audit/SKILL.md +152 -0
  29. package/skills/crwu/crwu-audit/references/00-input-and-route-profile.md +232 -0
  30. package/skills/crwu/crwu-audit/references/01-report-id-resolution.md +13 -0
  31. package/skills/crwu/crwu-audit/references/02-scope-classification.md +25 -0
  32. package/skills/crwu/crwu-audit/references/03-asset-classification.md +27 -0
  33. package/skills/crwu/crwu-audit/references/04-business-classification.md +63 -0
  34. package/skills/crwu/crwu-audit/references/05-method-classification.md +66 -0
  35. package/skills/crwu/crwu-audit/references/06-overlay-classification.md +42 -0
  36. package/skills/crwu/crwu-audit/references/07-skill-registry.md +57 -0
  37. package/skills/crwu/crwu-audit/references/08-union-dispatch-rules.md +142 -0
  38. package/skills/crwu/crwu-audit/references/09-review-risk-classification.md +85 -0
  39. package/skills/crwu/crwu-audit/references/10-capability-gap-proposal.md +68 -0
  40. package/skills/crwu/crwu-audit/references/11-html-delivery-spec.md +881 -0
  41. package/skills/crwu/crwu-audit/references/12-leaf-common-contract.md +202 -0
  42. package/skills/crwu/crwu-audit/references/13-dingtalk-result-publish.md +88 -0
  43. package/skills/crwu/crwu-audit/references/14-orchestration-workflow.md +52 -0
  44. package/skills/crwu/crwu-audit/references/99-maintenance.md +62 -0
  45. package/skills/crwu/crwu-audit/scripts/README.md +157 -0
  46. package/skills/crwu/crwu-audit/scripts/audit_delivery.py +2736 -0
  47. package/skills/crwu/crwu-audit/scripts/audit_result.schema.json +1659 -0
  48. package/skills/crwu/crwu-audit/scripts/examples/audit-result.sample.json +739 -0
  49. package/skills/crwu/crwu-audit/scripts/fetch_review_records.py +85 -0
  50. package/skills/crwu/crwu-audit/scripts/media_extract.py +513 -0
  51. package/skills/crwu/crwu-audit/scripts/prepare_materials.py +1252 -0
  52. package/skills/crwu/crwu-audit/scripts/test_audit_delivery.py +1678 -0
  53. package/skills/crwu/crwu-audit/scripts/test_audit_multiaxis_router.py +1339 -0
  54. package/skills/crwu/crwu-audit/scripts/test_fetch_review_records.py +77 -0
  55. package/skills/crwu/crwu-audit/scripts/test_media_extract.py +332 -0
  56. package/skills/crwu/crwu-audit/scripts/test_prepare_materials.py +1081 -0
  57. package/skills/crwu/crwu-audit/template/audit-report.html +435 -0
  58. package/skills/crwu/crwu-audit-asset-asset-group-goodwill/SKILL.md +38 -0
  59. package/skills/crwu/crwu-audit-asset-asset-group-goodwill/references/00-applicability.md +28 -0
  60. package/skills/crwu/crwu-audit-asset-asset-group-goodwill/references/01-kb-assembly.md +31 -0
  61. package/skills/crwu/crwu-audit-asset-asset-group-goodwill/references/02-review-focus.md +21 -0
  62. package/skills/crwu/crwu-audit-asset-asset-group-goodwill/references/03-common-contract.md +202 -0
  63. package/skills/crwu/crwu-audit-asset-debt/SKILL.md +38 -0
  64. package/skills/crwu/crwu-audit-asset-debt/references/00-applicability.md +40 -0
  65. package/skills/crwu/crwu-audit-asset-debt/references/01-kb-assembly.md +41 -0
  66. package/skills/crwu/crwu-audit-asset-debt/references/02-review-focus.md +54 -0
  67. package/skills/crwu/crwu-audit-asset-debt/references/03-common-contract.md +202 -0
  68. package/skills/crwu/crwu-audit-asset-enterprise-value/SKILL.md +38 -0
  69. package/skills/crwu/crwu-audit-asset-enterprise-value/references/00-applicability.md +31 -0
  70. package/skills/crwu/crwu-audit-asset-enterprise-value/references/01-kb-assembly.md +35 -0
  71. package/skills/crwu/crwu-audit-asset-enterprise-value/references/02-review-focus.md +33 -0
  72. package/skills/crwu/crwu-audit-asset-enterprise-value/references/03-common-contract.md +202 -0
  73. package/skills/crwu/crwu-audit-asset-equipment/SKILL.md +38 -0
  74. package/skills/crwu/crwu-audit-asset-equipment/references/00-applicability.md +40 -0
  75. package/skills/crwu/crwu-audit-asset-equipment/references/01-kb-assembly.md +39 -0
  76. package/skills/crwu/crwu-audit-asset-equipment/references/02-review-focus.md +52 -0
  77. package/skills/crwu/crwu-audit-asset-equipment/references/03-common-contract.md +202 -0
  78. package/skills/crwu/crwu-audit-asset-intangible/SKILL.md +38 -0
  79. package/skills/crwu/crwu-audit-asset-intangible/references/00-applicability.md +36 -0
  80. package/skills/crwu/crwu-audit-asset-intangible/references/01-kb-assembly.md +40 -0
  81. package/skills/crwu/crwu-audit-asset-intangible/references/02-review-focus.md +68 -0
  82. package/skills/crwu/crwu-audit-asset-intangible/references/03-common-contract.md +202 -0
  83. package/skills/crwu/crwu-audit-asset-inventory/SKILL.md +38 -0
  84. package/skills/crwu/crwu-audit-asset-inventory/references/00-applicability.md +28 -0
  85. package/skills/crwu/crwu-audit-asset-inventory/references/01-kb-assembly.md +31 -0
  86. package/skills/crwu/crwu-audit-asset-inventory/references/02-review-focus.md +21 -0
  87. package/skills/crwu/crwu-audit-asset-inventory/references/03-common-contract.md +202 -0
  88. package/skills/crwu/crwu-audit-asset-mining-right/SKILL.md +38 -0
  89. package/skills/crwu/crwu-audit-asset-mining-right/references/00-applicability.md +31 -0
  90. package/skills/crwu/crwu-audit-asset-mining-right/references/01-kb-assembly.md +35 -0
  91. package/skills/crwu/crwu-audit-asset-mining-right/references/02-review-focus.md +33 -0
  92. package/skills/crwu/crwu-audit-asset-mining-right/references/03-common-contract.md +202 -0
  93. package/skills/crwu/crwu-audit-asset-other/SKILL.md +38 -0
  94. package/skills/crwu/crwu-audit-asset-other/references/00-applicability.md +28 -0
  95. package/skills/crwu/crwu-audit-asset-other/references/01-kb-assembly.md +31 -0
  96. package/skills/crwu/crwu-audit-asset-other/references/02-review-focus.md +21 -0
  97. package/skills/crwu/crwu-audit-asset-other/references/03-common-contract.md +202 -0
  98. package/skills/crwu/crwu-audit-asset-portfolio/SKILL.md +38 -0
  99. package/skills/crwu/crwu-audit-asset-portfolio/references/00-applicability.md +28 -0
  100. package/skills/crwu/crwu-audit-asset-portfolio/references/01-kb-assembly.md +31 -0
  101. package/skills/crwu/crwu-audit-asset-portfolio/references/02-review-focus.md +21 -0
  102. package/skills/crwu/crwu-audit-asset-portfolio/references/03-common-contract.md +202 -0
  103. package/skills/crwu/crwu-audit-asset-realestate/SKILL.md +38 -0
  104. package/skills/crwu/crwu-audit-asset-realestate/references/00-applicability.md +43 -0
  105. package/skills/crwu/crwu-audit-asset-realestate/references/01-kb-assembly.md +75 -0
  106. package/skills/crwu/crwu-audit-asset-realestate/references/02-review-focus.md +93 -0
  107. package/skills/crwu/crwu-audit-asset-realestate/references/03-common-contract.md +202 -0
  108. package/skills/crwu/crwu-audit-asset-scrap-materials/SKILL.md +38 -0
  109. package/skills/crwu/crwu-audit-asset-scrap-materials/references/00-applicability.md +28 -0
  110. package/skills/crwu/crwu-audit-asset-scrap-materials/references/01-kb-assembly.md +31 -0
  111. package/skills/crwu/crwu-audit-asset-scrap-materials/references/02-review-focus.md +21 -0
  112. package/skills/crwu/crwu-audit-asset-scrap-materials/references/03-common-contract.md +202 -0
  113. package/skills/crwu/crwu-audit-asset-transport-equipment/SKILL.md +38 -0
  114. package/skills/crwu/crwu-audit-asset-transport-equipment/references/00-applicability.md +31 -0
  115. package/skills/crwu/crwu-audit-asset-transport-equipment/references/01-kb-assembly.md +35 -0
  116. package/skills/crwu/crwu-audit-asset-transport-equipment/references/02-review-focus.md +33 -0
  117. package/skills/crwu/crwu-audit-asset-transport-equipment/references/03-common-contract.md +202 -0
  118. package/skills/crwu/crwu-audit-biz-asset-operation/SKILL.md +38 -0
  119. package/skills/crwu/crwu-audit-biz-asset-operation/references/00-applicability.md +30 -0
  120. package/skills/crwu/crwu-audit-biz-asset-operation/references/01-kb-assembly.md +32 -0
  121. package/skills/crwu/crwu-audit-biz-asset-operation/references/02-review-focus.md +42 -0
  122. package/skills/crwu/crwu-audit-biz-asset-operation/references/03-common-contract.md +202 -0
  123. package/skills/crwu/crwu-audit-biz-consulting-review/SKILL.md +38 -0
  124. package/skills/crwu/crwu-audit-biz-consulting-review/references/00-applicability.md +30 -0
  125. package/skills/crwu/crwu-audit-biz-consulting-review/references/01-kb-assembly.md +32 -0
  126. package/skills/crwu/crwu-audit-biz-consulting-review/references/02-review-focus.md +40 -0
  127. package/skills/crwu/crwu-audit-biz-consulting-review/references/03-common-contract.md +202 -0
  128. package/skills/crwu/crwu-audit-biz-financial-reporting/SKILL.md +38 -0
  129. package/skills/crwu/crwu-audit-biz-financial-reporting/references/00-applicability.md +41 -0
  130. package/skills/crwu/crwu-audit-biz-financial-reporting/references/01-kb-assembly.md +40 -0
  131. package/skills/crwu/crwu-audit-biz-financial-reporting/references/02-review-focus.md +64 -0
  132. package/skills/crwu/crwu-audit-biz-financial-reporting/references/03-common-contract.md +202 -0
  133. package/skills/crwu/crwu-audit-biz-financing-debt/SKILL.md +38 -0
  134. package/skills/crwu/crwu-audit-biz-financing-debt/references/00-applicability.md +31 -0
  135. package/skills/crwu/crwu-audit-biz-financing-debt/references/01-kb-assembly.md +34 -0
  136. package/skills/crwu/crwu-audit-biz-financing-debt/references/02-review-focus.md +47 -0
  137. package/skills/crwu/crwu-audit-biz-financing-debt/references/03-common-contract.md +202 -0
  138. package/skills/crwu/crwu-audit-biz-investment-capital/SKILL.md +38 -0
  139. package/skills/crwu/crwu-audit-biz-investment-capital/references/00-applicability.md +31 -0
  140. package/skills/crwu/crwu-audit-biz-investment-capital/references/01-kb-assembly.md +34 -0
  141. package/skills/crwu/crwu-audit-biz-investment-capital/references/02-review-focus.md +47 -0
  142. package/skills/crwu/crwu-audit-biz-investment-capital/references/03-common-contract.md +202 -0
  143. package/skills/crwu/crwu-audit-biz-judicial-liquidation-compensation/SKILL.md +38 -0
  144. package/skills/crwu/crwu-audit-biz-judicial-liquidation-compensation/references/00-applicability.md +30 -0
  145. package/skills/crwu/crwu-audit-biz-judicial-liquidation-compensation/references/01-kb-assembly.md +32 -0
  146. package/skills/crwu/crwu-audit-biz-judicial-liquidation-compensation/references/02-review-focus.md +40 -0
  147. package/skills/crwu/crwu-audit-biz-judicial-liquidation-compensation/references/03-common-contract.md +202 -0
  148. package/skills/crwu/crwu-audit-biz-tax-history/SKILL.md +38 -0
  149. package/skills/crwu/crwu-audit-biz-tax-history/references/00-applicability.md +29 -0
  150. package/skills/crwu/crwu-audit-biz-tax-history/references/01-kb-assembly.md +30 -0
  151. package/skills/crwu/crwu-audit-biz-tax-history/references/02-review-focus.md +33 -0
  152. package/skills/crwu/crwu-audit-biz-tax-history/references/03-common-contract.md +202 -0
  153. package/skills/crwu/crwu-audit-biz-transaction-disposal/SKILL.md +38 -0
  154. package/skills/crwu/crwu-audit-biz-transaction-disposal/references/00-applicability.md +31 -0
  155. package/skills/crwu/crwu-audit-biz-transaction-disposal/references/01-kb-assembly.md +34 -0
  156. package/skills/crwu/crwu-audit-biz-transaction-disposal/references/02-review-focus.md +47 -0
  157. package/skills/crwu/crwu-audit-biz-transaction-disposal/references/03-common-contract.md +202 -0
  158. package/skills/crwu/crwu-audit-datacheck/SKILL.md +59 -0
  159. package/skills/crwu/crwu-audit-datacheck/references/00-KB/350/243/205/351/205/215/350/241/250.md +25 -0
  160. package/skills/crwu/crwu-audit-datacheck/references/01-runtime-and-check-catalog.md +139 -0
  161. package/skills/crwu/crwu-audit-datacheck/scripts/recalc_check.py +521 -0
  162. package/skills/crwu/crwu-audit-datacheck/scripts/test_recalc_check.py +419 -0
  163. package/skills/crwu/crwu-audit-datacheck/scripts/test_skill_self_containment.py +44 -0
  164. package/skills/crwu/crwu-audit-external-data/SKILL.md +73 -0
  165. package/skills/crwu/crwu-audit-external-data/references/00-KB/350/243/205/351/205/215/350/241/250.md +38 -0
  166. package/skills/crwu/crwu-audit-external-data/references/01-connector-access.md +116 -0
  167. package/skills/crwu/crwu-audit-external-data/references/02-verification-workflow.md +78 -0
  168. package/skills/crwu/crwu-audit-external-data/scripts/connector_probe.py +374 -0
  169. package/skills/crwu/crwu-audit-external-data/scripts/test_connector_probe.py +264 -0
  170. package/skills/crwu/crwu-audit-output-filter/SKILL.md +34 -0
  171. package/skills/crwu/crwu-audit-output-filter/references/00-applicability.md +7 -0
  172. package/skills/crwu/crwu-audit-output-filter/references/01-kb-assembly.md +11 -0
  173. package/skills/crwu/crwu-audit-output-filter/references/02-review-focus.md +25 -0
  174. package/skills/crwu/crwu-audit-public-general-standards/SKILL.md +46 -0
  175. package/skills/crwu/crwu-audit-public-general-standards/references/00-applicability.md +41 -0
  176. package/skills/crwu/crwu-audit-public-general-standards/references/01-kb-assembly.md +66 -0
  177. package/skills/crwu/crwu-audit-public-general-standards/references/02-review-focus.md +111 -0
  178. package/skills/crwu/crwu-audit-public-general-standards/references/03-execution-contract.md +89 -0
  179. package/skills/crwu/crwu-dev-audit-optimize/SKILL.md +98 -0
  180. package/skills/crwu/crwu-dev-audit-optimize/references/00-/344/274/230/345/214/226/350/247/204/350/214/203/344/270/216/346/226/207/344/273/266/350/220/275/347/202/271.md +132 -0
  181. package/skills/crwu/crwu-dev-audit-optimize/references/01-/345/217/215/351/246/210/345/256/232/344/275/215/344/270/216/347/224/273/345/203/217/346/265/201/347/250/213.md +108 -0
  182. package/skills/crwu/crwu-dev-audit-optimize/references/02-/346/226/271/346/241/210/346/250/241/346/235/277/344/270/216/347/241/256/350/256/244/351/227/250/347/246/201.md +92 -0
  183. package/skills/crwu/crwu-dev-audit-optimize/references/03-AI/344/272/272/345/267/245/345/267/256/350/267/235/345/210/206/346/236/220/346/265/201/347/250/213.md +95 -0
  184. package/skills/crwu/crwu-dev-audit-optimize/scripts/examples/gap-analysis.sample.json +116 -0
  185. package/skills/crwu/crwu-dev-audit-optimize/scripts/gap_analysis.schema.json +33 -0
  186. package/skills/crwu/crwu-dev-audit-optimize/scripts/gap_analysis_delivery.py +475 -0
  187. package/skills/crwu/crwu-dev-audit-optimize/scripts/test_gap_analysis_delivery.py +855 -0
  188. package/skills/crwu/crwu-dev-audit-optimize/template/NOTICE.echarts.txt +7 -0
  189. package/skills/crwu/crwu-dev-audit-optimize/template/echarts.min.js +45 -0
  190. package/skills/crwu/crwu-dev-audit-optimize/template/gap-analysis-report.html +71 -0
  191. package/skills/crwu/crwu-dev-audit-skill-maintainer/SKILL.md +74 -0
  192. package/skills/crwu/crwu-dev-audit-skill-maintainer/references/00-responsibility-and-modes.md +62 -0
  193. package/skills/crwu/crwu-dev-audit-skill-maintainer/references/01-kb-source-discovery.md +89 -0
  194. package/skills/crwu/crwu-dev-audit-skill-maintainer/references/02-child-skill-contract.md +99 -0
  195. package/skills/crwu/crwu-dev-audit-skill-maintainer/references/03-review-item-execution-contract.md +51 -0
  196. package/skills/crwu/crwu-dev-audit-skill-maintainer/references/04-registry-and-mapping-update.md +73 -0
  197. package/skills/crwu/crwu-dev-audit-skill-maintainer/references/05-validation-and-delivery.md +127 -0
  198. package/skills/crwu/crwu-dev-audit-skill-maintainer/references/06-live-routing-reconciliation.md +136 -0
  199. package/skills/crwu/crwu-dev-audit-skill-maintainer/references/07-kb-skill-map.md +411 -0
  200. package/skills/crwu/crwu-dev-audit-skill-maintainer/scripts/README.md +200 -0
  201. package/skills/crwu/crwu-dev-audit-skill-maintainer/scripts/check_audit_skill_mappings.py +2477 -0
  202. package/skills/crwu/crwu-dev-audit-skill-maintainer/scripts/kb_tool.py +577 -0
  203. package/skills/crwu/crwu-dev-audit-skill-maintainer/scripts/test_audit_skill_maintainer.py +5097 -0
  204. package/skills/dws/LICENSE +178 -0
  205. package/skills/dws/NOTICE +17 -0
  206. package/skills/dws/dingtalk-aisearch/SKILL.md +83 -0
  207. package/skills/dws/dingtalk-aisearch/references/aisearch.md +249 -0
  208. package/skills/dws/dingtalk-aisearch/references/intent-guide.md +15 -0
  209. package/skills/dws/dingtalk-aisearch/references/lite-recipes.md +31 -0
  210. package/skills/dws/dingtalk-aitable/SKILL.md +139 -0
  211. package/skills/dws/dingtalk-aitable/references/06-data-analytics.md +11 -0
  212. package/skills/dws/dingtalk-aitable/references/aitable/aitable-advperm.md +251 -0
  213. package/skills/dws/dingtalk-aitable/references/aitable/aitable-attachment.md +49 -0
  214. package/skills/dws/dingtalk-aitable/references/aitable/aitable-best-practices.md +48 -0
  215. package/skills/dws/dingtalk-aitable/references/aitable/aitable-cell-value.md +346 -0
  216. package/skills/dws/dingtalk-aitable/references/aitable/aitable-dashboard-chart.md +46 -0
  217. package/skills/dws/dingtalk-aitable/references/aitable/aitable-data-analysis-sop.md +131 -0
  218. package/skills/dws/dingtalk-aitable/references/aitable/aitable-datasource.md +272 -0
  219. package/skills/dws/dingtalk-aitable/references/aitable/aitable-error-recovery.md +128 -0
  220. package/skills/dws/dingtalk-aitable/references/aitable/aitable-export-import.md +113 -0
  221. package/skills/dws/dingtalk-aitable/references/aitable/aitable-field-properties.md +238 -0
  222. package/skills/dws/dingtalk-aitable/references/aitable/aitable-field.md +186 -0
  223. package/skills/dws/dingtalk-aitable/references/aitable/aitable-filter-sort.md +135 -0
  224. package/skills/dws/dingtalk-aitable/references/aitable/aitable-form.md +130 -0
  225. package/skills/dws/dingtalk-aitable/references/aitable/aitable-formula-guide.md +224 -0
  226. package/skills/dws/dingtalk-aitable/references/aitable/aitable-primary-doc.md +58 -0
  227. package/skills/dws/dingtalk-aitable/references/aitable/aitable-record-create.md +52 -0
  228. package/skills/dws/dingtalk-aitable/references/aitable/aitable-record-delete.md +20 -0
  229. package/skills/dws/dingtalk-aitable/references/aitable/aitable-record-history.md +97 -0
  230. package/skills/dws/dingtalk-aitable/references/aitable/aitable-record-name-key.md +47 -0
  231. package/skills/dws/dingtalk-aitable/references/aitable/aitable-record-query.md +120 -0
  232. package/skills/dws/dingtalk-aitable/references/aitable/aitable-record-share.md +54 -0
  233. package/skills/dws/dingtalk-aitable/references/aitable/aitable-record-stats.md +59 -0
  234. package/skills/dws/dingtalk-aitable/references/aitable/aitable-record-update.md +66 -0
  235. package/skills/dws/dingtalk-aitable/references/aitable/aitable-record-upsert.md +89 -0
  236. package/skills/dws/dingtalk-aitable/references/aitable/aitable-view-config.md +140 -0
  237. package/skills/dws/dingtalk-aitable/references/aitable/aitable-view-extras.md +195 -0
  238. package/skills/dws/dingtalk-aitable/references/aitable/aitable-view-types.md +95 -0
  239. package/skills/dws/dingtalk-aitable/references/aitable/aitable-workflow.md +384 -0
  240. package/skills/dws/dingtalk-aitable/references/aitable-record-ops.md +80 -0
  241. package/skills/dws/dingtalk-aitable/references/aitable-section.md +30 -0
  242. package/skills/dws/dingtalk-aitable/references/aitable.md +59 -0
  243. package/skills/dws/dingtalk-aitable/references/field-rules.md +17 -0
  244. package/skills/dws/dingtalk-aitable/references/intent-guide.md +17 -0
  245. package/skills/dws/dingtalk-aitable/references/recipes/conventions.md +44 -0
  246. package/skills/dws/dingtalk-aitable/references/url-patterns.md +144 -0
  247. package/skills/dws/dingtalk-aitable/scripts/aitable_export_via_task.py +210 -0
  248. package/skills/dws/dingtalk-aitable/scripts/aitable_import_via_task.py +173 -0
  249. package/skills/dws/dingtalk-aitable/scripts/bulk_add_fields.py +273 -0
  250. package/skills/dws/dingtalk-aitable/scripts/import_records.py +333 -0
  251. package/skills/dws/dingtalk-aitable/scripts/upload_attachment.py +190 -0
  252. package/skills/dws/dingtalk-calendar/SKILL.md +137 -0
  253. package/skills/dws/dingtalk-calendar/references/03-meeting.md +56 -0
  254. package/skills/dws/dingtalk-calendar/references/calendar.md +760 -0
  255. package/skills/dws/dingtalk-calendar/references/intent-guide.md +9 -0
  256. package/skills/dws/dingtalk-calendar/references/lite-recipes.md +25 -0
  257. package/skills/dws/dingtalk-calendar/scripts/calendar_free_slot_finder.py +199 -0
  258. package/skills/dws/dingtalk-calendar/scripts/calendar_schedule_meeting.py +233 -0
  259. package/skills/dws/dingtalk-calendar/scripts/calendar_today_agenda.py +139 -0
  260. package/skills/dws/dingtalk-chat/SKILL.md +127 -0
  261. package/skills/dws/dingtalk-chat/references/01-messaging.md +103 -0
  262. package/skills/dws/dingtalk-chat/references/card/callback.md +10 -0
  263. package/skills/dws/dingtalk-chat/references/card/create.md +27 -0
  264. package/skills/dws/dingtalk-chat/references/card/schema.md +14 -0
  265. package/skills/dws/dingtalk-chat/references/card/update.md +13 -0
  266. package/skills/dws/dingtalk-chat/references/chat/chat-bot.md +187 -0
  267. package/skills/dws/dingtalk-chat/references/chat/chat-conversation.md +165 -0
  268. package/skills/dws/dingtalk-chat/references/chat/group-admin.md +144 -0
  269. package/skills/dws/dingtalk-chat/references/chat/group-discovery.md +121 -0
  270. package/skills/dws/dingtalk-chat/references/chat/message-actions.md +132 -0
  271. package/skills/dws/dingtalk-chat/references/chat/message-media.md +76 -0
  272. package/skills/dws/dingtalk-chat/references/chat/message-query.md +135 -0
  273. package/skills/dws/dingtalk-chat/references/chat/thread.md +46 -0
  274. package/skills/dws/dingtalk-chat/references/chat-emoji-list.md +216 -0
  275. package/skills/dws/dingtalk-chat/references/chat.md +140 -0
  276. package/skills/dws/dingtalk-chat/references/contracts.md +70 -0
  277. package/skills/dws/dingtalk-chat/references/intent-guide.md +56 -0
  278. package/skills/dws/dingtalk-contact/SKILL.md +122 -0
  279. package/skills/dws/dingtalk-contact/references/08-directory.md +51 -0
  280. package/skills/dws/dingtalk-contact/references/contact.md +595 -0
  281. package/skills/dws/dingtalk-contact/references/intent-guide.md +14 -0
  282. package/skills/dws/dingtalk-contact/references/lite-recipes.md +30 -0
  283. package/skills/dws/dingtalk-contact/references/recipes/conventions.md +44 -0
  284. package/skills/dws/dingtalk-contact/scripts/contact_dept_members.py +130 -0
  285. package/skills/dws/dingtalk-doc/SKILL.md +112 -0
  286. package/skills/dws/dingtalk-doc/references/04-document.md +57 -0
  287. package/skills/dws/dingtalk-doc/references/contracts.md +40 -0
  288. package/skills/dws/dingtalk-doc/references/doc/doc-block.md +39 -0
  289. package/skills/dws/dingtalk-doc/references/doc/doc-comment.md +29 -0
  290. package/skills/dws/dingtalk-doc/references/doc/doc-create.md +54 -0
  291. package/skills/dws/dingtalk-doc/references/doc/doc-export.md +30 -0
  292. package/skills/dws/dingtalk-doc/references/doc/doc-import.md +28 -0
  293. package/skills/dws/dingtalk-doc/references/doc/doc-info.md +12 -0
  294. package/skills/dws/dingtalk-doc/references/doc/doc-media.md +46 -0
  295. package/skills/dws/dingtalk-doc/references/doc/doc-read.md +56 -0
  296. package/skills/dws/dingtalk-doc/references/doc/doc-update.md +87 -0
  297. package/skills/dws/dingtalk-doc/references/doc/format/doc-jsonml-cookbook.md +469 -0
  298. package/skills/dws/dingtalk-doc/references/doc/format/doc-jsonml-schema.json +526 -0
  299. package/skills/dws/dingtalk-doc/references/doc/format/doc-jsonml-schema.md +711 -0
  300. package/skills/dws/dingtalk-doc/references/doc/style/doc-create-workflow.md +414 -0
  301. package/skills/dws/dingtalk-doc/references/doc/style/doc-style-guideline.md +404 -0
  302. package/skills/dws/dingtalk-doc/references/doc/style/doc-update-workflow.md +316 -0
  303. package/skills/dws/dingtalk-doc/references/doc.md +82 -0
  304. package/skills/dws/dingtalk-doc/references/intent-guide.md +20 -0
  305. package/skills/dws/dingtalk-drive/SKILL.md +128 -0
  306. package/skills/dws/dingtalk-drive/references/drive.md +126 -0
  307. package/skills/dws/dingtalk-drive/references/folder-sync.md +40 -0
  308. package/skills/dws/dingtalk-drive/references/intent-guide.md +22 -0
  309. package/skills/dws/dingtalk-drive/references/lite-recipes.md +39 -0
  310. package/skills/dws/dingtalk-event/SKILL.md +106 -0
  311. package/skills/dws/dingtalk-event/references/event-im-keys.md +54 -0
  312. package/skills/dws/dingtalk-event/references/event-im-lifecycle.md +35 -0
  313. package/skills/dws/dingtalk-event/references/event-im-operations.md +52 -0
  314. package/skills/dws/dingtalk-event/references/event-im-output.md +39 -0
  315. package/skills/dws/dingtalk-event/references/event-im.md +58 -0
  316. package/skills/dws/dingtalk-event/references/event-oa.md +155 -0
  317. package/skills/dws/dingtalk-event/references/event-todo.md +50 -0
  318. package/skills/dws/dingtalk-event/references/event-voip.md +69 -0
  319. package/skills/dws/dingtalk-mail/SKILL.md +113 -0
  320. package/skills/dws/dingtalk-mail/references/09-mail.md +45 -0
  321. package/skills/dws/dingtalk-mail/references/intent-guide.md +8 -0
  322. package/skills/dws/dingtalk-mail/references/lite-recipes.md +45 -0
  323. package/skills/dws/dingtalk-mail/references/mail.md +1889 -0
  324. package/skills/dws/dingtalk-mail/references/recipes/conventions.md +44 -0
  325. package/skills/dws/dingtalk-mail/scripts/mail_send_with_cc.py +122 -0
  326. package/skills/dws/dingtalk-mail/scripts/mail_unread_summary.py +114 -0
  327. package/skills/dws/dingtalk-minutes/SKILL.md +116 -0
  328. package/skills/dws/dingtalk-minutes/references/07-minutes.md +149 -0
  329. package/skills/dws/dingtalk-minutes/references/10-minutes-speaker-match.md +32 -0
  330. package/skills/dws/dingtalk-minutes/references/11-minutes-speaker-correct.md +40 -0
  331. package/skills/dws/dingtalk-minutes/references/intent-guide.md +79 -0
  332. package/skills/dws/dingtalk-minutes/references/lite-recipes.md +25 -0
  333. package/skills/dws/dingtalk-minutes/references/minutes.md +210 -0
  334. package/skills/dws/dingtalk-minutes/references/recipes/conventions.md +33 -0
  335. package/skills/dws/dingtalk-minutes/scripts/minutes_recent_summary.py +196 -0
  336. package/skills/dws/dingtalk-minutes/scripts/test_minutes_scripts.py +222 -0
  337. package/skills/dws/dingtalk-misc/SKILL.md +55 -0
  338. package/skills/dws/dingtalk-misc/references/05-reporting.md +29 -0
  339. package/skills/dws/dingtalk-misc/references/agoal.md +302 -0
  340. package/skills/dws/dingtalk-misc/references/attendance-intent-guide.md +7 -0
  341. package/skills/dws/dingtalk-misc/references/attendance-report.md +109 -0
  342. package/skills/dws/dingtalk-misc/references/attendance-schedule.md +115 -0
  343. package/skills/dws/dingtalk-misc/references/attendance-vacation.md +129 -0
  344. package/skills/dws/dingtalk-misc/references/attendance.md +149 -0
  345. package/skills/dws/dingtalk-misc/references/dev/app.md +42 -0
  346. package/skills/dws/dingtalk-misc/references/dev/connect.md +108 -0
  347. package/skills/dws/dingtalk-misc/references/dev/credentials.md +26 -0
  348. package/skills/dws/dingtalk-misc/references/dev/dev-index.md +13 -0
  349. package/skills/dws/dingtalk-misc/references/dev/event.md +47 -0
  350. package/skills/dws/dingtalk-misc/references/dev/mcp.md +106 -0
  351. package/skills/dws/dingtalk-misc/references/dev/member.md +19 -0
  352. package/skills/dws/dingtalk-misc/references/dev/permission.md +56 -0
  353. package/skills/dws/dingtalk-misc/references/dev/recipes.md +58 -0
  354. package/skills/dws/dingtalk-misc/references/dev/robot.md +74 -0
  355. package/skills/dws/dingtalk-misc/references/dev/security.md +21 -0
  356. package/skills/dws/dingtalk-misc/references/dev/version.md +99 -0
  357. package/skills/dws/dingtalk-misc/references/dev/webapp.md +22 -0
  358. package/skills/dws/dingtalk-misc/references/devapp.md +148 -0
  359. package/skills/dws/dingtalk-misc/references/devdoc-intent-guide.md +7 -0
  360. package/skills/dws/dingtalk-misc/references/devdoc.md +42 -0
  361. package/skills/dws/dingtalk-misc/references/ding.md +184 -0
  362. package/skills/dws/dingtalk-misc/references/hrbrain.md +67 -0
  363. package/skills/dws/dingtalk-misc/references/live.md +23 -0
  364. package/skills/dws/dingtalk-misc/references/markdown.md +167 -0
  365. package/skills/dws/dingtalk-misc/references/oa/oa-form-components.md +345 -0
  366. package/skills/dws/dingtalk-misc/references/oa/oa-process-nodes.md +374 -0
  367. package/skills/dws/dingtalk-misc/references/oa.md +1014 -0
  368. package/skills/dws/dingtalk-misc/references/openapi-explorer.md +47 -0
  369. package/skills/dws/dingtalk-misc/references/pat.md +52 -0
  370. package/skills/dws/dingtalk-misc/references/profile.md +41 -0
  371. package/skills/dws/dingtalk-misc/references/recruit.md +89 -0
  372. package/skills/dws/dingtalk-misc/references/report-conventions.md +44 -0
  373. package/skills/dws/dingtalk-misc/references/report-intent-guide.md +11 -0
  374. package/skills/dws/dingtalk-misc/references/report-lite-recipes.md +25 -0
  375. package/skills/dws/dingtalk-misc/references/report.md +109 -0
  376. package/skills/dws/dingtalk-misc/references/sheet/sheet-batch-operations.md +104 -0
  377. package/skills/dws/dingtalk-misc/references/sheet/sheet-chart.md +69 -0
  378. package/skills/dws/dingtalk-misc/references/sheet/sheet-comment.md +166 -0
  379. package/skills/dws/dingtalk-misc/references/sheet/sheet-conditional-format.md +59 -0
  380. package/skills/dws/dingtalk-misc/references/sheet/sheet-dimension-operations.md +60 -0
  381. package/skills/dws/dingtalk-misc/references/sheet/sheet-dropdown.md +103 -0
  382. package/skills/dws/dingtalk-misc/references/sheet/sheet-export.md +135 -0
  383. package/skills/dws/dingtalk-misc/references/sheet/sheet-filter-view.md +51 -0
  384. package/skills/dws/dingtalk-misc/references/sheet/sheet-filter.md +181 -0
  385. package/skills/dws/dingtalk-misc/references/sheet/sheet-formula.md +192 -0
  386. package/skills/dws/dingtalk-misc/references/sheet/sheet-import.md +76 -0
  387. package/skills/dws/dingtalk-misc/references/sheet/sheet-media-image.md +263 -0
  388. package/skills/dws/dingtalk-misc/references/sheet/sheet-pivot-table.md +292 -0
  389. package/skills/dws/dingtalk-misc/references/sheet/sheet-range-operations.md +161 -0
  390. package/skills/dws/dingtalk-misc/references/sheet/sheet-read-data.md +60 -0
  391. package/skills/dws/dingtalk-misc/references/sheet/sheet-revision-changeset.md +46 -0
  392. package/skills/dws/dingtalk-misc/references/sheet/sheet-search-replace.md +120 -0
  393. package/skills/dws/dingtalk-misc/references/sheet/sheet-style-format.md +71 -0
  394. package/skills/dws/dingtalk-misc/references/sheet/sheet-version.md +84 -0
  395. package/skills/dws/dingtalk-misc/references/sheet/sheet-workbook.md +59 -0
  396. package/skills/dws/dingtalk-misc/references/sheet/sheet-write-data.md +93 -0
  397. package/skills/dws/dingtalk-misc/references/sheet-conventions.md +44 -0
  398. package/skills/dws/dingtalk-misc/references/sheet-intent-guide.md +12 -0
  399. package/skills/dws/dingtalk-misc/references/sheet.md +166 -0
  400. package/skills/dws/dingtalk-misc/references/skill.md +98 -0
  401. package/skills/dws/dingtalk-misc/references/unsupported-scripts.md +49 -0
  402. package/skills/dws/dingtalk-misc/references/url-patterns.md +144 -0
  403. package/skills/dws/dingtalk-misc/references/whiteboard/compose.md +200 -0
  404. package/skills/dws/dingtalk-misc/references/whiteboard/open-nodes-v1/01-overview.md +57 -0
  405. package/skills/dws/dingtalk-misc/references/whiteboard/open-nodes-v1/02-query.md +288 -0
  406. package/skills/dws/dingtalk-misc/references/whiteboard/open-nodes-v1/03-update.md +249 -0
  407. package/skills/dws/dingtalk-misc/references/whiteboard/open-nodes-v1/04-text-style.md +395 -0
  408. package/skills/dws/dingtalk-misc/references/whiteboard/open-nodes-v1/05-shape-frame-group-connector.md +186 -0
  409. package/skills/dws/dingtalk-misc/references/whiteboard/open-nodes-v1/06-vector-icon-path.md +313 -0
  410. package/skills/dws/dingtalk-misc/references/whiteboard/open-nodes-v1/07-examples-errors-write-support.md +270 -0
  411. package/skills/dws/dingtalk-misc/references/whiteboard/open-nodes-v1/08-catalogs.md +61 -0
  412. package/skills/dws/dingtalk-misc/references/whiteboard/open-nodes-v1.md +54 -0
  413. package/skills/dws/dingtalk-misc/references/whiteboard/replace.md +41 -0
  414. package/skills/dws/dingtalk-misc/references/whiteboard/vector.md +51 -0
  415. package/skills/dws/dingtalk-misc/references/whiteboard.md +115 -0
  416. package/skills/dws/dingtalk-misc/scripts/aiapp_create_and_poll.py +138 -0
  417. package/skills/dws/dingtalk-misc/scripts/attendance_my_record.py +91 -0
  418. package/skills/dws/dingtalk-misc/scripts/attendance_report_checkin.py +440 -0
  419. package/skills/dws/dingtalk-misc/scripts/attendance_report_common.py +1698 -0
  420. package/skills/dws/dingtalk-misc/scripts/attendance_report_daily.py +558 -0
  421. package/skills/dws/dingtalk-misc/scripts/attendance_report_detail.py +809 -0
  422. package/skills/dws/dingtalk-misc/scripts/attendance_report_monthly.py +758 -0
  423. package/skills/dws/dingtalk-misc/scripts/attendance_report_record.py +947 -0
  424. package/skills/dws/dingtalk-misc/scripts/attendance_schedule_export.py +344 -0
  425. package/skills/dws/dingtalk-misc/scripts/attendance_schedule_import.py +498 -0
  426. package/skills/dws/dingtalk-misc/scripts/attendance_team_shift.py +89 -0
  427. package/skills/dws/dingtalk-misc/scripts/attendance_vacation_balance.py +617 -0
  428. package/skills/dws/dingtalk-misc/scripts/finance_daily_cashflow.py +70 -0
  429. package/skills/dws/dingtalk-misc/scripts/finance_expense_flow.py +138 -0
  430. package/skills/dws/dingtalk-misc/scripts/oa_batch_approve.py +158 -0
  431. package/skills/dws/dingtalk-misc/scripts/oa_pending_review.py +132 -0
  432. package/skills/dws/dingtalk-misc/scripts/report_received_today.py +315 -0
  433. package/skills/dws/dingtalk-misc/scripts/yida_custom_page_update.py +401 -0
  434. package/skills/dws/dingtalk-misc/scripts/yida_form_builder.py +526 -0
  435. package/skills/dws/dingtalk-misc/scripts/yida_form_fields.py +315 -0
  436. package/skills/dws/dingtalk-misc/scripts/yida_form_inspector.py +311 -0
  437. package/skills/dws/dingtalk-misc/scripts/yida_form_update.py +185 -0
  438. package/skills/dws/dingtalk-misc/scripts/yida_jsx_pipeline.py +1588 -0
  439. package/skills/dws/dingtalk-misc/scripts/yida_page_compiler.py +1441 -0
  440. package/skills/dws/dingtalk-misc/scripts/yida_page_generate.py +514 -0
  441. package/skills/dws/dingtalk-misc/scripts/yida_page_schema.py +519 -0
  442. package/skills/dws/dingtalk-misc/scripts/yida_page_self_check.py +398 -0
  443. package/skills/dws/dingtalk-misc/scripts/yida_process_flow.py +1478 -0
  444. package/skills/dws/dingtalk-misc/scripts/yida_process_update.py +589 -0
  445. package/skills/dws/dingtalk-misc/scripts/yida_report_builder.py +494 -0
  446. package/skills/dws/dingtalk-misc/scripts/yida_report_charts.py +1434 -0
  447. package/skills/dws/dingtalk-misc/scripts/yida_report_update.py +244 -0
  448. package/skills/dws/dingtalk-misc/scripts/yida_schema_common.py +340 -0
  449. package/skills/dws/dingtalk-shared/SKILL.md +83 -0
  450. package/skills/dws/dingtalk-shared/references/capability-limits.md +31 -0
  451. package/skills/dws/dingtalk-shared/references/channel-login.md +26 -0
  452. package/skills/dws/dingtalk-shared/references/confirmation.md +59 -0
  453. package/skills/dws/dingtalk-shared/references/error-codes.md +155 -0
  454. package/skills/dws/dingtalk-shared/references/global-reference.md +122 -0
  455. package/skills/dws/dingtalk-shared/references/intent-guide.md +537 -0
  456. package/skills/dws/dingtalk-shared/references/recipes/conventions.md +45 -0
  457. package/skills/dws/dingtalk-shared/references/recipes/lite-catalog.md +275 -0
  458. package/skills/dws/dingtalk-shared/references/recipes/meta.md +67 -0
  459. package/skills/dws/dingtalk-shared/references/routing.md +52 -0
  460. package/skills/dws/dingtalk-shared/references/runtime-contract.md +11 -0
  461. package/skills/dws/dingtalk-shared/references/schema-usage.md +88 -0
  462. package/skills/dws/dingtalk-shared/references/url-patterns.md +144 -0
  463. package/skills/dws/dingtalk-shared/references/workflow-routing.md +45 -0
  464. package/skills/dws/dingtalk-todo/SKILL.md +119 -0
  465. package/skills/dws/dingtalk-todo/references/02-task.md +70 -0
  466. package/skills/dws/dingtalk-todo/references/intent-guide.md +15 -0
  467. package/skills/dws/dingtalk-todo/references/lite-recipes.md +68 -0
  468. package/skills/dws/dingtalk-todo/references/recipes/conventions.md +44 -0
  469. package/skills/dws/dingtalk-todo/references/todo.md +517 -0
  470. package/skills/dws/dingtalk-todo/scripts/todo_batch_create.py +354 -0
  471. package/skills/dws/dingtalk-todo/scripts/todo_daily_summary.py +153 -0
  472. package/skills/dws/dingtalk-todo/scripts/todo_overdue_check.py +101 -0
  473. package/skills/dws/dingtalk-wiki/SKILL.md +117 -0
  474. package/skills/dws/dingtalk-wiki/references/intent-guide.md +14 -0
  475. package/skills/dws/dingtalk-wiki/references/lite-recipes.md +44 -0
  476. package/skills/dws/dingtalk-wiki/references/wiki-members.md +32 -0
  477. package/skills/dws/dingtalk-wiki/references/wiki-node-ops.md +46 -0
  478. package/skills/dws/dingtalk-wiki/references/wiki.md +65 -0
  479. package/skills/dws/provenance.json +27 -0
package/package.json ADDED
@@ -0,0 +1,119 @@
1
+ {
2
+ "name": "dsh-crwu-workbench",
3
+ "version": "0.0.10",
4
+ "description": "中瑞世联工作台 / CRWU audit workbench for DeepSeek Harness: pick a pending audit report, dispatch one AI audit subagent, watch and stop/restart it, auto-upload deliverables to Aliyun OSS.",
5
+ "keywords": [
6
+ "deepseek-harness",
7
+ "dsh-plugin",
8
+ "dsh",
9
+ "cordis",
10
+ "plugin",
11
+ "audit",
12
+ "workbench",
13
+ "crwu"
14
+ ],
15
+ "license": "UNLICENSED",
16
+ "repository": {
17
+ "type": "git",
18
+ "url": "git+https://github.com/mmungdong/crwu-ai.git",
19
+ "directory": "plugins/dsh-crwu-workbench"
20
+ },
21
+ "bugs": {
22
+ "url": "https://github.com/mmungdong/crwu-ai/issues"
23
+ },
24
+ "type": "module",
25
+ "main": "lib/index.js",
26
+ "exports": {
27
+ ".": "./lib/index.js",
28
+ "./client": "./lib/client.js",
29
+ "./package.json": "./package.json"
30
+ },
31
+ "files": [
32
+ "lib/index.js",
33
+ "lib/client.js",
34
+ "scripts/prepare.mjs",
35
+ "config/crwu-workbench.yml",
36
+ "cordis.patch.yml",
37
+ "bin/",
38
+ "README.md",
39
+ "README.en.md",
40
+ "CHANGELOG.md",
41
+ "SECURITY.md",
42
+ "LICENSE",
43
+ "skills/README.md",
44
+ "skills/crwu/",
45
+ "skills/dws/",
46
+ "common/skills/"
47
+ ],
48
+ "engines": {
49
+ "node": "^22.19.0 || >=24.0.0",
50
+ "dsh": "^0.1.7-rc.2"
51
+ },
52
+ "publishConfig": {
53
+ "access": "public",
54
+ "registry": "https://registry.npmjs.org"
55
+ },
56
+ "scripts": {
57
+ "build": "npm run skills:sync && tsdown",
58
+ "build:lib": "node scripts/prepare.mjs --force",
59
+ "prepare": "node scripts/prepare.mjs",
60
+ "prepack": "npm run config:check && npm run skills:sync && npm run dws:check && npm run build:lib",
61
+ "test": "node --test \"tests/*.test.mjs\" \"tests/**/*.test.mjs\"",
62
+ "typecheck": "tsc --noEmit",
63
+ "version:check": "node scripts/sync-version.mjs --check",
64
+ "version:set": "node scripts/sync-version.mjs",
65
+ "check": "npm run version:check && npm run config:check && npm run skills:check && npm run skills:cli-guard && npm run dws:check && npm run typecheck && npm test && npm run build && npm run smoke:built",
66
+ "config:check": "node scripts/check-config.mjs",
67
+ "pack:assert": "node scripts/assert-pack.mjs",
68
+ "pack:assert:strict": "node scripts/assert-pack.mjs --strict",
69
+ "prepublishOnly": "npm run check && npm run pack:assert:strict",
70
+ "smoke:built": "node scripts/smoke-built.mjs",
71
+ "skills:sync": "node scripts/sync-common-skills.mjs",
72
+ "skills:check": "node scripts/sync-common-skills.mjs --check",
73
+ "skills:cli-guard": "node scripts/check-skill-cli-guard.mjs",
74
+ "bin:check": "node scripts/sync-binaries.mjs --check",
75
+ "dws:sync": "node scripts/sync-dws-skills.mjs",
76
+ "dws:check": "node scripts/sync-dws-skills.mjs --check"
77
+ },
78
+ "dsh": {
79
+ "bundle": {
80
+ "patch": "./cordis.patch.yml"
81
+ },
82
+ "client": {
83
+ "inject": [
84
+ "@deepseek-ai/dsh-client-ui-renderer",
85
+ "@deepseek-ai/dsh-client-ui-layout",
86
+ "@deepseek-ai/dsh-client-ui-sidebar"
87
+ ],
88
+ "platform": "web"
89
+ }
90
+ },
91
+ "peerDependencies": {
92
+ "@deepseek-ai/cordis": "^4.0.4",
93
+ "@deepseek-ai/dsh-client-ui-layout": "^0.1.7-rc.2",
94
+ "@deepseek-ai/dsh-client-ui-renderer": "^0.1.7-rc.2",
95
+ "@deepseek-ai/dsh-client-ui-sidebar": "^0.1.7-rc.2",
96
+ "@deepseek-ai/dsh-host-webserver": "^0.1.7-rc.2",
97
+ "@deepseek-ai/dsh-skill-filesystem": "^0.1.7-rc.2",
98
+ "@deepseek-ai/dsh-tools": "^0.1.7-rc.2",
99
+ "react": "^18.2.0"
100
+ },
101
+ "dependencies": {
102
+ "@deepseek-ai/schemastery": "^3.18.4",
103
+ "yaml": "^2.9.1"
104
+ },
105
+ "devDependencies": {
106
+ "@deepseek-ai/dsh-agent": "^0.1.7-rc.2",
107
+ "@deepseek-ai/dsh-client-ui-renderer": "^0.1.7-rc.2",
108
+ "@deepseek-ai/dsh-fs": "^0.1.7-rc.2",
109
+ "@deepseek-ai/dsh-session": "^0.1.7-rc.2",
110
+ "@deepseek-ai/dsh-shell": "^0.1.7-rc.2",
111
+ "@deepseek-ai/dsh-subagent": "^0.1.7-rc.2",
112
+ "@deepseek-ai/dsh-tools": "^0.1.7-rc.2",
113
+ "@types/node": "^22.20.0",
114
+ "@types/react": "~18.3.1",
115
+ "react": "^18.3.1",
116
+ "tsdown": "^0.22.2",
117
+ "typescript": "^6.0.3"
118
+ }
119
+ }
@@ -0,0 +1,59 @@
1
+ /**
2
+ * 构建入口:`prepare`(git 安装 / 本地开发)与 `prepack`(发布前)都用它。
3
+ *
4
+ * **这个文件必须随包发布**(在 package.json 的 `files` 里):npm 在**安装已发布的 tarball** 时
5
+ * 也会执行 `prepare`,如果它不在包里,装包的人会看到
6
+ * `npm error command sh -c node scripts/prepare.mjs`。这里连踩了两次,都记下来:
7
+ * 1. `prepare: "tsdown"` → tarball 里没有 `tsconfig.json` / `tsdown.config.ts`,tsdown 直接失败;
8
+ * 2. `prepare: "node scripts/build.mjs"` → `scripts/` 不在 `files` 里,脚本本身找不到。
9
+ *
10
+ * 两条路径怎么区分(判据是源码在不在):
11
+ * - **git 安装 / 本地开发**:源码在 → 真的构建。
12
+ * - **npm 安装已发布产物**:源码不在 → 跳过(`lib/` 已随包提供)。
13
+ *
14
+ * 发布路径不允许静默出一个没有 `lib/` 的包:`prepack` 用 `--force`,源码不在即失败。
15
+ */
16
+ import { spawnSync } from 'node:child_process'
17
+ import { existsSync } from 'node:fs'
18
+ import { dirname, join } from 'node:path'
19
+ import { fileURLToPath } from 'node:url'
20
+
21
+ const ROOT = dirname(dirname(fileURLToPath(import.meta.url)))
22
+ const SOURCE_MARKERS = ['tsconfig.json', 'tsdown.config.ts', join('src', 'index.ts'), join('src', 'client', 'index.ts')]
23
+
24
+ /** 源码是否齐备(齐备 = 我们在 git 克隆里,可以构建)。 */
25
+ export function missingSources() {
26
+ return SOURCE_MARKERS.filter((marker) => !existsSync(join(ROOT, marker)))
27
+ }
28
+
29
+ export function build() {
30
+ // 进度日志一律走 **stderr**:stdout 留给机器可读输出。npm 10(Node 22 自带)在
31
+ // `npm pack --dry-run --json --ignore-scripts` 下仍然会执行 prepare,这些日志一旦混进
32
+ // stdout,消费 `--json` 的脚本 `JSON.parse` 就炸了(CI 的 ubuntu/no​de22 就是这么红的)。
33
+ console.error('[build] tsdown 构建 lib/ …')
34
+ // 子进程的 stdout 也转去 stderr('inherit' 会让 tsdown 的 ℹ 行落进我们的 stdout)。
35
+ const result = spawnSync('tsdown', { cwd: ROOT, stdio: ['inherit', 2, 'inherit'], shell: process.platform === 'win32' })
36
+ if (result.error) {
37
+ console.error(`[build] 构建失败:${result.error.message}`)
38
+ return 1
39
+ }
40
+ return result.status ?? 1
41
+ }
42
+
43
+ /** 供测试使用:按给定模式决定跳过还是构建。 */
44
+ export function run({ force }) {
45
+ const missing = missingSources()
46
+ if (missing.length > 0) {
47
+ if (force) {
48
+ console.error(`[build] 缺少构建所需文件:${missing.join(', ')}`)
49
+ return 1
50
+ }
51
+ console.error(`[build] 跳过构建:这是已发布的预构建产物(缺 ${missing.join(', ')}),lib/ 已随包提供。`)
52
+ return 0
53
+ }
54
+ return build()
55
+ }
56
+
57
+ if (process.argv[1] && fileURLToPath(import.meta.url) === process.argv[1]) {
58
+ process.exit(run({ force: process.argv.includes('--force') }))
59
+ }
@@ -0,0 +1,26 @@
1
+ # skills/ —— 分层技能目录
2
+
3
+ `skills/` 本身**不是**技能根,而是**技能层的容器**。`cordis.patch.yml` 把每一层分别注册成一个
4
+ DSH 技能根(`@deepseek-ai/dsh-skill-filesystem` 的 `customSkillDirs`)。
5
+
6
+ | 层 | 目录 | 归属 | 改动方式 |
7
+ | --- | --- | --- | --- |
8
+ | `crwu` | `skills/crwu/` | 本仓自研的审核能力族 | 正常评审后改;必须过 Skill 自洽性 lint |
9
+ | `dws` | `skills/dws/` | 上游 `dingtalk-workspace-cli` 的钉钉技能(vendored) | **只能**由 `npm run dws:sync` 改写 |
10
+ | 公共 | 包内 `common/skills/`(源在 `plugins/common/skills/`) | 跨插件公共技能 | 改源仓,再 `npm run skills:sync` |
11
+
12
+ ## 为什么一层一个技能根
13
+
14
+ DSH 对每个技能根**只扫一层**(`<根>/<技能名>/SKILL.md`),不递归。所以 `skills/` 自己不能当根:
15
+ 那样 `skills/crwu/` 会被当成"一个没有 `SKILL.md` 的技能"被跳过,**整层静默消失**(症状是
16
+ provider 装配成功、技能表里 0 个技能)。
17
+
18
+ ## `dws` 层
19
+
20
+ - 内容与版本身份记录在 `skills/dws/provenance.json`:上游包名、版本、集合、逐技能 sha256。
21
+ - 同步:`npm run dws:sync`(自动找本机 `dws` 的上游副本;也可 `--source <dir>` 显式指定)。
22
+ - 校验:`npm run dws:check`(只对照 `provenance.json`,不需要上游;`npm run check` 已含)。
23
+ - 升级上游:`npm run dws:sync -- --allow-version-change`,审 diff,并把版本写进 `CHANGELOG.md`。
24
+ - 上游以 Apache-2.0 发布:`LICENSE` / `NOTICE` 随技能一并保留,不得删除。
25
+ - 这一层是**上游正文**,不受本仓「Skill 自洽性」lint 约束(上游按自己的跨技能相对链接组织)。
26
+ 要改 dws 正文请回上游提 issue / PR,不要在这里就地改 —— 下次同步会覆盖。
@@ -0,0 +1,152 @@
1
+ ---
2
+ name: crwu-audit
3
+ description: Use when routing or orchestrating report audits from a material package, SeqNo, or ObjectId.
4
+ ---
5
+
6
+ # crwu-audit 多维并集路由
7
+
8
+ ## 角色定位(审核立场 · 执行前先读)
9
+
10
+ 你是一名**资深资产评估师**,以严谨、克制、可复核的职业态度接管以下全部审核工作。三条硬立场:
11
+
12
+ 1. **报告说明与法律依据必须落到条文**:报告/评估说明中引用的每一处依据(法律法规、评估准则、监管规定、
13
+ 协会要求),都必须回溯到**本次经 `crwu-dws` 实时下载的规则正文**,给出条款与出处;
14
+ **不得凭印象、经验或常识引用法条**,不得把"行业通常做法"写成"合规要求"。
15
+ 法律或监管适用存疑时,只登记 `manualConfirmationItems[]`(待人工确认)或 `capability gap`,
16
+ **不擅自下确定性结论**——本次审核的底线是:**结论不越出证据,审核不违反法律法规与执业准则**。
17
+ 2. **测算表的计算必须逐格可复算**:一切涉及数字的结论以表内公式/缓存值或引擎重算值为准,
18
+ **禁止心算、估算与"看起来合理"**;合计与口径、跨表一致、公式错误、单位/小数按本技能与
19
+ `crwu-audit-datacheck` 的检查项核(含可见区公式链重算)。算不出来的(未重算、缺依赖、隐藏区引用)
20
+ 必须**明示"未核"**,不得写成"已核"或"材料缺失",也不得替代人工判断。
21
+ 3. **严谨 ≠ 加严**:不确定就写明不确定,证据不足就标证据不足;**不制造问题、不上调严重度**,
22
+ 也不因"资深"身份发表超出规则与材料的价值判断——严重度只由规则影响与证据强度决定。
23
+
24
+ 本定位不改变任何既有门禁:H0 隐藏区禁读、两阶段隔离(阶段一不读复核记录)、防幻觉协议、双证据链、
25
+ "未核 ≠ 缺失"。与上述门禁冲突时,**以门禁为准**。
26
+ H0 的机制 owner 是 `references/00-input-and-route-profile.md`,隐藏区的去向、定级与边界以 `references/12-leaf-common-contract.md` §7.1 为唯一权威(运行时细则见 14)。
27
+
28
+ ## 职责与边界
29
+
30
+ 本技能是全部 `crwu-audit-*` 叶子的唯一入口,只负责定位报告、生成画像、准备和隔离材料、计算多轴并集、分发、独立审核结果汇总,以及后续复核对照和交付。本技能不产出具体专业审核判断;判断由实际加载的专业技能执行。
31
+
32
+ - 叶子技能只能由本 router 编排,禁止单独调用,也不得自行重新查询报告记录。
33
+ - 叶子不得替代其他轴;禁止创建或选择“资产 × 业务”等组合技能。
34
+ - 规则正文与检查点必须覆盖完整 `skills_to_load`(含 public skill),经 `crwu-dws` 在本次运行实时下载。目录缓存只能定位,不能充当正文或证据;下载失败时记录缺口,不编造判断。
35
+ - 评估目的、方法、结论方法及位置只能来自真实读取并定位的报告材料。字段、附件名和经验只能作为提示,不能补写原文或伪造位置。
36
+
37
+ ## 必读 references
38
+
39
+ 按下列顺序理解所有权;运行时只在对应阶段读取:
40
+
41
+ 1. [99-maintenance.md](references/99-maintenance.md):仅在维护 router、references 或叶子时先读;普通审核运行不加载。
42
+ 2. [00-input-and-route-profile.md](references/00-input-and-route-profile.md):每次运行开始时读取;定义输入字段、五轴画像、证据、文件读取和隐藏数据隔离。
43
+ 3. [01-report-id-resolution.md](references/01-report-id-resolution.md):输入为 `SeqNo` 或 `ObjectId` 时读取;材料包输入无需记录查询。
44
+ 4. [02-scope-classification.md](references/02-scope-classification.md):材料准备并真实读取报告后,生成 `scope_types[]`,并判定企业价值底层资产的 `materiality`。
45
+ 5. [03-asset-classification.md](references/03-asset-classification.md):同阶段生成多标签 `asset_types[]`。
46
+ 6. [04-business-classification.md](references/04-business-classification.md):同阶段按字段与已定位的目的原文生成多标签 `business_types[]`。
47
+ 7. [05-method-classification.md](references/05-method-classification.md):报告方法与结论章节已真实读取后生成 `methods[]` 和 `conclusion_method`。
48
+ 8. [06-overlay-classification.md](references/06-overlay-classification.md):生成 `overlays[]` 并处理 ROUTE001–004 冲突。
49
+ 9. [07-skill-registry.md](references/07-skill-registry.md):所有轴完成分类后,把每个 `axis+label` 解析为 `available`、`pending` 或 `profile-only`。
50
+ 10. [08-union-dispatch-rules.md](references/08-union-dispatch-rules.md):registry 解析完毕后形成稳定并集 `skills_to_load`,并按来源归并结果。
51
+ 11. [09-review-risk-classification.md](references/09-review-risk-classification.md):构建画像时生成 `review_risk_class`;它只提示审核严谨度,不增删业务标签或技能。
52
+ 12. [10-capability-gap-proposal.md](references/10-capability-gap-proposal.md):出现 `pending`、未注册标签或能力缺口时读取,逐标签记录 gap 或非审核提案。
53
+ 13. [11-html-delivery-spec.md](references/11-html-delivery-spec.md):阶段一定稿冻结后、阶段二对照与交付(步骤 14)时读取;**送达与交付层正文**(CRWU 审核意见 HTML 送达规范 v1.6:AuditResult 单一事实源、JSON 校验先行、员工单文件 HTML + 同源监控 JSON、双证据链、两阶段门禁、客观命中率与验收清单)。
54
+ 14. [12-leaf-common-contract.md](references/12-leaf-common-contract.md):加载任一 `crwu-audit-asset-*` / `crwu-audit-biz-*` 叶子时读取;**叶子共同约束**(轴边界、输入、一级根装配、二级选择、执行顺序、条目状态、来源优先级、证据出处、capability gap)。公共规则只在该文件写一份,叶子不各自复述;叶子与它冲突时以它为准。
55
+ 15. [13-dingtalk-result-publish.md](references/13-dingtalk-result-publish.md):步骤 14 已生成最终态监控 JSON 后读取;定义固定组织/团队空间/结果目录的精确解析、按审核年月建目录、带生成时间戳文件名、DWS 上传与写后验证契约。
56
+ 16. [14-orchestration-workflow.md](references/14-orchestration-workflow.md):**正式执行前必读**;router 运行时执行顺序与条件分支的唯一落点——脚本运行时(Python)、路由流程步骤 1–15、KB 兼容与运行时装配边界;步骤 14 的交付细节仍以 `11-html-delivery-spec.md` 为权威、钉钉回传仍以 `13-dingtalk-result-publish.md` 为权威,本文件不复述它们的正文。
57
+
58
+ ## 输入
59
+
60
+ 接受材料包、`SeqNo` 或 `ObjectId`。
61
+
62
+ - `SeqNo` / `ObjectId` 只按 `01-report-id-resolution.md` 解析。`SeqNo` 必须精确查询;返回 0 条或多条时停止,不自行选择。
63
+ - 不得硬编码或猜测 `ObjectId`、schema code 或 schema。schema 必须来自现场可验证结果或已确认配置。
64
+ - 对记录型输入,router 只 fetch 一次完整报告记录,以同一快照构建画像并准备材料。H3Yun 项目附件与知识库规则/契约使用两条隔离的下载链,禁止混用。
65
+ - 材料包输入直接盘点并准备其中材料;标识冲突、缺件或不可读项写入 `route_profile.conflicts[]` 或 `route_profile.material_gaps[]`。
66
+
67
+ ## 执行纪律:长任务不得空转(3 分钟介入准则)
68
+
69
+ 适用于本技能编排的全部外部命令与后台作业(附件下载、知识库批量下载、材料准备、脚本与交付渲染等),**包括叶子与子任务里启动的命令**:
70
+
71
+ - **停滞判据**:同一任务(同一条命令/同一个后台作业)连续 **3 分钟既无新输出、也无状态变化**,即视为停滞——**不得**继续静默等待,也**不得**反复空轮询充作"在跑"。
72
+ - **必须介入查因**(3 分钟是**介入触发器**,不是无条件终止):
73
+ 1. 查状态——进程/作业是否仍存活,是否在等输入、等凭据、等锁,或被沙箱/审批拦住;
74
+ 2. 查原因——读最近输出与 stderr/日志,区分网络慢、审批未答、单件过大、死锁与命令写错;
75
+ 3. 处置——能修就修(补参数、缩小范围、改分批或后台并周期查看);确认无法推进时终止该任务并如实记 `capability gap`;
76
+ 4. 留痕汇报——写明停滞时长、观察到的事实、已做处置与残余影响。
77
+ - **禁止**把停滞静默当作"只是慢"或"再等等看";**禁止**把停滞叙述成"材料缺失/无数据"。
78
+ - **人工等待不适用**:等待用户本人操作(确认、授权、提供材料、扫码等)不计入 3 分钟,也不得因"无动静"而终止该流程或替用户作决定。
79
+
80
+ ## 运行时编排入口
81
+
82
+ router 的运行时执行顺序与条件分支**只在** [14-orchestration-workflow.md](references/14-orchestration-workflow.md) 维护;入口不复述、不并行维护第二份。
83
+
84
+ 1. **正式执行前必须读取** `references/14-orchestration-workflow.md`——Python 运行时、路由流程步骤 1–15、KB 兼容与运行时装配边界都在那里。
85
+ 2. 必须**按 14 的步骤 1–15 顺序执行**:不得跳步、不得调序、不得改写已冻结的阶段产物。
86
+ 3. **阶段一隔离与冻结、阶段二复核不得合并**:读取任何复核记录前,阶段一正式意见与 `route_profile` 必须已定稿并冻结。
87
+ 4. Python 运行时与 KB 装配边界服从 14;交付与送达服从 [11-html-delivery-spec.md](references/11-html-delivery-spec.md)(**JSON 校验先行**、`validate` → `render --json-out` 调用序列与字段契约以 11 为唯一权威);钉钉回传服从 [13-dingtalk-result-publish.md](references/13-dingtalk-result-publish.md)。
88
+ 5. 任一步门禁失败**按「失败与冲突」处理**,不得静默跳过,也不得降级叙述成"材料缺失"。
89
+
90
+ ## 失败与冲突
91
+
92
+ - `SeqNo` 精确查询为 0 条或多条、`ObjectId` 身份冲突时是定位级硬停止:不得 fetch 候选记录、准备其附件或开始审核,先返回证据并等待人工处理。
93
+ - 阶段一源材料必须经 `crwu_h3yun_file_get` **单附件**定向下载;该 Tool 不可见、返回 capability gap,或没有已隔离源材料包时停止材料准备并如实记录——本链路**没有**整单下载能力,因此不存在「用整单下载跨过复核记录隔离门禁」这条退化路径。
94
+ - 单个标签或单个轴画像含混时,只挂起受影响标签/候选并写入 `route_profile.material_gaps[]`;其他已确认标签和轴必须继续求值、并集加载和审核。不得把局部歧义扩大为整体停止。
95
+ - ROUTE001–004 只按 06 挂起受影响的业务/范围/资产标签、基准日或价值类型及其依赖规则;未受影响的技能继续执行。证据冲突不得静默任选一边。
96
+ - 单个专业技能 `pending`、未注册、下载失败或执行失败时逐标签记录原因,其他 `available` 技能和满足条件的公共能力继续执行。
97
+ - 钉钉回传的目标组织、团队空间或结果根目录零命中/多命中时停止回传;只有审核年份和月份目录允许缺失后创建。回传失败不删除本地交付件,也不得换组织、选相似目录或覆盖同名远端文件。
98
+ - 只有所有分发维度均无可靠命中时,才停止专业审核结论,输出已知画像、证据、缺口与候选,请求人工确认;表格等不依赖画像的公共能力仍可按条件执行,但不得冒充专业结论。
99
+
100
+ ## 输出
101
+
102
+ `skills_to_load` 专指 08 计算出的、可实际同时加载的 `available` 技能稳定并集,不包含 `pending` 候选或 `profile-only` 标签。输出 schema 中,画像字段只属于 `route_profile`;六个候选数组及稳定并集只属于 `dispatch`。下列字段必须完整保留,具体结构和定义以 `00-input-and-route-profile.md` 为准:
103
+
104
+ ```jsonc
105
+ {
106
+ "route_profile": {
107
+ "identity": {},
108
+ "report_form": null,
109
+ "record_context": {},
110
+ "scope_types": [],
111
+ "asset_types": [], // 企业价值范围下每项另含 materiality=key|non-key|unknown
112
+ "business_types": [],
113
+ "methods": [],
114
+ "conclusion_method": null,
115
+ "overlays": [],
116
+ "review_risk_class": {},
117
+ "conflicts": [],
118
+ "material_gaps": [],
119
+ "weak_structured": false,
120
+ "confidence": {}
121
+ },
122
+ "dispatch": {
123
+ "scope_skills": [],
124
+ "asset_skills": [],
125
+ "business_skills": [],
126
+ "method_skills": [],
127
+ "overlay_skills": [],
128
+ "public_skills": [],
129
+ "skills_to_load": []
130
+ }
131
+ }
132
+ ```
133
+
134
+ 稳定并集按 08 固定为:
135
+
136
+ ```text
137
+ dispatch.skills_to_load = stable_unique(
138
+ dispatch.scope_skills + dispatch.asset_skills + dispatch.business_skills +
139
+ dispatch.method_skills + dispatch.overlay_skills + dispatch.public_skills
140
+ )
141
+ ```
142
+
143
+ 最终编排结果还必须保留:
144
+
145
+ - `route_profile`(内含五轴、各资产 `materiality`、`review_risk_class`、`conflicts[]` 和 `material_gaps[]`)与 `dispatch`(内含六数组和 `skills_to_load`);
146
+ - 材料工作路径、规则材料路径、未读取或未装载原因及适用规则集快照;
147
+ - findings 及每条的 `source_skills[]`;
148
+ - `references/11-html-delivery-spec.md`(v1.6 送达规范)要求的逐条裁定、复核对照与综合对比、《本次审核记录清单》、未检查项,以及最终**员工单文件 HTML + 内部同源监控 JSON**(AuditResult 单一事实源渲染)。
149
+ - 脚本目录、用法与维护入口见 [scripts/README.md](scripts/README.md)(脚本清单、命令用法、强制校验规则与维护规则);交付字段与编排层调用映射仍以 `references/11-html-delivery-spec.md` 为唯一权威,本入口不复述。
150
+ - `references/13-dingtalk-result-publish.md` 要求的钉钉回传状态:成功时保留精确远端路径与节点 ID;失败时保留失败层级与真实原因。
151
+
152
+ 无专业技能可用时仍交付画像、逐标签 gap 与已执行公共能力结果,不以“无能力”空返。
@@ -0,0 +1,232 @@
1
+ # 输入与 route_profile
2
+
3
+ | 版本 | v1.0 | 状态 | 2026-09-09 多维路由定稿 | 维护 | 输入字段与画像 schema 唯一事实源 |
4
+ | --- | --- | --- | --- | --- | --- |
5
+
6
+ ## 导航
7
+
8
+ - [输入字段](#输入字段)
9
+ - [route_profile](#route_profile)
10
+ - [文件级读取与溯源](#文件级读取与溯源)
11
+ - [方法角色概要](#方法角色概要)
12
+ - [KB 装配输入](#kb-装配输入)
13
+ - [Excel 隐藏数据隔离(工作版重建)](#excel-隐藏数据隔离工作版重建)
14
+ - [材料缺口与降级](#材料缺口与降级)
15
+
16
+ ## 输入字段
17
+
18
+ 报告审核记录的输入标识与必读字段如下。标识解析只按 [01-report-id-resolution.md](01-report-id-resolution.md) 执行。
19
+
20
+ | 信号 | 字段 | 用途 |
21
+ | --- | --- | --- |
22
+ | 报告标识 | `SeqNo`、`ObjectId` | 定位唯一记录 |
23
+ | 报告名称 | `F0000049` | 对象与业务弱结构化补充证据 |
24
+ | 报告形态 | `F0000056` | `report_form` |
25
+ | 业务大类 | `F0000065` | 业务类型主证据 |
26
+ | 评估目的 | `F0000064` | 业务类型主证据 |
27
+ | 评估范围 | `F0000066` | 范围与底层资产分类 |
28
+ | 对象大类 | `F0000119` | 资产类型分类 |
29
+ | 价值类型 | `F0000072` | 市场、公允、可收回、清算、残余等口径 |
30
+ | 法定性 | `F0000051` | 报告条款强制力 |
31
+ | 评估基准日 | `F0000067` | 时效性和冲突核查 |
32
+ | 报告文号 | `F0000092` | 披露一致性 |
33
+ | 监管归属 | `F0000082` | 国资覆盖层 |
34
+ | 金融标志 | `F0000124` | 金融/银行覆盖层 |
35
+ | 司法标志 | `F0000126` | 司法覆盖层 |
36
+ | 证券标志 | `F0000127` | 证券覆盖层 |
37
+ | 附件字段 | `F0000076` 等所有附件键 | 文件清单、下载和材料路径准备;文件名只是提示 |
38
+
39
+ `F0000020`、`F0000158`、`F0000178` 等风险等级/级次/状态只是背景或对照信号,不参与范围、资产、业务、方法或覆盖层路由。业务大类/评估目的为空时可读 `F0000049` 推断;名称仍含混时记录“画像歧义,需人工确认”,不猜测分发。
40
+
41
+ `F0000056` 的报告形态先于五个分发轴记录,并决定表述强制力:评估业务可使用评估结论等法定口径;咨询/估值文书使用参照口径,不得表述为“评估结论”或虚构结论有效期;矿业权评估同时继续识别 `asset_types[]=矿业权`。报告形态不能替代任何轴标签。
42
+
43
+ ## route_profile
44
+
45
+ ```jsonc
46
+ {
47
+ "route_profile": {
48
+ "identity": {
49
+ "input": "用户提供的标识",
50
+ "input_type": "SeqNo|ObjectId|material-package",
51
+ "seq_no": "真实输入或查询返回值|null",
52
+ "object_id": "用户提供或精确查询所得|null"
53
+ },
54
+ "report_form": "资产评估业务",
55
+ "record_context": {
56
+ "report_name": "F0000049 原值",
57
+ "value_type": "F0000072 原值",
58
+ "legal_status": "F0000051 原值",
59
+ "base_date": "F0000067 原值",
60
+ "document_number": "F0000092 原值",
61
+ "recorded_risk_level": "F0000020 原值,仅作对照"
62
+ },
63
+ "scope_types": [],
64
+ "asset_types": [],
65
+ "business_types": [],
66
+ "methods": [],
67
+ "conclusion_method": null,
68
+ "overlays": [],
69
+ "review_risk_class": {},
70
+ "material_gaps": [],
71
+ "conflicts": [],
72
+ "weak_structured": false,
73
+ "confidence": {"overall": "high|medium|low", "note": ""}
74
+ }
75
+ }
76
+ ```
77
+
78
+ `scope_types[]`、`asset_types[]`、`business_types[]`、`methods[]` 和 `overlays[]` 中的每个分类标签必须具有:
79
+
80
+ ```jsonc
81
+ {
82
+ "type": "清算",
83
+ "source": ["F0000064", "报告目的原文"],
84
+ "evidence": ["企业清算", "为破产清算提供价值参考"],
85
+ "location": ["record.F0000064", "评估报告·摘要·评估目的段(L60-68)"],
86
+ "confidence": "high|medium|low",
87
+ "review_required": false
88
+ }
89
+ ```
90
+
91
+ `source/evidence/location` 是不可拆分的数组三元组:`source[]` 说明来自记录字段、报告文件或名称推断,`evidence[]` 保留实际字段值或原文,`location[]` 给出字段键或文件·章节/页/行号;文件未读取时用 `evidence=["未抽验(文件未读取)"]`、`location=[]`,不得伪造。企业价值范围下的 `asset_types[]` 另必须包含 `materiality: key|non-key|unknown`,并保留判定理由。字段直读或真实报告原文为高置信度;报告名称推断为中或低置信度;来源冲突、弱信号或 `materiality=unknown` 时 `review_required=true`。
92
+
93
+ ## 文件级读取与溯源
94
+
95
+ 评估目的原文、评估方法、结论方法及其位置只能来自真实读取的文件:
96
+
97
+ 1. 源材料附件**只经单附件定向下载**取回:先 `crwu_h3yun_files_list` 取附件元数据,再对源材料件逐个 `crwu_h3yun_file_get({fileId, caseDir, relativePath: '材料-源/<文件名>'})`;复核件只记入《排除清单》、**永不下载**(阶段一门禁见 SKILL.md 步骤 2)。确认 Tool 返回的 `ok:true` 且 `sizeBytes` 非零。记录本体用 `crwu_h3yun_record_get` 一次取全字段。**不得**改用任何批量/整单下载方式。
98
+ 2. 先用 `file` 识别格式:旧 `.doc` OLE 可用 `textutil -convert txt`;`.docx` 读 OOXML;`.pdf` 用文本提取工具;`.xlsx/.xls` 用相应表格工具。先探测现有工具,不得凭印象宣称不可读。
99
+ 3. 在文件中定位原文,为文件级字段回填数组 `source`、`evidence` 与 `location`。没有定位不得用于冲突定论。
100
+ 4. 文件未下载或不可读时,字段显式标记 `未抽验(文件未读取)`,不填定位。
101
+
102
+ 附件名只能标记为提示或待抽验,不能据此表述“已采用某法”。严禁从氚云字段、附件名、行业经验补写报告原文,或编造章节、页码、行号。
103
+
104
+ ## 方法角色概要
105
+
106
+ `methods[]` 保留报告披露/采用的全部方法。每项严格使用 00 的通用标签 schema:canonical 方法写入 `type`,`source/evidence/location` 均为数组,并保留 `confidence/review_required`;方法项额外使用 `role=采用-作结论|采用-未作结论|测算-参考`。`conclusion_method` 单独保留结论所用方法并引用相同 canonical `type` 和证据结构。详细判定与多方法检查见 [05-method-classification.md](05-method-classification.md)。
107
+
108
+ ## KB 装配输入
109
+
110
+ 五轴 `route_profile` 是 router 的唯一画像契约。**装配清单不再由本仓工具生成**:命中某个轴标签后,下载清单 = 命中叶子 `references/01-kb-assembly.md` 中该轴的路径键(一级目录根 `request_kind=directory`/`recursive=true`,或明确的单文件路径)+公共执行契约路径并集。
111
+
112
+ router 只负责把五轴画像映射成轴标签并选出 available 叶子;不得为兼容而生成旧画像键,也不得自行挑选叶子装配表以外的知识库文件。叶子按自身装配表声明的一级目录根,经 `crwu-dws` 递归实时下载该根下全部支持正文并准备材料;下载失败、空目录或不支持导出的节点记 capability gap,不静默忽略。
113
+
114
+ ## Excel 隐藏数据隔离(工作版重建)
115
+
116
+ 对下载的 `.xlsx/.xls`,在任何解析、提取或勾稽前制作工作副本。
117
+
118
+ **为什么必须排除**:Excel 中的隐藏 sheet / 行 / 列 / 折叠分组是**员工(检查人)手动隐藏**的,
119
+ 表示其已明确不纳入本次审核。因此隐藏区**整体排除在审核范围之外**:不读取、不解析、不核对、不引用其任何
120
+ 单元格内容,不产生差异、不产生意见、不写入证据值;对隐藏区**既不报错也不报漏**。
121
+
122
+ > **本节是隔离的「机制 owner」(mechanism owner),不是「口径 owner」。** 隐藏区事项的**定级、状态与去向**
123
+ > (含是否进入人工确认清单、是否计入 `fail`、H1 授权的完整条件、可见公式引用隐藏输入时的处理方式)
124
+ > **唯一权威是 `12-leaf-common-contract.md` §7.1** —— 本节**不复述、不另立一份**,执行时按名回指该节。
125
+
126
+ 本节负责实现的机制:
127
+
128
+ - **隐藏结构识别**:只允许读取"哪些 sheet / 行 / 列被隐藏"这类**结构元数据**
129
+ (`ws.sheet_state`、`ws.row_dimensions[r].hidden`、`ws.column_dimensions[c].hidden`;折叠分组
130
+ `outlineLevel>0` 且组头 `collapsed=True` 视同隐藏),用途是把隐藏区从工作版中剔除并输出忽略清单。
131
+ 隐藏段位以**原件 raw XML 的真实区段**(`<col min max hidden>` / `<row hidden>`)为准;工具集合与
132
+ raw XML 不一致时按 raw XML 判定,并按 §7.1 纪律 5 另记一条 `capability gap`(不得写成被审件缺陷)。
133
+ - **可见区工作版重建**:只能用**重建法**(新建簿,只复制**可见 sheet × 可见行 × 可见列**的值与格式);
134
+ 禁止用 openpyxl `delete_rows`/`delete_cols` 逐行逐列删除(会残留维度元数据)。
135
+ - **隐藏区引用审计**(H0 内唯一允许、且必须做的深化动作):只解析**可见格公式里的引用坐标**,判断它是否
136
+ 指向隐藏行/列/隐藏工作表 —— **只读坐标,不读隐藏区任何内容或公式**;判定"是否参与计算"**只看引用关系,
137
+ 不看隐藏与否**;**不得**因"被引用"就把隐藏列并入工作版或纳入审核范围;命中项的**去向按 §7.1 第 3 行**处理。
138
+ - **raw 坐标映射**:工作版因剔除隐藏行列导致坐标收缩时,形成 finding 前必须按重建时的行列对应关系
139
+ **映射回原件坐标**;只允许映射、引用 raw 可见区,不得借坐标回映读取或披露隐藏区内容。
140
+ - **媒体锚点隔离**:锚点落在隐藏 sheet / 隐藏行 / 隐藏列上的**不导出、不定位**,只记数量与未核原因。
141
+ - **`prepare_materials.py` 的输入输出**:输入 `<案例>/材料-源`;输出 `工作版/`、`提取/`、
142
+ `材料盘点.json`、`媒体证据/` + `媒体索引.json`。隐藏状态无法判定时按隐藏剔除,并记录"隐藏状态未知 · 已剔除"。
143
+ - **不得自证正确**:仍**不得**读取隐藏区的值或公式来"自证正确";要读取属 H1 例外,其授权口径见 §7.1。
144
+
145
+ - raw 原件保留不动,只由编排层持有;隐藏状态无法判定时按隐藏剔除,并记录"隐藏状态未知 · 已剔除"。
146
+ - 只能用**重建法**:新建簿并只复制**可见 sheet × 可见行 × 可见列**的值与格式。禁止用 openpyxl
147
+ `delete_rows`/`delete_cols` 逐行列删除(会残留维度元数据)。折叠分组(`outlineLevel>0` 且组头
148
+ `collapsed=True`)**视同隐藏**,一并剔除。
149
+ - **缓存值优先**:单元格有缓存值(`data_only=True`)就写缓存值,**仅当无缓存值**才写公式串。
150
+ 重建簿不会被 Excel 重算,写公式串会让后续 `data_only=True` 读回 `None`,把"公式未重算"误读成
151
+ "数据缺失"(曾据此误报"评估结果列全空")。
152
+ - **「值不可得」≠「数据缺失」**:无缓存值且为公式(含引用外部工作簿)的格,按表计数登记为
153
+ 「值不可得(未重算/外部引用)」元数据(不含内容值);后续只能**如实声明该格取不到值**,
154
+ **禁止**表述为"空白/缺失/未填",也不得据此产生差异或下结论。
155
+ - **输出名唯一 + 来源可追溯**:同名不同版本(如定稿与送审稿同名)必须消歧(追加来源目录后缀),
156
+ 盘点须记录每份材料的来源子目录(`stage`)与工作版路径一一对应,**禁止静默覆盖**(曾因送审稿
157
+ 覆盖定稿,把"使用状况"误判为"自用")。
158
+ - **不得改变格式语义**:逐格复制 `number_format`,数值/日期语义与原件一致;遇"疑似被日期化的
159
+ 数值列",结论前必须回 raw 原件核对格式(不得把原件问题与重建问题混为一谈)。
160
+ - **遍历边界按"有值格"定,四层各归各的**(原件常见游离的 `value=None`、只有样式的"格式格",
161
+ 如整列刷格式残留;它们会让任何按声明用区遍历的工具退化成百万行扫描):
162
+ **① 扫描边界** = **有值**格(缓存值 ∪ 公式串)的精确集合,不按声明用区扫矩形、不设阈值;
163
+ **② 内容边界** = 同一集合的 max 行列(即 `stats.maxRow/maxCol/visibleRows` 的口径);
164
+ **③ 异常提示** = 声明用区与有值区相差 >1000 行/列 → 记入 `材料盘点.json` 的 `sheetAnomalies[]`
165
+ (属**可见区表格规范缺陷**,只提示、**不改变遍历、不改变审核范围**);
166
+ **④ 规模护栏** = 单表有值格 >2,000,000 → 记 `capabilityGaps` 并跳过该表,**其余表继续**(不静默截断)。
167
+ 未触发③的表若声明用区与有值区不一致,逐个在 `stats[].declaredSpan` 留痕,不丢信息。
168
+ 注意:**"空洞大"≠"表大"**——按空洞裁会漏掉"游离格落在阈值以内"的病态表,故④按规模裁。
169
+ - 保存后重新打开工作版,验证隐藏区数量为 0。失败则按重建法重做;仍残留则挂起,不继续审核。
170
+ - 工作版剔除行列后坐标会收缩,而公式串仍保留 raw 坐标。公式/引用/合计范围类勾稽以 raw 坐标为准,
171
+ 只读可见单元格;纯数值勾稽可在工作版执行。
172
+ - **交付物中的 Excel 证据定位必须使用 raw 原件坐标**:最终意见、AuditResult、HTML、复核对照和
173
+ 审核记录中的 Excel `locator`,必须写原件的工作表名与单元格/区域坐标;**工作版坐标仅限审核执行内部使用**,
174
+ 不得作为对员工或复核人员的证据定位下发。工作版因剔除隐藏行列导致坐标收缩时,形成 finding 前必须按重建时的
175
+ 行列对应关系**映射回原件坐标**,且只允许映射、引用 raw 可见区;不得借坐标回映读取或披露隐藏区内容。
176
+ **无法可靠映射**时,**不得下发该定位**,也不得猜测原件坐标;应将该项降为「待人工确认事项」并记录
177
+ `capability gap`,直至取得可验证的原件定位。
178
+ - **任何"未列示/缺失/为空"类结论下发前,必须回到 raw 原件(定稿)逐条复读确认**——不得凭工作版、
179
+ 更不得凭同名送审稿下此类结论(同一项目曾因此复发三次)。
180
+ - **非单元格证据(媒体/页眉页脚/批注/形状/图表)不得据工作版判断,必须走「媒体证据通道」**:
181
+ 重建法只复制单元格值与 `number_format`,**必然**丢弃 `xl/media/`、`word/media/`、`xl/drawings/`、
182
+ 页眉页脚(`xl/worksheets/*.xml` 的 `headerFooter`)、批注(`xl/comments*.xml`)与形状/图表。
183
+ 编排层由 `scripts/prepare_materials.py`(内部调用 `scripts/media_extract.py`)把媒体**导出**到
184
+ `<案例>/媒体证据/`,并写放行清单 `<案例>/媒体索引.json`;叶子按下述口径消费:
185
+ ① **"工作版中不存在" ≠ "原件中不存在"**——对媒体类证据,只看工作版(甚至只看 raw 的单元格)
186
+ 都会得出错误的"为空/缺失";
187
+ ② 判读媒体**只经放行清单**:`媒体索引.json` 的每条含 `mediaId`、`kind`、受控 `locator`
188
+ (如 `1-2市场案例位置图!图片#1(锚点 4:4)`、`<文件名>#第<N>页图片#<序号>`、
189
+ `评估说明.docx!第<段落号>段图片#<序号>(前文:…)`、`<文件名>(整图)`)、`localPath`
190
+ (案例内相对路径)、`sha256`。**叶子不得自行解析 raw 原件包**(raw 只由编排层持有);
191
+ ③ **判读交宿主多模态读图**(DeepSeek Harness 的 `read_image` 等);读不到(宿主无视觉能力、
192
+ 图片损坏、媒体未导出)只能出「**未核验**」,**严禁**表述为"为空/缺失/未列示"——
193
+ **未核 ≠ 缺失**(真实失效 2026-302150-LX9757-BG8677:`MKT-004` 判"可比实例位置图为空、
194
+ 询价截图缺失",而原件 `04评估计算表.xlsx` 实有 26 个媒体对象、位置图带 4.6/5.4/3.8 km 标注);
195
+ ④ **H0 同样适用于媒体锚点**:锚点落在隐藏 sheet / 隐藏行 / 隐藏列上的媒体**不导出、不定位**,
196
+ 只在盘点里记数量(`hiddenSkippedCount`,无内容、无 locator);锚点不可判定(`absoluteAnchor`、
197
+ 未被任何 drawing 引用的部件、图表、页眉页脚)与**隐藏结构不可得**时一律**保守不导出**并记
198
+ `unresolvedReasons[]`(fail-closed)。媒体内容本身若呈现隐藏区内容,属 H1,须书面授权;
199
+ ⑤ 盘点汇总在 `材料盘点.json` 的 `nonCellEvidence`(`filesWithMedia` / `rawMediaCount` /
200
+ `exportedMediaCount` / `hiddenSkippedCount` / `unresolvedCount`)与逐件的 `mediaEvidence`;
201
+ `rawMediaCount` 与 `hiddenSkippedCount` **只记数字**,不含内容与定位。
202
+ - raw 原件只由编排层持有,叶子/下游只接收工作版路径**与编排层导出的媒体证据副本**(`媒体索引.json`
203
+ 放行的 `媒体证据/` 文件)。唯一其他例外是公式/引用坐标核查可对 raw 可见区做限定只读访问。
204
+ 叶子整簿读 raw、读 raw 隐藏区或读仍含隐藏区的工作文件时立即阻断并记录违规。
205
+ - **读不到 ≠ 材料缺失**:因缺依赖(`openpyxl`/`python-docx`/`pypdf`/`xlrd`)、无文本层(扫描件)、
206
+ 加密或格式不支持而读不到的材料,一律记 `capability gap` 并**如实声明"该件本次未核"**;
207
+ **禁止**表述为"材料缺失/未提供",更不得据此产生差异或结论。脚本每次运行都会汇报缺失依赖。
208
+ `.docx` 在缺 `python-docx` 时自动回退 `textutil`(评估说明/报告正文多为 `.docx`,读不到会直接
209
+ 改变结论),回退会在盘点中标注。
210
+ - **图片/扫描件同理**:本机不保证 OCR 与渲染能力(`tesseract`/`pdftoppm`/`soffice`/`PyMuPDF` 可能
211
+ 全缺),媒体判读只能由**宿主多模态**完成。宿主无视觉能力、图片不可读或媒体未导出时,逐条写
212
+ `scope.notCheckedItems`(`reasonCode=unreadable|unsupported`)并给 `requiredAction`,
213
+ **不得**计入"缺失材料",也不得据此下"为空/缺失"结论。
214
+ - **压缩包必须先解压再审核**:盘点时遇 `.zip/.tar/.tar.gz/.tar.bz2/.tar.xz/.tgz` 等归档,**必须先解压,再对解压产物实施审核**——归档内的测算底稿、明细表与源材料同等对待(同样提取文本、重建工作版、执行隐藏区隔离)。**不得把归档登记为"未解压"就跳过**(真实案例中一个归档内的"土地使用权-工业拟变更住宅-测算底稿"因此长期未被审核,属潜在漏检)。
215
+ - **落点**:解压到 `<案例目录>/解压/<归档名>/`,**源材料目录零写入**;盘点记录 `originArchive` 指向来源归档,可追溯,避免"解压产物来源不明"。
216
+ - **阶段一隔离门禁优先于解压**:归档内含复核记录类文件(复核/质控/外审/答复/审核意见等)时**不解压该条目**,只记名字,不得让其内容进入阶段一工作集。
217
+ - **安全**:拒绝绝对路径、`..` 越界(zip-slip)与符号链接条目;条目数与解压总量设上限,超限记 capability gap,不静默放过。
218
+ - **文件名编码**:zip 内中文名常为 GBK 且未置 UTF-8 标志位,默认按 cp437 解码会得到乱码文件名——**必须按 GBK 重解码**,否则连"这份材料是什么"都无法判断。
219
+ - **不支持的格式**:`.rar/.7z` 等在本机无 `7z/unar` 时,记 capability gap「该件本次未核」并如实声明,**不得记作"材料缺失",也不得静默跳过**;嵌套归档限深解压(默认 2 层)。
220
+ - **实施(技能自带脚本,随技能安装)**:`scripts/prepare_materials.py`
221
+ (`<DSH Python 绝对路径> scripts/prepare_materials.py --case <案例目录>`(解释器路径的口径见 SKILL.md「脚本运行时(Python)」))产出 `材料盘点.json` / `媒体索引.json` /
222
+ `提取/` / `工作版/` / `媒体证据/`;媒体抽取通道在同目录 `scripts/media_extract.py`
223
+ (xlsx 锚点、docx 段落序、`.doc` 经 `textutil` 中转、PDF 内嵌图、独立图片;H0 与 fail-closed 见上)。
224
+ **阶段二复核件**用 `--src <案例>/复核-人工 --label 复核` 复跑(产出 `复核盘点.json` /
225
+ `复核媒体索引.json` / `媒体证据-复核/`),**禁止覆盖阶段一冻结的 `材料盘点.json`**。
226
+ 契约测试 `scripts/test_prepare_materials.py` 与 `scripts/test_media_extract.py` 覆盖缓存值优先、
227
+ 隐藏区零泄漏(含折叠分组与**媒体锚点**)、同名消歧、「值不可得」登记、缺依赖不静默空返、
228
+ 源目录只读、格式保留、媒体导出与阶段二产物隔离。
229
+
230
+ ## 材料缺口与降级
231
+
232
+ 缺失材料、未抽验字段、未注册标签或 pending 能力按标签分别写入 `material_gaps[]`。不可用的单个技能不得导致其他 available 技能短路;不得以“无能力”空返,应附非审核结论的能力缺口说明。
@@ -0,0 +1,13 @@
1
+ # 报告标识解析
2
+
3
+ | 版本 | v1.0 | 状态 | 2026-09-09 定稿 | 维护 | 报告记录唯一定位规则 |
4
+ | --- | --- | --- | --- | --- | --- |
5
+
6
+ 1. `ObjectId` 只能来自用户明确输入,或一次真实查询的返回结果。
7
+ 2. 输入为 `SeqNo` 时,必须对报告审核(report-audit)schema 的 `SeqNo` 字段做精确查询,并解析为唯一 `ObjectId`。schema code 必须来自现场可验证的 schema 查询结果或已确认的配置。
8
+ 3. 精确查询返回 0 条时立即停止,返回:“未找到该报告流水号”。
9
+ 4. 返回多条时,列出可供识别的候选记录(至少 `SeqNo`、报告名称、更新时间、`ObjectId` 尾段),然后停止并等待人工确认。
10
+ 5. 不得猜测 schema code 或 `ObjectId`;不得用模糊报告标题匹配代替精确 `SeqNo` 查询;不得在 0 条或多条时自行选择。
11
+ 6. router 只获取一次报告记录,以该快照构建 `route_profile`并准备材料路径。leaf skill 只消费 `route_profile` 与已准备好的材料路径,不重复查询报告记录。
12
+
13
+ 字段与报告材料出现标识冲突时,将真实值和来源写入 `conflicts[]`,停止使用受影响的记录身份,等待人工确认。