@sokeai/cli 1.0.76 → 1.0.78
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/README.md +7 -7
- package/package.json +1 -1
- package/scripts/build-binaries.sh +1 -1
- package/scripts/e2e-test.sh +75 -3
- package/scripts/install.js +2 -2
- package/scripts/local-test.js +1 -1
- package/scripts/test-auto-detect.js +20 -3
- package/skills/README.md +25 -174
- package/skills/SKILL.md +17 -222
- package/skills/mono/README.md +10 -0
- package/skills/mono/SKILL.md +223 -0
- package/skills/{soke-course/soke-cli/345/256/211/350/243/205/346/214/207/345/215/227.md → mono/references/installation.md} +0 -3
- package/skills/mono/references/modules/soke-ai-coach-director/CHANGELOG.md +203 -0
- package/skills/mono/references/modules/soke-ai-coach-director/MODULE.md +221 -0
- package/skills/mono/references/modules/soke-ai-coach-director/README.md +121 -0
- package/skills/mono/references/modules/soke-ai-coach-director/coaching/knowledge-packager/knowledge-packager.md +91 -0
- package/skills/mono/references/modules/soke-ai-coach-director/coaching/prompt-engineer/parts/part2-roles.md +97 -0
- package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/prompt-engineer/parts/part3-flow.md +3 -3
- package/skills/mono/references/modules/soke-ai-coach-director/coaching/prompt-engineer/prompt-engineer.md +76 -0
- package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/prompt-optimizer/prompt-optimizer.md +77 -58
- package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/adapters/workbuddy.md +2 -3
- package/skills/mono/references/modules/soke-ai-coach-director/platform/interaction.md +103 -0
- package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/publish-gate.md +3 -3
- package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/resource-finalizer.md +10 -35
- package/skills/mono/references/modules/soke-ai-coach-director/platform/soke-ai-training/soke-ai-training.md +123 -0
- package/skills/mono/references/modules/soke-ai-coach-director/platform/sync-engine.md +39 -0
- package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/change-log-partwise-refactor.md +1 -1
- package/skills/mono/references/modules/soke-ai-coach-director/references/env-check.md +146 -0
- package/skills/mono/references/modules/soke-ai-coach-director/references/exec-common.md +126 -0
- package/skills/mono/references/modules/soke-ai-coach-director/references/exec-handbook.md +621 -0
- package/skills/mono/references/modules/soke-ai-coach-director/references/exec-part1.md +86 -0
- package/skills/mono/references/modules/soke-ai-coach-director/references/exec-part2.md +145 -0
- package/skills/mono/references/modules/soke-ai-coach-director/references/exec-part3.md +91 -0
- package/skills/mono/references/modules/soke-ai-coach-director/references/exec-part4.md +187 -0
- package/skills/mono/references/modules/soke-ai-coach-director/references/gate-check-matrix.md +46 -0
- package/skills/mono/references/modules/soke-ai-coach-director/references/micro-tune-labels.md +30 -0
- package/skills/mono/references/modules/soke-ai-coach-director/references/platform-api-pitfalls.md +49 -0
- package/skills/mono/references/modules/soke-ai-coach-director/references/role-resource-matching.md +45 -0
- package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/references/self-improvement-examples.md +2 -0
- package/skills/mono/references/modules/soke-ai-coach-director/references/self-learning-engine.md +485 -0
- package/skills/mono/references/modules/soke-ai-coach-director/references/subs/part1/SOP.md +17 -0
- package/skills/mono/references/modules/soke-ai-coach-director/references/subs/part2/SOP.md +34 -0
- package/skills/mono/references/modules/soke-ai-coach-director/references/subs/part3/SOP.md +27 -0
- package/skills/mono/references/modules/soke-ai-coach-director/references/subs/part4/SOP.md +31 -0
- package/skills/mono/references/modules/soke-ai-coach-director/references/subs/publish/SOP.md +81 -0
- package/skills/mono/references/modules/soke-ai-coach-director/references/subs/tune/SOP.md +92 -0
- package/skills/mono/references/modules/soke-ai-coach-director/references/verified-cli-cheatsheet.md +56 -0
- package/skills/mono/references/modules/soke-ai-coach-director/scripts/gate_check.py +112 -0
- package/skills/mono/references/modules/soke-ai-coach-director/scripts/validate_operations.py +403 -0
- package/skills/{soke-ai-training/SKILL.md → mono/references/modules/soke-ai-training/MODULE.md} +1 -1
- package/skills/mono/references/modules/soke-assign/README.md +308 -0
- package/skills/mono/references/modules/soke-certificate/MODULE.md +717 -0
- package/skills/mono/references/modules/soke-course/MODULE.md +402 -0
- package/skills/mono/references/modules/soke-course/README.md +291 -0
- package/skills/{soke-course → mono/references/modules/soke-course}/references/course-list-courses.md +49 -84
- package/skills/{soke-course → mono/references/modules/soke-course}/references/examples.md +3 -3
- package/skills/{soke-course → mono/references/modules/soke-course}/references/intent-cases.md +2 -2
- package/skills/{soke-course → mono/references/modules/soke-course}/references/sop-full-workflow.md +4 -2
- package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/publish/SOP.md +21 -3
- package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/query/SOP.md +9 -7
- package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/settings/SOP.md +2 -1
- package/skills/{soke-exam/SKILL.md → mono/references/modules/soke-exam/MODULE.md} +1 -1
- package/skills/mono/references/modules/soke-exam-question-pool/MODULE.md +123 -0
- package/skills/{soke-learning-map/SKILL.md → mono/references/modules/soke-learning-map/MODULE.md} +5 -6
- package/skills/{soke-learning-profile/SKILL.md → mono/references/modules/soke-learning-profile/MODULE.md} +2 -2
- package/skills/mono/references/modules/soke-lesson/README.md +53 -0
- package/skills/mono/references/modules/soke-material/README.md +49 -0
- package/skills/{soke-photo-gallery/SKILL.md → mono/references/modules/soke-photo-gallery/MODULE.md} +2 -3
- package/skills/mono/references/modules/soke-supervisor/MODULE.md +186 -0
- package/skills/mono/references/modules/soke-task/MODULE.md +146 -0
- package/skills/mono/references/modules/soke-training-demand/MODULE.md +221 -0
- package/skills/mono/references/shared/cli-basics.md +185 -0
- package/skills/mono/scripts/check_readiness.py +28 -0
- package/skills/mono/scripts/gate_check.py +112 -0
- package/skills/mono/scripts/validate_operations.py +403 -0
- package/skills/multi/README.md +18 -0
- package/skills/multi/soke-ai-coach-director/CHANGELOG.md +203 -0
- package/skills/multi/soke-ai-coach-director/README.md +121 -0
- package/skills/multi/soke-ai-coach-director/SKILL.md +220 -0
- package/skills/multi/soke-ai-coach-director/assets/ERRORS-TEMPLATE.md +5 -0
- package/skills/multi/soke-ai-coach-director/assets/FEATURE_REQUESTS-TEMPLATE.md +5 -0
- package/skills/multi/soke-ai-coach-director/assets/LEARNINGS-TEMPLATE.md +44 -0
- package/skills/multi/soke-ai-coach-director/assets/SKILL-TEMPLATE.md +177 -0
- package/skills/multi/soke-ai-coach-director/coaching/knowledge-packager/knowledge-packager.md +91 -0
- package/skills/multi/soke-ai-coach-director/coaching/prompt-engineer/parts/part1-basic.md +59 -0
- package/skills/multi/soke-ai-coach-director/coaching/prompt-engineer/parts/part2-roles.md +97 -0
- package/skills/multi/soke-ai-coach-director/coaching/prompt-engineer/parts/part3-flow.md +72 -0
- package/skills/multi/soke-ai-coach-director/coaching/prompt-engineer/parts/part4-scoring.md +87 -0
- package/skills/multi/soke-ai-coach-director/coaching/prompt-engineer/parts/part5-constraints.md +48 -0
- package/skills/multi/soke-ai-coach-director/coaching/prompt-engineer/prompt-engineer.md +76 -0
- package/skills/multi/soke-ai-coach-director/coaching/prompt-optimizer/prompt-optimizer.md +381 -0
- package/skills/multi/soke-ai-coach-director/coaching/role-profiler/role-profiler.md +87 -0
- package/skills/multi/soke-ai-coach-director/platform/adapters/README.md +68 -0
- package/skills/multi/soke-ai-coach-director/platform/adapters/qclaw.md +67 -0
- package/skills/multi/soke-ai-coach-director/platform/adapters/workbuddy.md +44 -0
- package/skills/multi/soke-ai-coach-director/platform/adapters/wukong.md +70 -0
- package/skills/multi/soke-ai-coach-director/platform/adapters/zework.md +89 -0
- package/skills/multi/soke-ai-coach-director/platform/api-fallback.md +262 -0
- package/skills/multi/soke-ai-coach-director/platform/interaction.md +103 -0
- package/skills/multi/soke-ai-coach-director/platform/publish-gate.md +44 -0
- package/skills/multi/soke-ai-coach-director/platform/resource-finalizer.md +103 -0
- package/skills/{ai-coach-director → multi/soke-ai-coach-director}/platform/soke-ai-training/soke-ai-training.md +34 -4
- package/skills/multi/soke-ai-coach-director/platform/sync-engine.md +39 -0
- package/skills/multi/soke-ai-coach-director/references/cases/AI/345/256/242/346/210/267/350/247/222/350/211/262/346/250/241/346/235/277/345/272/223.md +265 -0
- package/skills/multi/soke-ai-coach-director/references/cases/AI/351/231/252/347/273/203Bad Case/346/240/267/346/234/254/345/272/223.md" +206 -0
- package/skills/multi/soke-ai-coach-director/references/cases/AI/351/231/252/347/273/203/345/210/233/345/273/272/351/227/256/351/242/230/345/272/223.md +666 -0
- package/skills/multi/soke-ai-coach-director/references/cases/AI/351/231/252/347/273/203/345/234/272/346/231/257/345/210/206/347/261/273/345/272/223.md +213 -0
- package/skills/multi/soke-ai-coach-director/references/cases/AI/351/231/252/347/273/203/345/256/242/346/210/267/346/235/220/346/226/231/346/270/205/345/215/225/344/270/216/350/256/277/350/260/210/351/242/230/345/272/223.md +229 -0
- package/skills/multi/soke-ai-coach-director/references/cases/AI/351/231/252/347/273/203/345/276/256/350/260/203/351/227/256/351/242/230/345/272/223.md +833 -0
- package/skills/multi/soke-ai-coach-director/references/cases/AI/351/231/252/347/273/203/346/212/200/346/234/257/350/276/271/347/225/214/344/270/216/346/216/222/351/232/234/345/272/223.md +239 -0
- package/skills/multi/soke-ai-coach-director/references/cases/AI/351/231/252/347/273/203/346/217/220/347/244/272/350/257/215/346/250/241/345/235/227/345/272/223.md +249 -0
- package/skills/multi/soke-ai-coach-director/references/cases/AI/351/231/252/347/273/203/346/225/260/346/215/256/346/214/207/346/240/207/344/270/216/347/234/213/346/235/277/345/217/243/345/276/204/345/272/223.md +282 -0
- package/skills/multi/soke-ai-coach-director/references/cases/AI/351/231/252/347/273/203/346/265/213/350/257/225/347/224/250/344/276/213/345/272/223.md +254 -0
- package/skills/multi/soke-ai-coach-director/references/cases/AI/351/231/252/347/273/203/350/257/204/345/210/206/346/240/207/345/207/206/347/273/204/344/273/266/345/272/223.md +264 -0
- package/skills/multi/soke-ai-coach-director/references/cases/AI/351/231/252/347/273/203/351/241/271/347/233/256/346/241/210/344/276/213/345/244/215/347/233/230/345/272/223.md +223 -0
- package/skills/multi/soke-ai-coach-director/references/cases/AI/351/241/276/345/256/242/350/247/222/350/211/262/346/250/241/346/213/237_GoodCase_BadCase_20260701.md +304 -0
- package/skills/multi/soke-ai-coach-director/references/cases/create//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/224/265/350/257/235/347/272/246/350/256/277//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/345/256/242/346/210/267/346/235/220/346/226/231/346/261/207/346/200/273_2026-05-19_1341.md +42 -0
- package/skills/multi/soke-ai-coach-director/references/cases/create//346/226/260/350/203/275/346/272/220/350/275/246/344/270/273/350/264/267//346/226/260/350/203/275/346/272/220/350/275/246/344/270/273/350/264/267/347/237/245/350/257/206/345/272/223/347/224/237/346/210/220_20260615.md +23 -0
- package/skills/multi/soke-ai-coach-director/references/cases/create//346/226/260/350/203/275/346/272/220/350/275/246/344/270/273/350/264/267//346/226/260/350/203/275/346/272/220/350/275/246/344/270/273/350/264/267/351/231/252/347/273/203/346/217/220/347/244/272/350/257/215/347/224/237/346/210/220_20260615.md +34 -0
- package/skills/multi/soke-ai-coach-director/references/cases/create//346/237/220/345/233/275/351/231/205/346/243/200/346/265/213/346/234/272/346/236/204//346/237/220/345/233/275/351/231/205/346/243/200/346/265/213/346/234/272/346/236/204/351/231/252/347/273/203/346/211/247/350/241/214/346/226/271/346/241/210/344/272/244/344/273/230/350/256/260/345/275/225_20260610.md +26 -0
- package/skills/multi/soke-ai-coach-director/references/cases/create//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206_/346/217/220/347/244/272/350/257/215/346/220/255/345/273/272_20260622.md +30 -0
- package/skills/multi/soke-ai-coach-director/references/cases/micro-tune//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/347/263/273/345/210/227//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/346/217/220/347/244/272/350/257/215_/344/274/230/345/214/226/347/211/210_V1.2_20260616.md +254 -0
- package/skills/multi/soke-ai-coach-director/references/cases/micro-tune//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/347/263/273/345/210/227//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/346/217/220/347/244/272/350/257/215_/345/216/213/347/274/251/347/211/210_V2.0_20260616.md +96 -0
- package/skills/multi/soke-ai-coach-director/references/cases/micro-tune//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/347/263/273/345/210/227//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/346/217/220/347/244/272/350/257/215/344/274/230/345/214/226_20260616.md +20 -0
- package/skills/multi/soke-ai-coach-director/references/cases/micro-tune//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/263/273/345/210/227//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277AI/351/231/252/347/273/203/347/263/273/347/273/237_/346/265/213/350/257/225/345/217/215/351/246/210/346/261/207/346/200/273_2026-06-01.md +434 -0
- package/skills/multi/soke-ai-coach-director/references/cases/micro-tune//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/263/273/345/210/227//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277KYC/344/277/241/344/273/273/345/200/274/347/246/201/344/273/244_2026-06-09_0932.md +22 -0
- package/skills/multi/soke-ai-coach-director/references/cases/micro-tune//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/263/273/345/210/227//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277KYC/346/217/220/347/244/272/350/257/215_/344/274/230/345/214/226/347/211/210_v2_20260608.md +261 -0
- package/skills/multi/soke-ai-coach-director/references/cases/micro-tune//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/263/273/345/210/227//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/346/217/220/347/244/272/350/257/215_/344/274/230/345/214/226/347/211/210_v1.2.md +354 -0
- package/skills/multi/soke-ai-coach-director/references/cases/micro-tune//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/263/273/345/210/227//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/346/217/220/347/244/272/350/257/215/344/274/230/345/214/226_V2_/350/257/212/346/226/255/344/272/244/344/273/230_20260609.md +26 -0
- package/skills/multi/soke-ai-coach-director/references/cases//345/233/233/345/244/247/345/234/272/346/231/257_GoodCase_BadCase_20260701.md +194 -0
- package/skills/multi/soke-ai-coach-director/references/cases//346/241/210/344/276/213/345/272/223/350/241/245/345/205/205_2026-06-24.md +41 -0
- package/skills/multi/soke-ai-coach-director/references/change-log-partwise-refactor.md +74 -0
- package/skills/multi/soke-ai-coach-director/references/env-check.md +146 -0
- package/skills/multi/soke-ai-coach-director/references/exec-common.md +126 -0
- package/skills/multi/soke-ai-coach-director/references/exec-handbook.md +621 -0
- package/skills/multi/soke-ai-coach-director/references/exec-part1.md +86 -0
- package/skills/multi/soke-ai-coach-director/references/exec-part2.md +145 -0
- package/skills/multi/soke-ai-coach-director/references/exec-part3.md +91 -0
- package/skills/multi/soke-ai-coach-director/references/exec-part4.md +187 -0
- package/skills/multi/soke-ai-coach-director/references/gate-check-matrix.md +46 -0
- package/skills/{soke-cli/345/256/211/350/243/205/346/214/207/345/215/227.md → multi/soke-ai-coach-director/references/installation.md} +0 -3
- package/skills/multi/soke-ai-coach-director/references/micro-tune-labels.md +30 -0
- package/skills/multi/soke-ai-coach-director/references/platform-api-pitfalls.md +49 -0
- package/skills/multi/soke-ai-coach-director/references/role-resource-matching.md +45 -0
- package/skills/multi/soke-ai-coach-director/references/self-improvement-examples.md +373 -0
- package/skills/multi/soke-ai-coach-director/references/self-learning-engine.md +485 -0
- package/skills/multi/soke-ai-coach-director/references/shared.md +185 -0
- package/skills/multi/soke-ai-coach-director/references/subs/part1/SOP.md +17 -0
- package/skills/multi/soke-ai-coach-director/references/subs/part2/SOP.md +34 -0
- package/skills/multi/soke-ai-coach-director/references/subs/part3/SOP.md +27 -0
- package/skills/multi/soke-ai-coach-director/references/subs/part4/SOP.md +31 -0
- package/skills/multi/soke-ai-coach-director/references/subs/publish/SOP.md +81 -0
- package/skills/multi/soke-ai-coach-director/references/subs/tune/SOP.md +92 -0
- package/skills/multi/soke-ai-coach-director/references/verified-cli-cheatsheet.md +56 -0
- package/skills/multi/soke-ai-coach-director/scripts/gate_check.py +112 -0
- package/skills/multi/soke-ai-coach-director/scripts/validate_operations.py +403 -0
- package/skills/multi/soke-ai-training/SKILL.md +247 -0
- package/skills/{soke-learning-map/soke-cli/345/256/211/350/243/205/346/214/207/345/215/227.md → multi/soke-ai-training/references/installation.md} +0 -3
- package/skills/multi/soke-ai-training/references/shared.md +185 -0
- package/skills/{soke-assign → multi/soke-assign}/README.md +3 -5
- package/skills/multi/soke-assign/SKILL.md +101 -0
- package/skills/{soke-course/SKILL.md → multi/soke-assign/references/dependencies/soke-course.md} +4 -4
- package/skills/multi/soke-assign/references/dependencies/soke-exam.md +600 -0
- package/skills/multi/soke-assign/references/installation.md +451 -0
- package/skills/multi/soke-assign/references/shared.md +185 -0
- package/skills/multi/soke-certificate/SKILL.md +715 -0
- package/skills/multi/soke-certificate/references/installation.md +451 -0
- package/skills/multi/soke-certificate/references/shared.md +185 -0
- package/skills/{soke-course → multi/soke-course}/README.md +11 -9
- package/skills/multi/soke-course/SKILL.md +399 -0
- package/skills/multi/soke-course/agents/openai.yaml +7 -0
- package/skills/multi/soke-course/examples/create-basic.md +70 -0
- package/skills/multi/soke-course/references/course-list-courses.md +216 -0
- package/skills/multi/soke-course/references/dependencies/soke-assign.md +103 -0
- package/skills/multi/soke-course/references/dependencies/soke-lesson.md +119 -0
- package/skills/multi/soke-course/references/dependencies/soke-material.md +105 -0
- package/skills/multi/soke-course/references/examples.md +480 -0
- package/skills/multi/soke-course/references/installation.md +451 -0
- package/skills/multi/soke-course/references/intent-cases.md +99 -0
- package/skills/multi/soke-course/references/shared.md +185 -0
- package/skills/multi/soke-course/references/sop-full-workflow.md +177 -0
- package/skills/multi/soke-course/references/sop-lesson-types.md +66 -0
- package/skills/multi/soke-course/references/sop-publish-check.md +76 -0
- package/skills/multi/soke-course/references/subs/ai/SOP.md +153 -0
- package/skills/multi/soke-course/references/subs/category/SOP.md +112 -0
- package/skills/multi/soke-course/references/subs/charge/SOP.md +107 -0
- package/skills/multi/soke-course/references/subs/copy/SOP.md +80 -0
- package/skills/multi/soke-course/references/subs/publish/SOP.md +168 -0
- package/skills/multi/soke-course/references/subs/query/SOP.md +165 -0
- package/skills/multi/soke-course/references/subs/settings/SOP.md +136 -0
- package/skills/multi/soke-course/references/subs/template/SOP.md +223 -0
- package/skills/multi/soke-course/references/troubleshoot.md +68 -0
- package/skills/multi/soke-course/scripts/check_readiness.py +87 -0
- package/skills/multi/soke-exam/SKILL.md +598 -0
- package/skills/multi/soke-exam/references/exam-get-exam-user.md +212 -0
- package/skills/multi/soke-exam/references/installation.md +451 -0
- package/skills/multi/soke-exam/references/shared.md +185 -0
- package/skills/{soke-exam-question-pool → multi/soke-exam-question-pool}/SKILL.md +2 -4
- package/skills/multi/soke-exam-question-pool/references/installation.md +451 -0
- package/skills/multi/soke-exam-question-pool/references/shared.md +185 -0
- package/skills/multi/soke-learning-map/SKILL.md +553 -0
- package/skills/multi/soke-learning-map/references/dependencies/soke-assign.md +103 -0
- package/skills/multi/soke-learning-map/references/dependencies/soke-task.md +146 -0
- package/skills/multi/soke-learning-map/references/installation.md +451 -0
- package/skills/multi/soke-learning-map/references/shared.md +185 -0
- package/skills/multi/soke-learning-profile/SKILL.md +221 -0
- package/skills/multi/soke-learning-profile/references/installation.md +451 -0
- package/skills/multi/soke-learning-profile/references/shared.md +185 -0
- package/skills/multi/soke-lesson/SKILL.md +117 -0
- package/skills/multi/soke-lesson/references/installation.md +451 -0
- package/skills/multi/soke-lesson/references/shared.md +185 -0
- package/skills/multi/soke-material/SKILL.md +103 -0
- package/skills/multi/soke-material/references/installation.md +451 -0
- package/skills/multi/soke-material/references/shared.md +185 -0
- package/skills/multi/soke-photo-gallery/SKILL.md +284 -0
- package/skills/multi/soke-photo-gallery/references/installation.md +451 -0
- package/skills/multi/soke-photo-gallery/references/shared.md +185 -0
- package/skills/multi/soke-shared/SKILL.md +183 -0
- package/skills/multi/soke-supervisor/SKILL.md +184 -0
- package/skills/multi/soke-supervisor/references/installation.md +451 -0
- package/skills/multi/soke-supervisor/references/shared.md +185 -0
- package/skills/{soke-task → multi/soke-task}/SKILL.md +31 -11
- package/skills/multi/soke-task/references/installation.md +451 -0
- package/skills/multi/soke-task/references/shared.md +185 -0
- package/skills/{soke-training-demand → multi/soke-training-demand}/SKILL.md +2 -4
- package/skills/multi/soke-training-demand/references/installation.md +451 -0
- package/skills/multi/soke-training-demand/references/shared.md +185 -0
- package/skills/ai-coach-director/SKILL.md +0 -1563
- package/skills/ai-coach-director/coaching/prompt-engineer/parts/part2-roles.md +0 -317
- package/skills/ai-coach-director/coaching/prompt-engineer/prompt-engineer.md +0 -244
- package/skills/ai-coach-director/platform/interaction.md +0 -315
- package/skills/ai-coach-director/platform/sync-engine.md +0 -1101
- package/skills/ai-coach-director/references/cases/create//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/224/265/350/257/235/347/272/246/350/256/277//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/224/265/350/257/235/347/272/246/350/256/277_/346/240/207/345/207/206/347/237/245/350/257/206/345/272/223.md +0 -199
- package/skills/ai-coach-director/references/cases/create//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/224/265/350/257/235/347/272/246/350/256/277//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/224/265/350/257/235/347/272/246/350/256/277/347/237/245/350/257/206/345/272/223.md +0 -388
- package/skills/ai-coach-director/references/cases/create//346/237/220/345/233/275/351/231/205/346/243/200/346/265/213/346/234/272/346/236/204/tuv-knowledge-base.md +0 -125
- package/skills/ai-coach-director/references/cases/create//346/237/220/345/233/275/351/231/205/346/243/200/346/265/213/346/234/272/346/236/204/tuv-p03-first-call-scenario-prompt.md +0 -428
- package/skills/ai-coach-director/references/cases/create//346/237/220/345/233/275/351/231/205/346/243/200/346/265/213/346/234/272/346/236/204//346/237/220/345/233/275/351/231/205/346/243/200/346/265/213/346/234/272/346/236/204P03/351/231/252/347/273/203/346/211/247/350/241/214/346/226/271/346/241/210_20260610.md +0 -225
- package/skills/ai-coach-director/references/cases/create//346/237/220/345/234/260/346/226/271/351/223/266/350/241/214//346/237/220/345/234/260/346/226/271/351/223/266/350/241/214/345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/224/265/350/257/235/347/272/246/350/256/277AI/351/231/252/347/273/203/346/265/213/350/257/225/347/224/250/344/276/213/345/220/210/351/233/206.md +0 -525
- package/skills/ai-coach-director/references/cases/create//347/211/251/346/265/201/350/241/214/344/270/232//347/211/251/346/265/201/350/241/214/344/270/232-/345/210/235/346/254/241/346/213/234/350/256/277/351/246/231/347/262/276/351/246/231/346/226/231/345/256/242/346/210/267.md +0 -146
- package/skills/ai-coach-director/references/cases/create//351/205/222/345/272/227/351/244/220/351/245/256//351/205/222/345/272/227/351/244/220/351/245/256AI/351/231/252/347/273/203_/346/240/207/346/235/2061_/346/226/260/345/223/201/346/216/250/351/224/200_20260701.md +0 -230
- package/skills/ai-coach-director/references/cases/create//351/205/222/345/272/227/351/244/220/351/245/256//351/205/222/345/272/227/351/244/220/351/245/256AI/351/231/252/347/273/203_/346/240/207/346/235/2062_/345/202/254/350/217/234/345/256/211/346/212/232_20260701.md +0 -257
- package/skills/ai-coach-director/references/cases/create//351/205/222/345/272/227/351/244/220/351/245/256//351/205/222/345/272/227/351/244/220/351/245/256AI/351/231/252/347/273/203_/346/240/207/346/235/2063_/345/267/256/350/257/204/345/233/236/350/256/277_20260701.md +0 -259
- package/skills/ai-coach-director/references/cases/create//351/205/222/345/272/227/351/244/220/351/245/256//351/205/222/345/272/227/351/244/220/351/245/256AI/351/231/252/347/273/203/345/234/272/346/231/257/346/226/271/346/241/210_20260701.md +0 -452
- package/skills/ai-coach-director/references/cases/create//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206_/345/256/242/346/210/267/347/241/256/350/256/244/345/217/215/351/246/210/350/241/250.md +0 -133
- package/skills/ai-coach-director/references/cases/create//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206_/351/231/252/347/273/203/346/217/220/347/244/272/350/257/215_v1.md +0 -333
- package/skills/ai-coach-director/references/cases/create//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206_/351/231/252/347/273/203/346/217/220/347/244/272/350/257/215_v2_Part1-Part5.md +0 -649
- package/skills/ai-coach-director/references/env-check.md +0 -167
- package/skills/ai-coach-director/references/platform-api-pitfalls.md +0 -232
- package/skills/ai-coach-director/references/role-resource-matching.md +0 -349
- package/skills/ai-coach-director/references/verified-cli-cheatsheet.md +0 -203
- package/skills/ai-coach-director/scripts/activator.sh +0 -4
- package/skills/ai-coach-director/scripts/error-detector.sh +0 -4
- package/skills/ai-coach-director/scripts/extract-skill.sh +0 -7
- package/skills/soke-course/scripts/check_readiness.sh +0 -82
- /package/skills/{ai-coach-director → mono}/references/cases/AI/345/256/242/346/210/267/350/247/222/350/211/262/346/250/241/346/235/277/345/272/223.md" +0 -0
- /package/skills/{ai-coach-director → mono}/references/cases/AI/351/231/252/347/273/203Bad Case/346/240/267/346/234/254/345/272/223.md" +0 -0
- /package/skills/{ai-coach-director → mono}/references/cases/AI/351/231/252/347/273/203/345/210/233/345/273/272/351/227/256/351/242/230/345/272/223.md" +0 -0
- /package/skills/{ai-coach-director → mono}/references/cases/AI/351/231/252/347/273/203/345/234/272/346/231/257/345/210/206/347/261/273/345/272/223.md" +0 -0
- /package/skills/{ai-coach-director → mono}/references/cases/AI/351/231/252/347/273/203/345/256/242/346/210/267/346/235/220/346/226/231/346/270/205/345/215/225/344/270/216/350/256/277/350/260/210/351/242/230/345/272/223.md" +0 -0
- /package/skills/{ai-coach-director → mono}/references/cases/AI/351/231/252/347/273/203/345/276/256/350/260/203/351/227/256/351/242/230/345/272/223.md" +0 -0
- /package/skills/{ai-coach-director → mono}/references/cases/AI/351/231/252/347/273/203/346/212/200/346/234/257/350/276/271/347/225/214/344/270/216/346/216/222/351/232/234/345/272/223.md" +0 -0
- /package/skills/{ai-coach-director → mono}/references/cases/AI/351/231/252/347/273/203/346/217/220/347/244/272/350/257/215/346/250/241/345/235/227/345/272/223.md" +0 -0
- /package/skills/{ai-coach-director → mono}/references/cases/AI/351/231/252/347/273/203/346/225/260/346/215/256/346/214/207/346/240/207/344/270/216/347/234/213/346/235/277/345/217/243/345/276/204/345/272/223.md" +0 -0
- /package/skills/{ai-coach-director → mono}/references/cases/AI/351/231/252/347/273/203/346/265/213/350/257/225/347/224/250/344/276/213/345/272/223.md" +0 -0
- /package/skills/{ai-coach-director → mono}/references/cases/AI/351/231/252/347/273/203/350/257/204/345/210/206/346/240/207/345/207/206/347/273/204/344/273/266/345/272/223.md" +0 -0
- /package/skills/{ai-coach-director → mono}/references/cases/AI/351/231/252/347/273/203/351/241/271/347/233/256/346/241/210/344/276/213/345/244/215/347/233/230/345/272/223.md" +0 -0
- /package/skills/{ai-coach-director → mono}/references/cases/AI/351/241/276/345/256/242/350/247/222/350/211/262/346/250/241/346/213/237_GoodCase_BadCase_20260701.md" +0 -0
- /package/skills/{ai-coach-director → mono}/references/cases/create//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/224/265/350/257/235/347/272/246/350/256/277//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/345/256/242/346/210/267/346/235/220/346/226/231/346/261/207/346/200/273_2026-05-19_1341.md" +0 -0
- /package/skills/{ai-coach-director → mono}/references/cases/create//346/226/260/350/203/275/346/272/220/350/275/246/344/270/273/350/264/267//346/226/260/350/203/275/346/272/220/350/275/246/344/270/273/350/264/267/347/237/245/350/257/206/345/272/223/347/224/237/346/210/220_20260615.md" +0 -0
- /package/skills/{ai-coach-director → mono}/references/cases/create//346/226/260/350/203/275/346/272/220/350/275/246/344/270/273/350/264/267//346/226/260/350/203/275/346/272/220/350/275/246/344/270/273/350/264/267/351/231/252/347/273/203/346/217/220/347/244/272/350/257/215/347/224/237/346/210/220_20260615.md" +0 -0
- /package/skills/{ai-coach-director → mono}/references/cases/create//346/237/220/345/233/275/351/231/205/346/243/200/346/265/213/346/234/272/346/236/204//346/237/220/345/233/275/351/231/205/346/243/200/346/265/213/346/234/272/346/236/204/351/231/252/347/273/203/346/211/247/350/241/214/346/226/271/346/241/210/344/272/244/344/273/230/350/256/260/345/275/225_20260610.md" +0 -0
- /package/skills/{ai-coach-director → mono}/references/cases/create//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206//351/231/214/346/213/234/344/277/241/346/201/257/346/224/266/351/233/206_/346/217/220/347/244/272/350/257/215/346/220/255/345/273/272_20260622.md" +0 -0
- /package/skills/{ai-coach-director → mono}/references/cases/micro-tune//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/347/263/273/345/210/227//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/346/217/220/347/244/272/350/257/215_/344/274/230/345/214/226/347/211/210_V1.2_20260616.md" +0 -0
- /package/skills/{ai-coach-director → mono}/references/cases/micro-tune//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/347/263/273/345/210/227//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/346/217/220/347/244/272/350/257/215_/345/216/213/347/274/251/347/211/210_V2.0_20260616.md" +0 -0
- /package/skills/{ai-coach-director → mono}/references/cases/micro-tune//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/347/263/273/345/210/227//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/346/217/220/347/244/272/350/257/215/344/274/230/345/214/226_20260616.md" +0 -0
- /package/skills/{ai-coach-director → mono}/references/cases/micro-tune//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/263/273/345/210/227//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277AI/351/231/252/347/273/203/347/263/273/347/273/237_/346/265/213/350/257/225/345/217/215/351/246/210/346/261/207/346/200/273_2026-06-01.md" +0 -0
- /package/skills/{ai-coach-director → mono}/references/cases/micro-tune//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/263/273/345/210/227//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277KYC/344/277/241/344/273/273/345/200/274/347/246/201/344/273/244_2026-06-09_0932.md" +0 -0
- /package/skills/{ai-coach-director → mono}/references/cases/micro-tune//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/263/273/345/210/227//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277KYC/346/217/220/347/244/272/350/257/215_/344/274/230/345/214/226/347/211/210_v2_20260608.md" +0 -0
- /package/skills/{ai-coach-director → mono}/references/cases/micro-tune//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/263/273/345/210/227//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/346/217/220/347/244/272/350/257/215_/344/274/230/345/214/226/347/211/210_v1.2.md" +0 -0
- /package/skills/{ai-coach-director → mono}/references/cases/micro-tune//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/263/273/345/210/227//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/346/217/220/347/244/272/350/257/215/344/274/230/345/214/226_V2_/350/257/212/346/226/255/344/272/244/344/273/230_20260609.md" +0 -0
- /package/skills/{ai-coach-director → mono}/references/cases//345/233/233/345/244/247/345/234/272/346/231/257_GoodCase_BadCase_20260701.md" +0 -0
- /package/skills/{ai-coach-director → mono}/references/cases//346/241/210/344/276/213/345/272/223/350/241/245/345/205/205_2026-06-24.md" +0 -0
- /package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/assets/ERRORS-TEMPLATE.md +0 -0
- /package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/assets/FEATURE_REQUESTS-TEMPLATE.md +0 -0
- /package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/assets/LEARNINGS-TEMPLATE.md +0 -0
- /package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/assets/SKILL-TEMPLATE.md +0 -0
- /package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/prompt-engineer/parts/part1-basic.md +0 -0
- /package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/prompt-engineer/parts/part4-scoring.md +0 -0
- /package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/prompt-engineer/parts/part5-constraints.md +0 -0
- /package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/coaching/role-profiler/role-profiler.md +0 -0
- /package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/adapters/README.md +0 -0
- /package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/adapters/qclaw.md +0 -0
- /package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/adapters/wukong.md +0 -0
- /package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/adapters/zework.md +0 -0
- /package/skills/{ai-coach-director → mono/references/modules/soke-ai-coach-director}/platform/api-fallback.md +0 -0
- /package/skills/{soke-assign/SKILL.md → mono/references/modules/soke-assign/MODULE.md} +0 -0
- /package/skills/{soke-course → mono/references/modules/soke-course}/agents/openai.yaml +0 -0
- /package/skills/{soke-course → mono/references/modules/soke-course}/examples/create-basic.md +0 -0
- /package/skills/{soke-course → mono/references/modules/soke-course}/references/sop-lesson-types.md +0 -0
- /package/skills/{soke-course → mono/references/modules/soke-course}/references/sop-publish-check.md +0 -0
- /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/ai/SOP.md +0 -0
- /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/category/SOP.md +0 -0
- /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/charge/SOP.md +0 -0
- /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/copy/SOP.md +0 -0
- /package/skills/{soke-course → mono/references/modules/soke-course}/references/subs/template/SOP.md +0 -0
- /package/skills/{soke-course → mono/references/modules/soke-course}/references/troubleshoot.md +0 -0
- /package/skills/{soke-exam → mono/references/modules/soke-exam}/references/exam-get-exam-user.md +0 -0
- /package/skills/{soke-lesson/SKILL.md → mono/references/modules/soke-lesson/MODULE.md} +0 -0
- /package/skills/{soke-material/SKILL.md → mono/references/modules/soke-material/MODULE.md} +0 -0
- /package/skills/{soke-shared/SKILL.md → mono/references/modules/soke-shared/MODULE.md} +0 -0
- /package/skills/{ai-coach-director → multi/soke-ai-coach-director}/references/cases/micro-tune//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/347/263/273/345/210/227//344/274/201/344/270/232/345/256/266/347/216/213/346/200/273/346/217/220/347/244/272/350/257/215_/344/274/230/345/214/226/347/211/210_V1.1_20260616.md" +0 -0
- /package/skills/{ai-coach-director → multi/soke-ai-coach-director}/references/cases/micro-tune//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/347/263/273/345/210/227//345/206/234/346/210/267/345/274/240/350/200/201/346/235/277/346/217/220/347/244/272/350/257/215_/344/274/230/345/214/226/347/211/210_v1.1.md" +0 -0
- /package/skills/{soke-lesson → multi/soke-lesson}/README.md +0 -0
- /package/skills/{soke-material → multi/soke-material}/README.md +0 -0
|
@@ -1,349 +0,0 @@
|
|
|
1
|
-
# Part2 平台资源自动匹配规则
|
|
2
|
-
|
|
3
|
-
> 本节是 Part2 用户确认后、角色 JSON 生成前自动执行的资源匹配流程。头像和语音不在 Part2 内容展示阶段预设或展示,而是在后台查询系统资源库自动匹配,并随角色主体一次写入。
|
|
4
|
-
>
|
|
5
|
-
> **v2.0 升级**:匹配模式从"拉全量→文本匹配"升级为"提取角色性别/年龄特征→CLI 参数精准过滤→取结果",利用 CLI 原生的 `--gender` / `--age-group` 服务端过滤能力,提升匹配精度和效率。
|
|
6
|
-
|
|
7
|
-
## 资源匹配时机
|
|
8
|
-
|
|
9
|
-
Part2 完整内容已展示(先 OS,再逐个角色)并由用户确认 → 后台立即执行资源匹配流程 → 将 avatar URL 与 voice_id 写入角色级 JSON → 逐个角色 apply + 回读验证。资源匹配、写入、回读校验不等待用户触发,也不向用户二次确认。
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
## 前置步骤:从角色卡提取性别与年龄
|
|
14
|
-
|
|
15
|
-
在执行任何 CLI 查询之前,必须先从每个角色的 `role_data` 中提取性别和年龄段特征,映射为 CLI 参数:
|
|
16
|
-
|
|
17
|
-
### 性别映射表(gender)
|
|
18
|
-
|
|
19
|
-
| 角色描述中的特征词 | → gender |
|
|
20
|
-
|---|---|
|
|
21
|
-
| 男、先生、他、男士、男性、(男性名字:建国/振国/志强/伟等) | `male` |
|
|
22
|
-
| 女、女士、她、太太、小姐、女性、(女性名字:芳/丽/敏/娟/婷等) | `female` |
|
|
23
|
-
| 无明显性别特征 | 不传 `--gender` |
|
|
24
|
-
|
|
25
|
-
> **提取优先级**:角色名称(.name) > 角色描述(.description) > 角色背景(.background) > MBTI+沟通风格交叉推断
|
|
26
|
-
|
|
27
|
-
### 年龄段映射表(age_group)
|
|
28
|
-
|
|
29
|
-
| 角色描述中的特征词 | → age_group |
|
|
30
|
-
|---|---|
|
|
31
|
-
| 青年、年轻、刚毕业、新手、25-35、初级、新入职、小张/小李等年轻称呼 | `youth` |
|
|
32
|
-
| 中年、35-50、资深、经理、主管、部门负责人、有多年经验 | `middle-aged` |
|
|
33
|
-
| 老年、50+、退休、资深专家、老前辈、临近退休、老张/老李等长辈称呼 | `senior` |
|
|
34
|
-
| 无明显年龄特征 | 不传 `--age-group` |
|
|
35
|
-
|
|
36
|
-
> **提取优先级**:角色背景(.background) > 角色描述(.description) > 角色名称(.name)
|
|
37
|
-
|
|
38
|
-
---
|
|
39
|
-
|
|
40
|
-
## 头像资源匹配
|
|
41
|
-
|
|
42
|
-
### Step 1:CLI 精准过滤查询
|
|
43
|
-
|
|
44
|
-
根据前置步骤提取的 `gender` 和 `age_group`,使用 CLI 过滤参数查询:
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
# 性别+年龄都明确 → 一阶精准查询
|
|
48
|
-
soke-cli ai-training +list-role-avatars \
|
|
49
|
-
--gender <gender> \
|
|
50
|
-
--age-group <age_group> \
|
|
51
|
-
--lang zh \
|
|
52
|
-
--show-detail \
|
|
53
|
-
--pretty
|
|
54
|
-
|
|
55
|
-
# 仅性别明确 → 仅按性别过滤
|
|
56
|
-
soke-cli ai-training +list-role-avatars \
|
|
57
|
-
--gender <gender> \
|
|
58
|
-
--lang zh \
|
|
59
|
-
--show-detail \
|
|
60
|
-
--pretty
|
|
61
|
-
|
|
62
|
-
# 特征信息不足 → 不传过滤参数
|
|
63
|
-
soke-cli ai-training +list-role-avatars \
|
|
64
|
-
--lang zh \
|
|
65
|
-
--show-detail \
|
|
66
|
-
--pretty
|
|
67
|
-
```
|
|
68
|
-
|
|
69
|
-
### Step 2:从过滤结果中选最佳匹配
|
|
70
|
-
|
|
71
|
-
CLI 返回的头像列表已经是服务端按 `sort` 排序的过滤结果。按以下优先级选取:
|
|
72
|
-
|
|
73
|
-
| 优先级 | 匹配条件 | 选取规则 |
|
|
74
|
-
|---|---|---|
|
|
75
|
-
| P0 | 性别 + 年龄都吻合 | 取过滤结果中 `sort` 最小的第 1 条 |
|
|
76
|
-
| P1 | 仅性别吻合(年龄无精确匹配) | 取 `--gender` 过滤结果的第 1 条 |
|
|
77
|
-
| P2 | 仅年龄吻合(性别无精确匹配) | 取 `--age-group` 过滤结果的第 1 条 |
|
|
78
|
-
| P3 | 性别年龄均无匹配 | 不传过滤参数,全量取第 1 条通用/中性头像,并标注「无精确匹配」 |
|
|
79
|
-
|
|
80
|
-
> **降级链路**:一阶查询返回空 → 去掉 `--age-group`(仅性别)→ 仍空则去掉 `--gender`(仅年龄)→ 仍空则全量无过滤。每次降级记录一次。
|
|
81
|
-
|
|
82
|
-
### Step 3:写入角色级 JSON
|
|
83
|
-
|
|
84
|
-
> ⚠️ **必须与语音资源合并写入角色级同步单元**:头像和语音写入同一个角色级操作,不可分两次。
|
|
85
|
-
|
|
86
|
-
将匹配到的头像资源 URL 写入该角色的 `role_data.avatar`(与 voice_id 一起进入 `part2-role-XX.json`):
|
|
87
|
-
|
|
88
|
-
```json
|
|
89
|
-
[
|
|
90
|
-
{
|
|
91
|
-
"type": "patch_ai_role",
|
|
92
|
-
"data": {
|
|
93
|
-
"scenario_role_id": "<角色ID>",
|
|
94
|
-
"patch": {
|
|
95
|
-
"role_data": {
|
|
96
|
-
"avatar": "<头像资源URL>"
|
|
97
|
-
},
|
|
98
|
-
"customized_fields": ["avatar"]
|
|
99
|
-
}
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
]
|
|
103
|
-
```
|
|
104
|
-
|
|
105
|
-
> ⚠️ `avatar` 字段传入头像资源 **URL**(如 `https://newsokeeditorcdn.soke.cn/public/ai/avatars/business_owner_female.png`),来自 `+list-role-avatars` 返回的 `url` 字段,**不能**传资源 `id`。
|
|
106
|
-
> ⚠️ `patch` 中必须包含 `customized_fields`,指明被修改的字段,否则平台可能不识别该更新。
|
|
107
|
-
|
|
108
|
-
匹配过程默认不在聊天中展示;只有失败且影响后续发布时,才输出最小必要异常。
|
|
109
|
-
|
|
110
|
-
---
|
|
111
|
-
|
|
112
|
-
## 语音资源匹配
|
|
113
|
-
|
|
114
|
-
### Step 1:CLI 精准过滤查询
|
|
115
|
-
|
|
116
|
-
```bash
|
|
117
|
-
# 性别+年龄都明确 → 一阶精准查询
|
|
118
|
-
soke-cli ai-training +list-role-voices \
|
|
119
|
-
--gender <gender> \
|
|
120
|
-
--age-group <age_group> \
|
|
121
|
-
--lang zh \
|
|
122
|
-
--pretty
|
|
123
|
-
|
|
124
|
-
# 降级查询(同头像降级链路)
|
|
125
|
-
```
|
|
126
|
-
|
|
127
|
-
### Step 2:从过滤结果中选最佳匹配
|
|
128
|
-
|
|
129
|
-
| 优先级 | 匹配条件 | 选取规则 |
|
|
130
|
-
|---|---|---|
|
|
131
|
-
| P0 | 性别 + 年龄都吻合 | 取过滤结果的第 1 条 |
|
|
132
|
-
| P1 | 仅性别吻合 | 取 `--gender` 过滤结果的第 1 条 |
|
|
133
|
-
| P2 | 仅年龄吻合 | 取 `--age-group` 过滤结果的第 1 条 |
|
|
134
|
-
| P3 | 性别年龄均无匹配 | 全量取第 1 条通用默认音色,标注「无精确匹配」 |
|
|
135
|
-
|
|
136
|
-
> **降级链路**:同头像匹配——一阶→去年龄→去性别→全量。每次降级记录一次。
|
|
137
|
-
|
|
138
|
-
### Step 3:写入角色级 JSON
|
|
139
|
-
|
|
140
|
-
> ⚠️ **必须与头像资源合并写入角色级同步单元**:语音和头像写入同一个角色级操作,不可分两次。
|
|
141
|
-
|
|
142
|
-
将匹配到的语音资源 ID 写入该角色的 `role_data.voice_id`(与 avatar 一起进入 `part2-role-XX.json`):
|
|
143
|
-
|
|
144
|
-
```json
|
|
145
|
-
[
|
|
146
|
-
{
|
|
147
|
-
"type": "patch_ai_role",
|
|
148
|
-
"data": {
|
|
149
|
-
"scenario_role_id": "<角色ID>",
|
|
150
|
-
"patch": {
|
|
151
|
-
"role_data": {
|
|
152
|
-
"voice_id": "<语音资源ID>"
|
|
153
|
-
},
|
|
154
|
-
"customized_fields": ["voice_id"]
|
|
155
|
-
}
|
|
156
|
-
}
|
|
157
|
-
}
|
|
158
|
-
]
|
|
159
|
-
```
|
|
160
|
-
|
|
161
|
-
> ⚠️ `voice_id` 传入声音资源 **ID**(如 `zh_female_warm_01`),来自 `+list-role-voices` 返回的 `id` 字段,**不能**传 `sample_url` 或名称字符串。
|
|
162
|
-
> ⚠️ `patch` 中必须包含 `customized_fields`,指明被修改的字段。
|
|
163
|
-
|
|
164
|
-
匹配过程默认不在聊天中展示;只有失败且影响后续发布时,才输出最小必要异常。
|
|
165
|
-
|
|
166
|
-
---
|
|
167
|
-
|
|
168
|
-
## 完整流程时序
|
|
169
|
-
|
|
170
|
-
```
|
|
171
|
-
Part2 完整展示并由用户确认
|
|
172
|
-
→ 提取每个角色的性别(gender) + 年龄(age_group)
|
|
173
|
-
→ CLI 并行精准过滤查询:
|
|
174
|
-
+list-role-avatars --gender <g> --age-group <a> --lang zh --show-detail --pretty
|
|
175
|
-
+list-role-voices --gender <g> --age-group <a> --lang zh --pretty
|
|
176
|
-
→ 任一返回空则降级(去年龄→去性别→全量)
|
|
177
|
-
→ ⚠️ 将 avatar + voice_id 写入对应角色级 JSON
|
|
178
|
-
→ 角色1 preview + apply → get-scenario 强制验证该角色 avatar 非空 URL + voice_id 非空 ID
|
|
179
|
-
→ 角色2 preview + apply → get-scenario 强制验证
|
|
180
|
-
→ 角色3 preview + apply → get-scenario 强制验证
|
|
181
|
-
→ OS preview + apply → get-scenario 强制验证 OS 完整写入
|
|
182
|
-
→ 验证失败 → 重新读取 updated_at → 重试 1 次
|
|
183
|
-
→ 仍失败 → 标注「资源匹配未完成」,不阻断后续 Part
|
|
184
|
-
→ 全部同步完成后,再输出 Part3
|
|
185
|
-
```
|
|
186
|
-
|
|
187
|
-
> **头像/语音必须在同一角色同步单元内写入**,avatar 和 voice_id 放在同一个角色的 `role_data` 中,`customized_fields` 同时包含 `avatar` 和 `voice_id`。**禁止分两次 patch**——分开调用会导致 updated_at 竞态。
|
|
188
|
-
|
|
189
|
-
---
|
|
190
|
-
|
|
191
|
-
## 端到端示例
|
|
192
|
-
|
|
193
|
-
角色卡摘要:
|
|
194
|
-
- 名称:谨慎型小微企业主
|
|
195
|
-
- 描述:经营农资批发门店的女性老板,40多岁,关注融资成本和审批速度。
|
|
196
|
-
- 背景:经营农资批发门店十余年,旺季前需短期周转资金 30-50 万……
|
|
197
|
-
|
|
198
|
-
### 特征提取
|
|
199
|
-
|
|
200
|
-
| 特征 | 来源字段 | 提取结果 | CLI 参数 |
|
|
201
|
-
|---|---|---|---|
|
|
202
|
-
| 性别 | 描述中"女性" | female | `--gender female` |
|
|
203
|
-
| 年龄 | 描述中"40多岁"、背景中"十余年" | middle-aged | `--age-group middle-aged` |
|
|
204
|
-
|
|
205
|
-
### CLI 查询
|
|
206
|
-
|
|
207
|
-
```bash
|
|
208
|
-
# 头像
|
|
209
|
-
soke-cli ai-training +list-role-avatars \
|
|
210
|
-
--gender female \
|
|
211
|
-
--age-group middle-aged \
|
|
212
|
-
--lang zh \
|
|
213
|
-
--show-detail \
|
|
214
|
-
--pretty
|
|
215
|
-
|
|
216
|
-
# 声音
|
|
217
|
-
soke-cli ai-training +list-role-voices \
|
|
218
|
-
--gender female \
|
|
219
|
-
--age-group middle-aged \
|
|
220
|
-
--lang zh \
|
|
221
|
-
--pretty
|
|
222
|
-
```
|
|
223
|
-
|
|
224
|
-
### 写入
|
|
225
|
-
|
|
226
|
-
```json
|
|
227
|
-
{
|
|
228
|
-
"role_data": {
|
|
229
|
-
"avatar": "https://newsokeeditorcdn.soke.cn/public/ai/avatars/business_owner_female.png",
|
|
230
|
-
"voice_id": "zh_female_warm_01"
|
|
231
|
-
}
|
|
232
|
-
}
|
|
233
|
-
```
|
|
234
|
-
|
|
235
|
-
---
|
|
236
|
-
|
|
237
|
-
## 异常处理
|
|
238
|
-
|
|
239
|
-
| 情况 | 处理 |
|
|
240
|
-
|---|---|
|
|
241
|
-
| 头像/语音库 CLI 查询失败(网络/权限) | 跳过资源匹配,标注「资源匹配未完成」,Part3 不受影响 |
|
|
242
|
-
| 角色特征信息不足(无性别/年龄暗示) | 不传过滤参数,全量查询取第 1 条默认头像 + 默认音色,不标注匹配摘要 |
|
|
243
|
-
| 过滤查询返回空 → 降级后仍空 | 全量查询取第 1 条,标注「无精确匹配,已使用默认资源」 |
|
|
244
|
-
| patch_ai_role 失败 | 重新读取 updated_at 后重试 1 次;仍失败则标注,不阻断 Part3 |
|
|
245
|
-
| patch_ai_role 返回成功但 avatar/voice_id 验证为空 | 重新读取 updated_at 后重试 1 次;仍失败则标注,不阻断 Part3 |
|
|
246
|
-
|
|
247
|
-
---
|
|
248
|
-
|
|
249
|
-
## 合并写入模板
|
|
250
|
-
|
|
251
|
-
> ⚠️ **强制规则**:头像和语音必须合并为**单次** `patch_ai_role` 操作写入。禁止分两次 patch——分两次调用会导致第二次 patch 后 `updated_at` 变化,后续验收时可能误判第一次写入丢失。
|
|
252
|
-
|
|
253
|
-
### operations JSON 结构
|
|
254
|
-
|
|
255
|
-
```json
|
|
256
|
-
[
|
|
257
|
-
{
|
|
258
|
-
"type": "patch_ai_role",
|
|
259
|
-
"data": {
|
|
260
|
-
"scenario_role_id": "<角色ID>",
|
|
261
|
-
"patch": {
|
|
262
|
-
"role_data": {
|
|
263
|
-
"avatar": "<头像资源URL>",
|
|
264
|
-
"voice_id": "<语音资源ID>"
|
|
265
|
-
},
|
|
266
|
-
"customized_fields": ["avatar", "voice_id"]
|
|
267
|
-
}
|
|
268
|
-
}
|
|
269
|
-
}
|
|
270
|
-
]
|
|
271
|
-
```
|
|
272
|
-
|
|
273
|
-
### 完整 CLI 命令序列
|
|
274
|
-
|
|
275
|
-
```bash
|
|
276
|
-
# 1. 读取最新场景状态
|
|
277
|
-
soke-cli ai-training +get-scenario \
|
|
278
|
-
--scenario-id <scenario_id> \
|
|
279
|
-
--pretty
|
|
280
|
-
|
|
281
|
-
# 2. 写入合并的 operations JSON(Python json.dump)
|
|
282
|
-
|
|
283
|
-
# 3. 预览
|
|
284
|
-
soke-cli ai-training +preview-scenario-update \
|
|
285
|
-
--scenario-id <scenario_id> \
|
|
286
|
-
--base-updated-at <updated_at> \
|
|
287
|
-
--operations-file ./part2-resources.json \
|
|
288
|
-
--reason "Part2: 头像声音资源回填" \
|
|
289
|
-
--pretty
|
|
290
|
-
|
|
291
|
-
# 4. 应用
|
|
292
|
-
soke-cli ai-training +apply-scenario-update \
|
|
293
|
-
--scenario-id <scenario_id> \
|
|
294
|
-
--base-updated-at <updated_at> \
|
|
295
|
-
--operations-file ./part2-resources.json \
|
|
296
|
-
--idempotency-key "cli-<scenario_short>-part2-resources" \
|
|
297
|
-
--reason "Part2: 头像声音资源回填" \
|
|
298
|
-
--pretty
|
|
299
|
-
|
|
300
|
-
# 5. 强制验证
|
|
301
|
-
soke-cli ai-training +get-scenario \
|
|
302
|
-
--scenario-id <scenario_id> \
|
|
303
|
-
--pretty
|
|
304
|
-
# 检查每个角色的 avatar 为非空 URL、voice_id 为非空 ID
|
|
305
|
-
```
|
|
306
|
-
|
|
307
|
-
### 验证失败重试
|
|
308
|
-
|
|
309
|
-
```bash
|
|
310
|
-
# 验证失败 → 重新读取 updated_at
|
|
311
|
-
soke-cli ai-training +get-scenario --scenario-id <scenario_id> --pretty
|
|
312
|
-
|
|
313
|
-
# 重新生成 patch → 重新 preview + apply(新 idempotency_key)
|
|
314
|
-
# 仍失败 → 标注并继续 Part3
|
|
315
|
-
```
|
|
316
|
-
|
|
317
|
-
---
|
|
318
|
-
|
|
319
|
-
## REST API 回填路径(soke-cli 不可用时)
|
|
320
|
-
|
|
321
|
-
> 当 soke-cli 不可用(如悟空/QClaw/Zework 等非 WorkBuddy 平台,或企业安全策略禁止 CLI 执行),头像和语音资源回填**不得跳过**,必须降级为 REST API 路径。
|
|
322
|
-
|
|
323
|
-
完整流程详见 `platform/api-fallback.md`「资源回填完整流程」,本节仅说明与 CLI 路径的差异点。
|
|
324
|
-
|
|
325
|
-
### 执行条件
|
|
326
|
-
|
|
327
|
-
- soke-cli 未安装、执行持续失败、或 `which soke-cli` 返回空
|
|
328
|
-
- 所在平台支持 HTTP 请求(curl / Python requests)
|
|
329
|
-
|
|
330
|
-
### 差异点
|
|
331
|
-
|
|
332
|
-
| 步骤 | CLI 路径 | REST API 路径 |
|
|
333
|
-
|------|---------|---------------|
|
|
334
|
-
| 头像查询 | `soke-cli ai-training +list-role-avatars --gender <g> --age-group <a>` | `GET /api/v1/ai-training/role-avatars?gender=<g>&age_group=<a>` |
|
|
335
|
-
| 语音查询 | `soke-cli ai-training +list-role-voices --gender <g> --age-group <a>` | `GET /api/v1/ai-training/role-voices?gender=<g>&age_group=<a>` |
|
|
336
|
-
| 回填 | `+preview-scenario-update` → `+apply-scenario-update` | 单次 `PATCH /api/v1/ai-training/scenarios/<id>`(无 preview 步骤,PATCH 前先 GET 对比) |
|
|
337
|
-
| 验证 | `soke-cli ai-training +get-scenario` | `GET /api/v1/ai-training/scenarios/<id>` |
|
|
338
|
-
| 沙箱 | `dangerouslyDisableSandbox: true` | 不适用(HTTP 请求) |
|
|
339
|
-
|
|
340
|
-
### 相同点(保证回填质量一致)
|
|
341
|
-
|
|
342
|
-
- 性别/年龄段特征提取与映射表**完全相同**(本文件「性别映射表」「年龄段映射表」)
|
|
343
|
-
- P0-P3 降级链路**完全相同**
|
|
344
|
-
- 合并写入(单次 patch avatar+voice_id)规则**完全相同**
|
|
345
|
-
- 写入值规范:`avatar` = URL,`voice_id` = ID,**完全相同**
|
|
346
|
-
- 强制验证 + 重试 1 次 + 失败标注不阻断 Part3,**完全相同**
|
|
347
|
-
- 匹配摘要一行输出(「张总 → 威严中年男性头像 + 沉稳男中音」),**完全相同**
|
|
348
|
-
|
|
349
|
-
> ⚠️ **关键原则**:REST API 路径**不是简化版**——它和 CLI 路径共享完全相同的匹配规则和验证标准。唯一的区别是数据传输方式(CLI 命令 vs HTTP 请求)。头像和语音的匹配质量和写入结果必须等价。
|
|
@@ -1,203 +0,0 @@
|
|
|
1
|
-
# MentorAI CLI 已验证命令清单
|
|
2
|
-
|
|
3
|
-
> 用于 AI 陪练场景的标准命令速查。凡涉及场景创建、读取、预览、应用、封面上传、知识包同步,统一使用 `soke-cli ai-training +...`,不要省略 `ai-training`。
|
|
4
|
-
|
|
5
|
-
## 0. 总规则
|
|
6
|
-
|
|
7
|
-
- 错误写法:`soke-cli +create-scenario`
|
|
8
|
-
- 正确写法:`soke-cli ai-training +create-scenario`
|
|
9
|
-
- 同理,`+get-scenario`、`+preview-scenario-update`、`+apply-scenario-update`、`+upload-scenario-cover`、`+sync`、`+bind-scenario` 都必须挂在 `ai-training` 子命令下
|
|
10
|
-
- 每次 `preview` / `apply` 前,先重新执行一次 `soke-cli ai-training +get-scenario`
|
|
11
|
-
- 默认优先使用 `--request-file <partX-update.json>` 传完整更新请求;排障时再改用 `--operations-file <partX-operations.json>`
|
|
12
|
-
- 每次 `apply` 后,立刻执行一次 `soke-cli ai-training +get-scenario --raw` 做验收
|
|
13
|
-
- ⚠️ **所有 soke-cli 命令通过 Bash 工具执行时,必须设置 `dangerouslyDisableSandbox: true`**。soke-cli 是 Go 编译二进制,在沙箱中会被限制执行(`permission denied` 或静默无输出)。此规则适用于本文件中全部命令,不限于创建型流程
|
|
14
|
-
|
|
15
|
-
## 1. Step1 创建场景
|
|
16
|
-
|
|
17
|
-
### 1.1 上传封面
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
soke-cli ai-training +upload-scenario-cover \
|
|
21
|
-
--file ./scenario-cover.png \
|
|
22
|
-
--pretty
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
### 1.2 创建场景
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
soke-cli ai-training +create-scenario \
|
|
29
|
-
--request-file ./step1-create.json \
|
|
30
|
-
--pretty
|
|
31
|
-
```
|
|
32
|
-
|
|
33
|
-
### 1.3 创建后立即回读
|
|
34
|
-
|
|
35
|
-
```bash
|
|
36
|
-
soke-cli ai-training +get-scenario \
|
|
37
|
-
--scenario-id <scenario_id> \
|
|
38
|
-
--raw \
|
|
39
|
-
--pretty
|
|
40
|
-
```
|
|
41
|
-
|
|
42
|
-
## 2. Part2-Part5 通用同步模板
|
|
43
|
-
|
|
44
|
-
### 2.1 先获取最新基线
|
|
45
|
-
|
|
46
|
-
```bash
|
|
47
|
-
soke-cli ai-training +get-scenario \
|
|
48
|
-
--scenario-id <scenario_id> \
|
|
49
|
-
--pretty
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
### 2.2 预览更新(默认 request-file 模式)
|
|
53
|
-
|
|
54
|
-
```bash
|
|
55
|
-
soke-cli ai-training +preview-scenario-update \
|
|
56
|
-
--scenario-id <scenario_id> \
|
|
57
|
-
--request-file ./partX-update.json \
|
|
58
|
-
--pretty
|
|
59
|
-
```
|
|
60
|
-
|
|
61
|
-
### 2.3 应用更新(默认 request-file 模式)
|
|
62
|
-
|
|
63
|
-
```bash
|
|
64
|
-
soke-cli ai-training +apply-scenario-update \
|
|
65
|
-
--scenario-id <scenario_id> \
|
|
66
|
-
--request-file ./partX-update.json \
|
|
67
|
-
--pretty
|
|
68
|
-
```
|
|
69
|
-
|
|
70
|
-
### 2.3A 排障时退回 operations 模式
|
|
71
|
-
|
|
72
|
-
```bash
|
|
73
|
-
soke-cli ai-training +preview-scenario-update \
|
|
74
|
-
--scenario-id <scenario_id> \
|
|
75
|
-
--operations-file ./partX-operations.json \
|
|
76
|
-
--base-updated-at <updated_at> \
|
|
77
|
-
--reason "PartX: 更新说明" \
|
|
78
|
-
--pretty
|
|
79
|
-
|
|
80
|
-
soke-cli ai-training +apply-scenario-update \
|
|
81
|
-
--scenario-id <scenario_id> \
|
|
82
|
-
--operations-file ./partX-operations.json \
|
|
83
|
-
--base-updated-at <updated_at> \
|
|
84
|
-
--idempotency-key "cli-<scenario_short>-partX-apply" \
|
|
85
|
-
--reason "PartX: 更新说明" \
|
|
86
|
-
--pretty
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
### 2.4 应用后强制验收
|
|
90
|
-
|
|
91
|
-
```bash
|
|
92
|
-
soke-cli ai-training +get-scenario \
|
|
93
|
-
--scenario-id <scenario_id> \
|
|
94
|
-
--raw \
|
|
95
|
-
--pretty
|
|
96
|
-
```
|
|
97
|
-
|
|
98
|
-
## 3. 各 Part 推荐文件名
|
|
99
|
-
|
|
100
|
-
- Part2:`./part2-operations.json` + `./part2-update.json`
|
|
101
|
-
- Part3:`./part3-operations.json` + `./part3-update.json`
|
|
102
|
-
- Part4:`./part4-operations.json` + `./part4-update.json`
|
|
103
|
-
- Part5:`./part5-operations.json` + `./part5-update.json`
|
|
104
|
-
- 微调:`./optimize-operations.json` + `./optimize-update.json`
|
|
105
|
-
|
|
106
|
-
## 4. 知识包同步与场景绑定
|
|
107
|
-
|
|
108
|
-
### 4.1 同步知识包
|
|
109
|
-
|
|
110
|
-
```bash
|
|
111
|
-
soke-cli ai-training +sync \
|
|
112
|
-
--manifest ./knowledge-package.json \
|
|
113
|
-
--idempotency-key "cli-<package_id>-sync" \
|
|
114
|
-
--pretty
|
|
115
|
-
```
|
|
116
|
-
|
|
117
|
-
### 4.2 绑定到场景
|
|
118
|
-
|
|
119
|
-
```bash
|
|
120
|
-
soke-cli ai-training +bind-scenario \
|
|
121
|
-
--scenario-id <scenario_id> \
|
|
122
|
-
--version-ids <version_id> \
|
|
123
|
-
--compile-plan
|
|
124
|
-
```
|
|
125
|
-
|
|
126
|
-
## 5. 发布场景
|
|
127
|
-
|
|
128
|
-
### 5.1 发布
|
|
129
|
-
|
|
130
|
-
```bash
|
|
131
|
-
soke-cli ai-training +publish-scenario \
|
|
132
|
-
--scenario-id <scenario_id> \
|
|
133
|
-
--version 1 \
|
|
134
|
-
--version-description "CLI发布" \
|
|
135
|
-
--pretty
|
|
136
|
-
```
|
|
137
|
-
|
|
138
|
-
### 5.2 发布后验收
|
|
139
|
-
|
|
140
|
-
```bash
|
|
141
|
-
soke-cli ai-training +get-scenario \
|
|
142
|
-
--scenario-id <scenario_id> \
|
|
143
|
-
--raw \
|
|
144
|
-
--pretty
|
|
145
|
-
```
|
|
146
|
-
|
|
147
|
-
## 6. 快照与恢复
|
|
148
|
-
|
|
149
|
-
### 6.1 查询快照
|
|
150
|
-
|
|
151
|
-
```bash
|
|
152
|
-
soke-cli ai-training +list-scenario-snapshots \
|
|
153
|
-
--scenario-id <scenario_id> \
|
|
154
|
-
--page 1 \
|
|
155
|
-
--page-size 20 \
|
|
156
|
-
--pretty
|
|
157
|
-
```
|
|
158
|
-
|
|
159
|
-
### 6.2 恢复快照
|
|
160
|
-
|
|
161
|
-
```bash
|
|
162
|
-
soke-cli ai-training +restore-scenario-snapshot \
|
|
163
|
-
--scenario-id <scenario_id> \
|
|
164
|
-
--snapshot-id <snapshot_id> \
|
|
165
|
-
--reason "回滚本次 CLI 更新" \
|
|
166
|
-
--pretty
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
## 7. 当前已验证可用命令
|
|
170
|
-
|
|
171
|
-
- `soke-cli ai-training +upload-scenario-cover`
|
|
172
|
-
- `soke-cli ai-training +create-scenario`
|
|
173
|
-
- `soke-cli ai-training +get-scenario`
|
|
174
|
-
- `soke-cli ai-training +list-scenarios`
|
|
175
|
-
- `soke-cli ai-training +preview-scenario-update`
|
|
176
|
-
- `soke-cli ai-training +apply-scenario-update`
|
|
177
|
-
- `soke-cli ai-training +publish-scenario`
|
|
178
|
-
- `soke-cli ai-training +list-scenario-snapshots`
|
|
179
|
-
- `soke-cli ai-training +restore-scenario-snapshot`
|
|
180
|
-
- `soke-cli ai-training +sync`
|
|
181
|
-
- `soke-cli ai-training +bind-scenario`
|
|
182
|
-
|
|
183
|
-
## 8. 常见误抄与纠正
|
|
184
|
-
|
|
185
|
-
- 误抄:`soke-cli +create-scenario`
|
|
186
|
-
- 改成:`soke-cli ai-training +create-scenario`
|
|
187
|
-
- 误抄:`soke-cli +get-scenario`
|
|
188
|
-
- 改成:`soke-cli ai-training +get-scenario`
|
|
189
|
-
- 误抄:`soke-cli +preview-scenario-update`
|
|
190
|
-
- 改成:`soke-cli ai-training +preview-scenario-update`
|
|
191
|
-
- 误抄:`soke-cli +apply-scenario-update`
|
|
192
|
-
- 改成:`soke-cli ai-training +apply-scenario-update`
|
|
193
|
-
- 误抄:`soke-cli +sync`
|
|
194
|
-
- 改成:`soke-cli ai-training +sync`
|
|
195
|
-
- 误抄:`soke-cli +bind-scenario`
|
|
196
|
-
- 改成:`soke-cli ai-training +bind-scenario`
|
|
197
|
-
|
|
198
|
-
## 7. 推荐阅读顺序
|
|
199
|
-
|
|
200
|
-
1. 先看 `platform-api-pitfalls.md`
|
|
201
|
-
2. 再看 `platform/sync-engine.md`
|
|
202
|
-
3. 真正执行前,按本文件复制命令模板
|
|
203
|
-
4. 若平台返回与历史文档冲突,以最新 CLI 实证为准
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
#!/bin/bash
|
|
2
|
-
# soke-course 环境就绪检查
|
|
3
|
-
# 检查 soke-cli 安装、登录状态、子能力 SOP 完整性
|
|
4
|
-
|
|
5
|
-
set -e
|
|
6
|
-
|
|
7
|
-
BASE_DIR="$(cd "$(dirname "$0")/.." && pwd)"
|
|
8
|
-
|
|
9
|
-
echo "🔍 课程发布主管 — 环境检查"
|
|
10
|
-
echo "============================"
|
|
11
|
-
echo ""
|
|
12
|
-
|
|
13
|
-
# 0. 安装指南
|
|
14
|
-
echo "📖 前置依赖:"
|
|
15
|
-
GUIDE="$BASE_DIR/soke-cli安装指南.md"
|
|
16
|
-
if [ -f "$GUIDE" ]; then
|
|
17
|
-
echo " ✅ soke-cli安装指南.md 存在"
|
|
18
|
-
else
|
|
19
|
-
echo " ❌ soke-cli安装指南.md 缺失 — AI 将无法读取认证说明"
|
|
20
|
-
fi
|
|
21
|
-
|
|
22
|
-
# 1. 检查 soke-cli
|
|
23
|
-
echo ""
|
|
24
|
-
echo "🔧 命令行工具:"
|
|
25
|
-
if ! command -v soke-cli &> /dev/null; then
|
|
26
|
-
echo " ❌ soke-cli 未安装"
|
|
27
|
-
echo " 请 Read soke-cli安装指南.md 按步骤安装"
|
|
28
|
-
exit 1
|
|
29
|
-
fi
|
|
30
|
-
echo " ✅ soke-cli: $(soke-cli --version)"
|
|
31
|
-
|
|
32
|
-
# 2. 检查登录状态
|
|
33
|
-
CONFIG=$(soke-cli config show 2>/dev/null || echo "")
|
|
34
|
-
if echo "$CONFIG" | grep -q "user_token"; then
|
|
35
|
-
echo " ✅ 已登录"
|
|
36
|
-
else
|
|
37
|
-
echo " ⚠️ 未登录或 Token 过期"
|
|
38
|
-
echo " 请运行: soke-cli auth login"
|
|
39
|
-
echo " 详见: soke-cli安装指南.md → 用户登录授权"
|
|
40
|
-
fi
|
|
41
|
-
|
|
42
|
-
# 3. 检查并列 skill
|
|
43
|
-
echo ""
|
|
44
|
-
echo "📋 并列技能:"
|
|
45
|
-
PARALLEL_SKILLS=("soke-material" "soke-lesson" "soke-assign")
|
|
46
|
-
for skill in "${PARALLEL_SKILLS[@]}"; do
|
|
47
|
-
SKILL_PATH="$BASE_DIR/../$skill/SKILL.md"
|
|
48
|
-
if [ -f "$SKILL_PATH" ]; then
|
|
49
|
-
echo " ✅ $skill"
|
|
50
|
-
else
|
|
51
|
-
echo " ⚠️ $skill (未找到)"
|
|
52
|
-
fi
|
|
53
|
-
done
|
|
54
|
-
|
|
55
|
-
# 4. 检查内嵌子能力 SOP
|
|
56
|
-
echo ""
|
|
57
|
-
echo "📁 子能力 SOP (references/subs/):"
|
|
58
|
-
SUBS=("category" "settings" "charge" "publish" "copy" "query" "ai")
|
|
59
|
-
for sub in "${SUBS[@]}"; do
|
|
60
|
-
SOP_PATH="$BASE_DIR/references/subs/$sub/SOP.md"
|
|
61
|
-
if [ -f "$SOP_PATH" ]; then
|
|
62
|
-
echo " ✅ $sub"
|
|
63
|
-
else
|
|
64
|
-
echo " ⚠️ $sub (未找到)"
|
|
65
|
-
fi
|
|
66
|
-
done
|
|
67
|
-
|
|
68
|
-
# 5. 检查 references 参考文件
|
|
69
|
-
echo ""
|
|
70
|
-
echo "📚 参考文档:"
|
|
71
|
-
REFS=("intent-cases.md" "sop-full-workflow.md" "sop-lesson-types.md" "sop-publish-check.md" "troubleshoot.md")
|
|
72
|
-
for ref in "${REFS[@]}"; do
|
|
73
|
-
REF_PATH="$BASE_DIR/references/$ref"
|
|
74
|
-
if [ -f "$REF_PATH" ]; then
|
|
75
|
-
echo " ✅ $ref"
|
|
76
|
-
else
|
|
77
|
-
echo " ⚠️ $ref (未找到)"
|
|
78
|
-
fi
|
|
79
|
-
done
|
|
80
|
-
|
|
81
|
-
echo ""
|
|
82
|
-
echo "✅ 环境检查完成"
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|