@huicai/cli 2026.714.0 → 2026.721.0

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 (335) hide show
  1. package/README.md +2 -1
  2. package/bin/huicai.js +83 -0
  3. package/package.json +2 -2
  4. package/skills/ab-testing/SKILL.md +58 -0
  5. package/skills/ab-testing/scripts/__pycache__/ab_test.cpython-312.pyc +0 -0
  6. package/skills/ab-testing/scripts/ab_test.py +71 -0
  7. package/skills/academic-writing/SKILL.md +54 -0
  8. package/skills/accounting-ops/SKILL.md +68 -0
  9. package/skills/accounting-ops/scripts/__pycache__/acct_tools.cpython-312.pyc +0 -0
  10. package/skills/accounting-ops/scripts/acct_tools.py +89 -0
  11. package/skills/ai-agent/SKILL.md +85 -0
  12. package/skills/ai-agent/references/tool-design-checklist.md +51 -0
  13. package/skills/ai-aiops/SKILL.md +73 -0
  14. package/skills/ai-aiops/references/aiops-rollout-checklist.md +36 -0
  15. package/skills/ai-coding/SKILL.md +89 -0
  16. package/skills/ai-coding/references/task-brief-template.md +48 -0
  17. package/skills/ai-compliance/SKILL.md +74 -0
  18. package/skills/ai-compliance/references/genai-compliance-checklist.md +40 -0
  19. package/skills/ai-eval/SKILL.md +80 -0
  20. package/skills/ai-eval/scripts/eval-runner.py +150 -0
  21. package/skills/ai-llm-app/SKILL.md +90 -0
  22. package/skills/ai-llm-app/references/llm-integration-checklist.md +39 -0
  23. package/skills/ai-mlops/SKILL.md +72 -0
  24. package/skills/ai-mlops/scripts/token-cost-calc.py +108 -0
  25. package/skills/ai-multimodal/SKILL.md +86 -0
  26. package/skills/ai-multimodal/scripts/field-validate.py +182 -0
  27. package/skills/ai-prompt/SKILL.md +75 -0
  28. package/skills/ai-prompt/references/prompt-template.md +46 -0
  29. package/skills/ai-rag/SKILL.md +76 -0
  30. package/skills/ai-rag/scripts/chunk-inspect.py +129 -0
  31. package/skills/anomaly-detection/SKILL.md +54 -0
  32. package/skills/anomaly-detection/scripts/__pycache__/anomaly.cpython-312.pyc +0 -0
  33. package/skills/anomaly-detection/scripts/anomaly.py +99 -0
  34. package/skills/api-integration/SKILL.md +74 -0
  35. package/skills/api-integration/references/signing-recipes.md +141 -0
  36. package/skills/arch-design/SKILL.md +57 -0
  37. package/skills/arch-distributed/SKILL.md +81 -0
  38. package/skills/arch-distributed/references/idempotency-review.md +43 -0
  39. package/skills/arch-multitenant/SKILL.md +73 -0
  40. package/skills/arch-multitenant/references/tenant-isolation-checklist.md +34 -0
  41. package/skills/audit-assist/SKILL.md +63 -0
  42. package/skills/audit-assist/scripts/__pycache__/audit_sampling.cpython-312.pyc +0 -0
  43. package/skills/audit-assist/scripts/audit_sampling.py +93 -0
  44. package/skills/audit-chain/SKILL.md +60 -0
  45. package/skills/banking-credit/SKILL.md +59 -0
  46. package/skills/banking-credit/scripts/__pycache__/credit_metrics.cpython-312.pyc +0 -0
  47. package/skills/banking-credit/scripts/credit_metrics.py +53 -0
  48. package/skills/brand-design/SKILL.md +56 -0
  49. package/skills/business-plan/SKILL.md +56 -0
  50. package/skills/capital-ops/SKILL.md +52 -0
  51. package/skills/cicd-pipeline/SKILL.md +85 -0
  52. package/skills/cicd-pipeline/references/pipeline-review-checklist.md +39 -0
  53. package/skills/content-creation/SKILL.md +56 -0
  54. package/skills/corporate-governance/SKILL.md +56 -0
  55. package/skills/crawl-chain/SKILL.md +61 -0
  56. package/skills/customer-service/SKILL.md +51 -0
  57. package/skills/data-analysis/SKILL.md +46 -0
  58. package/skills/data-analysis/scripts/cjk_font.py +56 -0
  59. package/skills/data-chain/SKILL.md +54 -0
  60. package/skills/data-governance/SKILL.md +54 -0
  61. package/skills/data-report-pro/SKILL.md +65 -0
  62. package/skills/data-report-pro/scripts/__pycache__/bigdata.cpython-312.pyc +0 -0
  63. package/skills/data-report-pro/scripts/bigdata.py +79 -0
  64. package/skills/data-streaming/SKILL.md +87 -0
  65. package/skills/data-streaming/references/job-checklist.md +36 -0
  66. package/skills/data-wrangling/SKILL.md +52 -0
  67. package/skills/data-wrangling/scripts/__pycache__/join_tools.cpython-312.pyc +0 -0
  68. package/skills/data-wrangling/scripts/join_tools.py +99 -0
  69. package/skills/db-es/SKILL.md +68 -0
  70. package/skills/db-es/scripts/es-health.sh +72 -0
  71. package/skills/db-migration/SKILL.md +72 -0
  72. package/skills/db-migration/scripts/checksum-mysql.sql +46 -0
  73. package/skills/db-migration/scripts/checksum-postgres.sql +39 -0
  74. package/skills/db-migration/scripts/compare-reports.py +98 -0
  75. package/skills/db-mysql/SKILL.md +78 -0
  76. package/skills/db-mysql/scripts/mysql-health.sql +80 -0
  77. package/skills/db-postgres/SKILL.md +86 -0
  78. package/skills/db-postgres/scripts/pg-health.sql +67 -0
  79. package/skills/db-redis/SKILL.md +83 -0
  80. package/skills/db-redis/scripts/redis-health.sh +92 -0
  81. package/skills/dev-cpp/SKILL.md +94 -0
  82. package/skills/dev-cpp/references/cmake-sanitizer-snippets.md +56 -0
  83. package/skills/dev-cross-platform/SKILL.md +73 -0
  84. package/skills/dev-cross-platform/references/capability-matrix-template.md +39 -0
  85. package/skills/dev-csharp/SKILL.md +96 -0
  86. package/skills/dev-csharp/references/review-checklist.md +37 -0
  87. package/skills/dev-frontend/SKILL.md +91 -0
  88. package/skills/dev-frontend/scripts/bundle-budget.py +106 -0
  89. package/skills/dev-go/SKILL.md +88 -0
  90. package/skills/dev-go/scripts/go-triage.sh +54 -0
  91. package/skills/dev-harmony/SKILL.md +64 -0
  92. package/skills/dev-harmony/references/harmony-checklist.md +40 -0
  93. package/skills/dev-java/SKILL.md +77 -0
  94. package/skills/dev-java/scripts/jvm-triage.sh +84 -0
  95. package/skills/dev-mobile/SKILL.md +82 -0
  96. package/skills/dev-mobile/references/store-compliance-checklist.md +33 -0
  97. package/skills/dev-node/SKILL.md +82 -0
  98. package/skills/dev-node/scripts/node-triage.sh +78 -0
  99. package/skills/dev-php/SKILL.md +86 -0
  100. package/skills/dev-php/scripts/fpm-calc.py +48 -0
  101. package/skills/dev-python/SKILL.md +81 -0
  102. package/skills/dev-python/scripts/venv-doctor.sh +75 -0
  103. package/skills/dev-rust/SKILL.md +84 -0
  104. package/skills/dev-rust/references/cargo-ci-snippets.md +50 -0
  105. package/skills/dev-toolchain/SKILL.md +78 -0
  106. package/skills/dev-toolchain/scripts/secret-scan.sh +83 -0
  107. package/skills/doc-chain/SKILL.md +58 -0
  108. package/skills/doc-compare/SKILL.md +44 -0
  109. package/skills/doc-compare/scripts/compare.py +93 -0
  110. package/skills/docx-author/SKILL.md +39 -0
  111. package/skills/docx-author/scripts/docx_doc.py +161 -0
  112. package/skills/ecommerce-ops/SKILL.md +54 -0
  113. package/skills/ecommerce-ops/scripts/__pycache__/gmv_decompose.cpython-312.pyc +0 -0
  114. package/skills/ecommerce-ops/scripts/gmv_decompose.py +61 -0
  115. package/skills/education-training/SKILL.md +53 -0
  116. package/skills/ehs-safety/SKILL.md +63 -0
  117. package/skills/email-writing/SKILL.md +52 -0
  118. package/skills/eng-ai/SKILL.md +74 -0
  119. package/skills/eng-ai/references/ai-feature-checklist.md +36 -0
  120. package/skills/eng-architecture/SKILL.md +85 -0
  121. package/skills/eng-architecture/scripts/capacity-calc.py +100 -0
  122. package/skills/eng-automation/SKILL.md +84 -0
  123. package/skills/eng-automation/references/automation-inventory.md +38 -0
  124. package/skills/eng-automation/references/routine-presets.md +73 -0
  125. package/skills/eng-collaboration/SKILL.md +76 -0
  126. package/skills/eng-collaboration/references/collab-templates.md +43 -0
  127. package/skills/eng-complex-env/SKILL.md +84 -0
  128. package/skills/eng-complex-env/references/env-dossier-template.md +52 -0
  129. package/skills/eng-complex-env/scripts/env-recon.sh +152 -0
  130. package/skills/eng-data-platform/SKILL.md +81 -0
  131. package/skills/eng-data-platform/references/table-spec-template.md +39 -0
  132. package/skills/eng-database/SKILL.md +79 -0
  133. package/skills/eng-database/references/schema-review-checklist.md +37 -0
  134. package/skills/eng-develop/SKILL.md +76 -0
  135. package/skills/eng-develop/references/dod-checklist.md +43 -0
  136. package/skills/eng-docs/SKILL.md +71 -0
  137. package/skills/eng-docs/references/runbook-template.md +57 -0
  138. package/skills/eng-efficiency/SKILL.md +75 -0
  139. package/skills/eng-efficiency/scripts/dora-calc.py +104 -0
  140. package/skills/eng-infra/SKILL.md +81 -0
  141. package/skills/eng-infra/references/production-readiness.md +46 -0
  142. package/skills/eng-integration/SKILL.md +82 -0
  143. package/skills/eng-integration/references/integration-dossier-template.md +38 -0
  144. package/skills/eng-legacy/SKILL.md +81 -0
  145. package/skills/eng-legacy/references/modernization-workbook.md +46 -0
  146. package/skills/eng-observability/SKILL.md +78 -0
  147. package/skills/eng-observability/scripts/slo-calc.py +82 -0
  148. package/skills/eng-ops/SKILL.md +74 -0
  149. package/skills/eng-ops/references/postmortem-template.md +67 -0
  150. package/skills/eng-performance/SKILL.md +73 -0
  151. package/skills/eng-performance/scripts/perf-baseline.py +110 -0
  152. package/skills/eng-planning/SKILL.md +79 -0
  153. package/skills/eng-planning/scripts/schedule-calc.py +101 -0
  154. package/skills/eng-quality/SKILL.md +74 -0
  155. package/skills/eng-quality/references/test-plan-templates.md +46 -0
  156. package/skills/eng-release/SKILL.md +78 -0
  157. package/skills/eng-release/references/release-plan-template.md +36 -0
  158. package/skills/eng-reliability/SKILL.md +72 -0
  159. package/skills/eng-reliability/references/resilience-review.md +43 -0
  160. package/skills/eng-requirements/SKILL.md +86 -0
  161. package/skills/eng-requirements/references/story-templates.md +47 -0
  162. package/skills/eng-research/SKILL.md +73 -0
  163. package/skills/eng-research/references/research-templates.md +42 -0
  164. package/skills/eng-security/SKILL.md +73 -0
  165. package/skills/eng-security/references/security-review-checklist.md +33 -0
  166. package/skills/eng-ux/SKILL.md +85 -0
  167. package/skills/eng-ux/references/ux-review-checklist.md +36 -0
  168. package/skills/engineering-chain/SKILL.md +101 -0
  169. package/skills/engineering-chain/references/eng-health-review.md +37 -0
  170. package/skills/env-offline/SKILL.md +81 -0
  171. package/skills/env-offline/scripts/bundle-manifest.sh +94 -0
  172. package/skills/env-private-deploy/SKILL.md +72 -0
  173. package/skills/env-private-deploy/references/delivery-templates.md +35 -0
  174. package/skills/env-xinchuang/SKILL.md +73 -0
  175. package/skills/env-xinchuang/references/adaptation-matrix-template.md +41 -0
  176. package/skills/equipment-tpm/SKILL.md +56 -0
  177. package/skills/equipment-tpm/scripts/oee.py +58 -0
  178. package/skills/esg-report/SKILL.md +58 -0
  179. package/skills/esg-report/scripts/carbon_calc.py +61 -0
  180. package/skills/event-management/SKILL.md +51 -0
  181. package/skills/excel-analysis-chain/SKILL.md +73 -0
  182. package/skills/file-ingest/SKILL.md +51 -0
  183. package/skills/file-ingest/scripts/__pycache__/file_toolkit.cpython-312.pyc +0 -0
  184. package/skills/file-ingest/scripts/file_toolkit.py +404 -0
  185. package/skills/finance-analysis/SKILL.md +60 -0
  186. package/skills/finance-analysis/references/ratios.md +54 -0
  187. package/skills/finance-analysis/scripts/fin_ratios.py +132 -0
  188. package/skills/finance-chain/SKILL.md +59 -0
  189. package/skills/financial-modeling/SKILL.md +58 -0
  190. package/skills/financial-modeling/scripts/fin_model.py +123 -0
  191. package/skills/foreign-trade/SKILL.md +54 -0
  192. package/skills/funnel-cohort/SKILL.md +53 -0
  193. package/skills/funnel-cohort/scripts/__pycache__/funnel.cpython-312.pyc +0 -0
  194. package/skills/funnel-cohort/scripts/funnel.py +105 -0
  195. package/skills/gov-document/SKILL.md +57 -0
  196. package/skills/hr-chain/SKILL.md +51 -0
  197. package/skills/hr-operations/SKILL.md +53 -0
  198. package/skills/info-disclosure/SKILL.md +56 -0
  199. package/skills/infra-gateway/SKILL.md +85 -0
  200. package/skills/infra-gateway/references/golive-checklist.md +36 -0
  201. package/skills/infra-k8s/SKILL.md +78 -0
  202. package/skills/infra-k8s/scripts/k8s-triage.sh +84 -0
  203. package/skills/infra-mq/SKILL.md +87 -0
  204. package/skills/infra-mq/references/mq-review-checklist.md +36 -0
  205. package/skills/insurance-advisory/SKILL.md +57 -0
  206. package/skills/internal-audit/SKILL.md +66 -0
  207. package/skills/ip-management/SKILL.md +54 -0
  208. package/skills/ipo-listing/SKILL.md +60 -0
  209. package/skills/it-audit/SKILL.md +56 -0
  210. package/skills/itsm-ops/SKILL.md +55 -0
  211. package/skills/knowledge-sop/SKILL.md +51 -0
  212. package/skills/legal-chain/SKILL.md +55 -0
  213. package/skills/legal-contract/SKILL.md +58 -0
  214. package/skills/legal-contract/references/contract-checklists.md +59 -0
  215. package/skills/litigation-support/SKILL.md +53 -0
  216. package/skills/logistics-warehouse/SKILL.md +53 -0
  217. package/skills/logistics-warehouse/scripts/freight_check.py +71 -0
  218. package/skills/long-doc-analysis/SKILL.md +52 -0
  219. package/skills/management-accounting/SKILL.md +57 -0
  220. package/skills/management-accounting/scripts/__pycache__/costing.cpython-312.pyc +0 -0
  221. package/skills/management-accounting/scripts/costing.py +90 -0
  222. package/skills/manufacturing-chain/SKILL.md +57 -0
  223. package/skills/manufacturing-quality/SKILL.md +57 -0
  224. package/skills/manufacturing-quality/scripts/__pycache__/spc.cpython-312.pyc +0 -0
  225. package/skills/manufacturing-quality/scripts/spc.py +86 -0
  226. package/skills/marketing-analytics/SKILL.md +59 -0
  227. package/skills/marketing-analytics/scripts/__pycache__/rfm.cpython-312.pyc +0 -0
  228. package/skills/marketing-analytics/scripts/rfm.py +60 -0
  229. package/skills/marketing-chain/SKILL.md +57 -0
  230. package/skills/meeting-minutes/SKILL.md +55 -0
  231. package/skills/metrics-system/SKILL.md +55 -0
  232. package/skills/negotiation-prep/SKILL.md +56 -0
  233. package/skills/obs-prometheus/SKILL.md +74 -0
  234. package/skills/obs-prometheus/references/promql-cheatsheet.md +78 -0
  235. package/skills/office-automation/SKILL.md +54 -0
  236. package/skills/okr-review/SKILL.md +44 -0
  237. package/skills/ops-fleet/SKILL.md +69 -0
  238. package/skills/ops-fleet/scripts/batch-exec-guard.sh +119 -0
  239. package/skills/ops-linux/SKILL.md +69 -0
  240. package/skills/ops-linux/scripts/quick-triage.sh +138 -0
  241. package/skills/optimization-solver/SKILL.md +53 -0
  242. package/skills/optimization-solver/scripts/__pycache__/solver.cpython-312.pyc +0 -0
  243. package/skills/optimization-solver/scripts/solver.py +107 -0
  244. package/skills/pdf-toolkit/SKILL.md +43 -0
  245. package/skills/pdf-toolkit/scripts/pdf_ops.py +137 -0
  246. package/skills/pivot-crosstab/SKILL.md +44 -0
  247. package/skills/pivot-crosstab/scripts/__pycache__/pivot_tools.cpython-312.pyc +0 -0
  248. package/skills/pivot-crosstab/scripts/pivot_tools.py +90 -0
  249. package/skills/policy-analysis/SKILL.md +47 -0
  250. package/skills/portfolio-analysis/SKILL.md +56 -0
  251. package/skills/portfolio-analysis/scripts/__pycache__/portfolio.cpython-312.pyc +0 -0
  252. package/skills/portfolio-analysis/scripts/portfolio.py +78 -0
  253. package/skills/ppt-chain/SKILL.md +61 -0
  254. package/skills/pptx-author/SKILL.md +48 -0
  255. package/skills/pptx-author/scripts/pptx_deck.py +193 -0
  256. package/skills/pr-comms/SKILL.md +58 -0
  257. package/skills/pr-comms/references/pr-templates.md +54 -0
  258. package/skills/procurement-supply/SKILL.md +47 -0
  259. package/skills/procurement-supply/scripts/__pycache__/supply.cpython-312.pyc +0 -0
  260. package/skills/procurement-supply/scripts/supply.py +71 -0
  261. package/skills/product-design/SKILL.md +66 -0
  262. package/skills/product-design/references/prd-framework.md +60 -0
  263. package/skills/production-planning/SKILL.md +56 -0
  264. package/skills/production-planning/scripts/__pycache__/mrp_capacity.cpython-312.pyc +0 -0
  265. package/skills/production-planning/scripts/mrp_capacity.py +70 -0
  266. package/skills/project-management/SKILL.md +53 -0
  267. package/skills/project-management/scripts/__pycache__/cpm.cpython-312.pyc +0 -0
  268. package/skills/project-management/scripts/cpm.py +84 -0
  269. package/skills/project-proposal/SKILL.md +54 -0
  270. package/skills/project-proposal/scripts/budget_sheet.py +90 -0
  271. package/skills/qa-api-automation/SKILL.md +67 -0
  272. package/skills/qa-api-automation/references/three-layer-skeleton.md +61 -0
  273. package/skills/qa-mobile-automation/SKILL.md +70 -0
  274. package/skills/qa-mobile-automation/references/device-matrix-template.md +34 -0
  275. package/skills/qa-ui-automation/SKILL.md +80 -0
  276. package/skills/qa-ui-automation/references/stability-conventions.md +41 -0
  277. package/skills/quant-analysis/SKILL.md +60 -0
  278. package/skills/quant-analysis/scripts/__pycache__/quant.cpython-312.pyc +0 -0
  279. package/skills/quant-analysis/scripts/quant.py +102 -0
  280. package/skills/real-estate-property/SKILL.md +51 -0
  281. package/skills/real-estate-property/scripts/__pycache__/property_calc.cpython-312.pyc +0 -0
  282. package/skills/real-estate-property/scripts/property_calc.py +106 -0
  283. package/skills/regression-forecast/SKILL.md +52 -0
  284. package/skills/regression-forecast/scripts/__pycache__/regress.cpython-312.pyc +0 -0
  285. package/skills/regression-forecast/scripts/regress.py +106 -0
  286. package/skills/retail-store-ops/SKILL.md +57 -0
  287. package/skills/retail-store-ops/scripts/store_ops.py +57 -0
  288. package/skills/risk-compliance/SKILL.md +51 -0
  289. package/skills/sec-auth/SKILL.md +89 -0
  290. package/skills/sec-auth/references/auth-review-checklist.md +38 -0
  291. package/skills/sec-compliance/SKILL.md +74 -0
  292. package/skills/sec-compliance/references/dengbao-checklist.md +43 -0
  293. package/skills/securities-chain/SKILL.md +69 -0
  294. package/skills/securities-research/SKILL.md +58 -0
  295. package/skills/securities-research/scripts/__pycache__/valuation.cpython-312.pyc +0 -0
  296. package/skills/securities-research/scripts/valuation.py +93 -0
  297. package/skills/slides-html/SKILL.md +50 -0
  298. package/skills/slides-html/scripts/template.html +117 -0
  299. package/skills/statistical-testing/SKILL.md +51 -0
  300. package/skills/statistical-testing/scripts/__pycache__/stat_tests.cpython-312.pyc +0 -0
  301. package/skills/statistical-testing/scripts/stat_tests.py +131 -0
  302. package/skills/strategy-planning/SKILL.md +53 -0
  303. package/skills/supply-chain/SKILL.md +53 -0
  304. package/skills/tax-compliance/SKILL.md +57 -0
  305. package/skills/tax-compliance/scripts/tax_calc.py +90 -0
  306. package/skills/tech-research/SKILL.md +55 -0
  307. package/skills/tech-research/references/research-framework.md +50 -0
  308. package/skills/tender-bidding/SKILL.md +65 -0
  309. package/skills/tender-bidding/references/bid-checklist.md +44 -0
  310. package/skills/translation-pro/SKILL.md +44 -0
  311. package/skills/treasury-mgmt/SKILL.md +56 -0
  312. package/skills/treasury-mgmt/scripts/__pycache__/cashflow_forecast.cpython-312.pyc +0 -0
  313. package/skills/treasury-mgmt/scripts/cashflow_forecast.py +51 -0
  314. package/skills/web-scraping/SKILL.md +81 -0
  315. package/skills/web-search/SKILL.md +67 -0
  316. package/skills/xlsx-analysis/SKILL.md +96 -0
  317. package/skills/xlsx-analysis/scripts/__pycache__/xlsx_toolkit.cpython-312.pyc +0 -0
  318. package/skills/xlsx-analysis/scripts/xlsx_style.py +71 -0
  319. package/skills/xlsx-analysis/scripts/xlsx_toolkit.py +335 -0
  320. package/src/agent.js +1 -1
  321. package/src/api.js +1 -1
  322. package/src/codeindex.js +1 -1
  323. package/src/commands.js +1 -1
  324. package/src/config.js +1 -1
  325. package/src/context.js +1 -1
  326. package/src/doccache.js +1 -0
  327. package/src/doctor.js +1 -1
  328. package/src/executors.js +1 -1
  329. package/src/input.js +1 -1
  330. package/src/permissions.js +1 -1
  331. package/src/pyruntime.js +1 -0
  332. package/src/repl.js +1 -1
  333. package/src/scan.js +1 -1
  334. package/src/tools.js +1 -1
  335. package/src/tui/app.js +1 -1
