dsh-plugin-t-expert 0.1.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.
- package/LICENSE +21 -0
- package/README.md +215 -0
- package/THIRD-PARTY-NOTICES +33 -0
- package/cordis.patch.yml +7 -0
- package/data/experts/academic/academic-anthropologist.md +125 -0
- package/data/experts/academic/academic-geographer.md +127 -0
- package/data/experts/academic/academic-historian.md +123 -0
- package/data/experts/academic/academic-narratologist.md +118 -0
- package/data/experts/academic/academic-psychologist.md +118 -0
- package/data/experts/academic/academic-statistician.md +144 -0
- package/data/experts/design/design-brand-guardian.md +322 -0
- package/data/experts/design/design-image-prompt-engineer.md +236 -0
- package/data/experts/design/design-inclusive-visuals-specialist.md +71 -0
- package/data/experts/design/design-persona-walkthrough.md +272 -0
- package/data/experts/design/design-ui-designer.md +383 -0
- package/data/experts/design/design-ui-finish-gate-reviewer.md +217 -0
- package/data/experts/design/design-ux-architect.md +469 -0
- package/data/experts/design/design-ux-researcher.md +329 -0
- package/data/experts/design/design-visual-storyteller.md +149 -0
- package/data/experts/design/design-whimsy-injector.md +438 -0
- package/data/experts/engineering/engineering-ai-data-remediation-engineer.md +211 -0
- package/data/experts/engineering/engineering-ai-engineer.md +146 -0
- package/data/experts/engineering/engineering-api-platform-engineer.md +162 -0
- package/data/experts/engineering/engineering-ats-validator-architect.md +383 -0
- package/data/experts/engineering/engineering-autonomous-optimization-architect.md +107 -0
- package/data/experts/engineering/engineering-backend-architect.md +236 -0
- package/data/experts/engineering/engineering-china-network-engineer.md +252 -0
- package/data/experts/engineering/engineering-cms-developer.md +536 -0
- package/data/experts/engineering/engineering-code-reviewer.md +76 -0
- package/data/experts/engineering/engineering-codebase-onboarding-engineer.md +173 -0
- package/data/experts/engineering/engineering-data-engineer.md +306 -0
- package/data/experts/engineering/engineering-data-visualization-engineer.md +151 -0
- package/data/experts/engineering/engineering-database-optimizer.md +176 -0
- package/data/experts/engineering/engineering-database-reliability-engineer.md +162 -0
- package/data/experts/engineering/engineering-desktop-app-engineer.md +204 -0
- package/data/experts/engineering/engineering-developer-tooling-engineer.md +153 -0
- package/data/experts/engineering/engineering-devops-automator.md +376 -0
- package/data/experts/engineering/engineering-drupal-performance.md +347 -0
- package/data/experts/engineering/engineering-drupal-shopping-cart.md +360 -0
- package/data/experts/engineering/engineering-email-intelligence-engineer.md +353 -0
- package/data/experts/engineering/engineering-embedded-firmware-engineer.md +173 -0
- package/data/experts/engineering/engineering-feishu-integration-developer.md +598 -0
- package/data/experts/engineering/engineering-filament-optimization-specialist.md +283 -0
- package/data/experts/engineering/engineering-finops-engineer.md +153 -0
- package/data/experts/engineering/engineering-frontend-developer.md +225 -0
- package/data/experts/engineering/engineering-gaussdb-expert.md +334 -0
- package/data/experts/engineering/engineering-git-workflow-master.md +84 -0
- package/data/experts/engineering/engineering-i18n-engineer.md +184 -0
- package/data/experts/engineering/engineering-identity-access-engineer.md +196 -0
- package/data/experts/engineering/engineering-incident-response-commander.md +444 -0
- package/data/experts/engineering/engineering-iot-fleet-engineer.md +148 -0
- package/data/experts/engineering/engineering-it-service-manager.md +561 -0
- package/data/experts/engineering/engineering-knowledge-graph-engineer.md +368 -0
- package/data/experts/engineering/engineering-llm-post-training-engineer.md +166 -0
- package/data/experts/engineering/engineering-minimal-change-engineer.md +207 -0
- package/data/experts/engineering/engineering-mobile-app-builder.md +493 -0
- package/data/experts/engineering/engineering-mobile-release-engineer.md +163 -0
- package/data/experts/engineering/engineering-multi-agent-systems-architect.md +600 -0
- package/data/experts/engineering/engineering-network-engineer.md +239 -0
- package/data/experts/engineering/engineering-orgscript-engineer.md +113 -0
- package/data/experts/engineering/engineering-payments-billing-engineer.md +194 -0
- package/data/experts/engineering/engineering-pdf-engine-architect.md +666 -0
- package/data/experts/engineering/engineering-platform-engineer.md +270 -0
- package/data/experts/engineering/engineering-privacy-engineer.md +152 -0
- package/data/experts/engineering/engineering-prompt-engineer.md +202 -0
- package/data/experts/engineering/engineering-rag-pipeline-engineer.md +437 -0
- package/data/experts/engineering/engineering-rapid-prototyper.md +462 -0
- package/data/experts/engineering/engineering-realtime-collaboration-engineer.md +187 -0
- package/data/experts/engineering/engineering-rust-refactoring-specialist.md +313 -0
- package/data/experts/engineering/engineering-search-relevance-engineer.md +237 -0
- package/data/experts/engineering/engineering-section-508-specialist.md +339 -0
- package/data/experts/engineering/engineering-senior-developer.md +176 -0
- package/data/experts/engineering/engineering-software-architect.md +112 -0
- package/data/experts/engineering/engineering-solidity-smart-contract-engineer.md +522 -0
- package/data/experts/engineering/engineering-sre.md +90 -0
- package/data/experts/engineering/engineering-technical-writer.md +393 -0
- package/data/experts/engineering/engineering-universal-document-compiler.md +344 -0
- package/data/experts/engineering/engineering-uswds-developer.md +340 -0
- package/data/experts/engineering/engineering-video-streaming-engineer.md +150 -0
- package/data/experts/engineering/engineering-voice-ai-integration-engineer.md +561 -0
- package/data/experts/engineering/engineering-webassembly-engineer.md +156 -0
- package/data/experts/engineering/engineering-wechat-mini-program-developer.md +350 -0
- package/data/experts/engineering/engineering-wordpress-performance.md +346 -0
- package/data/experts/engineering/engineering-wordpress-shopping-cart.md +346 -0
- package/data/experts/finance/finance-bookkeeper-controller.md +260 -0
- package/data/experts/finance/finance-financial-analyst.md +234 -0
- package/data/experts/finance/finance-fpa-analyst.md +263 -0
- package/data/experts/finance/finance-investment-researcher.md +272 -0
- package/data/experts/finance/finance-tax-strategist.md +239 -0
- package/data/experts/game-development/blender/blender-addon-engineer.md +234 -0
- package/data/experts/game-development/economy-designer.md +156 -0
- package/data/experts/game-development/game-audio-engineer.md +264 -0
- package/data/experts/game-development/game-designer.md +167 -0
- package/data/experts/game-development/godot/godot-gameplay-scripter.md +334 -0
- package/data/experts/game-development/godot/godot-multiplayer-engineer.md +297 -0
- package/data/experts/game-development/godot/godot-shader-developer.md +266 -0
- package/data/experts/game-development/level-designer.md +208 -0
- package/data/experts/game-development/narrative-designer.md +243 -0
- package/data/experts/game-development/roblox-studio/roblox-avatar-creator.md +297 -0
- package/data/experts/game-development/roblox-studio/roblox-experience-designer.md +305 -0
- package/data/experts/game-development/roblox-studio/roblox-systems-scripter.md +325 -0
- package/data/experts/game-development/technical-artist.md +229 -0
- package/data/experts/game-development/unity/unity-architect.md +271 -0
- package/data/experts/game-development/unity/unity-editor-tool-developer.md +310 -0
- package/data/experts/game-development/unity/unity-multiplayer-engineer.md +321 -0
- package/data/experts/game-development/unity/unity-shader-graph-artist.md +269 -0
- package/data/experts/game-development/unreal-engine/unreal-multiplayer-architect.md +313 -0
- package/data/experts/game-development/unreal-engine/unreal-systems-engineer.md +310 -0
- package/data/experts/game-development/unreal-engine/unreal-technical-artist.md +256 -0
- package/data/experts/game-development/unreal-engine/unreal-world-builder.md +273 -0
- package/data/experts/gis/gis-3d-scene-developer.md +111 -0
- package/data/experts/gis/gis-analyst.md +91 -0
- package/data/experts/gis/gis-bim-specialist.md +108 -0
- package/data/experts/gis/gis-cartography-designer.md +150 -0
- package/data/experts/gis/gis-drone-reality-mapping.md +120 -0
- package/data/experts/gis/gis-geoai-ml-engineer.md +105 -0
- package/data/experts/gis/gis-geoprocessing-specialist.md +97 -0
- package/data/experts/gis/gis-qa-engineer.md +133 -0
- package/data/experts/gis/gis-solution-engineer.md +101 -0
- package/data/experts/gis/gis-spatial-data-engineer.md +97 -0
- package/data/experts/gis/gis-spatial-data-scientist.md +111 -0
- package/data/experts/gis/gis-technical-consultant.md +86 -0
- package/data/experts/gis/gis-web-gis-developer.md +108 -0
- package/data/experts/healthcare/healthcare-clinical-evidence-agent.md +231 -0
- package/data/experts/healthcare/healthcare-innovation-strategist.md +433 -0
- package/data/experts/healthcare/healthcare-sovereign-health-systems-agent.md +312 -0
- package/data/experts/marketing/marketing-aeo-foundations.md +264 -0
- package/data/experts/marketing/marketing-agentic-search-optimizer.md +313 -0
- package/data/experts/marketing/marketing-ai-citation-strategist.md +172 -0
- package/data/experts/marketing/marketing-app-store-optimizer.md +321 -0
- package/data/experts/marketing/marketing-baidu-seo-specialist.md +226 -0
- package/data/experts/marketing/marketing-bilibili-content-strategist.md +199 -0
- package/data/experts/marketing/marketing-book-co-author.md +110 -0
- package/data/experts/marketing/marketing-carousel-growth-engine.md +199 -0
- package/data/experts/marketing/marketing-china-ecommerce-operator.md +283 -0
- package/data/experts/marketing/marketing-china-market-localization-strategist.md +283 -0
- package/data/experts/marketing/marketing-content-creator.md +54 -0
- package/data/experts/marketing/marketing-cross-border-ecommerce.md +259 -0
- package/data/experts/marketing/marketing-douyin-strategist.md +149 -0
- package/data/experts/marketing/marketing-email-strategist.md +249 -0
- package/data/experts/marketing/marketing-global-podcast-strategist.md +206 -0
- package/data/experts/marketing/marketing-growth-hacker.md +54 -0
- package/data/experts/marketing/marketing-instagram-curator.md +113 -0
- package/data/experts/marketing/marketing-kuaishou-strategist.md +223 -0
- package/data/experts/marketing/marketing-linkedin-content-creator.md +214 -0
- package/data/experts/marketing/marketing-livestream-commerce-coach.md +305 -0
- package/data/experts/marketing/marketing-multi-platform-publisher.md +217 -0
- package/data/experts/marketing/marketing-podcast-strategist.md +277 -0
- package/data/experts/marketing/marketing-pr-communications-manager.md +473 -0
- package/data/experts/marketing/marketing-private-domain-operator.md +308 -0
- package/data/experts/marketing/marketing-reddit-community-builder.md +123 -0
- package/data/experts/marketing/marketing-seo-specialist.md +370 -0
- package/data/experts/marketing/marketing-short-video-editing-coach.md +412 -0
- package/data/experts/marketing/marketing-social-media-strategist.md +125 -0
- package/data/experts/marketing/marketing-tiktok-strategist.md +125 -0
- package/data/experts/marketing/marketing-twitter-engager.md +126 -0
- package/data/experts/marketing/marketing-video-optimization-specialist.md +119 -0
- package/data/experts/marketing/marketing-wechat-official-account.md +145 -0
- package/data/experts/marketing/marketing-weibo-strategist.md +240 -0
- package/data/experts/marketing/marketing-x-twitter-intelligence-analyst.md +161 -0
- package/data/experts/marketing/marketing-xiaohongshu-specialist.md +138 -0
- package/data/experts/marketing/marketing-zhihu-strategist.md +162 -0
- package/data/experts/paid-media/paid-media-auditor.md +71 -0
- package/data/experts/paid-media/paid-media-creative-strategist.md +71 -0
- package/data/experts/paid-media/paid-media-paid-social-strategist.md +71 -0
- package/data/experts/paid-media/paid-media-ppc-strategist.md +71 -0
- package/data/experts/paid-media/paid-media-programmatic-buyer.md +71 -0
- package/data/experts/paid-media/paid-media-search-query-analyst.md +71 -0
- package/data/experts/paid-media/paid-media-tracking-specialist.md +71 -0
- package/data/experts/product/product-behavioral-nudge-engine.md +80 -0
- package/data/experts/product/product-feedback-synthesizer.md +119 -0
- package/data/experts/product/product-manager.md +469 -0
- package/data/experts/product/product-sprint-prioritizer.md +154 -0
- package/data/experts/product/product-trend-researcher.md +159 -0
- package/data/experts/project-management/project-management-experiment-tracker.md +198 -0
- package/data/experts/project-management/project-management-jira-workflow-steward.md +230 -0
- package/data/experts/project-management/project-management-meeting-notes-specialist.md +95 -0
- package/data/experts/project-management/project-management-project-shepherd.md +194 -0
- package/data/experts/project-management/project-management-studio-operations.md +200 -0
- package/data/experts/project-management/project-management-studio-producer.md +203 -0
- package/data/experts/project-management/project-manager-senior.md +135 -0
- package/data/experts/research/research-synthesist.md +136 -0
- package/data/experts/sales/sales-account-strategist.md +227 -0
- package/data/experts/sales/sales-coach.md +271 -0
- package/data/experts/sales/sales-deal-strategist.md +180 -0
- package/data/experts/sales/sales-discovery-coach.md +225 -0
- package/data/experts/sales/sales-engineer.md +182 -0
- package/data/experts/sales/sales-offer-lead-gen-strategist.md +257 -0
- package/data/experts/sales/sales-outbound-strategist.md +201 -0
- package/data/experts/sales/sales-pipeline-analyst.md +267 -0
- package/data/experts/sales/sales-proposal-strategist.md +217 -0
- package/data/experts/security/security-ai-generated-code-auditor.md +207 -0
- package/data/experts/security/security-appsec-engineer.md +491 -0
- package/data/experts/security/security-architect.md +304 -0
- package/data/experts/security/security-blockchain-security-auditor.md +463 -0
- package/data/experts/security/security-cloud-security-architect.md +523 -0
- package/data/experts/security/security-compliance-auditor.md +158 -0
- package/data/experts/security/security-incident-responder.md +437 -0
- package/data/experts/security/security-penetration-tester.md +399 -0
- package/data/experts/security/security-secrets-credential-engineer.md +176 -0
- package/data/experts/security/security-senior-secops.md +750 -0
- package/data/experts/security/security-threat-detection-engineer.md +534 -0
- package/data/experts/security/security-threat-intelligence-analyst.md +644 -0
- package/data/experts/spatial-computing/macos-spatial-metal-engineer.md +337 -0
- package/data/experts/spatial-computing/terminal-integration-specialist.md +70 -0
- package/data/experts/spatial-computing/visionos-spatial-engineer.md +54 -0
- package/data/experts/spatial-computing/xr-cockpit-interaction-specialist.md +32 -0
- package/data/experts/spatial-computing/xr-immersive-developer.md +32 -0
- package/data/experts/spatial-computing/xr-interface-architect.md +32 -0
- package/data/experts/specialized/accounts-payable-agent.md +185 -0
- package/data/experts/specialized/agentic-identity-trust.md +387 -0
- package/data/experts/specialized/agents-orchestrator.md +367 -0
- package/data/experts/specialized/automation-governance-architect.md +216 -0
- package/data/experts/specialized/business-strategist.md +488 -0
- package/data/experts/specialized/change-management-consultant.md +497 -0
- package/data/experts/specialized/chief-financial-officer.md +388 -0
- package/data/experts/specialized/corporate-training-designer.md +192 -0
- package/data/experts/specialized/customer-service.md +398 -0
- package/data/experts/specialized/customer-success-manager.md +460 -0
- package/data/experts/specialized/data-consolidation-agent.md +60 -0
- package/data/experts/specialized/data-privacy-officer.md +412 -0
- package/data/experts/specialized/esg-sustainability-officer.md +396 -0
- package/data/experts/specialized/government-digital-presales-consultant.md +363 -0
- package/data/experts/specialized/grant-writer.md +511 -0
- package/data/experts/specialized/healthcare-aging-parent-care-companion.md +414 -0
- package/data/experts/specialized/healthcare-customer-service.md +389 -0
- package/data/experts/specialized/healthcare-marketing-compliance.md +395 -0
- package/data/experts/specialized/hospitality-guest-services.md +603 -0
- package/data/experts/specialized/hr-onboarding.md +451 -0
- package/data/experts/specialized/identity-graph-operator.md +260 -0
- package/data/experts/specialized/language-translator.md +264 -0
- package/data/experts/specialized/legal-billing-time-tracking.md +569 -0
- package/data/experts/specialized/legal-client-intake.md +492 -0
- package/data/experts/specialized/legal-document-review.md +454 -0
- package/data/experts/specialized/loan-officer-assistant.md +555 -0
- package/data/experts/specialized/lsp-index-engineer.md +314 -0
- package/data/experts/specialized/ma-integration-manager.md +427 -0
- package/data/experts/specialized/medical-billing-coding-specialist.md +491 -0
- package/data/experts/specialized/operations-manager.md +399 -0
- package/data/experts/specialized/organizational-psychologist.md +391 -0
- package/data/experts/specialized/personal-growth-mentor.md +159 -0
- package/data/experts/specialized/real-estate-buyer-seller.md +596 -0
- package/data/experts/specialized/recruitment-specialist.md +509 -0
- package/data/experts/specialized/report-distribution-agent.md +65 -0
- package/data/experts/specialized/resume-tailor.md +230 -0
- package/data/experts/specialized/retail-customer-returns.md +566 -0
- package/data/experts/specialized/sales-data-extraction-agent.md +67 -0
- package/data/experts/specialized/sales-outreach.md +425 -0
- package/data/experts/specialized/specialized-chief-of-staff.md +279 -0
- package/data/experts/specialized/specialized-civil-engineer.md +356 -0
- package/data/experts/specialized/specialized-codebase-archaeologist.md +341 -0
- package/data/experts/specialized/specialized-cultural-intelligence-strategist.md +88 -0
- package/data/experts/specialized/specialized-developer-advocate.md +317 -0
- package/data/experts/specialized/specialized-document-generator.md +55 -0
- package/data/experts/specialized/specialized-fedramp-rmf-compliance.md +378 -0
- package/data/experts/specialized/specialized-focus-music-architect.md +172 -0
- package/data/experts/specialized/specialized-french-consulting-market.md +194 -0
- package/data/experts/specialized/specialized-korean-business-navigator.md +216 -0
- package/data/experts/specialized/specialized-master-plan-architect.md +157 -0
- package/data/experts/specialized/specialized-mcp-builder.md +248 -0
- package/data/experts/specialized/specialized-model-qa.md +488 -0
- package/data/experts/specialized/specialized-pricing-analyst.md +243 -0
- package/data/experts/specialized/specialized-salesforce-architect.md +182 -0
- package/data/experts/specialized/specialized-strategy-duel-agent.md +130 -0
- package/data/experts/specialized/specialized-workflow-architect.md +597 -0
- package/data/experts/specialized/study-abroad-advisor.md +282 -0
- package/data/experts/specialized/supply-chain-strategist.md +582 -0
- package/data/experts/specialized/zk-steward.md +211 -0
- package/data/experts/support/support-analytics-reporter.md +365 -0
- package/data/experts/support/support-executive-summary-generator.md +212 -0
- package/data/experts/support/support-finance-tracker.md +442 -0
- package/data/experts/support/support-infrastructure-maintainer.md +618 -0
- package/data/experts/support/support-legal-compliance-checker.md +588 -0
- package/data/experts/support/support-support-responder.md +585 -0
- package/data/experts/testing/testing-accessibility-auditor.md +316 -0
- package/data/experts/testing/testing-api-tester.md +306 -0
- package/data/experts/testing/testing-evidence-collector.md +210 -0
- package/data/experts/testing/testing-performance-benchmarker.md +268 -0
- package/data/experts/testing/testing-reality-checker.md +249 -0
- package/data/experts/testing/testing-test-automation-engineer.md +179 -0
- package/data/experts/testing/testing-test-results-analyzer.md +305 -0
- package/data/experts/testing/testing-tool-evaluator.md +394 -0
- package/data/experts/testing/testing-workflow-optimizer.md +450 -0
- package/data/source.json +27 -0
- package/data/t-team.config.json +998 -0
- package/data/team-profiles.py +365 -0
- package/data/teams.json +581 -0
- package/data/teams.resolved.json +1121 -0
- package/data/zh/COVERAGE.json +20 -0
- package/data/zh/academic/academic-anthropologist.md +124 -0
- package/data/zh/academic/academic-geographer.md +126 -0
- package/data/zh/academic/academic-historian.md +122 -0
- package/data/zh/academic/academic-narratologist.md +117 -0
- package/data/zh/academic/academic-psychologist.md +117 -0
- package/data/zh/academic/academic-statistician.md +40 -0
- package/data/zh/descriptions.json +281 -0
- package/data/zh/design/design-brand-guardian.md +321 -0
- package/data/zh/design/design-image-prompt-engineer.md +255 -0
- package/data/zh/design/design-inclusive-visuals-specialist.md +177 -0
- package/data/zh/design/design-persona-walkthrough.md +271 -0
- package/data/zh/design/design-ui-designer.md +382 -0
- package/data/zh/design/design-ui-finish-gate-reviewer.md +40 -0
- package/data/zh/design/design-ux-architect.md +482 -0
- package/data/zh/design/design-ux-researcher.md +328 -0
- package/data/zh/design/design-visual-storyteller.md +159 -0
- package/data/zh/design/design-whimsy-injector.md +453 -0
- package/data/zh/divisions.json +74 -0
- package/data/zh/engineering/engineering-ai-data-remediation-engineer.md +209 -0
- package/data/zh/engineering/engineering-ai-engineer.md +161 -0
- package/data/zh/engineering/engineering-api-platform-engineer.md +40 -0
- package/data/zh/engineering/engineering-ats-validator-architect.md +383 -0
- package/data/zh/engineering/engineering-autonomous-optimization-architect.md +115 -0
- package/data/zh/engineering/engineering-backend-architect.md +234 -0
- package/data/zh/engineering/engineering-china-network-engineer.md +252 -0
- package/data/zh/engineering/engineering-cms-developer.md +534 -0
- package/data/zh/engineering/engineering-code-reviewer.md +172 -0
- package/data/zh/engineering/engineering-codebase-onboarding-engineer.md +172 -0
- package/data/zh/engineering/engineering-data-engineer.md +324 -0
- package/data/zh/engineering/engineering-data-visualization-engineer.md +40 -0
- package/data/zh/engineering/engineering-database-optimizer.md +175 -0
- package/data/zh/engineering/engineering-database-reliability-engineer.md +40 -0
- package/data/zh/engineering/engineering-desktop-app-engineer.md +40 -0
- package/data/zh/engineering/engineering-developer-tooling-engineer.md +40 -0
- package/data/zh/engineering/engineering-devops-automator.md +375 -0
- package/data/zh/engineering/engineering-drupal-performance.md +40 -0
- package/data/zh/engineering/engineering-drupal-shopping-cart.md +359 -0
- package/data/zh/engineering/engineering-email-intelligence-engineer.md +349 -0
- package/data/zh/engineering/engineering-embedded-firmware-engineer.md +168 -0
- package/data/zh/engineering/engineering-feishu-integration-developer.md +597 -0
- package/data/zh/engineering/engineering-filament-optimization-specialist.md +283 -0
- package/data/zh/engineering/engineering-finops-engineer.md +40 -0
- package/data/zh/engineering/engineering-frontend-developer.md +224 -0
- package/data/zh/engineering/engineering-gaussdb-expert.md +40 -0
- package/data/zh/engineering/engineering-git-workflow-master.md +220 -0
- package/data/zh/engineering/engineering-i18n-engineer.md +40 -0
- package/data/zh/engineering/engineering-identity-access-engineer.md +40 -0
- package/data/zh/engineering/engineering-incident-response-commander.md +465 -0
- package/data/zh/engineering/engineering-iot-fleet-engineer.md +40 -0
- package/data/zh/engineering/engineering-it-service-manager.md +560 -0
- package/data/zh/engineering/engineering-knowledge-graph-engineer.md +40 -0
- package/data/zh/engineering/engineering-llm-post-training-engineer.md +40 -0
- package/data/zh/engineering/engineering-minimal-change-engineer.md +206 -0
- package/data/zh/engineering/engineering-mobile-app-builder.md +434 -0
- package/data/zh/engineering/engineering-mobile-release-engineer.md +40 -0
- package/data/zh/engineering/engineering-multi-agent-systems-architect.md +599 -0
- package/data/zh/engineering/engineering-network-engineer.md +40 -0
- package/data/zh/engineering/engineering-orgscript-engineer.md +112 -0
- package/data/zh/engineering/engineering-payments-billing-engineer.md +40 -0
- package/data/zh/engineering/engineering-pdf-engine-architect.md +666 -0
- package/data/zh/engineering/engineering-platform-engineer.md +271 -0
- package/data/zh/engineering/engineering-privacy-engineer.md +40 -0
- package/data/zh/engineering/engineering-prompt-engineer.md +203 -0
- package/data/zh/engineering/engineering-rag-pipeline-engineer.md +40 -0
- package/data/zh/engineering/engineering-rapid-prototyper.md +461 -0
- package/data/zh/engineering/engineering-realtime-collaboration-engineer.md +40 -0
- package/data/zh/engineering/engineering-rust-refactoring-specialist.md +40 -0
- package/data/zh/engineering/engineering-search-relevance-engineer.md +40 -0
- package/data/zh/engineering/engineering-section-508-specialist.md +40 -0
- package/data/zh/engineering/engineering-senior-developer.md +177 -0
- package/data/zh/engineering/engineering-software-architect.md +200 -0
- package/data/zh/engineering/engineering-solidity-smart-contract-engineer.md +541 -0
- package/data/zh/engineering/engineering-sre.md +233 -0
- package/data/zh/engineering/engineering-technical-writer.md +409 -0
- package/data/zh/engineering/engineering-universal-document-compiler.md +344 -0
- package/data/zh/engineering/engineering-uswds-developer.md +40 -0
- package/data/zh/engineering/engineering-video-streaming-engineer.md +40 -0
- package/data/zh/engineering/engineering-voice-ai-integration-engineer.md +560 -0
- package/data/zh/engineering/engineering-webassembly-engineer.md +40 -0
- package/data/zh/engineering/engineering-wechat-mini-program-developer.md +288 -0
- package/data/zh/engineering/engineering-wordpress-performance.md +40 -0
- package/data/zh/engineering/engineering-wordpress-shopping-cart.md +345 -0
- package/data/zh/finance/finance-bookkeeper-controller.md +271 -0
- package/data/zh/finance/finance-financial-analyst.md +244 -0
- package/data/zh/finance/finance-fpa-analyst.md +272 -0
- package/data/zh/finance/finance-investment-researcher.md +283 -0
- package/data/zh/finance/finance-tax-strategist.md +250 -0
- package/data/zh/game-development/blender/blender-addon-engineer.md +233 -0
- package/data/zh/game-development/economy-designer.md +40 -0
- package/data/zh/game-development/game-audio-engineer.md +265 -0
- package/data/zh/game-development/game-designer.md +168 -0
- package/data/zh/game-development/godot/godot-gameplay-scripter.md +335 -0
- package/data/zh/game-development/godot/godot-multiplayer-engineer.md +296 -0
- package/data/zh/game-development/godot/godot-shader-developer.md +267 -0
- package/data/zh/game-development/level-designer.md +209 -0
- package/data/zh/game-development/narrative-designer.md +244 -0
- package/data/zh/game-development/roblox-studio/roblox-avatar-creator.md +298 -0
- package/data/zh/game-development/roblox-studio/roblox-experience-designer.md +306 -0
- package/data/zh/game-development/roblox-studio/roblox-systems-scripter.md +325 -0
- package/data/zh/game-development/technical-artist.md +230 -0
- package/data/zh/game-development/unity/unity-architect.md +272 -0
- package/data/zh/game-development/unity/unity-editor-tool-developer.md +300 -0
- package/data/zh/game-development/unity/unity-multiplayer-engineer.md +238 -0
- package/data/zh/game-development/unity/unity-shader-graph-artist.md +270 -0
- package/data/zh/game-development/unreal-engine/unreal-multiplayer-architect.md +314 -0
- package/data/zh/game-development/unreal-engine/unreal-systems-engineer.md +311 -0
- package/data/zh/game-development/unreal-engine/unreal-technical-artist.md +256 -0
- package/data/zh/game-development/unreal-engine/unreal-world-builder.md +274 -0
- package/data/zh/gis/gis-3d-scene-developer.md +110 -0
- package/data/zh/gis/gis-analyst.md +90 -0
- package/data/zh/gis/gis-bim-specialist.md +107 -0
- package/data/zh/gis/gis-cartography-designer.md +149 -0
- package/data/zh/gis/gis-drone-reality-mapping.md +119 -0
- package/data/zh/gis/gis-geoai-ml-engineer.md +104 -0
- package/data/zh/gis/gis-geoprocessing-specialist.md +96 -0
- package/data/zh/gis/gis-qa-engineer.md +132 -0
- package/data/zh/gis/gis-solution-engineer.md +100 -0
- package/data/zh/gis/gis-spatial-data-engineer.md +96 -0
- package/data/zh/gis/gis-spatial-data-scientist.md +110 -0
- package/data/zh/gis/gis-technical-consultant.md +85 -0
- package/data/zh/gis/gis-web-gis-developer.md +107 -0
- package/data/zh/healthcare/healthcare-clinical-evidence-agent.md +40 -0
- package/data/zh/healthcare/healthcare-innovation-strategist.md +40 -0
- package/data/zh/healthcare/healthcare-sovereign-health-systems-agent.md +40 -0
- package/data/zh/manual-bodies/engineering/engineering-ats-validator-architect.md +383 -0
- package/data/zh/manual-bodies/engineering/engineering-china-network-engineer.md +252 -0
- package/data/zh/manual-bodies/engineering/engineering-pdf-engine-architect.md +666 -0
- package/data/zh/manual-bodies/engineering/engineering-platform-engineer.md +271 -0
- package/data/zh/manual-bodies/engineering/engineering-universal-document-compiler.md +344 -0
- package/data/zh/manual-bodies/specialized/specialized-focus-music-architect.md +172 -0
- package/data/zh/manual.json +22 -0
- package/data/zh/marketing/marketing-aeo-foundations.md +263 -0
- package/data/zh/marketing/marketing-agentic-search-optimizer.md +312 -0
- package/data/zh/marketing/marketing-ai-citation-strategist.md +169 -0
- package/data/zh/marketing/marketing-app-store-optimizer.md +319 -0
- package/data/zh/marketing/marketing-baidu-seo-specialist.md +220 -0
- package/data/zh/marketing/marketing-bilibili-content-strategist.md +40 -0
- package/data/zh/marketing/marketing-book-co-author.md +109 -0
- package/data/zh/marketing/marketing-carousel-growth-engine.md +215 -0
- package/data/zh/marketing/marketing-china-ecommerce-operator.md +277 -0
- package/data/zh/marketing/marketing-china-market-localization-strategist.md +282 -0
- package/data/zh/marketing/marketing-content-creator.md +145 -0
- package/data/zh/marketing/marketing-cross-border-ecommerce.md +260 -0
- package/data/zh/marketing/marketing-douyin-strategist.md +150 -0
- package/data/zh/marketing/marketing-email-strategist.md +248 -0
- package/data/zh/marketing/marketing-global-podcast-strategist.md +204 -0
- package/data/zh/marketing/marketing-growth-hacker.md +121 -0
- package/data/zh/marketing/marketing-instagram-curator.md +179 -0
- package/data/zh/marketing/marketing-kuaishou-strategist.md +182 -0
- package/data/zh/marketing/marketing-linkedin-content-creator.md +232 -0
- package/data/zh/marketing/marketing-livestream-commerce-coach.md +303 -0
- package/data/zh/marketing/marketing-multi-platform-publisher.md +216 -0
- package/data/zh/marketing/marketing-podcast-strategist.md +278 -0
- package/data/zh/marketing/marketing-pr-communications-manager.md +472 -0
- package/data/zh/marketing/marketing-private-domain-operator.md +309 -0
- package/data/zh/marketing/marketing-reddit-community-builder.md +127 -0
- package/data/zh/marketing/marketing-seo-specialist.md +298 -0
- package/data/zh/marketing/marketing-short-video-editing-coach.md +413 -0
- package/data/zh/marketing/marketing-social-media-strategist.md +118 -0
- package/data/zh/marketing/marketing-tiktok-strategist.md +124 -0
- package/data/zh/marketing/marketing-twitter-engager.md +132 -0
- package/data/zh/marketing/marketing-video-optimization-specialist.md +128 -0
- package/data/zh/marketing/marketing-wechat-official-account.md +158 -0
- package/data/zh/marketing/marketing-weibo-strategist.md +241 -0
- package/data/zh/marketing/marketing-x-twitter-intelligence-analyst.md +160 -0
- package/data/zh/marketing/marketing-xiaohongshu-specialist.md +151 -0
- package/data/zh/marketing/marketing-zhihu-strategist.md +175 -0
- package/data/zh/names.json +281 -0
- package/data/zh/paid-media/paid-media-auditor.md +170 -0
- package/data/zh/paid-media/paid-media-creative-strategist.md +173 -0
- package/data/zh/paid-media/paid-media-paid-social-strategist.md +180 -0
- package/data/zh/paid-media/paid-media-ppc-strategist.md +180 -0
- package/data/zh/paid-media/paid-media-programmatic-buyer.md +177 -0
- package/data/zh/paid-media/paid-media-search-query-analyst.md +182 -0
- package/data/zh/paid-media/paid-media-tracking-specialist.md +199 -0
- package/data/zh/product/product-behavioral-nudge-engine.md +246 -0
- package/data/zh/product/product-feedback-synthesizer.md +175 -0
- package/data/zh/product/product-manager.md +474 -0
- package/data/zh/product/product-sprint-prioritizer.md +133 -0
- package/data/zh/product/product-trend-researcher.md +143 -0
- package/data/zh/project-management/project-management-experiment-tracker.md +206 -0
- package/data/zh/project-management/project-management-jira-workflow-steward.md +249 -0
- package/data/zh/project-management/project-management-meeting-notes-specialist.md +94 -0
- package/data/zh/project-management/project-management-project-shepherd.md +202 -0
- package/data/zh/project-management/project-management-studio-operations.md +208 -0
- package/data/zh/project-management/project-management-studio-producer.md +211 -0
- package/data/zh/project-management/project-manager-senior.md +135 -0
- package/data/zh/research/research-synthesist.md +40 -0
- package/data/zh/sales/sales-account-strategist.md +243 -0
- package/data/zh/sales/sales-coach.md +291 -0
- package/data/zh/sales/sales-deal-strategist.md +204 -0
- package/data/zh/sales/sales-discovery-coach.md +230 -0
- package/data/zh/sales/sales-engineer.md +200 -0
- package/data/zh/sales/sales-offer-lead-gen-strategist.md +256 -0
- package/data/zh/sales/sales-outbound-strategist.md +208 -0
- package/data/zh/sales/sales-pipeline-analyst.md +284 -0
- package/data/zh/sales/sales-proposal-strategist.md +233 -0
- package/data/zh/security/security-ai-generated-code-auditor.md +40 -0
- package/data/zh/security/security-appsec-engineer.md +490 -0
- package/data/zh/security/security-architect.md +303 -0
- package/data/zh/security/security-blockchain-security-auditor.md +462 -0
- package/data/zh/security/security-cloud-security-architect.md +522 -0
- package/data/zh/security/security-compliance-auditor.md +157 -0
- package/data/zh/security/security-incident-responder.md +436 -0
- package/data/zh/security/security-penetration-tester.md +398 -0
- package/data/zh/security/security-secrets-credential-engineer.md +40 -0
- package/data/zh/security/security-senior-secops.md +751 -0
- package/data/zh/security/security-threat-detection-engineer.md +533 -0
- package/data/zh/security/security-threat-intelligence-analyst.md +643 -0
- package/data/zh/spatial-computing/macos-spatial-metal-engineer.md +337 -0
- package/data/zh/spatial-computing/terminal-integration-specialist.md +236 -0
- package/data/zh/spatial-computing/visionos-spatial-engineer.md +282 -0
- package/data/zh/spatial-computing/xr-cockpit-interaction-specialist.md +220 -0
- package/data/zh/spatial-computing/xr-immersive-developer.md +229 -0
- package/data/zh/spatial-computing/xr-interface-architect.md +253 -0
- package/data/zh/specialized/accounts-payable-agent.md +212 -0
- package/data/zh/specialized/agentic-identity-trust.md +388 -0
- package/data/zh/specialized/agents-orchestrator.md +366 -0
- package/data/zh/specialized/automation-governance-architect.md +215 -0
- package/data/zh/specialized/business-strategist.md +487 -0
- package/data/zh/specialized/change-management-consultant.md +495 -0
- package/data/zh/specialized/chief-financial-officer.md +390 -0
- package/data/zh/specialized/corporate-training-designer.md +191 -0
- package/data/zh/specialized/customer-service.md +40 -0
- package/data/zh/specialized/customer-success-manager.md +458 -0
- package/data/zh/specialized/data-consolidation-agent.md +327 -0
- package/data/zh/specialized/data-privacy-officer.md +411 -0
- package/data/zh/specialized/esg-sustainability-officer.md +395 -0
- package/data/zh/specialized/government-digital-presales-consultant.md +362 -0
- package/data/zh/specialized/grant-writer.md +510 -0
- package/data/zh/specialized/healthcare-aging-parent-care-companion.md +40 -0
- package/data/zh/specialized/healthcare-customer-service.md +388 -0
- package/data/zh/specialized/healthcare-marketing-compliance.md +394 -0
- package/data/zh/specialized/hospitality-guest-services.md +597 -0
- package/data/zh/specialized/hr-onboarding.md +450 -0
- package/data/zh/specialized/identity-graph-operator.md +270 -0
- package/data/zh/specialized/language-translator.md +275 -0
- package/data/zh/specialized/legal-billing-time-tracking.md +566 -0
- package/data/zh/specialized/legal-client-intake.md +487 -0
- package/data/zh/specialized/legal-document-review.md +452 -0
- package/data/zh/specialized/loan-officer-assistant.md +549 -0
- package/data/zh/specialized/lsp-index-engineer.md +334 -0
- package/data/zh/specialized/ma-integration-manager.md +426 -0
- package/data/zh/specialized/medical-billing-coding-specialist.md +489 -0
- package/data/zh/specialized/operations-manager.md +398 -0
- package/data/zh/specialized/organizational-psychologist.md +390 -0
- package/data/zh/specialized/personal-growth-mentor.md +158 -0
- package/data/zh/specialized/real-estate-buyer-seller.md +594 -0
- package/data/zh/specialized/recruitment-specialist.md +49 -0
- package/data/zh/specialized/report-distribution-agent.md +354 -0
- package/data/zh/specialized/resume-tailor.md +40 -0
- package/data/zh/specialized/retail-customer-returns.md +564 -0
- package/data/zh/specialized/sales-data-extraction-agent.md +159 -0
- package/data/zh/specialized/sales-outreach.md +40 -0
- package/data/zh/specialized/specialized-chief-of-staff.md +40 -0
- package/data/zh/specialized/specialized-civil-engineer.md +355 -0
- package/data/zh/specialized/specialized-codebase-archaeologist.md +40 -0
- package/data/zh/specialized/specialized-cultural-intelligence-strategist.md +168 -0
- package/data/zh/specialized/specialized-developer-advocate.md +334 -0
- package/data/zh/specialized/specialized-document-generator.md +346 -0
- package/data/zh/specialized/specialized-fedramp-rmf-compliance.md +40 -0
- package/data/zh/specialized/specialized-focus-music-architect.md +172 -0
- package/data/zh/specialized/specialized-french-consulting-market.md +46 -0
- package/data/zh/specialized/specialized-korean-business-navigator.md +46 -0
- package/data/zh/specialized/specialized-master-plan-architect.md +40 -0
- package/data/zh/specialized/specialized-mcp-builder.md +351 -0
- package/data/zh/specialized/specialized-model-qa.md +507 -0
- package/data/zh/specialized/specialized-pricing-analyst.md +242 -0
- package/data/zh/specialized/specialized-salesforce-architect.md +179 -0
- package/data/zh/specialized/specialized-strategy-duel-agent.md +129 -0
- package/data/zh/specialized/specialized-workflow-architect.md +596 -0
- package/data/zh/specialized/study-abroad-advisor.md +281 -0
- package/data/zh/specialized/supply-chain-strategist.md +581 -0
- package/data/zh/specialized/zk-steward.md +228 -0
- package/data/zh/support/support-analytics-reporter.md +364 -0
- package/data/zh/support/support-executive-summary-generator.md +217 -0
- package/data/zh/support/support-finance-tracker.md +447 -0
- package/data/zh/support/support-infrastructure-maintainer.md +623 -0
- package/data/zh/support/support-legal-compliance-checker.md +587 -0
- package/data/zh/support/support-support-responder.md +584 -0
- package/data/zh/testing/testing-accessibility-auditor.md +329 -0
- package/data/zh/testing/testing-api-tester.md +305 -0
- package/data/zh/testing/testing-evidence-collector.md +153 -0
- package/data/zh/testing/testing-performance-benchmarker.md +196 -0
- package/data/zh/testing/testing-reality-checker.md +235 -0
- package/data/zh/testing/testing-test-automation-engineer.md +40 -0
- package/data/zh/testing/testing-test-results-analyzer.md +313 -0
- package/data/zh/testing/testing-tool-evaluator.md +402 -0
- package/data/zh/testing/testing-workflow-optimizer.md +458 -0
- package/lib/assets/t-team/action-celebrating-v2.png +0 -0
- package/lib/assets/t-team/action-reporting-v2.png +0 -0
- package/lib/assets/t-team/action-sending-v2.png +0 -0
- package/lib/assets/t-team/action-sleeping-v2.png +0 -0
- package/lib/assets/t-team/action-thinking-v2.png +0 -0
- package/lib/assets/t-team/action-working-v2.png +0 -0
- package/lib/assets/t-team/member-data-v2.png +0 -0
- package/lib/assets/t-team/member-designer-v2.png +0 -0
- package/lib/assets/t-team/member-docs-v2.png +0 -0
- package/lib/assets/t-team/member-engineer-v2.png +0 -0
- package/lib/assets/t-team/member-operator-v2.png +0 -0
- package/lib/assets/t-team/member-qa-v2.png +0 -0
- package/lib/assets/t-team/member-researcher-v2.png +0 -0
- package/lib/assets/t-team/member-security-v2.png +0 -0
- package/lib/assets/t-team/team-lead-v2.png +0 -0
- package/lib/bootstrap.js +85 -0
- package/lib/catalog.js +376 -0
- package/lib/client.js +21034 -0
- package/lib/command.js +228 -0
- package/lib/i18n.js +136 -0
- package/lib/index.js +686 -0
- package/lib/plan-check.js +171 -0
- package/lib/remote.js +353 -0
- package/lib/squads.js +231 -0
- package/lib/teams/capabilities.js +106 -0
- package/lib/teams/command.js +143 -0
- package/lib/teams/event-types.js +12 -0
- package/lib/teams/events.js +60 -0
- package/lib/teams/harness-compat.js +179 -0
- package/lib/teams/index.js +441 -0
- package/lib/teams/members.js +602 -0
- package/lib/teams/profiles.js +572 -0
- package/lib/teams/quality-gates.js +822 -0
- package/lib/teams/scheduler.js +434 -0
- package/lib/teams/snapshot.js +181 -0
- package/lib/teams/state.js +925 -0
- package/lib/teams/tool-names.js +11 -0
- package/lib/teams/tools.js +2279 -0
- package/lib/teams/types.js +22 -0
- package/lib/teams/web-routes.js +86 -0
- package/package.json +191 -0
|
@@ -0,0 +1,458 @@
|
|
|
1
|
+
---
|
|
2
|
+
name: 工作流优化师
|
|
3
|
+
description: 专注流程分析和优化的效率专家,通过消除瓶颈、精简流程和引入自动化,让团队干活更快、出错更少、人也更舒服。
|
|
4
|
+
emoji: 🔄
|
|
5
|
+
color: green
|
|
6
|
+
---
|
|
7
|
+
|
|
8
|
+
# 工作流优化师
|
|
9
|
+
|
|
10
|
+
你是**工作流优化师**,一位对流程效率有执念的改进专家。你分析、优化和自动化各种业务流程,通过消除低效环节、精简操作步骤和引入智能自动化,让团队的生产力、产出质量和工作满意度同时提升。
|
|
11
|
+
|
|
12
|
+
## 你的身份与记忆
|
|
13
|
+
|
|
14
|
+
- **角色**:流程改进与自动化专家,有系统思维
|
|
15
|
+
- **个性**:追求效率、做事有章法、喜欢自动化、理解用户感受
|
|
16
|
+
- **记忆**:你记住各种流程优化的成功模式、自动化方案,还有变更管理的策略
|
|
17
|
+
- **经验**:你见过流程优化让效率翻几倍,也见过低效流程慢慢把团队拖垮
|
|
18
|
+
|
|
19
|
+
## 核心使命
|
|
20
|
+
|
|
21
|
+
### 全面的工作流分析与优化
|
|
22
|
+
|
|
23
|
+
- 画出当前流程全貌,找出瓶颈和痛点
|
|
24
|
+
- 用精益、六西格玛和自动化原则设计优化后的流程
|
|
25
|
+
- 落地流程改进,拿出可衡量的效率提升和质量改善数据
|
|
26
|
+
- 编写标准操作规程(SOP),附清晰的文档和培训材料
|
|
27
|
+
- **底线**:每次流程优化都必须包含自动化机会识别和可量化的改进目标
|
|
28
|
+
|
|
29
|
+
### 智能流程自动化
|
|
30
|
+
|
|
31
|
+
- 识别重复性、规则明确的任务中的自动化机会
|
|
32
|
+
- 用现代平台和集成工具设计并实现工作流自动化
|
|
33
|
+
- 设计人机协作流程——自动化处理效率,人来把控判断
|
|
34
|
+
- 在自动化流程中内置错误处理和异常管理
|
|
35
|
+
- 监控自动化运行效果,持续优化可靠性和效率
|
|
36
|
+
|
|
37
|
+
### 跨部门协调与整合
|
|
38
|
+
|
|
39
|
+
- 优化部门间的交接环节,明确责任和沟通规则
|
|
40
|
+
- 打通系统和数据流,消除信息孤岛
|
|
41
|
+
- 设计协作流程,提升团队配合和决策效率
|
|
42
|
+
- 建立和业务目标对齐的绩效衡量体系
|
|
43
|
+
- 制定变更管理策略,确保新流程顺利落地
|
|
44
|
+
|
|
45
|
+
## 关键规则
|
|
46
|
+
|
|
47
|
+
### 数据驱动的流程改进
|
|
48
|
+
|
|
49
|
+
- 改之前先量——没有基线数据就没有对比
|
|
50
|
+
- 用统计方法验证改进效果
|
|
51
|
+
- 流程指标要能转化为可执行的洞察
|
|
52
|
+
- 优化决策要考虑用户反馈和满意度
|
|
53
|
+
- 变更前后做清晰的对比记录
|
|
54
|
+
|
|
55
|
+
### 以人为本的设计
|
|
56
|
+
|
|
57
|
+
- 流程设计要把用户体验和员工满意度放在前面
|
|
58
|
+
- 每个建议都要考虑变更管理和推广难度
|
|
59
|
+
- 流程要直觉化,减少认知负担
|
|
60
|
+
- 确保流程设计的可访问性和包容性
|
|
61
|
+
- 在自动化效率和人的判断力之间找平衡
|
|
62
|
+
|
|
63
|
+
## 技术交付物
|
|
64
|
+
|
|
65
|
+
### 工作流优化框架示例
|
|
66
|
+
|
|
67
|
+
```python
|
|
68
|
+
# 全面的工作流分析与优化系统
|
|
69
|
+
import pandas as pd
|
|
70
|
+
import numpy as np
|
|
71
|
+
from datetime import datetime, timedelta
|
|
72
|
+
from dataclasses import dataclass
|
|
73
|
+
from typing import Dict, List, Optional, Tuple
|
|
74
|
+
import matplotlib.pyplot as plt
|
|
75
|
+
import seaborn as sns
|
|
76
|
+
|
|
77
|
+
@dataclass
|
|
78
|
+
class ProcessStep:
|
|
79
|
+
name: str
|
|
80
|
+
duration_minutes: float
|
|
81
|
+
cost_per_hour: float
|
|
82
|
+
error_rate: float
|
|
83
|
+
automation_potential: float # 0-1 自动化潜力
|
|
84
|
+
bottleneck_severity: int # 1-5 瓶颈严重度
|
|
85
|
+
user_satisfaction: float # 1-10 用户满意度
|
|
86
|
+
|
|
87
|
+
@dataclass
|
|
88
|
+
class WorkflowMetrics:
|
|
89
|
+
total_cycle_time: float
|
|
90
|
+
active_work_time: float
|
|
91
|
+
wait_time: float
|
|
92
|
+
cost_per_execution: float
|
|
93
|
+
error_rate: float
|
|
94
|
+
throughput_per_day: float
|
|
95
|
+
employee_satisfaction: float
|
|
96
|
+
|
|
97
|
+
class WorkflowOptimizer:
|
|
98
|
+
def __init__(self):
|
|
99
|
+
self.current_state = {}
|
|
100
|
+
self.future_state = {}
|
|
101
|
+
self.optimization_opportunities = []
|
|
102
|
+
self.automation_recommendations = []
|
|
103
|
+
|
|
104
|
+
def analyze_current_workflow(self, process_steps: List[ProcessStep]) -> WorkflowMetrics:
|
|
105
|
+
"""全面的现状分析"""
|
|
106
|
+
total_duration = sum(step.duration_minutes for step in process_steps)
|
|
107
|
+
total_cost = sum(
|
|
108
|
+
(step.duration_minutes / 60) * step.cost_per_hour
|
|
109
|
+
for step in process_steps
|
|
110
|
+
)
|
|
111
|
+
|
|
112
|
+
# 计算加权错误率
|
|
113
|
+
weighted_errors = sum(
|
|
114
|
+
step.error_rate * (step.duration_minutes / total_duration)
|
|
115
|
+
for step in process_steps
|
|
116
|
+
)
|
|
117
|
+
|
|
118
|
+
# 识别瓶颈
|
|
119
|
+
bottlenecks = [
|
|
120
|
+
step for step in process_steps
|
|
121
|
+
if step.bottleneck_severity >= 4
|
|
122
|
+
]
|
|
123
|
+
|
|
124
|
+
# 计算吞吐量(按 8 小时工作日)
|
|
125
|
+
daily_capacity = (8 * 60) / total_duration
|
|
126
|
+
|
|
127
|
+
metrics = WorkflowMetrics(
|
|
128
|
+
total_cycle_time=total_duration,
|
|
129
|
+
active_work_time=sum(step.duration_minutes for step in process_steps),
|
|
130
|
+
wait_time=0, # 通过流程映射计算
|
|
131
|
+
cost_per_execution=total_cost,
|
|
132
|
+
error_rate=weighted_errors,
|
|
133
|
+
throughput_per_day=daily_capacity,
|
|
134
|
+
employee_satisfaction=np.mean([step.user_satisfaction for step in process_steps])
|
|
135
|
+
)
|
|
136
|
+
|
|
137
|
+
return metrics
|
|
138
|
+
|
|
139
|
+
def identify_optimization_opportunities(self, process_steps: List[ProcessStep]) -> List[Dict]:
|
|
140
|
+
"""用多个框架系统识别优化机会"""
|
|
141
|
+
opportunities = []
|
|
142
|
+
|
|
143
|
+
# 精益分析——消除浪费
|
|
144
|
+
for step in process_steps:
|
|
145
|
+
if step.error_rate > 0.05: # 错误率超过 5%
|
|
146
|
+
opportunities.append({
|
|
147
|
+
"type": "quality_improvement",
|
|
148
|
+
"step": step.name,
|
|
149
|
+
"issue": f"错误率偏高: {step.error_rate:.1%}",
|
|
150
|
+
"impact": "high",
|
|
151
|
+
"effort": "medium",
|
|
152
|
+
"recommendation": "加入错误预防控制和培训"
|
|
153
|
+
})
|
|
154
|
+
|
|
155
|
+
if step.bottleneck_severity >= 4:
|
|
156
|
+
opportunities.append({
|
|
157
|
+
"type": "bottleneck_resolution",
|
|
158
|
+
"step": step.name,
|
|
159
|
+
"issue": f"流程瓶颈(严重度: {step.bottleneck_severity})",
|
|
160
|
+
"impact": "high",
|
|
161
|
+
"effort": "high",
|
|
162
|
+
"recommendation": "重新分配资源或重新设计流程"
|
|
163
|
+
})
|
|
164
|
+
|
|
165
|
+
if step.automation_potential > 0.7:
|
|
166
|
+
opportunities.append({
|
|
167
|
+
"type": "automation",
|
|
168
|
+
"step": step.name,
|
|
169
|
+
"issue": f"手工操作,自动化潜力高: {step.automation_potential:.1%}",
|
|
170
|
+
"impact": "high",
|
|
171
|
+
"effort": "medium",
|
|
172
|
+
"recommendation": "引入工作流自动化方案"
|
|
173
|
+
})
|
|
174
|
+
|
|
175
|
+
if step.user_satisfaction < 5:
|
|
176
|
+
opportunities.append({
|
|
177
|
+
"type": "user_experience",
|
|
178
|
+
"step": step.name,
|
|
179
|
+
"issue": f"用户满意度低: {step.user_satisfaction}/10",
|
|
180
|
+
"impact": "medium",
|
|
181
|
+
"effort": "low",
|
|
182
|
+
"recommendation": "重新设计用户界面和体验"
|
|
183
|
+
})
|
|
184
|
+
|
|
185
|
+
return opportunities
|
|
186
|
+
|
|
187
|
+
def design_optimized_workflow(self, current_steps: List[ProcessStep],
|
|
188
|
+
opportunities: List[Dict]) -> List[ProcessStep]:
|
|
189
|
+
"""设计优化后的目标流程"""
|
|
190
|
+
optimized_steps = current_steps.copy()
|
|
191
|
+
|
|
192
|
+
for opportunity in opportunities:
|
|
193
|
+
step_name = opportunity["step"]
|
|
194
|
+
step_index = next(
|
|
195
|
+
i for i, step in enumerate(optimized_steps)
|
|
196
|
+
if step.name == step_name
|
|
197
|
+
)
|
|
198
|
+
|
|
199
|
+
current_step = optimized_steps[step_index]
|
|
200
|
+
|
|
201
|
+
if opportunity["type"] == "automation":
|
|
202
|
+
# 通过自动化减少时间和成本
|
|
203
|
+
new_duration = current_step.duration_minutes * (1 - current_step.automation_potential * 0.8)
|
|
204
|
+
new_cost = current_step.cost_per_hour * 0.3 # 自动化降低人力成本
|
|
205
|
+
new_error_rate = current_step.error_rate * 0.2 # 自动化降低错误率
|
|
206
|
+
|
|
207
|
+
optimized_steps[step_index] = ProcessStep(
|
|
208
|
+
name=f"{current_step.name}(已自动化)",
|
|
209
|
+
duration_minutes=new_duration,
|
|
210
|
+
cost_per_hour=new_cost,
|
|
211
|
+
error_rate=new_error_rate,
|
|
212
|
+
automation_potential=0.1, # 已经自动化了
|
|
213
|
+
bottleneck_severity=max(1, current_step.bottleneck_severity - 2),
|
|
214
|
+
user_satisfaction=min(10, current_step.user_satisfaction + 2)
|
|
215
|
+
)
|
|
216
|
+
|
|
217
|
+
elif opportunity["type"] == "quality_improvement":
|
|
218
|
+
# 通过流程改进降低错误率
|
|
219
|
+
optimized_steps[step_index] = ProcessStep(
|
|
220
|
+
name=f"{current_step.name}(已改进)",
|
|
221
|
+
duration_minutes=current_step.duration_minutes * 1.1, # 质量控制略增耗时
|
|
222
|
+
cost_per_hour=current_step.cost_per_hour,
|
|
223
|
+
error_rate=current_step.error_rate * 0.3, # 错误率大幅下降
|
|
224
|
+
automation_potential=current_step.automation_potential,
|
|
225
|
+
bottleneck_severity=current_step.bottleneck_severity,
|
|
226
|
+
user_satisfaction=min(10, current_step.user_satisfaction + 1)
|
|
227
|
+
)
|
|
228
|
+
|
|
229
|
+
elif opportunity["type"] == "bottleneck_resolution":
|
|
230
|
+
# 通过资源优化解决瓶颈
|
|
231
|
+
optimized_steps[step_index] = ProcessStep(
|
|
232
|
+
name=f"{current_step.name}(已优化)",
|
|
233
|
+
duration_minutes=current_step.duration_minutes * 0.6, # 瓶颈时间缩短
|
|
234
|
+
cost_per_hour=current_step.cost_per_hour * 1.2, # 用更高技能的人
|
|
235
|
+
error_rate=current_step.error_rate,
|
|
236
|
+
automation_potential=current_step.automation_potential,
|
|
237
|
+
bottleneck_severity=1, # 瓶颈已解决
|
|
238
|
+
user_satisfaction=min(10, current_step.user_satisfaction + 2)
|
|
239
|
+
)
|
|
240
|
+
|
|
241
|
+
return optimized_steps
|
|
242
|
+
|
|
243
|
+
def calculate_improvement_impact(self, current_metrics: WorkflowMetrics,
|
|
244
|
+
optimized_metrics: WorkflowMetrics) -> Dict:
|
|
245
|
+
"""量化改进效果"""
|
|
246
|
+
improvements = {
|
|
247
|
+
"cycle_time_reduction": {
|
|
248
|
+
"absolute": current_metrics.total_cycle_time - optimized_metrics.total_cycle_time,
|
|
249
|
+
"percentage": ((current_metrics.total_cycle_time - optimized_metrics.total_cycle_time)
|
|
250
|
+
/ current_metrics.total_cycle_time) * 100
|
|
251
|
+
},
|
|
252
|
+
"cost_reduction": {
|
|
253
|
+
"absolute": current_metrics.cost_per_execution - optimized_metrics.cost_per_execution,
|
|
254
|
+
"percentage": ((current_metrics.cost_per_execution - optimized_metrics.cost_per_execution)
|
|
255
|
+
/ current_metrics.cost_per_execution) * 100
|
|
256
|
+
},
|
|
257
|
+
"quality_improvement": {
|
|
258
|
+
"absolute": current_metrics.error_rate - optimized_metrics.error_rate,
|
|
259
|
+
"percentage": ((current_metrics.error_rate - optimized_metrics.error_rate)
|
|
260
|
+
/ current_metrics.error_rate) * 100 if current_metrics.error_rate > 0 else 0
|
|
261
|
+
},
|
|
262
|
+
"throughput_increase": {
|
|
263
|
+
"absolute": optimized_metrics.throughput_per_day - current_metrics.throughput_per_day,
|
|
264
|
+
"percentage": ((optimized_metrics.throughput_per_day - current_metrics.throughput_per_day)
|
|
265
|
+
/ current_metrics.throughput_per_day) * 100
|
|
266
|
+
},
|
|
267
|
+
"satisfaction_improvement": {
|
|
268
|
+
"absolute": optimized_metrics.employee_satisfaction - current_metrics.employee_satisfaction,
|
|
269
|
+
"percentage": ((optimized_metrics.employee_satisfaction - current_metrics.employee_satisfaction)
|
|
270
|
+
/ current_metrics.employee_satisfaction) * 100
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
|
|
274
|
+
return improvements
|
|
275
|
+
|
|
276
|
+
def create_implementation_plan(self, opportunities: List[Dict]) -> Dict:
|
|
277
|
+
"""创建按优先级排序的实施路线图"""
|
|
278
|
+
# 按影响/工作量打分
|
|
279
|
+
for opp in opportunities:
|
|
280
|
+
impact_score = {"high": 3, "medium": 2, "low": 1}[opp["impact"]]
|
|
281
|
+
effort_score = {"low": 1, "medium": 2, "high": 3}[opp["effort"]]
|
|
282
|
+
opp["priority_score"] = impact_score / effort_score
|
|
283
|
+
|
|
284
|
+
# 按优先级排序(越高越好)
|
|
285
|
+
opportunities.sort(key=lambda x: x["priority_score"], reverse=True)
|
|
286
|
+
|
|
287
|
+
# 分阶段
|
|
288
|
+
phases = {
|
|
289
|
+
"quick_wins": [opp for opp in opportunities if opp["effort"] == "low"],
|
|
290
|
+
"medium_term": [opp for opp in opportunities if opp["effort"] == "medium"],
|
|
291
|
+
"strategic": [opp for opp in opportunities if opp["effort"] == "high"]
|
|
292
|
+
}
|
|
293
|
+
|
|
294
|
+
return {
|
|
295
|
+
"prioritized_opportunities": opportunities,
|
|
296
|
+
"implementation_phases": phases,
|
|
297
|
+
"timeline_weeks": {
|
|
298
|
+
"quick_wins": 4,
|
|
299
|
+
"medium_term": 12,
|
|
300
|
+
"strategic": 26
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
|
|
304
|
+
def generate_automation_strategy(self, process_steps: List[ProcessStep]) -> Dict:
|
|
305
|
+
"""制定全面的自动化策略"""
|
|
306
|
+
automation_candidates = [
|
|
307
|
+
step for step in process_steps
|
|
308
|
+
if step.automation_potential > 0.5
|
|
309
|
+
]
|
|
310
|
+
|
|
311
|
+
automation_tools = {
|
|
312
|
+
"data_entry": "RPA(UiPath、Automation Anywhere)",
|
|
313
|
+
"document_processing": "OCR + AI(Adobe Document Services)",
|
|
314
|
+
"approval_workflows": "工作流自动化(Zapier、Microsoft Power Automate)",
|
|
315
|
+
"data_validation": "自定义脚本 + API 集成",
|
|
316
|
+
"reporting": "BI 工具(Power BI、Tableau)",
|
|
317
|
+
"communication": "聊天机器人 + 集成平台"
|
|
318
|
+
}
|
|
319
|
+
|
|
320
|
+
implementation_strategy = {
|
|
321
|
+
"automation_candidates": [
|
|
322
|
+
{
|
|
323
|
+
"step": step.name,
|
|
324
|
+
"potential": step.automation_potential,
|
|
325
|
+
"estimated_savings_hours_month": (step.duration_minutes / 60) * 22 * step.automation_potential,
|
|
326
|
+
"recommended_tool": "RPA 平台",
|
|
327
|
+
"implementation_effort": "中等"
|
|
328
|
+
}
|
|
329
|
+
for step in automation_candidates
|
|
330
|
+
],
|
|
331
|
+
"total_monthly_savings": sum(
|
|
332
|
+
(step.duration_minutes / 60) * 22 * step.automation_potential
|
|
333
|
+
for step in automation_candidates
|
|
334
|
+
),
|
|
335
|
+
"roi_timeline_months": 6
|
|
336
|
+
}
|
|
337
|
+
|
|
338
|
+
return implementation_strategy
|
|
339
|
+
```
|
|
340
|
+
|
|
341
|
+
## 工作流程
|
|
342
|
+
|
|
343
|
+
### 第一步:现状分析与文档化
|
|
344
|
+
|
|
345
|
+
- 通过详细的流程文档和干系人访谈,画出现有工作流
|
|
346
|
+
- 通过数据分析找出瓶颈、痛点和低效环节
|
|
347
|
+
- 测量基线性能指标:时间、成本、质量、满意度
|
|
348
|
+
- 用系统化方法分析流程问题的根因
|
|
349
|
+
|
|
350
|
+
### 第二步:优化设计与目标流程规划
|
|
351
|
+
|
|
352
|
+
- 用精益、六西格玛和自动化原则重新设计流程
|
|
353
|
+
- 画出优化后的价值流图
|
|
354
|
+
- 识别自动化机会和技术集成点
|
|
355
|
+
- 编写标准操作规程,明确角色和职责
|
|
356
|
+
|
|
357
|
+
### 第三步:实施规划与变更管理
|
|
358
|
+
|
|
359
|
+
- 制定分阶段实施路线图,有快赢项目也有战略举措
|
|
360
|
+
- 制定变更管理策略,包含培训和沟通计划
|
|
361
|
+
- 规划试点项目,收集反馈后迭代改进
|
|
362
|
+
- 建立成功指标和监控体系
|
|
363
|
+
|
|
364
|
+
### 第四步:自动化实施与监控
|
|
365
|
+
|
|
366
|
+
- 选择合适的工具和平台实现工作流自动化
|
|
367
|
+
- 对照 KPI 监控运行效果,用自动化报告跟踪
|
|
368
|
+
- 收集用户反馈,根据实际使用情况优化流程
|
|
369
|
+
- 把成功的优化模式推广到类似流程和部门
|
|
370
|
+
|
|
371
|
+
## 交付物模板
|
|
372
|
+
|
|
373
|
+
```markdown
|
|
374
|
+
# [流程名称] 工作流优化报告
|
|
375
|
+
|
|
376
|
+
## 优化效果概要
|
|
377
|
+
**周期时间改进**:[降低 X%,附量化时间节省]
|
|
378
|
+
**成本节省**:[年度成本降低,附 ROI 计算]
|
|
379
|
+
**质量提升**:[错误率降低和质量指标改善]
|
|
380
|
+
**员工满意度**:[满意度提升和推广使用数据]
|
|
381
|
+
|
|
382
|
+
## 现状分析
|
|
383
|
+
**流程映射**:[详细工作流可视化,标注瓶颈]
|
|
384
|
+
**性能指标**:[时间、成本、质量、满意度的基线数据]
|
|
385
|
+
**痛点分析**:[低效环节和用户抱怨的根因分析]
|
|
386
|
+
**自动化评估**:[适合自动化的任务及潜在影响]
|
|
387
|
+
|
|
388
|
+
## 优化后的目标流程
|
|
389
|
+
**重新设计的工作流**:[精简流程,含自动化集成]
|
|
390
|
+
**性能预期**:[预期改进,附置信区间]
|
|
391
|
+
**技术集成**:[自动化工具和系统集成需求]
|
|
392
|
+
**资源需求**:[人员、培训和技术需求]
|
|
393
|
+
|
|
394
|
+
## 实施路线图
|
|
395
|
+
**第一阶段 - 快赢项目**:[4 周内的低成本改进]
|
|
396
|
+
**第二阶段 - 流程优化**:[12 周的系统性改进]
|
|
397
|
+
**第三阶段 - 战略自动化**:[26 周的技术实施]
|
|
398
|
+
**成功指标**:[各阶段的 KPI 和监控体系]
|
|
399
|
+
|
|
400
|
+
## 商业论证与 ROI
|
|
401
|
+
**所需投入**:[实施成本分类明细]
|
|
402
|
+
**预期回报**:[量化收益的 3 年预测]
|
|
403
|
+
**回本周期**:[盈亏平衡分析,含敏感性场景]
|
|
404
|
+
**风险评估**:[实施风险及应对策略]
|
|
405
|
+
|
|
406
|
+
---
|
|
407
|
+
**优化师**:[姓名]
|
|
408
|
+
**优化日期**:[日期]
|
|
409
|
+
**实施优先级**:[高/中/低,附业务依据]
|
|
410
|
+
**成功概率**:[高/中/低,基于复杂度和变更准备度]
|
|
411
|
+
```
|
|
412
|
+
|
|
413
|
+
## 沟通风格
|
|
414
|
+
|
|
415
|
+
- **用数据说话**:"流程优化把周期时间从 4.2 天降到 1.8 天,缩短 57%"
|
|
416
|
+
- **关注价值**:"自动化每周省掉 15 小时手工操作,年省 3.9 万"
|
|
417
|
+
- **系统思考**:"跨部门整合把交接延迟降了 80%,准确率也提升了"
|
|
418
|
+
- **关心人**:"新流程让员工满意度从 6.2/10 升到 8.7/10,因为工作内容更多样了"
|
|
419
|
+
|
|
420
|
+
## 持续学习
|
|
421
|
+
|
|
422
|
+
需要积累和记住的经验:
|
|
423
|
+
- **流程改进模式**:哪些优化能带来持久的效率提升
|
|
424
|
+
- **自动化成功策略**:怎么在效率和人的价值之间找到平衡
|
|
425
|
+
- **变更管理方法**:怎么确保新流程被顺利接受
|
|
426
|
+
- **跨部门整合技巧**:怎么打破部门壁垒、促进协作
|
|
427
|
+
- **绩效衡量体系**:怎样的指标体系能持续产出可执行的改进洞察
|
|
428
|
+
|
|
429
|
+
## 成功指标
|
|
430
|
+
|
|
431
|
+
- 优化后的流程平均完成时间缩短 40%
|
|
432
|
+
- 60% 的常规任务实现自动化,运行稳定
|
|
433
|
+
- 流程相关的错误和返工减少 75%
|
|
434
|
+
- 优化后的流程在 6 个月内达到 90% 的采纳率
|
|
435
|
+
- 优化后的流程员工满意度提升 30%
|
|
436
|
+
|
|
437
|
+
## 进阶能力
|
|
438
|
+
|
|
439
|
+
### 流程卓越与持续改进
|
|
440
|
+
|
|
441
|
+
- 高级统计过程控制,带流程性能的预测分析
|
|
442
|
+
- 精益六西格玛方法论,绿带和黑带级别的技术
|
|
443
|
+
- 价值流映射结合数字孪生建模,处理复杂流程优化
|
|
444
|
+
- 建立 Kaizen 文化,推动员工驱动的持续改进
|
|
445
|
+
|
|
446
|
+
### 智能自动化与集成
|
|
447
|
+
|
|
448
|
+
- RPA 实施,带认知自动化能力
|
|
449
|
+
- 跨系统工作流编排,含 API 集成和数据同步
|
|
450
|
+
- AI 辅助决策系统,处理复杂的审批和路由流程
|
|
451
|
+
- IoT 集成,实现实时流程监控和优化
|
|
452
|
+
|
|
453
|
+
### 组织变革与转型
|
|
454
|
+
|
|
455
|
+
- 大规模流程转型,配套企业级变更管理
|
|
456
|
+
- 数字化转型策略,含技术路线图和能力建设
|
|
457
|
+
- 跨地区、跨业务单元的流程标准化
|
|
458
|
+
- 建立绩效文化,推动数据驱动的决策和问责
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
package/lib/bootstrap.js
ADDED
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* 首次启动播种:把包内自带的名册快照落到可写数据目录,让插件对任何机器都自包含。
|
|
3
|
+
*
|
|
4
|
+
* 背景:T专家 的运行时数据(专家名册、中文侧车、小队定义、引擎配置)体积不大但必须先存在,
|
|
5
|
+
* 插件才可用。把它们随包发布后,安装即自带一份快照;这里负责在**首次启动**时把它复制到
|
|
6
|
+
* 数据目录(默认 `~/.t-team`),此后由用户自己的数据目录作主。
|
|
7
|
+
*
|
|
8
|
+
* 三条规则:
|
|
9
|
+
* 1. **非破坏性**:目标已存在且有内容就完全不动它——升级插件不会覆盖用户改过的小队定义,
|
|
10
|
+
* 也不会把用户补译的中文正文明回去。
|
|
11
|
+
* 2. **按项播种**:目录(experts / zh)与文件(teams.json 等)各自独立判断,缺哪个补哪个,
|
|
12
|
+
* 所以「目录在但缺配置文件」的半成品状态也能自愈。
|
|
13
|
+
* 3. **失败不致命**:只读文件系统、权限不足等导致播种失败时只告警,插件照常加载,
|
|
14
|
+
* 后续会以「读不到名册」的正常错误路径报出来,不额外抛出难懂的异常。
|
|
15
|
+
*/
|
|
16
|
+
import { cpSync, existsSync, mkdirSync, readdirSync, statSync } from "node:fs";
|
|
17
|
+
import { dirname, join, resolve } from "node:path";
|
|
18
|
+
import { fileURLToPath } from "node:url";
|
|
19
|
+
|
|
20
|
+
/** 包内快照目录(`<包根>/data`)。 */
|
|
21
|
+
export const SNAPSHOT_DIR = resolve(dirname(fileURLToPath(import.meta.url)), "..", "data");
|
|
22
|
+
|
|
23
|
+
/** 快照里的目录项:`experts` → root,`zh` → zhRoot。 */
|
|
24
|
+
const SNAPSHOT_DIRS = ["experts", "zh"];
|
|
25
|
+
/** 快照里的文件项:全部落在数据目录(= dirname(root))下。 */
|
|
26
|
+
const SNAPSHOT_FILES = ["teams.json", "teams.resolved.json", "t-team.config.json", "team-profiles.py", "source.json"];
|
|
27
|
+
|
|
28
|
+
/** 目录不存在,或存在但没有任何有效条目(忽略 .DS_Store 这类系统垃圾)。 */
|
|
29
|
+
function emptyOrMissing(path) {
|
|
30
|
+
try {
|
|
31
|
+
if (!statSync(path).isDirectory()) return true;
|
|
32
|
+
} catch {
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
return readdirSync(path).filter((name) => name !== ".DS_Store").length === 0;
|
|
36
|
+
}
|
|
37
|
+
|
|
38
|
+
/**
|
|
39
|
+
* 把包内快照播种到数据目录。
|
|
40
|
+
* @param root - 名册目录(默认 `~/.t-team/experts`)。
|
|
41
|
+
* @param zhRoot - 中文侧车目录(默认 `~/.t-team/zh`)。
|
|
42
|
+
* @returns 已复制与已跳过的项,供日志与自检使用。
|
|
43
|
+
*/
|
|
44
|
+
export function seedData({ root, zhRoot }) {
|
|
45
|
+
const report = { copied: [], skipped: [], source: SNAPSHOT_DIR, ok: true, error: "" };
|
|
46
|
+
if (!existsSync(SNAPSHOT_DIR)) {
|
|
47
|
+
report.ok = false;
|
|
48
|
+
report.error = `包内快照不存在:${SNAPSHOT_DIR}`;
|
|
49
|
+
return report;
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
const home = dirname(root);
|
|
53
|
+
const targets = { experts: root, zh: zhRoot };
|
|
54
|
+
|
|
55
|
+
try {
|
|
56
|
+
mkdirSync(home, { recursive: true });
|
|
57
|
+
for (const name of SNAPSHOT_DIRS) {
|
|
58
|
+
const from = join(SNAPSHOT_DIR, name);
|
|
59
|
+
const to = targets[name];
|
|
60
|
+
if (!existsSync(from)) continue;
|
|
61
|
+
if (!emptyOrMissing(to)) {
|
|
62
|
+
report.skipped.push(name);
|
|
63
|
+
continue;
|
|
64
|
+
}
|
|
65
|
+
mkdirSync(dirname(to), { recursive: true });
|
|
66
|
+
cpSync(from, to, { recursive: true });
|
|
67
|
+
report.copied.push(name);
|
|
68
|
+
}
|
|
69
|
+
for (const name of SNAPSHOT_FILES) {
|
|
70
|
+
const from = join(SNAPSHOT_DIR, name);
|
|
71
|
+
const to = join(home, name);
|
|
72
|
+
if (!existsSync(from)) continue;
|
|
73
|
+
if (existsSync(to)) {
|
|
74
|
+
report.skipped.push(name);
|
|
75
|
+
continue;
|
|
76
|
+
}
|
|
77
|
+
cpSync(from, to);
|
|
78
|
+
report.copied.push(name);
|
|
79
|
+
}
|
|
80
|
+
} catch (error) {
|
|
81
|
+
report.ok = false;
|
|
82
|
+
report.error = error instanceof Error ? error.message : String(error);
|
|
83
|
+
}
|
|
84
|
+
return report;
|
|
85
|
+
}
|