@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
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
# 悟空 (Wukong) 平台适配器
|
|
2
|
+
|
|
3
|
+
> 悟空是阿里钉钉的企业级 AI Agent 平台,通过钉钉 IM 进行自然语言对话交互。不支持 `AskUserQuestion` 或 `render_ui`。
|
|
4
|
+
|
|
5
|
+
## 运行环境检测
|
|
6
|
+
|
|
7
|
+
- 对话上下文包含钉钉/悟空平台特征
|
|
8
|
+
- 无 `AskUserQuestion` 工具可用
|
|
9
|
+
- 交互方式为自然语言对话
|
|
10
|
+
|
|
11
|
+
## 交互机制
|
|
12
|
+
|
|
13
|
+
### 内容展示
|
|
14
|
+
|
|
15
|
+
在对话中以 Markdown 纯文本完整展示 Part 内容。使用 `## 🔨 PartN:{标题}` 格式开头,逐字段输出全部正文。
|
|
16
|
+
|
|
17
|
+
悟空平台支持 Markdown 渲染(标题、列表、加粗),按标准 Markdown 输出即可。
|
|
18
|
+
|
|
19
|
+
### 选项确认
|
|
20
|
+
|
|
21
|
+
使用结构化文本编号确认(悟空不支持弹窗按钮):
|
|
22
|
+
|
|
23
|
+
```
|
|
24
|
+
请选择:
|
|
25
|
+
1. {选项1}(推荐)— {说明}
|
|
26
|
+
2. {选项2} — {说明}
|
|
27
|
+
3. {选项3} — {说明}
|
|
28
|
+
|
|
29
|
+
回复数字编号即可。
|
|
30
|
+
```
|
|
31
|
+
|
|
32
|
+
选项文案和分支路由与 WorkBuddy 完全一致(参考 `../interaction.md` 模板 1-6),仅渲染机制从 `AskUserQuestion` 降级为纯文本。
|
|
33
|
+
|
|
34
|
+
用户回复解析规则:
|
|
35
|
+
- 精确匹配编号("1""2""3")→ 走对应分支
|
|
36
|
+
- 精确匹配完整选项文案 → 走对应分支
|
|
37
|
+
- 模糊匹配 → 优先正向操作(选项 1),并在执行前简短确认
|
|
38
|
+
|
|
39
|
+
### CLI 执行
|
|
40
|
+
|
|
41
|
+
悟空内置 Python 3.12 + Node.js + Bun + Chromium,通过 Tauri + Rust 架构执行系统命令。
|
|
42
|
+
|
|
43
|
+
soke-cli 在悟空中的执行方式:
|
|
44
|
+
- 悟空有企业级安全沙箱(不同于 WorkBuddy 的沙箱)
|
|
45
|
+
- soke-cli 是 npm 全局安装的 Go 编译二进制,可直接调用
|
|
46
|
+
- 若悟空中 `soke-cli` 命令受限,降级为 REST API 直接调用(参考 `../api-fallback.md`)
|
|
47
|
+
|
|
48
|
+
```bash
|
|
49
|
+
# 悟空中执行 soke-cli 命令(无需 dangerouslyDisableSandbox)
|
|
50
|
+
soke-cli ai-training +create-scenario --request-file ./step1-create.json --pretty
|
|
51
|
+
```
|
|
52
|
+
|
|
53
|
+
### 悟空 Skill 市场打包说明
|
|
54
|
+
|
|
55
|
+
悟空有自己的 AI 能力市场(Skill 市场),使用独立的 Skill 格式。
|
|
56
|
+
|
|
57
|
+
要将本技能发布到悟空 Skill 市场:
|
|
58
|
+
1. 将 SKILL.md 转换为悟空 Skill 格式(需查阅悟空 Skill 开发文档)
|
|
59
|
+
2. 交互逻辑使用本适配器的纯文本模式
|
|
60
|
+
3. CLI 执行层保持 soke-cli 原生调用
|
|
61
|
+
4. 如有 MCP 协议需求,悟空内置 MCP 支持
|
|
62
|
+
|
|
63
|
+
## 适配器路由
|
|
64
|
+
|
|
65
|
+
当检测到以下特征时,启用悟空适配器:
|
|
66
|
+
- 对话环境无 `AskUserQuestion` / `render_ui` 工具
|
|
67
|
+
- 平台支持 Markdown 渲染
|
|
68
|
+
- 可执行系统 CLI 命令
|
|
69
|
+
|
|
70
|
+
> 若 soke-cli 在悟空中完全不可用(如企业安全策略禁止),整条管线降级为:纯文本展示 Part 内容 → 用户确认 → 生成 JSON → 通过 REST API (api-fallback.md) 直接调用 MentorAI API 完成同步。
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
# Zework 平台适配器
|
|
2
|
+
|
|
3
|
+
> Zework 是内部/私有 AI Agent 平台。由于平台细节未公开,本适配器使用通用降级策略——纯文本交互 + soke-cli 优先 / REST API 兜底。
|
|
4
|
+
|
|
5
|
+
## 运行环境检测
|
|
6
|
+
|
|
7
|
+
- 对话上下文包含 Zework 平台特征
|
|
8
|
+
- 无 `AskUserQuestion` 工具可用
|
|
9
|
+
- 交互方式未知(默认按纯文本处理)
|
|
10
|
+
|
|
11
|
+
## 交互机制
|
|
12
|
+
|
|
13
|
+
### 内容展示
|
|
14
|
+
|
|
15
|
+
在对话中以 Markdown 纯文本完整展示 Part 内容。使用 `## 🔨 PartN:{标题}` 格式开头,逐字段输出全部正文。
|
|
16
|
+
|
|
17
|
+
### 选项确认
|
|
18
|
+
|
|
19
|
+
使用结构化文本编号确认:
|
|
20
|
+
|
|
21
|
+
```
|
|
22
|
+
请选择:
|
|
23
|
+
1. {选项1}
|
|
24
|
+
2. {选项2}
|
|
25
|
+
3. {选项3}
|
|
26
|
+
|
|
27
|
+
回复数字编号即可。
|
|
28
|
+
```
|
|
29
|
+
|
|
30
|
+
确认选项只展示编号和选项文案,禁止在选项后追加破折号说明、下一步动作说明或执行解释。例如只写:
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
1. 确认,同步到平台(推荐)
|
|
34
|
+
2. 内容需要微调
|
|
35
|
+
```
|
|
36
|
+
|
|
37
|
+
不要写:`1. 确认,同步到平台(推荐)— 场景基础信息确认无误,立即创建场景到 MentorAI 平台`。
|
|
38
|
+
|
|
39
|
+
所有 `.json` 文件名、文件路径、CLI 命令、脚本名、中间同步文件和命令输出均为后台信息,不得展示在 Zework 对话前台。
|
|
40
|
+
|
|
41
|
+
选项文案和分支路由与 WorkBuddy 完全一致(参考 `../interaction.md` 模板 1-6)。
|
|
42
|
+
|
|
43
|
+
### CLI / API 执行
|
|
44
|
+
|
|
45
|
+
优先级:soke-cli(如可用)→ REST API fallback(参考 `../api-fallback.md`)。
|
|
46
|
+
|
|
47
|
+
## 资源匹配(头像 + 声音)
|
|
48
|
+
|
|
49
|
+
> ⚠️ **Zework 平台关键问题**:Zework 通常**没有预装 soke-cli**,而角色头像和声音匹配在 CLI 路径下依赖 `soke-cli ai-training +list-role-avatars` / `+list-role-voices` 命令。**若只检测 CLI 不可用就直接跳过资源匹配,角色上线后将无头像无声音。**
|
|
50
|
+
|
|
51
|
+
### 匹配流程(Zework 专用)
|
|
52
|
+
|
|
53
|
+
Zework 上的资源匹配**必须走 REST API 路径**:
|
|
54
|
+
|
|
55
|
+
```
|
|
56
|
+
Part2 完整展示并由用户确认
|
|
57
|
+
→ 检测 soke-cli: which soke-cli → 大概率不可用
|
|
58
|
+
→ ⚠️ 不跳过!路由到 REST API fallback
|
|
59
|
+
→ 获取 Token(引导用户从授客AI开放平台获取,或从 `soke-cli config show` 提取)
|
|
60
|
+
→ 查询头像库: GET /api/v1/ai-training/role-avatars?gender=<g>&age_group=<a>&lang=zh
|
|
61
|
+
→ 查询语音库: GET /api/v1/ai-training/role-voices?gender=<g>&age_group=<a>&lang=zh
|
|
62
|
+
→ 特征匹配(与 WorkBuddy 相同的 P0-P3 降级规则)
|
|
63
|
+
→ 生成含 avatar + voice_id 的角色级 JSON
|
|
64
|
+
→ 逐个角色 PATCH/apply + GET 验证 → 失败重试 1 次
|
|
65
|
+
→ 全部角色与 OS 同步完成后输出 Part3
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
完整实现细节:`../api-fallback.md`「资源匹配完整流程」
|
|
69
|
+
|
|
70
|
+
### 匹配规则引用
|
|
71
|
+
|
|
72
|
+
性别/年龄映射、P0-P3 降级链路、合并写入规则 → `../../references/role-resource-matching.md`
|
|
73
|
+
|
|
74
|
+
### 用户交互
|
|
75
|
+
|
|
76
|
+
- 资源匹配过程中,若需要 Token 而 `soke-cli config show` 不可用,在对话中引导用户:「请提供授客AI开放平台的 API Token(从平台设置 → API 密钥获取),用于为角色匹配头像和声音资源」
|
|
77
|
+
- 资源匹配、写入、回读过程默认不在对话中展示;只有失败且影响继续同步时,才输出最小必要异常
|
|
78
|
+
|
|
79
|
+
## 扩展指南
|
|
80
|
+
|
|
81
|
+
当 Zework 平台的具体能力明确后,可按以下方式扩展本适配器:
|
|
82
|
+
|
|
83
|
+
1. **交互增强**:若 Zework 有弹窗/按钮等 UI 能力,在本文件中添加对应渲染模板
|
|
84
|
+
2. **CLI 定制**:若 Zework 有特殊的命令执行沙箱,添加对应的 CLI 调用规则
|
|
85
|
+
3. **Skill 格式**:若 Zework 有自己的 Skill 格式规范,添加打包说明
|
|
86
|
+
|
|
87
|
+
## 适配器路由
|
|
88
|
+
|
|
89
|
+
当检测到 Zework 平台特征且无匹配的更具体适配器时启用。默认行为 = 通用降级模式。
|
|
@@ -0,0 +1,262 @@
|
|
|
1
|
+
# MentorAI REST API Fallback
|
|
2
|
+
|
|
3
|
+
> 内部规则文件。当 soke-cli 在目标平台不可用或受限时,降级为直接调用 MentorAI REST API 完成平台同步。
|
|
4
|
+
>
|
|
5
|
+
> soke-cli 本质是 MentorAI REST API 的命令行封装。本文件记录 API 的直接调用方式,作为跨平台兜底方案。
|
|
6
|
+
|
|
7
|
+
## 使用条件
|
|
8
|
+
|
|
9
|
+
以下任一情况触发 API fallback:
|
|
10
|
+
- soke-cli 未安装且无法安装(受限制的企业环境)
|
|
11
|
+
- soke-cli 执行持续失败(沙箱限制、权限问题)
|
|
12
|
+
- 平台不支持 CLI 执行(纯聊天/IM 环境)
|
|
13
|
+
- 用户明确要求使用 API 方式
|
|
14
|
+
|
|
15
|
+
## API 基础信息
|
|
16
|
+
|
|
17
|
+
| 项目 | 值 |
|
|
18
|
+
|------|-----|
|
|
19
|
+
| Base URL | `https://api.soke.cn` |
|
|
20
|
+
| 认证方式 | Bearer Token(从 `soke-cli config show` 获取 `user_token`) |
|
|
21
|
+
| Content-Type | `application/json` |
|
|
22
|
+
|
|
23
|
+
### 获取 Token
|
|
24
|
+
|
|
25
|
+
若 soke-cli 可用(即使受限无法执行业务命令):
|
|
26
|
+
```bash
|
|
27
|
+
soke-cli config show
|
|
28
|
+
# 提取 user_token 字段
|
|
29
|
+
```
|
|
30
|
+
|
|
31
|
+
若 soke-cli 完全不可用:引导用户从授客AI开放平台获取 API Token。
|
|
32
|
+
|
|
33
|
+
## API 接口映射
|
|
34
|
+
|
|
35
|
+
soke-cli 命令与 REST API 的对应关系:
|
|
36
|
+
|
|
37
|
+
### 场景创建 (Part1)
|
|
38
|
+
|
|
39
|
+
**CLI**: `soke-cli ai-training +create-scenario --request-file ./step1-create.json`
|
|
40
|
+
|
|
41
|
+
**API**:
|
|
42
|
+
```
|
|
43
|
+
POST /api/v1/ai-training/scenarios
|
|
44
|
+
Headers:
|
|
45
|
+
Authorization: Bearer <token>
|
|
46
|
+
Content-Type: application/json
|
|
47
|
+
Body: step1-create.json 内容
|
|
48
|
+
```
|
|
49
|
+
|
|
50
|
+
**关键字段**: `name`, `description`, `tags`, `key_points`, `language`
|
|
51
|
+
|
|
52
|
+
### 场景查询
|
|
53
|
+
|
|
54
|
+
**CLI**: `soke-cli ai-training +get-scenario --scenario-id <id> --pretty`
|
|
55
|
+
|
|
56
|
+
**API**:
|
|
57
|
+
```
|
|
58
|
+
GET /api/v1/ai-training/scenarios/<scenario_id>
|
|
59
|
+
Headers:
|
|
60
|
+
Authorization: Bearer <token>
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
### 场景更新 (Part2-5)
|
|
64
|
+
|
|
65
|
+
每个 Part 对应一个 operations 文件 (`partN-operations.json`)。
|
|
66
|
+
|
|
67
|
+
**CLI**: `soke-cli ai-training +preview-scenario-update ...` → `soke-cli ai-training +apply-scenario-update ...`
|
|
68
|
+
|
|
69
|
+
**API** (两步合一):
|
|
70
|
+
```
|
|
71
|
+
PATCH /api/v1/ai-training/scenarios/<scenario_id>
|
|
72
|
+
Headers:
|
|
73
|
+
Authorization: Bearer <token>
|
|
74
|
+
Content-Type: application/json
|
|
75
|
+
Body: operations JSON 内容
|
|
76
|
+
```
|
|
77
|
+
|
|
78
|
+
> ⚠️ operations JSON 中的 `base_updated_at` 必须先通过 GET 查询获取最新平台状态,再填入。禁止使用过期的时间戳。
|
|
79
|
+
|
|
80
|
+
### 角色头像列表
|
|
81
|
+
|
|
82
|
+
**CLI**: `soke-cli ai-training +list-role-avatars [--gender <gender>] [--age-group <age>]`
|
|
83
|
+
|
|
84
|
+
**API**:
|
|
85
|
+
```
|
|
86
|
+
GET /api/v1/ai-training/role-avatars?gender=<gender>&age_group=<age>
|
|
87
|
+
Headers:
|
|
88
|
+
Authorization: Bearer <token>
|
|
89
|
+
```
|
|
90
|
+
|
|
91
|
+
### 角色语音列表
|
|
92
|
+
|
|
93
|
+
**CLI**: `soke-cli ai-training +list-role-voices [--gender <gender>] [--age-group <age>]`
|
|
94
|
+
|
|
95
|
+
**API**:
|
|
96
|
+
```
|
|
97
|
+
GET /api/v1/ai-training/role-voices?gender=<gender>&age_group=<age>
|
|
98
|
+
Headers:
|
|
99
|
+
Authorization: Bearer <token>
|
|
100
|
+
```
|
|
101
|
+
|
|
102
|
+
### 场景发布
|
|
103
|
+
|
|
104
|
+
**CLI**: `soke-cli ai-training +publish-scenario --scenario-id <id> --version 1`
|
|
105
|
+
|
|
106
|
+
**API**:
|
|
107
|
+
```
|
|
108
|
+
POST /api/v1/ai-training/scenarios/<scenario_id>/publish
|
|
109
|
+
Headers:
|
|
110
|
+
Authorization: Bearer <token>
|
|
111
|
+
Content-Type: application/json
|
|
112
|
+
Body: {"version": 1, "version_description": "CLI发布"}
|
|
113
|
+
```
|
|
114
|
+
|
|
115
|
+
## 资源匹配完整流程(头像 + 声音)
|
|
116
|
+
|
|
117
|
+
> ⚠️ **跨平台关键**:Avatar/voice 匹配在 soke-cli 可用时走 CLI(`role-resource-matching.md`),CLI 不可用时走本节的 REST API 路径。**禁止因 CLI 不可用直接跳过资源匹配**——这会导致角色上线后无头像无声音。
|
|
118
|
+
|
|
119
|
+
### 匹配时机
|
|
120
|
+
|
|
121
|
+
Part2 完整内容已展示并由用户确认 → 立即执行资源匹配 → 将 avatar URL 与 voice_id 写入角色级 JSON → 逐个角色 PATCH/apply 并回读验证。整个过程不等待用户触发,也不向用户二次确认。与 CLI 路径的时机完全一致。
|
|
122
|
+
|
|
123
|
+
### 步骤 1:获取 Token
|
|
124
|
+
|
|
125
|
+
```bash
|
|
126
|
+
soke-cli config show 2>/dev/null | grep user_token
|
|
127
|
+
# 若 soke-cli 完全不可用,引导用户从授客AI开放平台获取
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
### 步骤 2:查询头像库
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
# 一阶精准查询(性别+年龄)
|
|
134
|
+
curl -s -H "Authorization: Bearer $TOKEN" \
|
|
135
|
+
"https://api.soke.cn/api/v1/ai-training/role-avatars?gender=female&age_group=middle-aged&lang=zh"
|
|
136
|
+
|
|
137
|
+
# 降级:仅按性别
|
|
138
|
+
curl -s -H "Authorization: Bearer $TOKEN" \
|
|
139
|
+
"https://api.soke.cn/api/v1/ai-training/role-avatars?gender=female&lang=zh"
|
|
140
|
+
|
|
141
|
+
# 降级:无过滤全量
|
|
142
|
+
curl -s -H "Authorization: Bearer $TOKEN" \
|
|
143
|
+
"https://api.soke.cn/api/v1/ai-training/role-avatars?lang=zh"
|
|
144
|
+
```
|
|
145
|
+
|
|
146
|
+
**返回字段**:`id`(资源 ID,不用于回填)、`url`(头像 CDN URL,**回填时用这个**)、`gender`、`age_group`、`sort`。
|
|
147
|
+
|
|
148
|
+
### 步骤 3:查询语音库
|
|
149
|
+
|
|
150
|
+
```bash
|
|
151
|
+
# 一阶精准查询
|
|
152
|
+
curl -s -H "Authorization: Bearer $TOKEN" \
|
|
153
|
+
"https://api.soke.cn/api/v1/ai-training/role-voices?gender=female&age_group=middle-aged&lang=zh"
|
|
154
|
+
|
|
155
|
+
# 降级链路同头像
|
|
156
|
+
```
|
|
157
|
+
|
|
158
|
+
**返回字段**:`id`(语音资源 ID,**回填时用这个**)、`name`、`gender`、`age_group`、`sample_url`。
|
|
159
|
+
|
|
160
|
+
### 步骤 4:特征匹配(与 CLI 路径相同的匹配规则)
|
|
161
|
+
|
|
162
|
+
性别映射 → `../references/role-resource-matching.md`「性别映射表」
|
|
163
|
+
年龄段映射 → `../references/role-resource-matching.md`「年龄段映射表」
|
|
164
|
+
匹配优先级 → `../references/role-resource-matching.md` P0-P3 降级链路
|
|
165
|
+
|
|
166
|
+
### 步骤 5:写入 avatar + voice_id 到角色级 JSON
|
|
167
|
+
|
|
168
|
+
> ⚠️ **必须随角色主体单次写入**,禁止先写角色再分两次补 avatar/voice_id(分开调用导致 updated_at 竞态,第二次可能覆盖第一次结果)。REST API 兜底路径如需 PATCH,也必须把 avatar 与 voice_id 放在同一个角色级操作里。
|
|
169
|
+
|
|
170
|
+
```bash
|
|
171
|
+
# 1. 先获取最新 updated_at
|
|
172
|
+
curl -s -H "Authorization: Bearer $TOKEN" \
|
|
173
|
+
"https://api.soke.cn/api/v1/ai-training/scenarios/<scenario_id>" \
|
|
174
|
+
| python3 -c "import sys,json; d=json.load(sys.stdin); print(d['data']['updated_at'])"
|
|
175
|
+
|
|
176
|
+
# 2. 写入含 avatar + voice_id 的角色级操作
|
|
177
|
+
curl -s -X PATCH \
|
|
178
|
+
-H "Authorization: Bearer $TOKEN" \
|
|
179
|
+
-H "Content-Type: application/json" \
|
|
180
|
+
-d '{
|
|
181
|
+
"operations": [
|
|
182
|
+
{
|
|
183
|
+
"type": "patch_ai_role",
|
|
184
|
+
"data": {
|
|
185
|
+
"scenario_role_id": "<角色ID>",
|
|
186
|
+
"patch": {
|
|
187
|
+
"role_data": {
|
|
188
|
+
"avatar": "<头像URL>",
|
|
189
|
+
"voice_id": "<语音ID>"
|
|
190
|
+
},
|
|
191
|
+
"customized_fields": ["avatar", "voice_id"]
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
}
|
|
195
|
+
],
|
|
196
|
+
"base_updated_at": "<updated_at>",
|
|
197
|
+
"idempotency_key": "api-<scenario_short>-part2-resources",
|
|
198
|
+
"reason": "Part2: 头像声音资源匹配 (REST API)"
|
|
199
|
+
}' \
|
|
200
|
+
"https://api.soke.cn/api/v1/ai-training/scenarios/<scenario_id>"
|
|
201
|
+
```
|
|
202
|
+
|
|
203
|
+
### 步骤 6:强制验证
|
|
204
|
+
|
|
205
|
+
```bash
|
|
206
|
+
curl -s -H "Authorization: Bearer $TOKEN" \
|
|
207
|
+
"https://api.soke.cn/api/v1/ai-training/scenarios/<scenario_id>" \
|
|
208
|
+
| python3 -c "
|
|
209
|
+
import sys, json
|
|
210
|
+
d = json.load(sys.stdin)
|
|
211
|
+
for r in d['data']['ai_roles']:
|
|
212
|
+
rd = r.get('role_data', {})
|
|
213
|
+
avatar = rd.get('avatar', '')
|
|
214
|
+
voice = rd.get('voice_id', '')
|
|
215
|
+
status = 'OK' if (avatar.startswith('http') and voice) else 'MISSING'
|
|
216
|
+
print(f'{r[\"name\"]}: avatar={avatar[:50]}... voice_id={voice} [{status}]')
|
|
217
|
+
"
|
|
218
|
+
# 期望输出:每个角色 avatar 以 https:// 开头,voice_id 非空
|
|
219
|
+
```
|
|
220
|
+
|
|
221
|
+
### 步骤 7:重试与降级
|
|
222
|
+
|
|
223
|
+
- 验证发现 avatar/voice_id 为空 → 重新 GET `updated_at` → 重试 1 次
|
|
224
|
+
- 重试仍失败 → 标注「⚠️ {角色名} 资源匹配未完成 (REST API)」,不阻断 Part3
|
|
225
|
+
- 头像/语音库 API 查询失败(网络/认证错误)→ 跳过资源匹配,标注「资源匹配未完成」
|
|
226
|
+
|
|
227
|
+
## 执行规则
|
|
228
|
+
|
|
229
|
+
### 安全规则
|
|
230
|
+
|
|
231
|
+
1. **Token 安全**:`user_token` 只在内部使用,严禁写入对话窗口、JSON 文件或日志
|
|
232
|
+
2. **请求验证**:每次 API 调用前,先 GET 获取最新 `updated_at`,避免并发冲突
|
|
233
|
+
3. **错误处理**:4xx 检查字段格式 → 5xx 重试 1 次 → 仍失败则标注并记录
|
|
234
|
+
|
|
235
|
+
### API fallback 执行流程
|
|
236
|
+
|
|
237
|
+
```
|
|
238
|
+
检测 soke-cli 不可用
|
|
239
|
+
→ 获取 Token (soke-cli config show 或引导用户获取)
|
|
240
|
+
→ 确认 Token 有效 (GET /api/v1/auth/verify)
|
|
241
|
+
→ 按原管线顺序执行:
|
|
242
|
+
Part1: POST 创建场景 → 获取 scenario_id
|
|
243
|
+
Part2: 头像语音匹配(走「资源匹配完整流程」)→ PATCH 更新角色并回读
|
|
244
|
+
Part3: PATCH 更新流程
|
|
245
|
+
Part4: PATCH 更新评分
|
|
246
|
+
Part5: PATCH 更新教练设置
|
|
247
|
+
→ Step 6: GET 验证同步完整性
|
|
248
|
+
→ Step 7: 质量闸门
|
|
249
|
+
→ Step 8: POST 发布场景
|
|
250
|
+
```
|
|
251
|
+
|
|
252
|
+
### 与 soke-cli 的差异
|
|
253
|
+
|
|
254
|
+
| 项目 | soke-cli | REST API fallback |
|
|
255
|
+
|------|----------|-------------------|
|
|
256
|
+
| preview 预览 | `+preview-scenario-update` 输出 diff | 无 preview,直接 PATCH(可在 PATCH 前 GET 对比) |
|
|
257
|
+
| 沙箱绕过 | `dangerouslyDisableSandbox: true` | 不适用(HTTP 请求不受沙箱限制) |
|
|
258
|
+
| 命令速查 | `verified-cli-cheatsheet.md` | 本文件 |
|
|
259
|
+
| 字段映射 | `sync-engine.md` 字段映射表 | 相同映射表,JSON 结构一致 |
|
|
260
|
+
| 头像语音查询 | CLI `+list-role-avatars/voices` | GET API 端点 |
|
|
261
|
+
|
|
262
|
+
> API fallback 路径下,JSON 文件结构、字段映射、自查清单与 soke-cli 路径完全一致。差异仅在传输方式:CLI 命令行 vs HTTP 请求。
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# 弹窗交互规则
|
|
2
|
+
|
|
3
|
+
定义 Part1-Part5 及发布/知识包/微调的确认契约(标题/问题/选项/分支路由)。跨平台:WorkBuddy 用 AskUserQuestion,WebChat 用 render_ui QuestionForm,纯文本平台降级为编号选项(见 `platform/adapters/`)。
|
|
4
|
+
|
|
5
|
+
## 核心规则
|
|
6
|
+
|
|
7
|
+
1. **Part1 确认后强制同步**:模板 1 无"取消/跳过同步"选项,确认即创建场景。
|
|
8
|
+
2. Part2-Part5 确认后自动 preview + apply,立即进下一 Part,不等二次确认。
|
|
9
|
+
3. Part1 封面写入、Part2 头像/语音匹配、整包写角色、回读校验均后台自动,失败才提示。
|
|
10
|
+
4. 若 Part3 apply 后回读 conversation_steps 仍为空,提示"CLI/平台版本限制,改走 Web 后台补录"。
|
|
11
|
+
5. **弹窗即时触发(v2.30)+ 弹窗仅做确认(v2.41)**:Part **关键字段摘要**在聊天正文展示后立即弹窗。**弹窗 question 字段只写 ≤2 行引导语**(如「以上是 Part2 的 3 个角色设定,是否确认同步?」),**禁止把 Part 完整内容塞进 question 字段**。
|
|
12
|
+
6. **选项文案与分支路由不因渲染方式变化**:所有平台完全一致,用户回复编号或选项文字均可。
|
|
13
|
+
|
|
14
|
+
## v2.41 弹窗规则(核心变更,替代 v2.37 弹窗承载完整内容)
|
|
15
|
+
|
|
16
|
+
**弹窗 question 字段只做确认引导,不承载 Part 内容。** 格式要求:
|
|
17
|
+
|
|
18
|
+
1. **question 字段**:≤2 行引导语(如「以上是 Part2 的 3 个角色设定,是否确认同步?」)。**禁止把 Part 完整字段值写入 question**。
|
|
19
|
+
2. **options**:只放「确认」「需要调整」等选择项。
|
|
20
|
+
3. **options 的 description 字段**:可放 ≤15 字摘要(如「确认后同步到平台」),帮助用户快速判断。
|
|
21
|
+
4. **聊天正文**:展示 Part 关键字段摘要(场景名/角色名+关键词/环节名+目标/维度名+权重/固定值确认),完整 JSON 直接 Write 落盘 /tmp/。
|
|
22
|
+
|
|
23
|
+
### question 字段内容模板(v2.41 精简)
|
|
24
|
+
|
|
25
|
+
**Part1**:`以上是 Part1 基础信息(场景名/描述/标签/考核点),是否确认创建?`
|
|
26
|
+
**Part2**:`以上是 Part2 的 3 个角色设定(<角色1名>/<角色2名>/<角色3名>),是否确认同步?`
|
|
27
|
+
**Part3**:`以上是 Part3 流程设置(<环节1名>/<环节2名>/...共 N 个环节),是否确认写入?`
|
|
28
|
+
**Part4+5**(v2.43 合并):`以上是 Part4 评分标准 + Part5 教练配置(6 项固定值),是否确认写入?`
|
|
29
|
+
|
|
30
|
+
## AskUserQuestion 调用形式(WorkBuddy,v2.41 精简)
|
|
31
|
+
|
|
32
|
+
```
|
|
33
|
+
AskUserQuestion(
|
|
34
|
+
questions=[{
|
|
35
|
+
"question": "以上是 Part1 基础信息(场景名/描述/标签/考核点),是否确认创建?",
|
|
36
|
+
"header": "Part1 确认",
|
|
37
|
+
"options": [
|
|
38
|
+
{"label": "确认创建(推荐)", "description": "按上述内容创建场景"},
|
|
39
|
+
{"label": "需要调整", "description": "告诉我需要修改的地方"}
|
|
40
|
+
]
|
|
41
|
+
}]
|
|
42
|
+
)
|
|
43
|
+
```
|
|
44
|
+
|
|
45
|
+
选项顺序与正文模板一致(推荐操作第一位),模糊匹配优先选项 1。
|
|
46
|
+
|
|
47
|
+
---
|
|
48
|
+
|
|
49
|
+
## 确认契约
|
|
50
|
+
|
|
51
|
+
### 模板 1:Part1 基础信息确认(强制同步)
|
|
52
|
+
- **header**:Part1 确认
|
|
53
|
+
- **question 字段(≤2 行引导语)**:`以上是 Part1 基础信息(场景名/描述/标签/考核点),是否确认创建?`
|
|
54
|
+
- **options**:① 确认创建(推荐),description="按上述内容创建场景";② 需要调整,description="告诉我需要修改的地方"
|
|
55
|
+
- ⚠️ 无"取消"逃生路径。确认后立即 `+create-scenario`。
|
|
56
|
+
|
|
57
|
+
### 模板 2:Part2 AI角色设定确认
|
|
58
|
+
- **header**:Part2 确认
|
|
59
|
+
- **question 字段(≤2 行引导语)**:`以上是 Part2 的 3 个角色设定(<角色1名>/<角色2名>/<角色3名>),是否确认同步?`
|
|
60
|
+
- **options**:① 确认写入(推荐),description="<角色1名>/<角色2名>/<角色3名> 3个角色";② 需要调整,description="告诉我需要修改的角色或性格"
|
|
61
|
+
|
|
62
|
+
### 模板 3:Part3 流程设置确认
|
|
63
|
+
- **header**:Part3 确认
|
|
64
|
+
- **question 字段(≤2 行引导语)**:`以上是 Part3 流程设置(<环节1名>/<环节2名>/...共 N 个环节),是否确认写入?`
|
|
65
|
+
- **options**:① 确认写入(推荐),description="<环节1名>/<环节2名>/... N个环节";② 需要调整,description="告诉我需要调整的环节"
|
|
66
|
+
|
|
67
|
+
### 模板 4:Part4 评分标准 + Part5 教练配置合并确认(v2.43)
|
|
68
|
+
- **header**:Part4+5 确认
|
|
69
|
+
- **question 字段(≤2 行引导语)**:`以上是 Part4 评分标准 + Part5 教练配置(6 项固定值),是否确认写入?`
|
|
70
|
+
- **options**:① 确认写入(推荐),description="<维度1名><weight>分/... 权重合计100+6项固定配置";② 需要调整,description="告诉我需要调整的维度或权重"
|
|
71
|
+
- ⚠️ 聊天正文需完整展示 Part4(维度权重表)+ Part5(6 项编号列表)两段内容,禁止只给一行摘要。原模板 5(Part5 单独确认)已随 exec-part5.md 删除(v2.43.1)。
|
|
72
|
+
|
|
73
|
+
### 模板 6:微调诊断确认
|
|
74
|
+
- **标题**:诊断确认 | **问题**:诊断结果和修改方案是否采纳?
|
|
75
|
+
- **选项**:① 确认修改(推荐)→ 生成 optimize JSON → CLI 同步;② 保持原样 → 退出微调;③ 调整诊断 → 重诊。
|
|
76
|
+
|
|
77
|
+
### 模板 7:知识包同步确认
|
|
78
|
+
- **标题**:知识包同步确认 | **问题**:场景已发布成功,是否同步知识包到平台?
|
|
79
|
+
- **选项**:① 确认,同步知识包(推荐)→ `+sync` → `+bind-scenario`;② 跳过,暂不同步 → 仅输出摘要。
|
|
80
|
+
|
|
81
|
+
### 模板 8:发布确认(v2.27)
|
|
82
|
+
- **标题**:发布确认 | **问题**:所有配置已完整同步到平台,确认发布场景吗?
|
|
83
|
+
- **选项**:① 确认,发布场景(推荐)→ `+publish-scenario` → 完成摘要 → 弹模板 7;② 暂不发布 → 保持草稿。
|
|
84
|
+
- 🚦 不可跳过或静默执行。
|
|
85
|
+
|
|
86
|
+
### 模板 9:微调改动清单确认(v2.28)
|
|
87
|
+
- **标题**:微调改动清单确认 | **问题**:以下改动清单,确认后执行同步。
|
|
88
|
+
- **选项**:① 确认,全部同步(推荐);② 仅同步部分改动 → 模板 9.1;③ 调整优化方案。
|
|
89
|
+
- ⚠️ 未过此闸门禁止生成 operations JSON 或 apply。
|
|
90
|
+
|
|
91
|
+
### 模板 9.1:字段级同步范围确认(v2.31,多选)
|
|
92
|
+
- 选项文案禁止用后台字段名,须用业务人员能懂的内容项描述(如「沟通风格与话术样例」而非 `communication_style`)。
|
|
93
|
+
- 映射:`style/tone`→语气风格;`personality/trait`→性格特征;`taboo/objection/red_line`→禁忌底线;`background/story/mindset`→角色背景;`knowledge/fact`→知识水平;`step/flow/opening`→流程环节;`criteria/dimension/scoring`→评分维度。
|
|
94
|
+
- 多选后用 AskUserQuestion `multiSelect=true`,返回选中项映射回字段 → 生成 operations → 模板 6。
|
|
95
|
+
|
|
96
|
+
---
|
|
97
|
+
|
|
98
|
+
## 通用规则
|
|
99
|
+
|
|
100
|
+
- 正向操作带「(推荐)」;选项用业务语言,禁后台字段名。
|
|
101
|
+
- 回复解析:精确匹配编号或完整选项文案;模糊匹配优先选项 1。
|
|
102
|
+
- **状态快照**:每 Part 确认后记录 `state-snapshot.json`(scenario_id/current_part/confirmed_data/applied),仅内部断点续传用,不对用户展示。
|
|
103
|
+
- **回退链路**:模板 2/3/4/5 的「重设」→ 回到内容层重新生成该 Part;「调整」→ 局部修改重确认。
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
# 发布闸门(publish-gate)
|
|
2
|
+
|
|
3
|
+
> 内部规则文件。负责在发布前统一做结构验收、资源验收和平台限制说明。
|
|
4
|
+
|
|
5
|
+
## 发布前检查清单
|
|
6
|
+
|
|
7
|
+
### 结构验收
|
|
8
|
+
- Part1 基础字段存在:`name/description/tags/key_points/scene_lang/scenario_cover`
|
|
9
|
+
- Part2 角色回读正常:无 `角色数据异常`
|
|
10
|
+
- Part4 评分配置存在:`scoring_criteria_config.criteria_data.dimensions` 非空
|
|
11
|
+
- Part5 固定配置有效
|
|
12
|
+
|
|
13
|
+
### 资源验收
|
|
14
|
+
- `scenario_cover` 等于固定默认图 `https://newsokeeditorcdn.soke.cn/public/ai/cover/lingshou_daogou.png`
|
|
15
|
+
- 每个角色 `avatar` 非空 URL
|
|
16
|
+
- 每个角色 `voice_id` 非空 ID
|
|
17
|
+
|
|
18
|
+
### 平台限制说明
|
|
19
|
+
- 若 `conversation_steps` 回读为空,标记:`需后台手动补录流程步骤`
|
|
20
|
+
- 该项默认不阻断发布,但必须进入最终交付摘要
|
|
21
|
+
|
|
22
|
+
## 阻断规则
|
|
23
|
+
|
|
24
|
+
以下情况任一成立,禁止发布:
|
|
25
|
+
- 固定默认封面缺失或不正确
|
|
26
|
+
- 任一角色头像为空
|
|
27
|
+
- 任一角色声音为空
|
|
28
|
+
- 任一角色回读为 `角色数据异常`
|
|
29
|
+
- 评分标准为空
|
|
30
|
+
|
|
31
|
+
## 输出要求
|
|
32
|
+
|
|
33
|
+
### 可发布
|
|
34
|
+
输出:
|
|
35
|
+
- `publish_ready = true`
|
|
36
|
+
- 可执行 `soke-cli ai-training +publish-scenario`
|
|
37
|
+
|
|
38
|
+
### 不可发布
|
|
39
|
+
输出缺口清单,例如:
|
|
40
|
+
- 固定默认封面缺失或不正确
|
|
41
|
+
- 角色何女士缺少 voice_id
|
|
42
|
+
- 角色陆先生缺少 avatar
|
|
43
|
+
|
|
44
|
+
并停止发布。
|
|
@@ -0,0 +1,103 @@
|
|
|
1
|
+
# 资源完善器(resource-finalizer)
|
|
2
|
+
|
|
3
|
+
> 内部规则文件。作为**最后兜底补救**,仅在 Part1/Part2 的主流程未能写入固定封面/头像/声音时触发。
|
|
4
|
+
> 正常流程下,封面在 Part1 固定写入默认图、头像和声音在 Part2 与角色一起写入,不需要进入本模块。
|
|
5
|
+
> 本模块默认后台执行,除非修复失败,不向用户暴露执行细节。
|
|
6
|
+
> ⚠️ 封面与图片资源均为后台资源,不得在前台展示图片预览,不得主动输出本地图片路径。只有用户明确要求查看/预览/导出图片时,才可提供路径或展示。
|
|
7
|
+
|
|
8
|
+
## 目标
|
|
9
|
+
|
|
10
|
+
避免以下半成品状态进入发布:
|
|
11
|
+
- `scenario_cover` 为空或不是固定默认封面
|
|
12
|
+
- 任一角色 `avatar` 为空
|
|
13
|
+
- 任一角色 `voice_id` 为空
|
|
14
|
+
|
|
15
|
+
## 执行时机
|
|
16
|
+
|
|
17
|
+
仅在发布闸门检测到资源缺口,且无法通过主流程自动补齐时触发。正常流程默认不进入本模块。
|
|
18
|
+
|
|
19
|
+
```
|
|
20
|
+
Part1-Part5 主体完成
|
|
21
|
+
→ resource-finalizer
|
|
22
|
+
→ cover check / fix
|
|
23
|
+
→ avatar check / fix
|
|
24
|
+
→ voice check / fix
|
|
25
|
+
→ resource gate
|
|
26
|
+
→ 通过后才允许 publish
|
|
27
|
+
```
|
|
28
|
+
|
|
29
|
+
## 资源闸门
|
|
30
|
+
|
|
31
|
+
### Cover Gate
|
|
32
|
+
以下任一情况判定为未完成:
|
|
33
|
+
- `scenario_cover` 为空
|
|
34
|
+
- `scenario_cover` 为 `null`
|
|
35
|
+
- `scenario_cover` 不等于 `https://newsokeeditorcdn.soke.cn/public/ai/cover/lingshou_daogou.png`
|
|
36
|
+
|
|
37
|
+
### Avatar Gate
|
|
38
|
+
对每个角色检查:
|
|
39
|
+
- `role_data.avatar` 必须为非空 URL(以 `http` 开头)
|
|
40
|
+
|
|
41
|
+
### Voice Gate
|
|
42
|
+
对每个角色检查:
|
|
43
|
+
- `role_data.voice_id` 必须为非空 ID
|
|
44
|
+
|
|
45
|
+
### Role Integrity Gate
|
|
46
|
+
对每个角色检查:
|
|
47
|
+
- `role_data.name` 不能等于 `角色数据异常`
|
|
48
|
+
- `role_data.background` 非空
|
|
49
|
+
|
|
50
|
+
## 封面补齐规则
|
|
51
|
+
|
|
52
|
+
### 标准流程
|
|
53
|
+
1. 检查 `scenario_cover` 是否为固定默认图或为空
|
|
54
|
+
2. 若是,按以下优先级补齐:
|
|
55
|
+
|
|
56
|
+
**唯一规则:默认固定封面回填**
|
|
57
|
+
- 默认使用:`https://newsokeeditorcdn.soke.cn/public/ai/cover/lingshou_daogou.png`
|
|
58
|
+
- 直接用 `update_basic.scenario_cover` 回填该真实 URL
|
|
59
|
+
- `get-scenario` 验证不再为空且为该固定封面
|
|
60
|
+
若固定默认封面回填后仍失败:
|
|
61
|
+
- 标注 `cover_pending`
|
|
62
|
+
- 禁止发布
|
|
63
|
+
|
|
64
|
+
### 失败处理
|
|
65
|
+
- 固定默认封面回填失败 → 标注 `cover_pending`,禁止发布
|
|
66
|
+
|
|
67
|
+
## 头像补齐规则
|
|
68
|
+
|
|
69
|
+
### 标准流程
|
|
70
|
+
1. 对每个角色检查 `avatar`
|
|
71
|
+
2. 若为空,按 `../references/role-resource-matching.md` 查询头像库并匹配
|
|
72
|
+
3. 用 `patch_ai_role` 回填 `avatar`
|
|
73
|
+
4. `get-scenario` 验证头像非空 URL
|
|
74
|
+
|
|
75
|
+
### 失败处理
|
|
76
|
+
- 查询失败或回填失败 → 标注 `avatar_pending`,禁止发布
|
|
77
|
+
|
|
78
|
+
## 语音补齐规则
|
|
79
|
+
|
|
80
|
+
### 标准流程
|
|
81
|
+
1. 对每个角色检查 `voice_id`
|
|
82
|
+
2. 若为空,按 `../references/role-resource-matching.md` 查询语音库并匹配
|
|
83
|
+
3. 用 `patch_ai_role` 回填 `voice_id`
|
|
84
|
+
4. `get-scenario` 验证语音非空
|
|
85
|
+
|
|
86
|
+
### 失败处理
|
|
87
|
+
- 查询失败或回填失败 → 标注 `voice_pending`,禁止发布
|
|
88
|
+
|
|
89
|
+
## 默认回填策略
|
|
90
|
+
|
|
91
|
+
- 头像和语音允许逐个角色回填
|
|
92
|
+
- 若资源库查询结果不足,可使用保守默认资源
|
|
93
|
+
- **宁可回填一套保守默认资源,也不要留空进入发布**
|
|
94
|
+
|
|
95
|
+
## 发布前最终判定
|
|
96
|
+
|
|
97
|
+
只有以下全部满足时,才允许执行 `+publish-scenario`:
|
|
98
|
+
- 封面为固定默认图
|
|
99
|
+
- 所有角色头像非空 URL
|
|
100
|
+
- 所有角色声音非空 ID
|
|
101
|
+
- 无“角色数据异常”
|
|
102
|
+
|
|
103
|
+
否则输出缺口清单并停止在发布前。
|