@aiyiran/myclaw 1.1.25 → 1.1.26
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/.claude/settings.local.json +3 -1
- package/assets/myclaw-artifacts.js +8 -1
- package/package.json +1 -1
- package/patches/patch-manifest.json +10 -0
- package/skills/yiran-course-template-pipeline/README.md +127 -0
- package/skills/yiran-course-template-pipeline/SKILL.md +65 -0
- package/skills/yiran-course-template-pipeline/assets/a100-teacher.example.html +66 -0
- package/skills/yiran-course-template-pipeline/assets/student-template.html +64 -0
- package/skills/yiran-course-template-pipeline/assets/teacher-portrait-demo.html +105 -0
- package/skills/yiran-course-template-pipeline/assets/teacher-task-view.html +110 -0
- package/skills/yiran-course-template-pipeline/prompts//351/230/266/346/256/2651-demo/347/224/237/346/210/220.md +92 -0
- package/skills/yiran-course-template-pipeline/prompts//351/230/266/346/256/2652-student/347/224/237/346/210/220.md +115 -0
- package/skills/yiran-course-template-pipeline/prompts//351/230/266/346/256/2653-teacher/347/224/237/346/210/220.md +131 -0
- package/skills/yiran-course-template-pipeline/prompts//351/230/266/346/256/2654-/346/211/223/345/214/205/350/220/275/347/233/230.md +77 -0
- package/skills/yiran-course-template-pipeline/references/student-example.json +38 -0
- package/skills/yiran-course-template-pipeline/references/student-fields.md +195 -0
- package/skills/yiran-course-template-pipeline/references/student-scaffold.json +34 -0
- package/skills/yiran-course-template-pipeline/references/teacher-fields.md +265 -0
- package/skills/yiran-course-template-pipeline/references/teacher-scaffold.json +25 -0
- package/skills/yiran-course-template-pipeline/scripts/build_template_views.py +125 -0
- package/skills/yiran-course-template-pipeline/scripts/move_template_task.py +59 -0
- package/skills/yiran-course-template-pipeline/scripts/render_student_page.py +52 -0
- package/skills/yiran-course-template-pipeline/scripts/render_teacher_view.py +108 -0
- package/skills/yiran-playground-template-use/SKILL.md +105 -0
- package/skills/yiran-playground-template-use/prompts/remix-handoff.txt +11 -0
- package/skills/yiran-playground-template-use/scripts/build_template_index.py +103 -0
- package/skills/yiran-playground-template-use/scripts/deploy_template.py +34 -0
- package/skills/yiran-playground-template-use/scripts/deploy_to_workspace.py +211 -0
- package/skills/yiran-playground-template-use/scripts/prepare_playgrounds.py +39 -0
- package/skills/yiran-playground-template-use/scripts/query_template.py +171 -0
- package/skills/yiran-playground-template-use/scripts/run_playgrounds_flow.py +44 -0
- package/skills/yiran-playground-template-use/scripts/start_tui_handoff.py +77 -0
- package/skills/yiran-playground-template-use/search-agent-prompt.md +39 -0
- package/skills/yiran-playground-template-use/template-index.json +136 -0
- package/skills/yiran-playground-template-use/template-index.md +38 -0
- package/skills/yiran-playground-template-use/templates/a100_/347/273/231/344/276/235/347/204/266/350/200/201/345/270/210/350/256/276/350/256/241/344/270/200/344/270/252AI/347/224/273/345/203/217/__demo__.html +140 -0
- package/skills/yiran-playground-template-use/templates/a100_/347/273/231/344/276/235/347/204/266/350/200/201/345/270/210/350/256/276/350/256/241/344/270/200/344/270/252AI/347/224/273/345/203/217/__student-view__.html +64 -0
- package/skills/yiran-playground-template-use/templates/a100_/347/273/231/344/276/235/347/204/266/350/200/201/345/270/210/350/256/276/350/256/241/344/270/200/344/270/252AI/347/224/273/345/203/217/__student__.json +38 -0
- package/skills/yiran-playground-template-use/templates/a100_/347/273/231/344/276/235/347/204/266/350/200/201/345/270/210/350/256/276/350/256/241/344/270/200/344/270/252AI/347/224/273/345/203/217/__teacher-view__.html +52 -0
- package/skills/yiran-playground-template-use/templates/a100_/347/273/231/344/276/235/347/204/266/350/200/201/345/270/210/350/256/276/350/256/241/344/270/200/344/270/252AI/347/224/273/345/203/217/__teacher__.json +36 -0
- package/skills/yiran-playground-template-use/templates/a100_/347/273/231/344/276/235/347/204/266/350/200/201/345/270/210/350/256/276/350/256/241/344/270/200/344/270/252AI/347/224/273/345/203/217/index.html +61 -0
- package/skills/yiran-playground-template-use/templates/a101_/345/201/2323/345/274/240/345/220/214/344/270/273/351/242/230/345/233/276/347/211/207/__demo__.html +131 -0
- package/skills/yiran-playground-template-use/templates/a101_/345/201/2323/345/274/240/345/220/214/344/270/273/351/242/230/345/233/276/347/211/207/__student-view__.html +64 -0
- package/skills/yiran-playground-template-use/templates/a101_/345/201/2323/345/274/240/345/220/214/344/270/273/351/242/230/345/233/276/347/211/207/__student__.json +34 -0
- package/skills/yiran-playground-template-use/templates/a101_/345/201/2323/345/274/240/345/220/214/344/270/273/351/242/230/345/233/276/347/211/207/__teacher-view__.html +52 -0
- package/skills/yiran-playground-template-use/templates/a101_/345/201/2323/345/274/240/345/220/214/344/270/273/351/242/230/345/233/276/347/211/207/__teacher__.json +34 -0
- package/skills/yiran-playground-template-use/templates/a103_/345/201/232/344/270/200/344/270/252/344/273/213/347/273/215/351/241/265/351/235/242/__demo__.html +77 -0
- package/skills/yiran-playground-template-use/templates/a103_/345/201/232/344/270/200/344/270/252/344/273/213/347/273/215/351/241/265/351/235/242/__student-view__.html +64 -0
- package/skills/yiran-playground-template-use/templates/a103_/345/201/232/344/270/200/344/270/252/344/273/213/347/273/215/351/241/265/351/235/242/__student__.json +38 -0
- package/skills/yiran-playground-template-use/templates/a103_/345/201/232/344/270/200/344/270/252/344/273/213/347/273/215/351/241/265/351/235/242/__teacher-view__.html +52 -0
- package/skills/yiran-playground-template-use/templates/a103_/345/201/232/344/270/200/344/270/252/344/273/213/347/273/215/351/241/265/351/235/242/__teacher__.json +34 -0
- package/skills/yiran-playground-template-use/templates/b100_/345/201/232/344/270/200/344/270/252/346/214/211/351/222/256/351/241/265/351/235/242/__demo__.html +162 -0
- package/skills/yiran-playground-template-use/templates/b100_/345/201/232/344/270/200/344/270/252/346/214/211/351/222/256/351/241/265/351/235/242/__student-view__.html +64 -0
- package/skills/yiran-playground-template-use/templates/b100_/345/201/232/344/270/200/344/270/252/346/214/211/351/222/256/351/241/265/351/235/242/__student__.json +34 -0
- package/skills/yiran-playground-template-use/templates/b100_/345/201/232/344/270/200/344/270/252/346/214/211/351/222/256/351/241/265/351/235/242/__teacher-view__.html +52 -0
- package/skills/yiran-playground-template-use/templates/b100_/345/201/232/344/270/200/344/270/252/346/214/211/351/222/256/351/241/265/351/235/242/__teacher__.json +34 -0
- package/skills/yiran-playground-template-use/templates/c100_/347/273/231/345/260/217/347/273/204/344/275/234/345/223/201/345/201/232/344/270/200/346/254/241/345/260/217/344/277/256/346/224/271/__demo__.html +180 -0
- package/skills/yiran-playground-template-use/templates/c100_/347/273/231/345/260/217/347/273/204/344/275/234/345/223/201/345/201/232/344/270/200/346/254/241/345/260/217/344/277/256/346/224/271/__student-view__.html +64 -0
- package/skills/yiran-playground-template-use/templates/c100_/347/273/231/345/260/217/347/273/204/344/275/234/345/223/201/345/201/232/344/270/200/346/254/241/345/260/217/344/277/256/346/224/271/__student__.json +38 -0
- package/skills/yiran-playground-template-use/templates/c100_/347/273/231/345/260/217/347/273/204/344/275/234/345/223/201/345/201/232/344/270/200/346/254/241/345/260/217/344/277/256/346/224/271/__teacher-view__.html +52 -0
- package/skills/yiran-playground-template-use/templates/c100_/347/273/231/345/260/217/347/273/204/344/275/234/345/223/201/345/201/232/344/270/200/346/254/241/345/260/217/344/277/256/346/224/271/__teacher__.json +41 -0
- package/skills/yiran-playground-template-use/templates/c100_/347/273/231/345/260/217/347/273/204/344/275/234/345/223/201/345/201/232/344/270/200/346/254/241/345/260/217/344/277/256/346/224/271/demo.html +180 -0
- package/skills/yiran-playground-template-use/templates/c100_/347/273/231/345/260/217/347/273/204/344/275/234/345/223/201/345/201/232/344/270/200/346/254/241/345/260/217/344/277/256/346/224/271/index.html +121 -0
- package/skills/yiran-playground-template-use/templates/c100_/347/273/231/345/260/217/347/273/204/344/275/234/345/223/201/345/201/232/344/270/200/346/254/241/345/260/217/344/277/256/346/224/271//345/260/217/347/273/204/345/220/211/347/245/245/347/211/251_26.png +0 -0
- package/skills/yiran-playground-template-use/templates/c100_/347/273/231/345/260/217/347/273/204/344/275/234/345/223/201/345/201/232/344/270/200/346/254/241/345/260/217/344/277/256/346/224/271//345/260/217/347/273/204/345/233/276/345/275/242/346/240/207/345/277/227_83.png +0 -0
- package/skills/yiran-playground-template-use/templates/c100_/347/273/231/345/260/217/347/273/204/344/275/234/345/223/201/345/201/232/344/270/200/346/254/241/345/260/217/344/277/256/346/224/271//347/217/255/347/272/247/345/260/217/347/273/204/345/276/275/347/253/240_47.png +0 -0
|
@@ -0,0 +1,92 @@
|
|
|
1
|
+
# demo 生成提示词
|
|
2
|
+
|
|
3
|
+
用途:
|
|
4
|
+
把一个题目灵感、设计角度或课堂切入点,先变成一个适合演示的 demo 页面。
|
|
5
|
+
|
|
6
|
+
## 目标
|
|
7
|
+
|
|
8
|
+
你现在不是在先整理 JSON。
|
|
9
|
+
你要做的是:
|
|
10
|
+
**先把灵感做成一个看得见的 __demo__.html 页面。**
|
|
11
|
+
|
|
12
|
+
## 为什么先做 demo
|
|
13
|
+
|
|
14
|
+
因为 demo 是后续流程的起点:
|
|
15
|
+
- demo 出来后,学生页内容更容易整理
|
|
16
|
+
- demo 出来后,教师 JSON 也更容易提炼
|
|
17
|
+
- demo 能帮助快速判断这个题目有没有意思、能不能继续发展
|
|
18
|
+
|
|
19
|
+
## 输出要求
|
|
20
|
+
|
|
21
|
+
生成的 demo 页面要满足:
|
|
22
|
+
- 适合演示
|
|
23
|
+
- 页面不要太复杂
|
|
24
|
+
- 一眼能看出这个任务大概是什么
|
|
25
|
+
- 能作为后续 __student__.json 和 __teacher__.json 的上游参考
|
|
26
|
+
|
|
27
|
+
## 写 demo 时要注意
|
|
28
|
+
|
|
29
|
+
### 1)先突出核心效果
|
|
30
|
+
不要一开始把所有功能都做满。
|
|
31
|
+
先做出最能说明这个题目价值的那一个效果。
|
|
32
|
+
|
|
33
|
+
### 2)适合课堂抛砖引玉
|
|
34
|
+
这个 demo 不一定是完整作品,
|
|
35
|
+
但它必须足够清楚,能让人一眼看懂方向。
|
|
36
|
+
|
|
37
|
+
### 3)优先做“能看见”的页面
|
|
38
|
+
优先让页面可看、可点、可感受,
|
|
39
|
+
而不是先写很多结构化说明。
|
|
40
|
+
|
|
41
|
+
### 4)为后续 JSON 留出空间
|
|
42
|
+
做 demo 时,心里要有这些问题:
|
|
43
|
+
- 这个任务学生到底要做什么?
|
|
44
|
+
- 步骤会是什么?
|
|
45
|
+
- 评价目标会是什么?
|
|
46
|
+
- 老师侧会怎么看这个任务?
|
|
47
|
+
|
|
48
|
+
## 如果 demo 是多图对比练习页,要遵守这些规则
|
|
49
|
+
|
|
50
|
+
### 页面结构
|
|
51
|
+
- 首屏基本看完
|
|
52
|
+
- 尽量一屏展示核心内容
|
|
53
|
+
- 如果是三张图对比,必须三栏横排同时展示
|
|
54
|
+
|
|
55
|
+
### 每一栏的结构
|
|
56
|
+
- 上面放图片
|
|
57
|
+
- 下面放观察和思考提示
|
|
58
|
+
- 不直接写改进建议
|
|
59
|
+
- 不直接告诉学生答案
|
|
60
|
+
|
|
61
|
+
### 文字控制
|
|
62
|
+
- demo 页面优先短句
|
|
63
|
+
- 顶部说明必须很短
|
|
64
|
+
- 每张图下面只放 2 到 3 个短问题
|
|
65
|
+
- 不要长段落
|
|
66
|
+
- 不要把老师说明塞进学生首屏
|
|
67
|
+
|
|
68
|
+
### 目标
|
|
69
|
+
- 让学生一打开就能同时看到几张图
|
|
70
|
+
- 能马上开始比较
|
|
71
|
+
- 能先发现一个问题
|
|
72
|
+
- 能想一个最小修改点
|
|
73
|
+
|
|
74
|
+
### 资源命名方式
|
|
75
|
+
- demo 中使用的图片、音频等资源文件名,不要只用简单固定名
|
|
76
|
+
- 统一使用:`中文学生友好名_2位数字随机戳`
|
|
77
|
+
- 例如:`班级小组徽章_47.png`
|
|
78
|
+
- 这样可以减少浏览器缓存带来的旧图问题
|
|
79
|
+
|
|
80
|
+
### 资源路径方式
|
|
81
|
+
- demo 网页中的所有媒体资源,不要使用本地相对路径
|
|
82
|
+
- 必须使用 CDN 链接
|
|
83
|
+
- CDN 固定前缀写死为:`https://cdn.yiranlaoshi.com/yiran/workspace-ai-demo`
|
|
84
|
+
- 后面再拼接资源相对路径
|
|
85
|
+
- 例如:`https://cdn.yiranlaoshi.com/yiran/workspace-ai-demo/c102_给小组作品做微调训练/班级小组徽章_47.png`
|
|
86
|
+
|
|
87
|
+
## demo 生成后的下一步
|
|
88
|
+
|
|
89
|
+
生成 demo 页面后,不要立刻结束。
|
|
90
|
+
下一步要继续:
|
|
91
|
+
1. 从 demo 中提炼 __student__.json
|
|
92
|
+
2. 再提炼 __teacher__.json
|
|
@@ -0,0 +1,115 @@
|
|
|
1
|
+
# 阶段2:生成 __student__.json
|
|
2
|
+
|
|
3
|
+
用途:
|
|
4
|
+
在题目灵感已经比较清楚、或者 demo 方向已经大致确定时,先把学生侧任务结构定下来。
|
|
5
|
+
|
|
6
|
+
注意:
|
|
7
|
+
**这个阶段不要求一定已经有 __teacher__.json。**
|
|
8
|
+
**这个阶段甚至不要求一定已经有完整作品。**
|
|
9
|
+
|
|
10
|
+
这个阶段最重要的目标只有一个:
|
|
11
|
+
**先把学生任务的步骤和评价结构 JSON 确立下来。**
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
## 本阶段输出对象
|
|
16
|
+
|
|
17
|
+
必须输出:`__student__.json`
|
|
18
|
+
|
|
19
|
+
结构如下:
|
|
20
|
+
|
|
21
|
+
```json
|
|
22
|
+
{
|
|
23
|
+
"任务标题": "",
|
|
24
|
+
"一句话说明": "",
|
|
25
|
+
"步骤": [
|
|
26
|
+
{
|
|
27
|
+
"标题": "",
|
|
28
|
+
"说明": ""
|
|
29
|
+
}
|
|
30
|
+
],
|
|
31
|
+
"评价目标": [
|
|
32
|
+
{
|
|
33
|
+
"等级": "",
|
|
34
|
+
"说明": ""
|
|
35
|
+
}
|
|
36
|
+
],
|
|
37
|
+
"示例区标题": "",
|
|
38
|
+
"示例页面文件": ""
|
|
39
|
+
}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## 这个阶段真正要解决什么
|
|
45
|
+
|
|
46
|
+
不是去做教师分析。
|
|
47
|
+
不是去做能力标签。
|
|
48
|
+
不是去解释教学意义。
|
|
49
|
+
|
|
50
|
+
而是先确定:
|
|
51
|
+
- 学生要做什么
|
|
52
|
+
- 这个任务怎么拆成步骤
|
|
53
|
+
- 评价目标怎么分一星、二星、三星
|
|
54
|
+
- 学生页中间示例区叫什么、加载什么文件
|
|
55
|
+
|
|
56
|
+
---
|
|
57
|
+
|
|
58
|
+
## 字段逐项对应
|
|
59
|
+
|
|
60
|
+
### 1)任务标题
|
|
61
|
+
学生页最上方的大标题。
|
|
62
|
+
必须短、清楚、一眼看懂。
|
|
63
|
+
|
|
64
|
+
### 2)一句话说明
|
|
65
|
+
用一句话告诉学生:
|
|
66
|
+
- 先做什么
|
|
67
|
+
- 再做什么
|
|
68
|
+
- 重点练什么
|
|
69
|
+
|
|
70
|
+
### 3)步骤
|
|
71
|
+
这是本阶段最重要的部分。
|
|
72
|
+
先把学生完成任务的路径定下来。
|
|
73
|
+
|
|
74
|
+
要求:
|
|
75
|
+
- 一般 3 到 4 步
|
|
76
|
+
- 每一步都包含:
|
|
77
|
+
- 标题
|
|
78
|
+
- 说明
|
|
79
|
+
|
|
80
|
+
### 4)评价目标
|
|
81
|
+
也是本阶段核心。
|
|
82
|
+
告诉学生做到什么程度算完成、做到更好是什么样。
|
|
83
|
+
|
|
84
|
+
要求:
|
|
85
|
+
- 默认固定三档:一星、二星、三星
|
|
86
|
+
- 每一档都要有一句清楚说明
|
|
87
|
+
|
|
88
|
+
### 5)示例区标题
|
|
89
|
+
控制学生页中间示例区标题。
|
|
90
|
+
默认可写“示范样例”。
|
|
91
|
+
|
|
92
|
+
### 6)示例页面文件
|
|
93
|
+
控制 iframe 加载哪个页面文件。
|
|
94
|
+
默认可写:
|
|
95
|
+
```json
|
|
96
|
+
"示例页面文件": "example.html"
|
|
97
|
+
```
|
|
98
|
+
|
|
99
|
+
---
|
|
100
|
+
|
|
101
|
+
## 原则
|
|
102
|
+
|
|
103
|
+
1. 全部使用中文
|
|
104
|
+
2. 只写学生真正需要读的内容
|
|
105
|
+
3. 不把老师看的信息混进来
|
|
106
|
+
4. 标题要短
|
|
107
|
+
5. 一句话说明只保留一句
|
|
108
|
+
6. 步骤比解释更重要
|
|
109
|
+
7. 评价目标必须清楚可执行
|
|
110
|
+
|
|
111
|
+
---
|
|
112
|
+
|
|
113
|
+
## 结果要求
|
|
114
|
+
|
|
115
|
+
输出的 __student__.json 应该可以直接喂给学生页模板,不需要再大改。
|
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
# 阶段3:生成 __teacher__.json
|
|
2
|
+
|
|
3
|
+
用途:
|
|
4
|
+
在 __student__.json 已经明确之后,再整理教师侧的题目设计目的与教学判断信息。
|
|
5
|
+
|
|
6
|
+
这个阶段的目标不是生成学生页内容,
|
|
7
|
+
而是:
|
|
8
|
+
**把这个题目为什么这样设计、主要解决什么问题、老师上课时该怎么看,整理成 __teacher__.json。**
|
|
9
|
+
|
|
10
|
+
---
|
|
11
|
+
|
|
12
|
+
## 本阶段输出对象
|
|
13
|
+
|
|
14
|
+
必须输出:`__teacher__.json`
|
|
15
|
+
|
|
16
|
+
结构如下:
|
|
17
|
+
|
|
18
|
+
```json
|
|
19
|
+
{
|
|
20
|
+
"任务类别": "",
|
|
21
|
+
"任务编号": "",
|
|
22
|
+
"任务名称": "",
|
|
23
|
+
"主能力标签": "",
|
|
24
|
+
"任务类型标签": "",
|
|
25
|
+
"适合学生类型": [],
|
|
26
|
+
"训练重点": [],
|
|
27
|
+
"卡点和解决方案": [
|
|
28
|
+
{
|
|
29
|
+
"卡点": "",
|
|
30
|
+
"解决方案": ""
|
|
31
|
+
}
|
|
32
|
+
],
|
|
33
|
+
"可拓展方向": [],
|
|
34
|
+
"课后作业": []
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
参考:
|
|
39
|
+
- `references/teacher-fields.md`
|
|
40
|
+
- `references/teacher-scaffold.json`
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
## 这个阶段真正要解决什么
|
|
45
|
+
|
|
46
|
+
不是再去重写学生步骤。
|
|
47
|
+
不是再去写一星二星三星。
|
|
48
|
+
不是再去讨论页面布局。
|
|
49
|
+
|
|
50
|
+
而是要明确:
|
|
51
|
+
- 这个题主要练什么
|
|
52
|
+
- 这个题属于什么任务类型
|
|
53
|
+
- 更适合哪类学生
|
|
54
|
+
- 训练重点是什么
|
|
55
|
+
- 学生会卡在哪里
|
|
56
|
+
- 老师应该怎么引导
|
|
57
|
+
- 还能怎么拓展
|
|
58
|
+
- 课后作业怎么布置
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## 字段逐项对应
|
|
63
|
+
|
|
64
|
+
### 1)任务类别
|
|
65
|
+
只能填写:A、B、C。
|
|
66
|
+
|
|
67
|
+
- A = 启动类:让学生动起来,适合弱学生、卡住学生
|
|
68
|
+
- B = 结构类:开始搭东西,适合中间学生
|
|
69
|
+
- C = 迭代类:重点训练改,适合会做但不会改的人
|
|
70
|
+
|
|
71
|
+
注意:ABC 不是按难度分,而是按任务在学习过程中的作用分。
|
|
72
|
+
|
|
73
|
+
### 2)任务编号
|
|
74
|
+
用于编号和自动命名。
|
|
75
|
+
|
|
76
|
+
要求:
|
|
77
|
+
- 固定三位字符串
|
|
78
|
+
- 范围固定为 `100 ~ 999`
|
|
79
|
+
- 每个类别单独编号,并且按顺序往后排
|
|
80
|
+
- A 类从 `100` 开始,B 类从 `100` 开始,C 类也从 `100` 开始
|
|
81
|
+
- 同一类别新增模板时,按 `100、101、102 ...` 这样继续往后加
|
|
82
|
+
|
|
83
|
+
### 3)任务名称
|
|
84
|
+
任务显示名称,应和 __student__.json 的任务标题保持一致或高度一致。
|
|
85
|
+
|
|
86
|
+
### 4)主能力标签
|
|
87
|
+
这是最核心的教学能力标签,只能选一个。
|
|
88
|
+
|
|
89
|
+
固定集合:
|
|
90
|
+
- 构思能力
|
|
91
|
+
- 表达构建
|
|
92
|
+
- 问题判断
|
|
93
|
+
- 迭代推进
|
|
94
|
+
|
|
95
|
+
它回答的是:这个任务主要训练什么能力。
|
|
96
|
+
|
|
97
|
+
### 5)任务类型标签
|
|
98
|
+
说明作品本身属于什么类型,也只能选一个。
|
|
99
|
+
|
|
100
|
+
固定集合:
|
|
101
|
+
- 游戏机制
|
|
102
|
+
- 角色交互
|
|
103
|
+
- 视听表达
|
|
104
|
+
- 改编优化
|
|
105
|
+
|
|
106
|
+
它回答的是:这个任务最终属于什么作品类型。
|
|
107
|
+
|
|
108
|
+
### 6)适合学生类型
|
|
109
|
+
这里写的是更适合哪类学生,而不是课堂分组名称。
|
|
110
|
+
|
|
111
|
+
### 7)训练重点
|
|
112
|
+
这里要写的是教学训练重点,不是页面功能列表。
|
|
113
|
+
|
|
114
|
+
### 8)卡点和解决方案
|
|
115
|
+
这里最重要的是老师上课时能不能直接拿来判断和引导。
|
|
116
|
+
|
|
117
|
+
### 9)可拓展方向
|
|
118
|
+
写这个题还能怎么继续扩展。
|
|
119
|
+
|
|
120
|
+
### 10)课后作业
|
|
121
|
+
写课后还能布置什么延伸练习。
|
|
122
|
+
|
|
123
|
+
---
|
|
124
|
+
|
|
125
|
+
## 输出要求
|
|
126
|
+
|
|
127
|
+
- 只输出 __teacher__.json
|
|
128
|
+
- 不输出解释文字
|
|
129
|
+
- 不补充 markdown 说明
|
|
130
|
+
- 不输出 HTML
|
|
131
|
+
- 字段名称必须保持中文
|
|
@@ -0,0 +1,77 @@
|
|
|
1
|
+
# 阶段4:打包落盘提示词
|
|
2
|
+
|
|
3
|
+
用途:
|
|
4
|
+
指导 agent 在已有 `__demo__.html`、`__student__.json`、`__teacher__.json` 的前提下,先生成页面,再移动文件夹。
|
|
5
|
+
|
|
6
|
+
注意:
|
|
7
|
+
第4阶段现在拆成两个独立脚本,不再混在一个脚本里。
|
|
8
|
+
|
|
9
|
+
---
|
|
10
|
+
|
|
11
|
+
## 输入前提
|
|
12
|
+
|
|
13
|
+
阶段一到阶段三的产物,应该先放在:
|
|
14
|
+
**当前工作目录下新建的 `任务名称/` 文件夹里。**
|
|
15
|
+
|
|
16
|
+
这个任务文件夹里至少应有:
|
|
17
|
+
- `__demo__.html`
|
|
18
|
+
- `__student__.json`
|
|
19
|
+
- `__teacher__.json`
|
|
20
|
+
|
|
21
|
+
---
|
|
22
|
+
|
|
23
|
+
## 脚本1:build_template_views.py
|
|
24
|
+
|
|
25
|
+
目标:
|
|
26
|
+
只要字段校验通过,就在传入的文件夹里直接生成:
|
|
27
|
+
- `__student-view__.html`
|
|
28
|
+
- `__teacher-view__.html`
|
|
29
|
+
- `index.html`
|
|
30
|
+
|
|
31
|
+
其中 `index.html` 使用固定脚本规则:
|
|
32
|
+
- 左边展示“评价目标”
|
|
33
|
+
- 右边展示“步骤”
|
|
34
|
+
- 不显示任务标题
|
|
35
|
+
- 不显示一句话说明
|
|
36
|
+
- 这部分不再靠临时 prompt 自由发挥,而是固定走脚本渲染
|
|
37
|
+
|
|
38
|
+
调用方式:
|
|
39
|
+
```bash
|
|
40
|
+
python3 scripts/build_template_views.py 任务文件夹
|
|
41
|
+
```
|
|
42
|
+
|
|
43
|
+
适用场景:
|
|
44
|
+
- 还在当前工作目录里调试
|
|
45
|
+
- 想先看页面渲染结果
|
|
46
|
+
- 还没准备正式入库
|
|
47
|
+
|
|
48
|
+
---
|
|
49
|
+
|
|
50
|
+
## 脚本2:move_template_task.py
|
|
51
|
+
|
|
52
|
+
目标:
|
|
53
|
+
在页面已经生成好的前提下,把整个文件夹直接移动到:
|
|
54
|
+
skill 目录下的 `templates/`
|
|
55
|
+
|
|
56
|
+
同时按规则改名,例如:
|
|
57
|
+
`a100_给依然老师设计一个AI画像`
|
|
58
|
+
|
|
59
|
+
调用方式:
|
|
60
|
+
```bash
|
|
61
|
+
python3 scripts/move_template_task.py 任务文件夹
|
|
62
|
+
```
|
|
63
|
+
|
|
64
|
+
适用场景:
|
|
65
|
+
- 已经确认内容没问题
|
|
66
|
+
- 已经有 `__student-view__.html` 和 `__teacher-view__.html`
|
|
67
|
+
- 准备正式落库
|
|
68
|
+
|
|
69
|
+
---
|
|
70
|
+
|
|
71
|
+
## 原则
|
|
72
|
+
|
|
73
|
+
1. 先在当前工作目录完成中间产物
|
|
74
|
+
2. 先 build,再 move
|
|
75
|
+
3. build 只在原目录生成页面,不移动
|
|
76
|
+
4. move 只负责移动和改名,并自动触发索引构建
|
|
77
|
+
5. 文件命名固定,不临时改名
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
{
|
|
2
|
+
"任务标题": "给依然老师设计一个AI画像",
|
|
3
|
+
"一句话说明": "先让 AI 生成一个老师形象,再用网页把它展示出来,重点练习描述和小修改。",
|
|
4
|
+
"步骤": [
|
|
5
|
+
{
|
|
6
|
+
"标题": "先做图片",
|
|
7
|
+
"说明": "先用 AI 做出一张依然老师的图片。"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"标题": "放进网页",
|
|
11
|
+
"说明": "把图片放进网页里,再加上标题和一句介绍。"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"标题": "小改一下",
|
|
15
|
+
"说明": "试着小改一次图片,让它变得更好看一点。"
|
|
16
|
+
},
|
|
17
|
+
{
|
|
18
|
+
"标题": "展示变化",
|
|
19
|
+
"说明": "把几张图片一起放进网页里,展示你的修改过程。"
|
|
20
|
+
}
|
|
21
|
+
],
|
|
22
|
+
"评价目标": [
|
|
23
|
+
{
|
|
24
|
+
"等级": "一星",
|
|
25
|
+
"说明": "完成一张老师图片。"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"等级": "二星",
|
|
29
|
+
"说明": "把图片放进网页里,并完成发布。"
|
|
30
|
+
},
|
|
31
|
+
{
|
|
32
|
+
"等级": "三星",
|
|
33
|
+
"说明": "把图片再改好一点,再把几张图片一起放进网页里。"
|
|
34
|
+
}
|
|
35
|
+
],
|
|
36
|
+
"示例区标题": "示范样例",
|
|
37
|
+
"示例页面文件": "example.html"
|
|
38
|
+
}
|
|
@@ -0,0 +1,195 @@
|
|
|
1
|
+
# 学生侧字段说明
|
|
2
|
+
|
|
3
|
+
这份文档用于定义学生页面要使用的数据字段。
|
|
4
|
+
|
|
5
|
+
目标是:
|
|
6
|
+
- 把学生页真正需要的内容从 HTML 里抽离出来
|
|
7
|
+
- 让模板和数据分开
|
|
8
|
+
- 为后续 `__student__.json -> html` 脚本做准备
|
|
9
|
+
|
|
10
|
+
当前默认模板文件位置:
|
|
11
|
+
`skills/course-template-pipeline/assets/student-template.html`
|
|
12
|
+
|
|
13
|
+
---
|
|
14
|
+
|
|
15
|
+
# 一、当前 __student__.json 结构
|
|
16
|
+
|
|
17
|
+
```json
|
|
18
|
+
{
|
|
19
|
+
"任务标题": "",
|
|
20
|
+
"一句话说明": "",
|
|
21
|
+
"步骤": [
|
|
22
|
+
{
|
|
23
|
+
"标题": "",
|
|
24
|
+
"说明": ""
|
|
25
|
+
}
|
|
26
|
+
],
|
|
27
|
+
"评价目标": [
|
|
28
|
+
{
|
|
29
|
+
"等级": "",
|
|
30
|
+
"说明": ""
|
|
31
|
+
}
|
|
32
|
+
],
|
|
33
|
+
"示例区标题": "",
|
|
34
|
+
"示例页面文件": ""
|
|
35
|
+
}
|
|
36
|
+
```
|
|
37
|
+
|
|
38
|
+
---
|
|
39
|
+
|
|
40
|
+
# 二、字段逐个说明
|
|
41
|
+
|
|
42
|
+
## 1)任务标题
|
|
43
|
+
|
|
44
|
+
```json
|
|
45
|
+
"任务标题": ""
|
|
46
|
+
```
|
|
47
|
+
|
|
48
|
+
### 作用
|
|
49
|
+
显示在学生页最上方,是学生最先看到的任务名称。
|
|
50
|
+
|
|
51
|
+
### 设定原则
|
|
52
|
+
- 要短
|
|
53
|
+
- 要清楚
|
|
54
|
+
- 一眼能知道要做什么
|
|
55
|
+
|
|
56
|
+
例子:
|
|
57
|
+
- 给依然老师设计一个AI画像
|
|
58
|
+
- 我自己的三国杀卡牌游戏
|
|
59
|
+
|
|
60
|
+
---
|
|
61
|
+
|
|
62
|
+
## 2)一句话说明
|
|
63
|
+
|
|
64
|
+
```json
|
|
65
|
+
"一句话说明": ""
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
### 作用
|
|
69
|
+
用一句话告诉学生:
|
|
70
|
+
- 先做什么
|
|
71
|
+
- 再做什么
|
|
72
|
+
- 重点练什么
|
|
73
|
+
|
|
74
|
+
### 设定原则
|
|
75
|
+
- 只写一句
|
|
76
|
+
- 不要太长
|
|
77
|
+
- 用学生能看懂的话
|
|
78
|
+
|
|
79
|
+
例子:
|
|
80
|
+
- 先让 AI 生成一个老师形象,再用网页把它展示出来,重点练习描述和小修改。
|
|
81
|
+
|
|
82
|
+
---
|
|
83
|
+
|
|
84
|
+
## 3)步骤
|
|
85
|
+
|
|
86
|
+
```json
|
|
87
|
+
"步骤": [
|
|
88
|
+
{
|
|
89
|
+
"标题": "",
|
|
90
|
+
"说明": ""
|
|
91
|
+
}
|
|
92
|
+
]
|
|
93
|
+
```
|
|
94
|
+
|
|
95
|
+
### 作用
|
|
96
|
+
给学生一个清楚的完成路径。
|
|
97
|
+
|
|
98
|
+
### 设定原则
|
|
99
|
+
- 一般 3 到 4 步
|
|
100
|
+
- 每一步分成两层:
|
|
101
|
+
- 标题:短
|
|
102
|
+
- 说明:学生真正要读的句子
|
|
103
|
+
|
|
104
|
+
### 标题怎么写
|
|
105
|
+
推荐短词:
|
|
106
|
+
- 先做图片
|
|
107
|
+
- 放进网页
|
|
108
|
+
- 小改一下
|
|
109
|
+
- 展示变化
|
|
110
|
+
|
|
111
|
+
### 说明怎么写
|
|
112
|
+
- 用短句
|
|
113
|
+
- 直接说要做什么
|
|
114
|
+
- 不要讲太多理由
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## 4)评价目标
|
|
119
|
+
|
|
120
|
+
```json
|
|
121
|
+
"评价目标": [
|
|
122
|
+
{
|
|
123
|
+
"等级": "",
|
|
124
|
+
"说明": ""
|
|
125
|
+
}
|
|
126
|
+
]
|
|
127
|
+
```
|
|
128
|
+
|
|
129
|
+
### 作用
|
|
130
|
+
告诉学生做到什么程度算完成、做到更好是什么样。
|
|
131
|
+
|
|
132
|
+
### 设定原则
|
|
133
|
+
- 默认固定三档:
|
|
134
|
+
- 一星
|
|
135
|
+
- 二星
|
|
136
|
+
- 三星
|
|
137
|
+
- 每一档都要有一句清楚说明
|
|
138
|
+
|
|
139
|
+
### 说明怎么写
|
|
140
|
+
- 一星:基础完成
|
|
141
|
+
- 二星:完成页面
|
|
142
|
+
- 三星:有改进、有变化展示
|
|
143
|
+
|
|
144
|
+
---
|
|
145
|
+
|
|
146
|
+
## 5)示例区标题
|
|
147
|
+
|
|
148
|
+
```json
|
|
149
|
+
"示例区标题": ""
|
|
150
|
+
```
|
|
151
|
+
|
|
152
|
+
### 作用
|
|
153
|
+
控制中间示例区标题文字。
|
|
154
|
+
|
|
155
|
+
### 默认建议
|
|
156
|
+
一般可直接写:
|
|
157
|
+
```json
|
|
158
|
+
"示例区标题": "示范样例"
|
|
159
|
+
```
|
|
160
|
+
|
|
161
|
+
---
|
|
162
|
+
|
|
163
|
+
## 6)示例页面文件
|
|
164
|
+
|
|
165
|
+
```json
|
|
166
|
+
"示例页面文件": ""
|
|
167
|
+
```
|
|
168
|
+
|
|
169
|
+
### 作用
|
|
170
|
+
告诉学生页中间 iframe 应该加载哪个页面文件。
|
|
171
|
+
|
|
172
|
+
### 设定原则
|
|
173
|
+
- 使用同级文件名
|
|
174
|
+
- 不直接写复杂路径
|
|
175
|
+
|
|
176
|
+
例如:
|
|
177
|
+
```json
|
|
178
|
+
"示例页面文件": "example.html"
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
---
|
|
182
|
+
|
|
183
|
+
# 三、设计原则
|
|
184
|
+
|
|
185
|
+
## 1)学生页字段只服务学生阅读
|
|
186
|
+
不要把老师看的结构化字段放进 __student__.json。
|
|
187
|
+
|
|
188
|
+
## 2)模板负责布局,__student__.json 负责内容
|
|
189
|
+
布局固定在模板里,__student__.json 只管填什么。
|
|
190
|
+
|
|
191
|
+
## 3)句子要短
|
|
192
|
+
学生页比教师页更需要控制字数。
|
|
193
|
+
|
|
194
|
+
## 4)数据和页面分开
|
|
195
|
+
以后改模板时,不应该被 __student__.json 限制;以后换任务时,也不应该去手改 HTML 文案。
|
|
@@ -0,0 +1,34 @@
|
|
|
1
|
+
{
|
|
2
|
+
"任务标题": "请填写一个短、清楚、学生一眼能看懂的任务标题",
|
|
3
|
+
"一句话说明": "请用一句话说明:先做什么,再做什么,重点练什么",
|
|
4
|
+
"步骤": [
|
|
5
|
+
{
|
|
6
|
+
"标题": "请填写一个短的步骤标题,例如:先做图片",
|
|
7
|
+
"说明": "请填写学生真正要读的说明,要求短句、直接、可执行"
|
|
8
|
+
},
|
|
9
|
+
{
|
|
10
|
+
"标题": "请填写第二个步骤标题",
|
|
11
|
+
"说明": "请填写第二个步骤说明"
|
|
12
|
+
},
|
|
13
|
+
{
|
|
14
|
+
"标题": "请填写第三个步骤标题",
|
|
15
|
+
"说明": "请填写第三个步骤说明"
|
|
16
|
+
}
|
|
17
|
+
],
|
|
18
|
+
"评价目标": [
|
|
19
|
+
{
|
|
20
|
+
"等级": "一星",
|
|
21
|
+
"说明": "请填写完成最基础要求时,学生需要做到什么"
|
|
22
|
+
},
|
|
23
|
+
{
|
|
24
|
+
"等级": "二星",
|
|
25
|
+
"说明": "请填写在基础上进一步完成时,学生需要做到什么"
|
|
26
|
+
},
|
|
27
|
+
{
|
|
28
|
+
"等级": "三星",
|
|
29
|
+
"说明": "请填写完成进阶挑战时,学生需要做到什么"
|
|
30
|
+
}
|
|
31
|
+
],
|
|
32
|
+
"示例区标题": "请填写中间示例区标题,通常可写:示范样例",
|
|
33
|
+
"示例页面文件": "请填写同级示例页面文件名,例如 example.html"
|
|
34
|
+
}
|