@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,167 +0,0 @@
|
|
|
1
|
-
# soke-cli 环境检测
|
|
2
|
-
|
|
3
|
-
独立于页面/创作管线,仅在需要调用平台接口时执行。
|
|
4
|
-
|
|
5
|
-
---
|
|
6
|
-
|
|
7
|
-
> ⚠️ **沙箱绕过(全局规则)**:soke-cli 是 Go 编译的二进制文件,在 WorkBuddy Bash 工具沙箱中执行会受限(表现为 `permission denied`、`operation not permitted`、静默无输出)。**以下所有命令在 WorkBuddy 平台调用 Bash 工具时必须设置 `dangerouslyDisableSandbox: true`**。悟空/QClaw/Zework 等平台的沙箱机制不同,按各平台适配器(`platform/adapters/`)的规则执行,一般无需此参数。
|
|
8
|
-
|
|
9
|
-
> 📱 **跨平台检测策略(v2.4)**:Step 0 检测按当前运行平台自动选择策略——WorkBuddy 用 `dangerouslyDisableSandbox: true` + soke-cli CLI 命令;悟空/QClaw/Zework 直接执行 CLI(无 WorkBuddy 沙箱限制);纯聊天平台可跳过 Node.js/soke-cli 安装检测,直接引导用户获取 Token 并通过 REST API(`platform/api-fallback.md`)验证连通性。
|
|
10
|
-
|
|
11
|
-
---
|
|
12
|
-
|
|
13
|
-
## 检测流程
|
|
14
|
-
|
|
15
|
-
按顺序执行,任一步不通过则先按本文件修复流程处理;只有确认 CLI 与登录态可用后才继续平台同步。
|
|
16
|
-
|
|
17
|
-
> ⚠️ **soke-cli 多版本与配置修复优先级**:如果默认 `soke-cli` 路径异常,不要反复重试同一个命令。按本文件「多版本故障降级」寻找可用二进制。
|
|
18
|
-
|
|
19
|
-
### 1. Node.js 版本
|
|
20
|
-
|
|
21
|
-
```bash
|
|
22
|
-
node --version
|
|
23
|
-
```
|
|
24
|
-
|
|
25
|
-
- ✅ >= 14.0.0 → 通过
|
|
26
|
-
- ❌ 未安装或版本过低 → 提示:`需要 Node.js >= 14.0.0,请先安装或升级`
|
|
27
|
-
- ❌ `command not found` → 提示安装 Node.js
|
|
28
|
-
|
|
29
|
-
---
|
|
30
|
-
|
|
31
|
-
### 2. soke-cli 安装
|
|
32
|
-
|
|
33
|
-
```bash
|
|
34
|
-
which soke-cli && soke-cli --version
|
|
35
|
-
```
|
|
36
|
-
|
|
37
|
-
- ✅ 输出版本号 → 继续执行 `soke-cli config show` 验证该路径是否真的可用
|
|
38
|
-
- ⚠️ 输出版本号但后续命令报 `spawn Unknown system error -88` / Exit 137 / panic → 不视为通过,立即进入「多版本故障降级」
|
|
39
|
-
- ❌ `command not found` → 执行安装:
|
|
40
|
-
|
|
41
|
-
```bash
|
|
42
|
-
mkdir -p ~/.npm-global
|
|
43
|
-
npm config set prefix ~/.npm-global
|
|
44
|
-
echo 'export PATH="$HOME/.npm-global/bin:$PATH"' >> ~/.zshrc
|
|
45
|
-
source ~/.zshrc
|
|
46
|
-
npm install -g @sokeai/cli@latest
|
|
47
|
-
```
|
|
48
|
-
|
|
49
|
-
安装后重新执行 `which soke-cli && soke-cli --version` 验证。
|
|
50
|
-
|
|
51
|
-
> Windows:将 `~/.zshrc` 替换为 PowerShell profile 路径,PATH 追加方式不同(见安装指南 Q2)。
|
|
52
|
-
|
|
53
|
-
#### 2.1 多版本故障降级
|
|
54
|
-
|
|
55
|
-
当默认 `soke-cli` 出现以下任一现象时,必须切换可用路径,而不是继续重试:
|
|
56
|
-
|
|
57
|
-
- Node wrapper 报 `spawn Unknown system error -88`
|
|
58
|
-
- 直接执行 Go 二进制无输出并 Exit 137
|
|
59
|
-
- `config show` panic:`slice bounds out of range [-4:]`
|
|
60
|
-
- `config show` 因短 token、空 token、`test_token_12345` 等占位值触发崩溃
|
|
61
|
-
|
|
62
|
-
按以下顺序探测候选路径,选择第一个同时满足 `--version`、`config show`、`auth login` 可执行的路径:
|
|
63
|
-
|
|
64
|
-
```bash
|
|
65
|
-
which -a soke-cli
|
|
66
|
-
/Users/edy/soke-cli/soke-cli/soke-cli --version
|
|
67
|
-
/Users/edy/Library/Application\ Support/QClaw/npm-global/bin/soke-cli --version
|
|
68
|
-
/Users/edy/.nvm/versions/node/v22.22.1/bin/soke-cli --version
|
|
69
|
-
```
|
|
70
|
-
|
|
71
|
-
已知可用经验:在 edy 的 macOS 环境中,`/Users/edy/soke-cli/soke-cli/soke-cli`(v1.0.30)可正常执行 `config show` 和 `auth login`,可作为新版 v1.0.66 panic 时的优先 fallback。
|
|
72
|
-
|
|
73
|
-
若 fallback 路径可用,后续本轮所有 `soke-cli` 命令都必须使用该绝对路径,不再调用默认 PATH 中的 `soke-cli`。
|
|
74
|
-
|
|
75
|
-
---
|
|
76
|
-
|
|
77
|
-
### 3. 登录状态
|
|
78
|
-
|
|
79
|
-
```bash
|
|
80
|
-
soke-cli config show
|
|
81
|
-
```
|
|
82
|
-
|
|
83
|
-
- ✅ 输出含 `user_token` / `UserToken` 且长度充足、非占位值 → 通过,进入下一步企业绑定检查
|
|
84
|
-
- ❌ 无 `user_token` / `UserToken`、值为空、值为 `test_token_12345`、或长度不足 4 → 执行登录:
|
|
85
|
-
- ⚠️ `config show` panic 但存在 `~/.soke-cli/config.json` → 可用 Read 工具读取配置文件判断字段是否存在,但**不得在对话中展示 Token 原文**;若 token 为空/占位/长度不足,按未登录处理
|
|
86
|
-
|
|
87
|
-
```bash
|
|
88
|
-
soke-cli auth login
|
|
89
|
-
```
|
|
90
|
-
|
|
91
|
-
自动打开浏览器完成 OAuth 授权。如果浏览器未自动打开,复制终端显示的链接手动打开。
|
|
92
|
-
|
|
93
|
-
登录完成后重新执行 `soke-cli config show`,确认 `user_token` 已存在。
|
|
94
|
-
|
|
95
|
-
- ❌ 返回 `401 Unauthorized` → Token 过期,重新登录:
|
|
96
|
-
|
|
97
|
-
```bash
|
|
98
|
-
soke-cli auth logout
|
|
99
|
-
soke-cli auth login
|
|
100
|
-
```
|
|
101
|
-
|
|
102
|
-
登录成功后重新执行 `soke-cli config show`,确认 `user_token` 已恢复。
|
|
103
|
-
|
|
104
|
-
---
|
|
105
|
-
|
|
106
|
-
### 4. 企业绑定(corp binding)
|
|
107
|
-
|
|
108
|
-
```bash
|
|
109
|
-
soke-cli config show
|
|
110
|
-
```
|
|
111
|
-
|
|
112
|
-
依次检查以下字段是否存在且非空:
|
|
113
|
-
- `implementation_corp_id`
|
|
114
|
-
- `corpid`
|
|
115
|
-
- `CorpID`(旧版配置文件字段)
|
|
116
|
-
|
|
117
|
-
判定规则:
|
|
118
|
-
- ✅ `implementation_corp_id` 非空 → 通过,后续优先使用该字段
|
|
119
|
-
- ✅ `implementation_corp_id` 为空,但 `corpid` / `CorpID` 非空 → 通过,后续可使用该字段
|
|
120
|
-
- ❌ 全部为空 → 提示用户:
|
|
121
|
-
> 已登录,但当前账号未绑定企业。请先在授客AI平台完成企业绑定,再重新执行 `soke-cli auth login --force`
|
|
122
|
-
|
|
123
|
-
如需强制刷新企业绑定信息,执行:
|
|
124
|
-
|
|
125
|
-
```bash
|
|
126
|
-
soke-cli auth login --force
|
|
127
|
-
```
|
|
128
|
-
|
|
129
|
-
完成后重新执行 `soke-cli config show`,确认 `implementation_corp_id` 或 `corpid` 至少一个非空。
|
|
130
|
-
|
|
131
|
-
如果仍为空,说明当前账号未加入任何企业,需联系管理员添加。
|
|
132
|
-
|
|
133
|
-
---
|
|
134
|
-
|
|
135
|
-
## 常见故障速查
|
|
136
|
-
|
|
137
|
-
| 现象 | 原因 | 修复 |
|
|
138
|
-
|------|------|------|
|
|
139
|
-
| `which soke-cli` 无输出但已安装 | PATH 未生效 | `source ~/.zshrc` 或新开终端 |
|
|
140
|
-
| `config show` panic: `slice bounds out of range [-4:]` | 新版 CLI 对短 token / 空 token 脱敏时切片越界 | 进入 2.1 多版本故障降级;优先用 `/Users/edy/soke-cli/soke-cli/soke-cli config show`;必要时读取 `~/.soke-cli/config.json` 判断登录态 |
|
|
141
|
-
| Node wrapper `spawn Unknown system error -88` | npm wrapper 无法 spawn Go 二进制 | 避免默认 wrapper,改用可运行的本地二进制绝对路径 |
|
|
142
|
-
| Go 二进制无输出 Exit 137 | 当前二进制在环境中被系统杀死或不兼容 | 切换多版本候选路径;不要重复调用同一路径 |
|
|
143
|
-
| 配置中 `UserToken` 为 `test_token_12345` | 测试占位 token,非有效登录 | 按未登录处理,执行 `auth login` |
|
|
144
|
-
| `401 Unauthorized` | Token 过期 | `soke-cli auth logout && soke-cli auth login` |
|
|
145
|
-
| 登录时浏览器未打开 | 系统无默认浏览器 | 手动复制终端链接到浏览器 |
|
|
146
|
-
| `npm: command not found` | Node.js 未安装 | 安装 Node.js >= 14 |
|
|
147
|
-
| `EACCES` 权限错误 | npm 全局安装需要 sudo | 使用 `~/.npm-global` 方案(见步骤2) |
|
|
148
|
-
| `implementation_corp_id` / `corpid` 为空 | 未绑定企业 | `soke-cli auth login --force` 重新授权,或联系管理员 |
|
|
149
|
-
| `permission denied` / 静默无输出 | soke-cli 在 WorkBuddy 沙箱中受限(Go 二进制) | Bash 工具设置 `dangerouslyDisableSandbox: true` 重试 |
|
|
150
|
-
| 悟空/QClaw 中 soke-cli 不可用 | 平台安全策略或未安装 | 跳过 CLI 检测,按 `platform/api-fallback.md` 用 Token 验证 API 连通性 |
|
|
151
|
-
|
|
152
|
-
---
|
|
153
|
-
|
|
154
|
-
## 使用方式
|
|
155
|
-
|
|
156
|
-
```
|
|
157
|
-
# 在 ai-coach-director 中
|
|
158
|
-
read references/env-check.md
|
|
159
|
-
按顺序执行 4 步检测:
|
|
160
|
-
1. node --version
|
|
161
|
-
2. which soke-cli && soke-cli --version;若默认路径异常,按 2.1 多版本故障降级选择可用绝对路径
|
|
162
|
-
3. <可用soke-cli路径> config show → 确认 user_token/UserToken 非空、非 test_token_12345、长度充足
|
|
163
|
-
4. <可用soke-cli路径> config show 或 ~/.soke-cli/config.json → 确认 implementation_corp_id / corpid / CorpID 至少一个非空
|
|
164
|
-
全部通过 → 记录企业 ID,继续调度
|
|
165
|
-
补充约定:后续场景更新命令默认优先使用 `--request-file <partX-update.json>`;仅在排障时才改用 `--operations-file`。
|
|
166
|
-
任一步失败 → 按修复流程引导用户,不进入内容生成/同步
|
|
167
|
-
```
|
|
@@ -1,232 +0,0 @@
|
|
|
1
|
-
# 平台 API 踩坑清单
|
|
2
|
-
|
|
3
|
-
> 记录 AI 陪练场景在真实 MentorAI 平台同步过程中的已验证差异。优先级高于历史示例;当文档、经验和平台返回冲突时,以本文件 + 最新 CLI 实证为准。
|
|
4
|
-
|
|
5
|
-
> 需要复制标准命令时,统一参考 `verified-cli-cheatsheet.md`,避免误写成顶层 `soke-cli +...`。
|
|
6
|
-
|
|
7
|
-
> 同步请求结构额外对齐附件《比得_AI陪练CLI创建与更新场景使用指南 2.0》:默认优先 `--request-file <partX-update.json>` 传完整更新请求;仅在排障或拆解问题时退回 `--operations-file` + `--base-updated-at` 模式。
|
|
8
|
-
|
|
9
|
-
## 1. Step2 / Part3 对话流程不能整包替换
|
|
10
|
-
|
|
11
|
-
- 历史误区:使用 `replace_conversation_steps`
|
|
12
|
-
- 真实结果:422 校验失败
|
|
13
|
-
- 已验证做法:改用 `add_conversation_step` / `patch_conversation_step` / `remove_conversation_step` / `reorder_conversation_steps`
|
|
14
|
-
- 备注:字段名必须是 `step_name`,不是 `name`
|
|
15
|
-
|
|
16
|
-
## 2. Step3 / Part4 评分配置必须包在 `data.config`
|
|
17
|
-
|
|
18
|
-
- 历史误区:把 `criteria_data` 直接平铺在 `data` 下,或在 `config` 与 `criteria_data` 之间缺失层级
|
|
19
|
-
- 真实结果:`replace_scoring_criteria_config 必须提供 config` 或平台 UI 不显示评分配置
|
|
20
|
-
- 已验证做法:使用 `data.config.criteria_data`(完整的三层嵌套),不可省略 `config` 或 `criteria_data` 任一层级
|
|
21
|
-
|
|
22
|
-
## 2.1 Part4 `replace_scoring_criteria_config` 缺少外壳字段导致 UI 不渲染
|
|
23
|
-
|
|
24
|
-
- 历史误区:`data.config` 下只传了 `criteria_data`,缺少外壳字段
|
|
25
|
-
- 真实结果:API apply 成功,但平台 UI 不显示评分配置
|
|
26
|
-
- 已验证做法:`data.config` 必须同时包含:
|
|
27
|
-
- `scenario_criteria_id`:场景内评分标准唯一标识(格式 `criteria_{场景短码}`)
|
|
28
|
-
- `customization_level`:固定 `"full"`
|
|
29
|
-
- `is_custom_criteria`:固定 `true`
|
|
30
|
-
- `customized_fields`:固定 `["criteria_data"]`
|
|
31
|
-
- `criteria_data`:评分标准正文(直接在 config 下,完整三层嵌套:`data.config.criteria_data`)
|
|
32
|
-
- 备注:缺少任一外壳字段或层级缺失,平台 UI 无法识别和渲染评分配置模块
|
|
33
|
-
|
|
34
|
-
## 2.2 Part4 `criteria_data` 和维度缺少内部元数据字段
|
|
35
|
-
|
|
36
|
-
- 历史误区:`criteria_data` 只传了 `name`、`description`、`dimensions`,缺少内部元数据;维度缺少 `id` 和 `sort_order`
|
|
37
|
-
- 真实结果:数据存储但 UI 展示不完整或维度顺序不可控
|
|
38
|
-
- 已验证做法:
|
|
39
|
-
- `criteria_data` 必须包含:`source_type`(固定 `"enterprise"`)、`total_weight`(固定 `100`)、`tags`(取 Part1 标签前 4 个)
|
|
40
|
-
- 每个维度必须包含:`id`(格式 `dim_{code}`)、`sort_order`(从 1 递增)
|
|
41
|
-
- 参考:`比得_AI陪练CLI创建与更新场景使用指南.md` 第 6.4 节
|
|
42
|
-
|
|
43
|
-
> 生成 `part4-operations.json` 后,preview 前**必须逐项核对** `platform/sync-engine.md` 中的「Part4 replace_scoring_criteria_config 自查清单」(13 项),任一项不通过禁止 preview。
|
|
44
|
-
|
|
45
|
-
## 3. Step1 创建场景必须先准备封面
|
|
46
|
-
|
|
47
|
-
- 历史误区:只传 name / description / tags 就能建场景
|
|
48
|
-
- 真实结果:`soke-cli ai-training +create-scenario` 报缺少 `scenario_cover`
|
|
49
|
-
- 已验证做法:先上传封面,再把 `scenario_cover` URL 写入 `step1-create.json`
|
|
50
|
-
|
|
51
|
-
## 3.1 Step1 创建场景必须传 `key_points` 和 `scene_lang`
|
|
52
|
-
|
|
53
|
-
- 历史误区:`step1-create.json` 只写 name / description / tags,没写 key_points / scene_lang
|
|
54
|
-
- 真实结果:创建成功但场景不完整,或者平台校验报缺少必填字段
|
|
55
|
-
- 已验证做法:`step1-create.json` 必须包含六个字段:`name`, `description`, `tags`(数组), `key_points`(字符串,不能用数组), `scene_lang`(固定 `简体中文`), `scenario_cover`
|
|
56
|
-
- `key_points` 来源:将 Part1 的考核关键点拼接为单个字符串(分号或编号分隔),不能直接传数组
|
|
57
|
-
|
|
58
|
-
## 3.5 opening_dialogue_type 是整数,不是字符串
|
|
59
|
-
|
|
60
|
-
- 历史误区:传入 `"opening_dialogue_type": "2"` 或 `"opening_dialogue_type": "customer_first"`
|
|
61
|
-
- 真实结果:`VALIDATION_ERROR: opening_dialogue_type 必须是 1 或 2`
|
|
62
|
-
- 已验证做法:`"opening_dialogue_type": 1`(AI 先开口)或 `"opening_dialogue_type": 2`(学员/客户先开口),传数字不传字符串
|
|
63
|
-
- 影响文件:`sync-engine.md` Part2 字段映射表、`step2-operations.json` 示例
|
|
64
|
-
|
|
65
|
-
## 3.6 --operations-file 直接放数组,不要 {"operations": [...]} 包装
|
|
66
|
-
|
|
67
|
-
- 历史误区:operations JSON 套一层 `{"operations": [...], "step_name": "..."}`
|
|
68
|
-
- 真实结果:`解析 JSON 失败 .../operations.json: json: cannot unmarshal object into Go value of type []interface {}`
|
|
69
|
-
- 已验证做法:文件内容为裸数组 `[{type: "...", data: {...}}, ...]`,不套外层对象
|
|
70
|
-
- 影响:所有 `part2/3/4/5-operations.json` 的生成逻辑
|
|
71
|
-
|
|
72
|
-
## 3.7 apply 必须传 --idempotency-key,preview 不需要
|
|
73
|
-
|
|
74
|
-
- 历史误区:preview 和 apply 参数完全对称
|
|
75
|
-
- 真实结果:apply 缺少 `--idempotency-key` 时报 `apply 需要 idempotency_key`
|
|
76
|
-
- 已验证做法:
|
|
77
|
-
- `preview`:不传 `--idempotency-key`
|
|
78
|
-
- `apply`:传 `--idempotency-key "nature-part2-apply-1752395205"`(建议格式 `{场景短码}-{part}-apply-{timestamp}`)
|
|
79
|
-
- 若使用 `--request-file <partX-update.json>`,则 `idempotency_key` 写在 JSON 请求体中,而不是命令行参数
|
|
80
|
-
|
|
81
|
-
## 3.8 reason 是 preview 和 apply 的必填参数
|
|
82
|
-
|
|
83
|
-
- 历史误区:`--reason` 是可选参数,只在多人协作时有用
|
|
84
|
-
- 真实结果:不传 `--reason` 时直接报 `reason 不能为空`
|
|
85
|
-
- 已验证做法:preview 和 apply 都传 `--reason "PartX: 描述"`,如 `--reason "Part2: AI角色设定同步"`
|
|
86
|
-
- 备注:reason 字符串会出现在快照列表中,建议含 Part 编号便于追踪
|
|
87
|
-
|
|
88
|
-
## 3.9 含中文引号的 JSON 必须通过 Python json.dump 写入,禁止 heredoc / echo
|
|
89
|
-
|
|
90
|
-
- 历史误区:用 shell heredoc 或 `echo` 生成含中文标点(如 `""` 中文双引号)的 JSON
|
|
91
|
-
- 真实结果:`invalid character '0' after object key:value pair` —— shell 会将中文引号误解析为语法结构
|
|
92
|
-
- 已验证做法:一律用 `python3 -c "import json; json.dump(data, f, ensure_ascii=False, indent=2)"` 写入 JSON 文件
|
|
93
|
-
- 备注:`「」`(直角引号)不触发此问题,只有 `""`(全角双引号,Unicode U+201C/U+201D)会
|
|
94
|
-
|
|
95
|
-
## 3.2 场景命令必须走 `ai-training` 子命令
|
|
96
|
-
|
|
97
|
-
- 历史误区:把命令写成 `soke-cli +create-scenario`、`soke-cli +get-scenario` 这类顶层调用
|
|
98
|
-
- 真实结果:命令入口错误,无法稳定复现平台行为,也容易把排查方向带偏
|
|
99
|
-
- 已验证做法:统一使用 `soke-cli ai-training +create-scenario`、`soke-cli ai-training +get-scenario`、`soke-cli ai-training +preview-scenario-update`、`soke-cli ai-training +apply-scenario-update`
|
|
100
|
-
- 备注:场景创建、读取、预览、应用、封面上传等 MentorAI 场景能力,均按 `soke-cli ai-training +...` 口径执行,不要省略 `ai-training`
|
|
101
|
-
|
|
102
|
-
## 3.3 soke-cli 在 WorkBuddy 沙箱中受限
|
|
103
|
-
|
|
104
|
-
- 历史误区:直接在 Bash 工具中执行 soke-cli 命令(默认沙箱模式)
|
|
105
|
-
- 真实结果:`permission denied`、`operation not permitted`、或静默无输出,命令未实际执行
|
|
106
|
-
- 根因:soke-cli 是 Go 编译的二进制文件,沙箱限制了其所需的系统调用
|
|
107
|
-
- 已验证做法:调用 Bash 工具执行任何 soke-cli 命令时,**必须设置 `dangerouslyDisableSandbox: true`**
|
|
108
|
-
- 备注:此规则适用于全部 soke-cli 子命令(`config show`、`auth login`、`ai-training +...` 等),不限于创建型流程。若 soke-cli 命令返回权限错误,第一反应应检查是否遗漏了 `dangerouslyDisableSandbox: true`
|
|
109
|
-
|
|
110
|
-
## 4. Part2 角色写入的真实最小稳定结构
|
|
111
|
-
|
|
112
|
-
### 关键结论
|
|
113
|
-
|
|
114
|
-
- `replace_ai_roles` 可用,数据键为 `data.roles`(非 `data.ai_roles`),不能只传裸 `role_data`
|
|
115
|
-
- 必须使用完整 custom role 外壳,且提供稳定的 `scenario_role_id`
|
|
116
|
-
- `avatar` 输入必须是头像资源 URL(来自 `+list-role-avatars` 的 `url` 字段),**严禁**使用资源 `id`
|
|
117
|
-
- `voice_id` 输入必须是声音资源 ID(来自 `+list-role-voices` 的 `id` 字段)
|
|
118
|
-
- `knowledge_level` 必须是数组,不是字符串
|
|
119
|
-
- 建议同时携带 `tags`、`source_type`、`customized_fields`、`created_at`、`updated_at`
|
|
120
|
-
|
|
121
|
-
> 生成 `part2-operations.json` 后,preview 前**必须逐项核对** `platform/sync-engine.md` 中的「Part2 replace_ai_roles 自查清单」(14 项),任一项不通过禁止 preview。
|
|
122
|
-
|
|
123
|
-
### 已验证可回读的角色结构特征
|
|
124
|
-
|
|
125
|
-
- `customization_level = "full"`
|
|
126
|
-
- `is_custom_role = true`
|
|
127
|
-
- `template_id / template_name / template_version = null`
|
|
128
|
-
- `source_type = "custom"`
|
|
129
|
-
- `customized_fields` 与 `role_data` 实际写入字段逐项对应
|
|
130
|
-
|
|
131
|
-
## 4.1 Part2 外壳字段层级放错 → "角色数据异常"
|
|
132
|
-
|
|
133
|
-
- 历史误区:把 `customization_level`、`is_custom_role`、`customized_fields`、`source_type`、`created_at`、`updated_at` 塞进 `role_data` 内部
|
|
134
|
-
- 真实结果:角色回读显示 `name: "角色数据异常"`,所有字段 null
|
|
135
|
-
- 已验证做法:这些 **平台外壳字段** 必须放在与 `role_data`、`scenario_role_id` 同级的**外层**,不可写入 `role_data` 内部。平台回读后可稳定解析的角色结构:
|
|
136
|
-
|
|
137
|
-
```json
|
|
138
|
-
// ✅ 正确 —— 外壳字段在外层
|
|
139
|
-
{
|
|
140
|
-
"scenario_role_id": "role_chen",
|
|
141
|
-
"customization_level": "full", // ← 外层
|
|
142
|
-
"is_custom_role": true, // ← 外层
|
|
143
|
-
"role_data": {
|
|
144
|
-
"name": "陈检查员",
|
|
145
|
-
"avatar": "<头像URL>",
|
|
146
|
-
"voice_id": "<语音ID>",
|
|
147
|
-
"description": "...",
|
|
148
|
-
"communication_style": "...",
|
|
149
|
-
"personality_type": "ISTJ",
|
|
150
|
-
"personality": "..."
|
|
151
|
-
}
|
|
152
|
-
}
|
|
153
|
-
```
|
|
154
|
-
|
|
155
|
-
```json
|
|
156
|
-
// ❌ 错误 —— 外壳字段在 role_data 内
|
|
157
|
-
{
|
|
158
|
-
"scenario_role_id": "role_chen",
|
|
159
|
-
"role_data": {
|
|
160
|
-
"name": "陈检查员",
|
|
161
|
-
"customization_level": "full", // ← 错,触发"角色数据异常"
|
|
162
|
-
"is_custom_role": true, // ← 错
|
|
163
|
-
"customized_fields": [...], // ← 错
|
|
164
|
-
"source_type": "custom" // ← 错
|
|
165
|
-
}
|
|
166
|
-
}
|
|
167
|
-
```
|
|
168
|
-
|
|
169
|
-
- 备注:`sync-engine.md` 字段映射表只标注了业务字段的 `role_data.xxx` 路径,容易让人误以为外壳字段也属于 `role_data` 内部。**写 JSON 时先问:这个字段是描述"角色有什么属性"(→ `role_data` 内),还是描述"这个角色数据本身是什么类型"(→ 外层)**
|
|
170
|
-
|
|
171
|
-
### 常见错误
|
|
172
|
-
|
|
173
|
-
- 把外壳字段(`customization_level`/`is_custom_role`/`customized_fields`/`source_type`)错放进 `role_data` 内 → 角色数据异常
|
|
174
|
-
- 把 `knowledge_level` 写成单个字符串
|
|
175
|
-
- 只生成业务按需画像,不补平台外壳字段
|
|
176
|
-
- `taboos_objections` 写成长段散文,无法稳定映射为列表
|
|
177
|
-
|
|
178
|
-
## 4.2 Part2 首次写入默认不要整包 replace
|
|
179
|
-
|
|
180
|
-
- 历史误区:为了省步骤,直接一次 `replace_ai_roles` 写入多个角色,再同时写 OS
|
|
181
|
-
- 真实结果:preview/apply 可能成功,但回读时某一个角色被平台打成“角色数据异常”
|
|
182
|
-
- 已验证做法:新场景首写 Part2 时,默认改为逐个保守写入:
|
|
183
|
-
1. 先 `add_ai_role` 写入第1个角色
|
|
184
|
-
2. 立刻 `+get-scenario` 验收
|
|
185
|
-
3. 验收通过后再逐个追加剩余角色
|
|
186
|
-
4. 最后单独 `update_basic` 写 `ai_roles_overall_description`
|
|
187
|
-
- 备注:只有目标平台已被实证验证整包稳定时,才允许回退为 `replace_ai_roles`
|
|
188
|
-
|
|
189
|
-
## 5. preview / apply 成功,不等于平台最终可正常解析
|
|
190
|
-
|
|
191
|
-
- 历史误区:只要 preview 通过、apply 成功,就等于配置闭环完成
|
|
192
|
-
- 真实结果:评分配置可能 UI 不渲染、角色数据可能异常、字段可能未同步
|
|
193
|
-
- 已验证做法:每个 Part(Part1/Part2/Part3/Part4/Part5)apply 后,都要再做一次 `soke-cli ai-training +get-scenario --raw` 验收,逐项检查目标字段是否已正确写入平台
|
|
194
|
-
|
|
195
|
-
## 6. 乐观锁必须每次重取最新 `updated_at`
|
|
196
|
-
|
|
197
|
-
- 历史误区:沿用上一个 Part 的 `updated_at`
|
|
198
|
-
- 真实结果:`base_updated_at` 过期导致冲突或误判
|
|
199
|
-
- 已验证做法:每次 preview/apply 前先 `soke-cli ai-training +get-scenario`,永远以最新 `updated_at` 作为基线
|
|
200
|
-
|
|
201
|
-
## 7. 身份字段不能作为授权/选租户依据
|
|
202
|
-
|
|
203
|
-
- 历史误区:把 `corp_id` / `company_id` / `user_id` / `implementation_corp_id` 写进请求体,当作显式选租户手段
|
|
204
|
-
- 真实结果:这些字段可能被代理剥离,也不应作为授权依据
|
|
205
|
-
- 已验证做法:先通过环境检查确认登录态和企业绑定;请求体里不要依赖这些字段实现租户切换
|
|
206
|
-
|
|
207
|
-
## 推荐执行顺序
|
|
208
|
-
|
|
209
|
-
1. 先做环境检测
|
|
210
|
-
2. Step1 创建前先准备封面
|
|
211
|
-
3. 每个 Part 同步前先 `soke-cli ai-training +get-scenario`
|
|
212
|
-
4. 先 preview,再 apply
|
|
213
|
-
5. apply 后立刻 `soke-cli ai-training +get-scenario --raw` 验收该 Part 的目标字段
|
|
214
|
-
6. Part2 一旦回读异常,优先检查 avatar / knowledge_level / custom role 外壳 / customized_fields / **background**,而不是盲目重试。**background 为 null 是最常见疏漏**
|
|
215
|
-
7. Part4 一旦回读异常,优先检查 `data.config.criteria_data` 三层嵌套完整性、`source_type`/`total_weight`/`tags` 元数据字段、维度 `id`/`sort_order`
|
|
216
|
-
8. Part5 仅检查练习配置字段(时长/次数/分数/难度/助答),不检查 closing_dialogue/gold_dialogue/key_points
|
|
217
|
-
|
|
218
|
-
## 8. `add_conversation_step` apply 成功但数据不持久化
|
|
219
|
-
|
|
220
|
-
- 历史误区:以为 `add_conversation_step` apply 返回 snapshot_id 就代表保存成功
|
|
221
|
-
- 真实结果:`+get-scenario` 永远返回 `conversation_steps: []`——数据完全不保存(CLI v1.0.65/1.0.66 均存在此 bug)
|
|
222
|
-
- 影响范围:`add_conversation_step`(平铺 data + data.step 格式均无效)、`replace_conversation_steps`(422 校验拒绝不支持此 operation type)
|
|
223
|
-
- 已验证做法:最新官方语义仍要求用 `add_conversation_step` / `patch_conversation_step` 等操作先尝试 CLI 更新;若 apply 后 `get-scenario` 回读仍为空,再判定当前版本存在持久化缺陷,并改走 MentorAI Web 管理后台手动添加
|
|
224
|
-
- 备注:全量创建 `+create-scenario --request-file` 中 `conversation_steps` 理论上可写入,但实测时 `ai_roles` 和 `scoring_criteria_config` 等其他复杂字段被同时忽略(见 §9)
|
|
225
|
-
|
|
226
|
-
## 9. 全量创建 `--request-file` 只保存基础字段
|
|
227
|
-
|
|
228
|
-
- 历史误区:以为 `+create-scenario --request-file` 支持一次性写入所有字段
|
|
229
|
-
- 真实结果:仅 `name`/`description`/`tags`/`key_points`/`scene_lang`/`scenario_cover` 基础字段持久化;`ai_roles`/`scoring_criteria_config`/`conversation_steps`/练习配置等复杂字段全部被忽略(get 后返回 0 或 null)
|
|
230
|
-
- 已验证做法:创建后必须通过 `+apply-scenario-update` 逐 Part 写入角色(replace_ai_roles/patch_ai_role)、评分(replace_scoring_criteria_config)、教练设置(update_basic);对话步骤使用 Web 后台
|
|
231
|
-
|
|
232
|
-
|