@@ -0,0 +1,56 @@
1
+ ---
2
+ name: info-disclosure
3
+ description: 上市公司信息披露(定期报告编制、临时公告判定与撰写、内幕信息管理与知情人登记、窗口期与减持合规提示)。当用户说"披露/公告/年报编制/内幕信息/窗口期/停牌/董秘工作"时使用。证券技能链之披露环。
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # 信息披露(证券技能链 · 披露环;全景见 securities-chain)
8
+
9
+ **红线**:披露义务的触发情形、时限与格式以交易所现行规则与格式指引为准(规则常修订);
10
+ 是否构成应披露事项拿不准时**从严处理并咨询交易所/律师**;内幕交易是刑责级红线,
11
+ 本技能所有产出不构成买卖建议。
12
+
13
+ ## 1. 披露义务判定(董秘的日常第一问)
14
+
15
+ - **重大性双标尺**:定量(占资产/收入/净利润的比例线,按现行规则填参数)+ 定性
16
+ (对股价的可能影响/投资者决策相关性)——**定量不达标不等于不用披**,定性兜底;
17
+ - 高频临时公告类型清单(每类:触发情形/时限/要件):重大合同/关联交易(金额分级对应
18
+ 审议层级,corporate-governance 决议前置)/对外担保投资/诉讼仲裁(litigation-support
19
+ 台账联动)/业绩预告与快报(**触发情形与修正义务**:预告后实际偏差大要修正并说明)/
20
+ 股东减持增持/停复牌事项;
21
+ - 判定流程留痕:事项上报(各部门信息直报通道——**披露事故多因"部门没报"**,
22
+ 直报制度先建)→ 重大性评估记录 → 披露/暂缓/不披露决策及依据归档。
23
+
24
+ ## 2. 定期报告编制(年报/半年报/季报)
25
+
26
+ - 编制日历倒排(董事会审议日前:财务数据封版 → 业务章节 → 审计衔接(audit-chain 年审链
27
+ 同步跑)→ 内核 → 审议 → 披露),**审计报告与年报同日披露的协调是关键路径**;
28
+ - 分工矩阵:章节×责任部门×数据来源(财务数据只能来自封版口径——**业务部门自己算的
29
+ "亮点数据"与财务口径打架是年报事故高发区**,data-governance 字典裁决);
30
+ - 经营讨论与分析(MD&A)写作:用 finance-analysis 的杜邦与量价差归因,
31
+ **披露语言克制**("行业领先"要有出处,前瞻表述配风险提示);
32
+ - 全文一致性三核:财务报表 vs 附注 vs 正文引用(doc-chain 数字一致性纪律)。
33
+
34
+ ## 3. 内幕信息管理(合规的高压线)
35
+
36
+ - **内幕信息知情人登记**:事项启动即建档(人员/知悉时间/知悉方式,**时间精确到日**——
37
+ 倒查时这是护身符也是呈堂证供);重大事项进程备忘录同步记录;
38
+ - 保密纪律:最小知情圈/代号管理/中介机构保密协议;泄露或市场传闻异动的应对
39
+ (澄清公告决策流程,pr-comms 危机分级联动);
40
+ - **窗口期管理**:定期报告与业绩预告前的买卖禁止期台账(按现行规则填天数),
41
+ 董监高及其亲属持股变动的事前报备流程;减持规则要点提示(预披露/比例限制/敏感期,
42
+ 以现行减持规定为准)——**董监高的每一笔交易都先过合规确认**。
43
+
44
+ ## 4. 投资者关系衔接
45
+
46
+ 业绩说明会 Q&A(pr-comms 攻防表口径,**未披露信息一个字不能说**——回答边界=已披露信息);
47
+ 投资者调研接待登记与纪要(选择性披露是违规:调研中说了未披露重大信息要评估补披露);
48
+ 互动平台回复纪律(同口径/不预测/不荐股)。
49
+
50
+ ## 验收自查
51
+
52
+ - [ ] 重大性判定有定量+定性记录并归档
53
+ - [ ] 临时公告在时限内,要件齐全,审议层级前置
54
+ - [ ] 定期报告三向一致性核对完成,数据同源封版
55
+ - [ ] 知情人登记到日;窗口期台账与交易前确认在
56
+ - [ ] 对外口径以已披露信息为边界
@@ -0,0 +1,85 @@
1
+ ---
2
+ name: infra-gateway
3
+ description: 网关与流量治理链(分层判据 LB/API 网关/服务网格各有存在理由→选型判据(Nginx/Kong/APISIX/云网关)→能力落位(认证收口/集中限流熔断/灰度路由/协议卸载)→路由表 as code 与影子路由清理→证书集中管理自动轮换→WAF 误杀处置→服务网格三需求判据→网关自身高可用与降级直通→全站访问账本可观测)。eng-infra 的网关孙链:入口架构设计、灰度路由建设、网关选型、证书到期事故、网关成瓶颈时载入。
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # 网关与流量治理链
8
+
9
+ eng-infra 的网关孙链。网关是全站流量的咽喉:**它的每个能力都在给全站加杠杆,它的每次故障都是全站故障**——
10
+ 能力要收口到它,复杂度要挡在它外面。
11
+
12
+ ## 分层判据(每层要有存在理由,拒绝叠床架屋)
13
+
14
+ 四层 LB(入口高可用与横向扩展,云 SLB/LVS)→ **七层 API 网关**(认证/限流/路由/灰度,本链主角)→ 服务网格(东西向 mTLS 与细粒度治理,见网格节)——
15
+ 三层不是标配:小规模=LB+网关两层足够;**每加一层,延迟+运维+排障复杂度各加一份**,评审时逐层问"它解决什么别人解决不了的"(eng-architecture 组件引入纪律)。
16
+
17
+ ## 网关选型判据
18
+
19
+ | 方案 | 强项 | 判据 |
20
+ |---|---|---|
21
+ | Nginx/OpenResty | 成熟稳定/性能标杆 | 路由与规则相对静态、团队会 Lua 则扩展 |
22
+ | Kong/APISIX | 插件生态/动态配置/管理面完善 | 需要频繁变更路由与策略、多团队自助 |
23
+ | 云厂商网关 | 免运维/与云生态集成 | 云内为主、锁定成本认账(eng-research 退出成本) |
24
+ | Ingress 控制器 | K8s 原生(infra-k8s) | 集群内服务的默认入口,复杂治理再叠 API 网关判据要过 |
25
+
26
+ **一个入口一种网关**(多种网关串联=排障地狱);自研网关=红线级决策(eng-architecture ADR+"凭什么现成的不行")。
27
+
28
+ ## 核心能力落位
29
+
30
+ - **认证收口**:外部 token 在网关验证并换发内部身份头(sec-auth 网关换发模式)——后端服务信网关注入的身份,不再各自验外部 token;**内部头要防伪造**(网关剥离外部同名头+内网隔离);
31
+ - **限流熔断集中化**:网关管入口粗控(全局 QPS/按调用方配额/按租户 arch-multitenant),应用管细粒度(接口级/资源级,eng-reliability)——分工写清,别两层重复配出双重限流疑案;限流值来自压测(eng-performance),拒绝响应友好(429+Retry-After);
32
+ - **灰度路由**:按 header/权重/人群分流(eng-release 金丝雀与 eng-legacy 绞杀切流的执行面)——灰度规则版本化,灰度状态可查询(现在谁在灰度=常问问题);
33
+ - 协议卸载:TLS 终止/HTTP2/WebSocket 长连接(超时与心跳配置单列,断连重连语义与后端对齐 eng-integration 超时链);
34
+ - 通用防护:请求大小限制/慢请求防护/重试策略(**网关重试只对幂等方法**,arch-distributed 重试放大警告)。
35
+
36
+ ## 路由治理
37
+
38
+ **路由表即代码**(IaC,eng-infra):路由变更走评审与发布流程,禁控制台手点(点出来的路由=无主债);
39
+ 路由规范:域名与路径规划(新服务按规范自助接入,eng-automation 脚手架含网关配置模板);
40
+ 冲突检测:路由重叠与优先级冲突 CI 校验(cicd-pipeline);
41
+ **影子路由清理**:季度巡检无流量路由(下线服务的路由残留=攻击面+排障噪音,eng-automation 例程);
42
+ 跨环境一致:路由配置多环境同构只差目标(eng-infra 环境一致性)。
43
+
44
+ ## 证书管理(网关事故头号常客)
45
+
46
+ 集中管理:全站证书清单(域名/到期日/颁发方/挂载点)一处可查;
47
+ **到期自动化**:自动续期(ACME 类)为默认,不能自动的进到期巡检(提前 30 天告警+工单,eng-automation;env-offline 内网 CA 同拍)——**证书过期是"全站突然挂了"的经典答案**;
48
+ 轮换演练:证书更换流程演练过(含回滚,eng-reliability);内外分层(外部证书与内部 mTLS 证书分开管理与节奏)。
49
+
50
+ ## WAF 与入口安全
51
+
52
+ WAF 判据:对外业务默认上(云 WAF 起步);**误杀处置流程先建**(业务投诉"提交就 403"→规则查询→白名单/规则调整的 SLA,别让安全设备成为无人认领的拦路虎);
53
+ 规则变更留痕+灰度(观察模式先跑再拦截);
54
+ 防爬分级:公开页(限速)/登录态(行为验证)/核心接口(风控联动);
55
+ IP 黑白名单治理:有效期与 Owner(永久名单=僵尸名单,eng-release 开关治理同构);
56
+ 网关日志接安全审计(eng-security 事件溯源的第一现场)。
57
+
58
+ ## 服务网格判据(复杂度大户,三问再上)
59
+
60
+ **三需求都强才上**:东西向 mTLS 硬要求(零信任落地)+细粒度流量治理(按版本/按调用方)+统一可观测注入——
61
+ 只要其一有更便宜的解(SDK/网关/框架中间件)就先用便宜的;
62
+ 上了要认账:sidecar 资源与延迟开销/升级联动(网格版本×应用无感升级的验证)/排障多一层(请求路径上多两跳代理);
63
+ 渐进落地:按命名空间灰度接入,不玩全集群一把切(infra-k8s 渐进同则)。
64
+
65
+ ## 网关自身的高可用(最大单点的自觉)
66
+
67
+ 多副本多可用区(eng-infra 高可用配置);无状态化(限流计数等状态外置或容忍分片近似);
68
+ **过载保护自保**:网关自身限流兜底(它先活着才能限别人);
69
+ **降级直通预案**:网关控制面挂了数据面继续跑(配置缓存);极端预案=旁路直通(LB 直指后端,牺牲治理保可用)——演练过才算数(eng-reliability);
70
+ 网关变更=高危变更(全站爆炸半径,eng-ops 四眼+灰度发布网关自身)。
71
+
72
+ ## 可观测(全站访问账本)
73
+
74
+ 网关日志=全站流量的单一账本:标准字段(域名/路由/状态/耗时/调用方/traceId 注入起点,eng-observability 贯穿的源头);
75
+ 网关维度大盘:按域名/路由的 RED(全站健康一屏,eng-observability L1);
76
+ 成本纪律:访问日志量大,采样与分层保留(热查冷存);
77
+ **基线告警**:流量突降(比突增更容易被忽略——突降=上游断了或 DNS 劫持)与新增 5xx 路由榜。
78
+
79
+ **作业包**:`references/golive-checklist.md`(新路由接入单/证书检查/网关自身变更单(降级直通预案)/WAF 变更/季度巡检)。
80
+
81
+ ## 使用纪律
82
+
83
+ 能力进网关,业务逻辑禁进网关(网关里写业务=新的单点巨石);路由与证书 IaC 化;
84
+ 网关变更灰度+四眼;每层流量组件有存在理由;
85
+ 每次入口事故回写:预案(直通/降级)与清单(证书/路由)——**网关的成熟度=它多久没成为过故障原因**。
@@ -0,0 +1,36 @@
1
+ # 网关变更与上线检查单(infra-gateway 落笔件:网关变更=全站爆炸半径)
2
+
3
+ ## 1. 新路由接入单
4
+
5
+ | 项 | 内容 |
6
+ |---|---|
7
+ | 域名/路径/后端 | __(符合路由规范;冲突检测 CI 过) |
8
+ | 认证 | □网关收口验 token 换发内部头(**外部同名头已剥离**) □白名单豁免(理由:__) |
9
+ | 限流 | 入口粗控 __ QPS(依据:压测 __);应用细控另配(分工写清,防双重限流疑案) |
10
+ | 超时/重试 | 网关超时 __(≥后端 P99×1.5);重试:□关 □仅幂等方法(GET) |
11
+ | 请求限制 | body 上限 __;慢请求防护 __ |
12
+ | 灰度 | □无 □header/权重/人群:__(灰度状态可查询) |
13
+ | 路由 IaC | PR:__(禁控制台手点) |
14
+
15
+ ## 2. 证书检查(全站突挂经典答案)
16
+
17
+ - [ ] 新域名证书入集中清单(到期日 __;自动续期 □是 □否→巡检告警已挂)
18
+ - [ ] 内外证书分层(外部 __ /内部 mTLS __);轮换演练日期 __
19
+
20
+ ## 3. 网关自身变更单(高危,四眼+灰度)
21
+
22
+ - [ ] 变更内容与爆炸半径评估:__
23
+ - [ ] 灰度发布网关自身(批次:__);操作与复核人:__ / __
24
+ - [ ] **降级直通预案在手**:控制面挂→数据面配置缓存续跑;极端旁路(LB 直指后端)演练日期 __
25
+ - [ ] 回滚方式与耗时:__(实测)
26
+
27
+ ## 4. WAF/防护变更
28
+
29
+ - [ ] 新规则先观察模式跑 __ 天再拦截;误杀处置流程与 SLA 公示(别让安全设备成无人认领的拦路虎)
30
+ - [ ] 黑白名单带有效期与 Owner(永久名单=僵尸名单)
31
+
32
+ ## 5. 季度巡检项
33
+
34
+ - [ ] 影子路由清扫(无流量路由清单:__) - [ ] 证书清单核对
35
+ - [ ] 网关容量水位(网关自身限流兜底值 __) - [ ] 流量突降告警在位(突降=上游断/DNS 劫持,比突增易被忽略)
36
+ - [ ] 网关日志采样与保留成本核(全站账本,热查冷存)
@@ -0,0 +1,78 @@
1
+ ---
2
+ name: infra-k8s
3
+ description: K8s 深度运维链(工作负载五型判据→调度深度(亲和/污点/拓扑/优先级抢占)→网络四层(Service 类型/Ingress/NetworkPolicy/DNS ndots 坑)→存储与有状态备份→ConfigMap/Secret 热更差异与滚动触发→集群升级(废弃 API 扫描/节点 drain)→多租户隔离三件→排障决策树(Pending/CrashLoop/ImagePull/Service 不通))。eng-infra 的 K8s 孙链:集群治理、Pod 起不来、Service 不通、集群要升级、多团队共集群时载入。
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # K8s 深度运维链
8
+
9
+ eng-infra 的 K8s 孙链。基线三件(requests-limits 必填/探针三件套/HPA)在 eng-infra,此处往深处走。
10
+
11
+ ## 工作负载五型判据
12
+
13
+ | 类型 | 用于 | 要点 |
14
+ |---|---|---|
15
+ | Deployment | 无状态服务(默认) | 滚动参数 maxSurge/maxUnavailable 按容量余量调 |
16
+ | StatefulSet | 有状态(库/MQ/有序身份) | 稳定网络标识+PVC 随副本;**先问"这状态非进集群不可吗"**(托管服务常是更优解) |
17
+ | DaemonSet | 每节点一份(日志/监控代理) | 容忍度要配全(污点节点也要采集) |
18
+ | Job/CronJob | 批任务/定时 | 幂等(会重跑)+超时+历史保留数;并发策略 Forbid/Replace 想清楚 |
19
+ | Operator/CRD | 复杂有状态编排 | 引入=多一个软件的运维债(eng-research 评估,别为装而装) |
20
+
21
+ ## 调度深度
22
+
23
+ 亲和反亲和:同应用跨节点/跨可用区打散(eng-infra 高可用),数据密集型与其数据同区(跨区流量=钱+延迟);
24
+ 污点容忍:专用节点池(GPU/大内存/合规隔离)用 taint 圈地,别靠"大家自觉";
25
+ **拓扑分布约束**(topologySpreadConstraints):比反亲和更细的均衡控制(maxSkew);
26
+ 优先级与抢占:核心业务 PriorityClass 高优(资源紧张时先驱逐低优——**批任务与实验负载必须低优**,否则大促时它们跟核心抢地盘);
27
+ descheduler 思路:调度是一次性的,漂移后要再平衡(节点利用率长期不均先查亲和配置)。
28
+
29
+ ## 网络四层排查心智
30
+
31
+ - Service 类型判据:ClusterIP 默认/NodePort 临时调试/LoadBalancer 对外(配合云 LB)/Headless 给 StatefulSet 与自定义发现;
32
+ - Ingress/Gateway:TLS 终止与证书轮换(eng-automation 到期巡检);路径重写规则测试环境先验(重写错=全站 404);超时与包体上限要与后端对齐(eng-integration 超时链同理);
33
+ - **NetworkPolicy 渐进**:默认全通→关键命名空间默认拒绝+白名单放行(零信任落地,eng-infra);一步到位全集群默认拒绝=全司断网事故;
34
+ - DNS 专项:**ndots:5 经典坑**(短域名查询翻倍放大,外部域名带根点或调 ndots);CoreDNS 容量与缓存(NodeLocal DNSCache 判据:DNS 延迟毛刺时上);conntrack 表满=偶发超时(高并发短连接场景查这个)。
35
+
36
+ ## 存储与有状态
37
+
38
+ StorageClass 分级(SSD/HDD/共享文件)+回收策略(**Retain 用于生产数据**,Delete 的 PV 删了就真没了);
39
+ PVC 扩容支持与否先确认(不支持的存储类=建小了要迁移);
40
+ **有状态备份两层**:存储快照(快,崩溃一致)+应用级备份(逻辑一致,eng-database 备份纪律)——只有快照不够,恢复演练同 eng-ops 3-2-1;
41
+ 本地盘(local PV)判据:极致 IO 才用,认账"节点挂=数据随节点"(上层应用要有副本机制)。
42
+
43
+ ## 配置与密钥的运行时行为
44
+
45
+ **热更差异背下来**:ConfigMap/Secret 以卷挂载=会热更(有分钟级延迟);以 env 注入=**不热更,要重启**——"改了配置怎么没生效"九成是这个;
46
+ 滚动触发:配置变更要触发重启的,用哈希注解进 Pod template(配置变→模板变→自动滚动);
47
+ Secret 加固承 eng-infra(静态加密+RBAC);subPath 挂载不热更(再叠一坑);
48
+ 配置变更也是变更(eng-ops 流程,K8s 里 kubectl edit 生产=裸 DML 同罪,IaC 化,eng-infra)。
49
+
50
+ ## 集群升级与节点维护
51
+
52
+ 升级前三查:**废弃 API 扫描**(下版本移除的 API 还在用=升级即断,工具扫全集群资源)/插件兼容矩阵(CNI/CSI/Ingress 控制器版本配套)/控制面与节点版本偏差窗口;
53
+ 顺序:控制面→节点池分批(金丝雀节点池先蹚);
54
+ 节点维护流程:cordon(停调度)→drain(驱逐,**PDB 保护生效的前提是业务真配了 PDB**,eng-infra)→维护→uncordon;
55
+ drain 卡住排查:PDB 太紧(minAvailable=副本数=永远驱不动)/裸 Pod(无控制器管,驱逐即消失)/本地盘数据;
56
+ 版本节奏:别落后超两个次版本(升级债越滚越大,dependency-upgrade 分批灰度同理)。
57
+
58
+ ## 多租户隔离三件(共集群的秩序)
59
+
60
+ RBAC(命名空间级角色,禁全员 cluster-admin)+ResourceQuota/LimitRange(配额兜底,eng-infra)+NetworkPolicy(网络隔离);
61
+ 节点池隔离判据:合规/干扰敏感的租户独享节点池(taint 圈地);
62
+ 成本分摊:命名空间标签+用量计量(eng-infra FinOps 标签纪律的 K8s 落点)。
63
+
64
+ ## 排障决策树(症状→按序查,九成问题在树里)
65
+
66
+ - **Pending**:describe 看事件→资源不足(requests 超余量/碎片化)?亲和无解(可用区没匹配节点)?PVC 未绑定(StorageClass 错/容量无)?污点无容忍?配额超限?
67
+ - **CrashLoopBackOff**:logs --previous 看上次遗言→应用启动报错(配置缺/依赖不通)?liveness 探针过敏(启动慢配 startupProbe,eng-infra 探针判据)?**OOMKilled**(exit 137,limits 太小或真泄漏→dev-* 语言链画像);
68
+ - **ImagePullBackOff**:镜像名 tag 错?私仓凭证(imagePullSecrets)缺?网络到仓库不通(节点级验证)?
69
+ - **Service 不通**:endpoints 空(selector 与 label 不匹配——**第一嫌疑**/Pod 没 ready)→端口对齐(port/targetPort/containerPort 三处)→NetworkPolicy 拦了→DNS 解析(见网络节);
70
+ - **节点 NotReady**:kubelet/容器运行时状态→磁盘压力(镜像垃圾清理)→网络插件 Pod 挂;
71
+ 排障通用三板斧:describe 看事件、logs 看遗言、exec/debug 容器进现场(基线镜像带诊断工具,eng-infra)。
72
+ **作业包**:`scripts/k8s-triage.sh`(只读快照:节点状态/问题 Pod 分类统计/Pending 事件与 CrashLoop 遗言自动抓取/重启榜/Warning 事件/PDB 卡点,`-o` 打现场包——决策树的第一分钟采集器)。
73
+
74
+ ## 使用纪律
75
+
76
+ 一切资源 IaC 化(kubectl 手改=漂移,eng-infra 周巡);升级前废弃 API 扫描是硬前置;
77
+ PDB/探针/配额三件配齐才算生产就绪(eng-release 准入);
78
+ 每次集群事故回写决策树分支;**K8s 的复杂度是租来的:每引入一个特性(Operator/服务网格/自定义调度)先问运维承接谁来**(eng-architecture 收敛纪律)。
@@ -0,0 +1,84 @@
1
+ #!/bin/sh
2
+ # K8s 排障快照(infra-k8s 排障决策树的采集与初判)。只读 kubectl 命令,不改任何资源。
3
+ # 用法: sh k8s-triage.sh [-n 命名空间] [-o 目录] # 缺省全命名空间;-o 落盘完整输出(证据保全)
4
+ # 依赖: kubectl(且已配好 kubeconfig);无则提示后退出(复杂环境降级)。
5
+
6
+ NS=""; OUT=""
7
+ while [ $# -gt 0 ]; do
8
+ case "$1" in
9
+ -n) NS="-n $2"; shift 2;;
10
+ -o) OUT="$2"; shift 2;;
11
+ *) echo "用法: k8s-triage.sh [-n 命名空间] [-o 目录]"; exit 2;;
12
+ esac
13
+ done
14
+ [ -z "$NS" ] && NS="-A"
15
+ command -v kubectl >/dev/null 2>&1 || { echo "[缺工具] 无 kubectl —— 跳板机执行或离线仓预置(env-offline)"; exit 3; }
16
+ kubectl version --request-timeout=8s >/dev/null 2>&1 || { echo "[不可达] API Server 连不上(kubeconfig/网络/证书三查;证书过期是内网经典,env-offline)"; exit 4; }
17
+
18
+ TS=$(date '+%Y%m%d_%H%M%S')
19
+ if [ -n "$OUT" ]; then D="$OUT/k8s_triage_$TS"; mkdir -p "$D"; fi
20
+ keep() { [ -n "$OUT" ] && tee "$D/$1" || cat; }
21
+
22
+ echo "==== K8s 排障快照 $TS (范围 $NS) ===="
23
+
24
+ echo ""
25
+ echo "---- 节点(NotReady/压力先看) ----"
26
+ kubectl get nodes -o wide 2>/dev/null | keep nodes.txt | awk 'NR==1 || $2!="Ready" {print " "$0}'
27
+ NOTR=$(kubectl get nodes --no-headers 2>/dev/null | awk '$2!="Ready"' | wc -l | tr -d ' ')
28
+ [ "$NOTR" -gt 0 ] && echo " [红] NotReady 节点 $NOTR 个 —— describe 看 Conditions(磁盘压力/内存压力/kubelet)"
29
+ kubectl top nodes 2>/dev/null | head -8 | sed 's/^/ /' || echo " (metrics 不可用,top 跳过)"
30
+
31
+ echo ""
32
+ echo "---- 问题 Pod 分类(决策树入口) ----"
33
+ PODS=$(kubectl get pods $NS --no-headers 2>/dev/null)
34
+ [ -n "$OUT" ] && kubectl get pods $NS -o wide > "$D/pods.txt" 2>&1
35
+ echo "$PODS" | awk '{print $0}' | grep -E 'Pending|CrashLoopBackOff|ImagePull|ErrImage|CreateContainer|OOMKilled|Error|Evicted' | head -20 | sed 's/^/ /'
36
+ PEND=$(echo "$PODS" | grep -c 'Pending')
37
+ CRASH=$(echo "$PODS" | grep -cE 'CrashLoopBackOff')
38
+ IMG=$(echo "$PODS" | grep -cE 'ImagePull|ErrImage')
39
+ echo " 统计: Pending=$PEND CrashLoop=$CRASH 镜像拉取失败=$IMG"
40
+
41
+ if [ "$PEND" -gt 0 ]; then
42
+ echo ""
43
+ echo "---- Pending 原因速查(资源/亲和/PVC/污点/配额) ----"
44
+ echo "$PODS" | grep 'Pending' | head -3 | while read -r ns pod rest; do
45
+ [ "$NS" = "-A" ] || { pod=$ns; ns=${NS#-n }; }
46
+ echo " ▶ $ns/$pod:"
47
+ kubectl describe pod "$pod" -n "$ns" 2>/dev/null | grep -A4 'Events:' | tail -4 | sed 's/^/ /'
48
+ done
49
+ fi
50
+
51
+ if [ "$CRASH" -gt 0 ]; then
52
+ echo ""
53
+ echo "---- CrashLoop 遗言(logs --previous 前 15 行) ----"
54
+ echo "$PODS" | grep 'CrashLoopBackOff' | head -3 | while read -r ns pod rest; do
55
+ [ "$NS" = "-A" ] || { pod=$ns; ns=${NS#-n }; }
56
+ echo " ▶ $ns/$pod:"
57
+ kubectl logs "$pod" -n "$ns" --previous --tail=15 2>/dev/null | sed 's/^/ /' | head -15
58
+ LAST=$(kubectl get pod "$pod" -n "$ns" -o jsonpath='{.status.containerStatuses[0].lastState.terminated.reason} exit={.status.containerStatuses[0].lastState.terminated.exitCode}' 2>/dev/null)
59
+ echo " 上次终止: $LAST $( echo "$LAST" | grep -q 137 && echo '<== 137=OOMKilled,limits 太小或真泄漏(语言链画像)')"
60
+ done
61
+ fi
62
+
63
+ echo ""
64
+ echo "---- 重启榜 TOP(反复重启但没进 CrashLoop 的隐性病号) ----"
65
+ kubectl get pods $NS --no-headers 2>/dev/null | sort -rk5 2>/dev/null | head -5 | awk '{print " "$0}'
66
+
67
+ echo ""
68
+ echo "---- 最近 Warning 事件(全类型问题的汇流处) ----"
69
+ kubectl get events $NS --field-selector type=Warning --sort-by=.lastTimestamp 2>/dev/null | keep events.txt | tail -12 | sed 's/^/ /'
70
+
71
+ echo ""
72
+ echo "---- PDB(维护/升级被卡的常见原因) ----"
73
+ kubectl get pdb $NS 2>/dev/null | keep pdb.txt | awk 'NR==1 || $4==0 {print " "$0}'
74
+ kubectl get pdb $NS --no-headers 2>/dev/null | awk '$4==0' | grep -q . && echo " [黄] 有 ALLOWED DISRUPTIONS=0 的 PDB —— drain 会卡死(minAvailable=副本数?)"
75
+
76
+ echo ""
77
+ echo "==== 初判完毕 ===="
78
+ echo "对照 infra-k8s 排障决策树继续下钻: Pending→资源/亲和/PVC;CrashLoop→遗言/探针/OOM;"
79
+ echo "镜像失败→凭证/网络;Service 不通→endpoints/selector/端口三处/NetworkPolicy。"
80
+ if [ -n "$OUT" ]; then
81
+ ( cd "$OUT" && tar czf "k8s_triage_$TS.tar.gz" "k8s_triage_$TS" 2>/dev/null )
82
+ echo "快照包: $OUT/k8s_triage_$TS.tar.gz"
83
+ fi
84
+ exit 0
@@ -0,0 +1,87 @@
1
+ ---
2
+ name: infra-mq
3
+ description: 消息中间件链(Kafka/RocketMQ/RabbitMQ/Pulsar 选型判据表→分区与顺序心智(全局有序=吞吐归零)→消费组与重平衡风暴治理→位移提交时机与投递语义→事务消息 vs outbox→堆积治理处置序→死信与毒消息→副本 ISR 与刷盘→消息设计(瘦身/schema 演进/traceId)→经典事故清单)。eng-infra/eng-integration 的消息孙链:MQ 选型、消费堆积、重复消费、顺序错乱、重平衡风暴时载入。
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # 消息中间件链
8
+
9
+ eng-infra 与 eng-integration 共同的消息孙链。业务侧纪律(幂等/异步判据/outbox)在 eng-integration 消息专项,
10
+ 此处写引擎侧判据与运维。心智基调:**MQ 交付的是"至少一次+分区内有序",其余都要自己挣**。
11
+
12
+ ## 选型判据表
13
+
14
+ | 引擎 | 强项 | 判据信号 | 代价 |
15
+ |---|---|---|---|
16
+ | Kafka | 高吞吐/流生态(data-streaming 上游) | 日志流/埋点/大数据管道 | 功能朴素(延迟消息/事务消息弱),运维分区与位移心智重 |
17
+ | RocketMQ | 事务消息/延迟等级/顺序消息/国内生态 | 电商交易类业务消息 | 生态窄于 Kafka;延迟消息是级别制(任意时间要 5.x+) |
18
+ | RabbitMQ | 路由灵活(exchange)/低延迟/轻量 | 中小规模任务分发/RPC 型 | 吞吐天花板低;队列堆积性能劣化明显 |
19
+ | Pulsar | 存算分离/多租户/百万 topic | 云原生多租户平台 | 组件多(BookKeeper),运维承接先评估(eng-research) |
20
+
21
+ 选型口诀:业务消息(交易/通知)重功能选 RocketMQ 系,数据管道重吞吐选 Kafka,**一个组织别超两种 MQ**(eng-architecture 收敛)。
22
+
23
+ ## 分区与顺序(第一心智)
24
+
25
+ **全局有序=单分区=吞吐归零**——真需求几乎总是"局部有序":按业务键(订单号/用户 ID)hash 到分区,分区内有序即满足;
26
+ 乱序三来源:多分区并行/重试跳队/扩分区窗口——消费端防线:版本号/状态机单向推进(eng-integration);
27
+ 分区数规划:目标吞吐÷单分区吞吐+消费并行度上限(**消费者数>分区数的多余消费者围观**);
28
+ 扩分区代价:hash 路由变化=同键消息新旧分区各有,顺序破坏窗口要停写或容忍(建时宁多勿少)。
29
+
30
+ ## 消费组与重平衡
31
+
32
+ 重平衡=消费组内分区重新分配,期间**整组暂停消费**——频繁重平衡=消费断续假死;
33
+ 三大诱因:处理超时(max.poll 间隔内没处理完一批→拉小批次/异步处理)/心跳超时(GC 停顿/网络抖)/消费者频繁上下线(滚动发布触发→静态成员资格/协作式重平衡缓解);
34
+ **单条处理时长失控是根因之王**:下游慢调用要设超时(eng-reliability),批量拉取数×单条时长<poll 间隔;
35
+ 监控:重平衡次数/组状态进告警(eng-observability)。
36
+
37
+ ## 位移提交与投递语义
38
+
39
+ - 提交时机=语义:**处理完再提交**(至少一次,默认正道,配幂等)/先提交再处理(至多一次,丢得起才用)/自动提交=两头不靠(拉了没处理完也提交=丢,处理了没到提交点重启=重)——**关自动提交,手动按批提交**;
40
+ - 精确一次的真实成本:引擎内 exactly-once(幂等生产者+事务)只覆盖到"写入 broker/流内",**端到端仍需消费侧幂等**(落库唯一键,eng-integration 铁律)——别被宣传省掉幂等设计;
41
+ - 生产端:acks=all+幂等生产者为默认基线;发送回调必处理(fire-and-forget=静默丢)。
42
+
43
+ ## 事务消息与 outbox 判据
44
+
45
+ "业务落库+发消息"原子性两条路:**本地消息表/outbox 轮询**(默认推荐:无引擎依赖/可审计/eng-integration 详述)vs RocketMQ 事务消息(半消息+回查:少一张表与轮询延迟,多一个回查接口与引擎绑定)——
46
+ 团队已有 RocketMQ 且量大用后者,否则 outbox;两条路都**禁"先发后写库"**(经典丢单)。
47
+
48
+ ## 堆积治理
49
+
50
+ lag 监控必配(按消费组×分区,阈值=正常水位×3 预警);
51
+ 处置序:定位慢因(消费日志耗时打点:是下游慢还是单条重)→ 扩消费者(≤分区数)→ 调批量与并行(单消费者内并行处理,**注意分区内顺序要保的场景不能乱并行**)→ 降级消费逻辑(跳过非关键加工)→ 新起追赶通道(新组从最新消费保实时,旧组慢慢追历史)判据;
52
+ **堆积时最忌重启抖动**(触发重平衡雪上加霜);
53
+ 容量兜底:保留策略(时间/大小)要覆盖最长故障恢复时间(保留 3 天,修了 4 天=数据没了)。
54
+
55
+ ## 死信与毒消息
56
+
57
+ 重试上限(3–5 次退避)→死信队列+告警——**无死信设计=毒消息无限重试堵死分区**(后面全排队);
58
+ 死信处置流程:归因(格式错/依赖挂/bug)→修复→重投工具(死信重放要幂等护体)→模式回写;
59
+ 跳过策略judgment:可跳场景(埋点)记录跳过量,不可跳场景(交易)人工介入。
60
+
61
+ ## 可靠性与容量
62
+
63
+ 副本与 ISR:min.insync.replicas=2+acks=all=不丢基线(可用性与一致性权衡书面认账,db-mysql 双 1 同构);
64
+ 刷盘:异步默认(靠副本保数据),同步刷盘判据(单机房强可靠诉求,吞吐减半认账);
65
+ 磁盘水位与保留策略联动监控;跨机房:同步复制延迟代价 vs 异步 RPO,按灾备等级选(eng-infra)。
66
+
67
+ ## 消息设计纪律
68
+
69
+ **传 ID 不传大对象**为默认(消息带主键,消费端回查最新状态——顺带解决乱序旧值覆盖;大 payload 判据:消费端不方便回查且数据不可变);
70
+ 消息体上限意识(超限走对象存储+消息传引用);
71
+ schema 演进只加不改不删(api-design 同则),消费者容忍未知字段;
72
+ header 带 traceId 贯穿(eng-observability 异步链路接续)+产生时间(消费端算端到端延迟)。
73
+
74
+ ## 经典事故清单(根因→防线)
75
+
76
+ 重平衡风暴假死(处理超时治理+协作式重平衡);堆积逾保留期数据丢失(保留期覆盖恢复时长);
77
+ 毒消息堵分区(死信必配);先发消息后落库丢单(outbox);
78
+ 自动提交丢/重(手动按批);大消息打挂 broker(上限+引用传递);
79
+ 位移误重置(重置操作四眼+从时间点重置演练过,eng-ops)。
80
+
81
+ **作业包**:`references/mq-review-checklist.md`(新 topic 四件套登记/消费组评审/堆积处置卡(忌重启抖动)/事务性检查)。
82
+
83
+ ## 使用纪律
84
+
85
+ 新 topic 上线四件套:分区规划依据/保留策略/消费组命名规范/死信与告警配齐;
86
+ 消费端幂等是评审必查(eng-integration);lag 与重平衡进值班看板;
87
+ 每次消息事故回写清单——**MQ 的一切承诺都有前提条款,上线前把条款读完**。
@@ -0,0 +1,36 @@
1
+ # 消息队列上线与堆积处置卡(infra-mq 落笔件)
2
+
3
+ ## 1. 新 topic 上线四件套
4
+
5
+ | 项 | 内容 |
6
+ |---|---|
7
+ | topic/用途/Owner | __ |
8
+ | 分区规划 | 分区数 __=目标吞吐 __ ÷单分区吞吐 __,兼顾消费并行上限(建时宁多勿少,扩分区破顺序) |
9
+ | 顺序需求 | □无 □按 key 局部有序(key=__)——**全局有序=单分区=吞吐归零,真需要吗?** |
10
+ | 保留策略 | __ 天/__ GB(**覆盖最长故障恢复时长**:修 4 天保 3 天=数据没了) |
11
+ | 消息设计 | □传 ID 回查(默认,顺带解决乱序旧值) □带 payload(理由:__);schema 只加不改;header 带 traceId |
12
+ | 死信 | 重试 __ 次退避→DLQ __ +告警到 __(无死信=毒消息堵死分区) |
13
+ | 可靠级 | acks=all+min.insync.replicas=2? □是 □否(丢数窗口书面认账:__) |
14
+
15
+ ## 2. 消费组评审
16
+
17
+ - [ ] 手动按批提交,**处理完再提交**(自动提交=丢/重两头不靠)
18
+ - [ ] 消费幂等落地(唯一键/状态机,eng-integration 铁律):__
19
+ - [ ] 单条处理超时 __ <(批量 __ 条×单条)<poll 间隔(重平衡风暴第一根因)
20
+ - [ ] 下游慢调用有超时;分区内顺序要保的场景未乱并行
21
+ - [ ] lag 告警阈值=常态水位×3:__;重平衡次数进监控
22
+
23
+ ## 3. 堆积处置卡(事件时对照执行,忌重启抖动)
24
+
25
+ 1. 定位慢因:消费耗时打点——是下游慢还是单条重? __
26
+ 2. 扩消费者(≤分区数 __);调批量与消费者内并行(顺序约束核过)
27
+ 3. 降级消费逻辑(跳过非关键加工:预案 __)
28
+ 4. 新起追赶通道判据:新组从最新保实时+旧组追历史(业务接受乱序窗口?)
29
+ 5. 兜底核对:保留期内能追完吗?追不完先扩保留(磁盘余量 __)
30
+
31
+ ## 4. 事务性检查(业务落库+发消息)
32
+
33
+ - [ ] outbox/本地消息表(默认)或 RocketMQ 事务消息(回查接口:__)
34
+ - [ ] **禁"先发消息后落库"**(经典丢单);轮询补偿延迟 __ 可接受
35
+
36
+ > 位移重置=高危变更(四眼+演练过);大消息走对象存储传引用;每次消息事故回写事故清单。
@@ -0,0 +1,57 @@
1
+ ---
2
+ name: insurance-advisory
3
+ description: 保险配置与保单管理(家庭/企业保障缺口测算、保单检视台账、条款解读、理赔资料清单、企业险方案)。当用户说"保单整理/保额够不够/买什么保险/理赔材料/企业投保"时使用。
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # 保险配置分析(缺口可测算,条款讲人话,销售话术零容忍)
8
+
9
+ ## 合规红线
10
+
11
+ 产出为**需求分析与条款解读辅助**,不构成投保建议与产品推荐;不比较具体公司产品优劣、
12
+ 不预测分红收益(演示利率≠承诺,必须提示);理赔结论以保险公司核定为准;
13
+ 如实告知义务重点提示(健康告知不实=拒赔主因)。
14
+
15
+ ## 家庭保障缺口测算(先测缺口再谈产品)
16
+
17
+ 四险逻辑与测算式(参数全部与用户确认):
18
+ - **寿险**(身故责任缺口):遗属需要法 = 家庭负债(房贷车贷)+ 子女教育金 + 父母赡养 +
19
+ 配偶生活费 N 年 − 流动资产 − 已有寿险保额;双薪家庭按收入占比分配到两人;
20
+ - **重疾险**:3–5 年收入替代(治疗期收入中断)+ 自费医疗预估 − 已有保额——
21
+ **重疾是收入损失险不是医疗报销险**,这个定位错了全盘错;
22
+ - **医疗险**:看免赔额/报销范围(社保内外/自费药)/续保条款(**保证续保年限是核心条款**);
23
+ - **意外险**:杠杆最高,保额对标寿险责任;
24
+ - 输出《缺口测算表》:险种×(应有保额-已有保额=缺口),预算约束下给配置优先级
25
+ (先保障后理财/先大人后小孩/先保额后期限)。
26
+
27
+ ## 保单检视台账(家庭保单一张表)
28
+
29
+ 字段:被保人/险种/产品名/保额/保费/缴费期/保障期/等待期/**受益人**(默认法定 vs 指定的差异提示)/
30
+ 现金价值/宽限期与复效条款/银行扣款账户;
31
+ 检视输出:重复投保(医疗险费用型不能重复报销)/ 保障断档(缺口表联动)/
32
+ 缴费日历(office-automation 例程提醒续期)/ 受益人与家庭结构变化核对(结婚/生子/离异后必查)。
33
+
34
+ ## 条款解读(讲人话三件套)
35
+
36
+ 任何条款解读输出:**保什么**(责任清单+触发条件)/ **不保什么**(免责条款逐条+高频争议:
37
+ 既往症/等待期出险/职业类别/酒驾)/ **怎么赔**(给付型 vs 报销型/免赔额/比例/限额);
38
+ 健康告知逐条对照用户情况,拿不准的标注"建议如实告知并留存证据",**绝不建议隐瞒**。
39
+
40
+ ## 理赔支持
41
+
42
+ 理赔资料清单(按险种:诊断证明/病历/发票分割单/意外事故证明/受益人身份关系证明);
43
+ 理赔时间线(报案时限/资料补交/核定期限);拒赔应对:核对拒赔理由与条款原文 →
44
+ 异议材料组织 → 投诉/仲裁/诉讼路径提示(转 litigation-support)。
45
+
46
+ ## 企业险方案
47
+
48
+ 风险敞口盘点(risk-compliance 联动)→ 险种映射:财产一切险/营业中断险(**保额=毛利+固定费用
49
+ 的补偿期口径**,不是营收)/雇主责任险(与工伤保险的互补关系讲清)/公众责任/产品责任/
50
+ 董监高责任/货运险(foreign-trade 联动);免赔额与保费的权衡表;续保前出险记录整理。
51
+
52
+ ## 验收自查
53
+
54
+ - [ ] 缺口测算参数经用户确认,公式可见
55
+ - [ ] 台账含受益人与现金价值;断档与重复已标
56
+ - [ ] 条款解读三件套齐,免责逐条
57
+ - [ ] 无产品推荐与收益承诺;告知义务已提示
@@ -0,0 +1,66 @@
1
+ ---
2
+ name: internal-audit
3
+ description: 内部审计(风险导向年度计划、审计项目全流程、发现分级与整改闭环、经济责任审计、舞弊调查配合)。当用户说"内审/审计项目/审计发现/整改跟踪/经责审计/内部调查"时使用。审计技能链之内审环。
4
+ version: 1.0.0
5
+ ---
6
+
7
+ # 内部审计(审计技能链 · 内审环;全景见 audit-chain)
8
+
9
+ 内审的独立性是生命线:向审计委员会/董事会汇报路径要在章程与制度中固化;
10
+ 产出为内审工作文书,涉法律定性(舞弊/职务侵占)移交司法或专业机构判断。
11
+
12
+ ## 1. 风险导向年度计划
13
+
14
+ - **审计域清单**(可审计单元:流程/单位/系统/项目)→ 风险打分
15
+ (固有风险:金额×复杂度×变化程度;控制环境:上次审计结果×管理层重视;舞弊诱因)→
16
+ 排序定年度项目(高风险域 1–2 年全覆盖,低风险 3–5 年轮换,**打分表留痕**——
17
+ 计划要经得起"为什么审他不审我"的质疑);
18
+ - 资源匹配:项目×人天×技能矩阵(IT 审计项目配 it-audit 能力);留 15–20% 机动
19
+ (舞弊线索/管理层临时委托);
20
+ - 计划报审计委员会批准,年中调整同样过会。
21
+
22
+ ## 2. 审计项目五步(单项目全流程)
23
+
24
+ 1. **立项与通知**:审计通知书(范围/期间/进点时间/资料清单——资料清单给 3–5 个工作日,
25
+ 进点才要资料=给对方留操作窗口);
26
+ 2. **审前调查**:制度收集/数据先行分析(**进点前先跑数**:data-report-pro 异常筛查,
27
+ 带着疑点进场而不是白纸进场)/ 风险评估细化审计方案(程序×人员×天数);
28
+ 3. **现场实施**:穿行测试(流程图+关键控制点验证)/ 控制测试与实质性程序
29
+ (抽样走 audit-assist:MUS/随机,参数可复算)/ 访谈(提纲先行,两人在场,
30
+ 纪要当日确认 meeting-minutes 纪律)/ **底稿日清**(当日工作当日归档,索引号体系);
31
+ 4. **发现与沟通**:审计发现五要素(**标准-现状-差异-原因-影响**,缺一不算发现;
32
+ 影响量化优先:金额/次数/敞口)→ 分级(重大/重要/一般,分级标准事先公布)→
33
+ **现场沟通确认事实**(事实无争议再谈定性,被审计方签字确认现状描述——
34
+ 报告阶段翻供是流程失败);
35
+ 5. **报告**:结论克制("发现 X 项控制缺陷"而非"管理混乱");管理层回复限期附后;
36
+ 重大发现单独快报,不等报告周期。
37
+
38
+ ## 3. 整改闭环(内审价值的兑现处)
39
+
40
+ 整改台账(发现/责任单位/措施/期限/验证方式)——**验证靠证据不靠回复函**
41
+ ("已整改"要看新流程运行记录/系统截图/复测样本);
42
+ 超期升级路径(超期 30 天上会通报);整改率与重复发现率进内审年度述职
43
+ (**重复发现=整改造假或根因没挖到**,单列分析);闭环数据回写年度计划风险打分。
44
+
45
+ ## 4. 经济责任审计(离任/任中)
46
+
47
+ 框架:任期经济指标真实性(finance-analysis 勾稽)→ 重大决策合规性
48
+ (三重一大决策留痕核查,corporate-governance 议事规则对照)→ 资产处置与投资
49
+ (capital-ops 程序对照)→ 廉洁事项(关联交易/费用报销抽查 audit-assist 反舞弊线索);
50
+ 结论用"负有直接责任/主管责任/领导责任"分级表述,证据链齐再定级。
51
+
52
+ ## 5. 舞弊调查配合(线索驱动)
53
+
54
+ 受理与保密(知情范围最小化,**先固证后惊动**)→ 数据筛查(audit-assist 反舞弊筛查:
55
+ 供应商-员工信息重合/整数高频/拆分审批 + data-report-pro 关联比对)→ 外围取证
56
+ (工商穿透/物流单据/门禁考勤交叉)→ 访谈(由外围到核心,关键访谈两人在场+纪要签认)→
57
+ 报告(事实与证据对应表,litigation-support 证据目录规范)→ 移交决策
58
+ (内部处理/司法移交——定性交司法,报告只陈述事实与证据)。
59
+
60
+ ## 验收自查
61
+
62
+ - [ ] 年度计划有风险打分留痕;机动资源已留
63
+ - [ ] 进点前完成数据先行分析
64
+ - [ ] 每个发现五要素齐且现状经签认;分级有既定标准
65
+ - [ ] 整改验证有证据;重复发现单列
66
+ - [ ] 调查全程保密合规,证据链可移交