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