dsh-thesis 1.0.0 → 2.0.1
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/LICENSE +21 -21
- package/NOTICE.md +1 -1
- package/README.md +48 -204
- package/docs/autopilot.md +73 -0
- package/docs/config.md +113 -0
- package/{DESIGN.md → docs/design.md} +94 -73
- package/docs/host-api.md +728 -640
- package/docs/release.md +126 -0
- package/docs/tools.md +76 -0
- package/docs/troubleshooting.md +88 -0
- package/docs/usage.md +87 -0
- package/lib/autopilot/index.d.ts +38 -0
- package/lib/autopilot/index.js +159 -0
- package/lib/autopilot/intent.d.ts +40 -0
- package/lib/autopilot/intent.js +82 -0
- package/lib/autopilot/messages.d.ts +22 -0
- package/lib/autopilot/messages.js +35 -0
- package/lib/autopilot/types.d.ts +60 -0
- package/lib/autopilot/types.js +10 -0
- package/lib/codewalk/engine.d.ts +1 -1
- package/lib/codewalk/engine.js +1 -1
- package/lib/codewalk/gate.d.ts +1 -1
- package/lib/codewalk/gate.js +1 -1
- package/lib/codewalk/host-types.d.ts +4 -31
- package/lib/codewalk/prestep.js +1 -1
- package/lib/codewalk/tools.js +2 -2
- package/lib/config.d.ts +17 -0
- package/lib/config.js +9 -1
- package/lib/dedup/index.js +0 -6
- package/lib/gates/messages.d.ts +7 -3
- package/lib/gates/messages.js +7 -4
- package/lib/index.d.ts +3 -1
- package/lib/index.js +10 -7
- package/lib/ingest/index.d.ts +1 -1
- package/lib/ingest/index.js +1 -3
- package/lib/intake/gate-rules.d.ts +6 -5
- package/lib/intake/gate-rules.js +6 -2
- package/lib/intake/index.d.ts +0 -17
- package/lib/intake/index.js +0 -51
- package/lib/intake/questions.d.ts +1 -1
- package/lib/intake/questions.js +1 -1
- package/lib/paper/lib/docx.js +70 -70
- package/lib/paper/lib/layout.d.ts +1 -1
- package/lib/paper/lib/layout.js +372 -372
- package/lib/paper/lib/ledger.d.ts +1 -1
- package/lib/paper/lib/ledger.js +1 -1
- package/lib/paper/lib/lit-cache.js +7 -7
- package/lib/paper/register.d.ts +2 -2
- package/lib/paper/register.js +2 -8
- package/lib/paper/tools/decision.js +5 -5
- package/lib/paper/tools/init.d.ts +1 -1
- package/lib/paper/tools/init.js +1 -1
- package/lib/paper/tools/lit.js +32 -32
- package/lib/ppt/index.d.ts +1 -2
- package/lib/ppt/index.js +1 -2
- package/lib/shared/define-tool.d.ts +1 -1
- package/lib/shared/define-tool.js +1 -1
- package/package.json +26 -21
- package/skills/code-walkthrough/SKILL.md +5 -3
- package/skills/thesis-defense/SKILL.md +1 -1
- package/skills/thesis-pipeline/SKILL.md +3 -3
- package/lib/codewalk/commands.d.ts +0 -23
- package/lib/codewalk/commands.js +0 -168
- package/lib/commands.d.ts +0 -33
- package/lib/commands.js +0 -60
- package/lib/dedup/commands.d.ts +0 -21
- package/lib/dedup/commands.js +0 -93
- package/lib/ingest/commands.d.ts +0 -23
- package/lib/ingest/commands.js +0 -74
- package/lib/paper/commands.d.ts +0 -13
- package/lib/paper/commands.js +0 -84
- package/lib/ppt/commands.d.ts +0 -28
- package/lib/ppt/commands.js +0 -71
package/lib/paper/lib/layout.js
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* 论文工作区布局与全部模板文件内容(
|
|
2
|
+
* 论文工作区布局与全部模板文件内容(docs/design.md §5 的落地)。
|
|
3
3
|
*
|
|
4
4
|
* thesis_init 按此生成目录树;模板内容与技能包(plugin/skills/)保持一致。
|
|
5
5
|
* 本模块只依赖 Node 内置能力。
|
|
@@ -11,164 +11,164 @@ export function buildLayout(opts) {
|
|
|
11
11
|
// ------------------------------------------------------------------ 根
|
|
12
12
|
files.push({
|
|
13
13
|
path: 'README.md',
|
|
14
|
-
content: `# ${opts.title}
|
|
15
|
-
|
|
16
|
-
${HEADER_NOTE}
|
|
17
|
-
|
|
18
|
-
## 这是什么
|
|
19
|
-
|
|
20
|
-
本仓库是毕业设计(计算机类)的完整工作区:选题、开题、文献、设计、实现、
|
|
21
|
-
论文、合规、答辩,全程留痕。
|
|
22
|
-
|
|
23
|
-
- 进度状态:见 \`00-管理/进度台账.md\`(由 \`thesis_progress\` 工具维护)
|
|
24
|
-
- 关键决定:见 \`00-管理/决定日志.md\`
|
|
25
|
-
- 流程地图:见 \`00-管理/流程地图.md\`
|
|
26
|
-
|
|
27
|
-
## 目录速览
|
|
28
|
-
|
|
29
|
-
| 目录 | 内容 |
|
|
30
|
-
|---|---|
|
|
31
|
-
| 00-管理 | 流程地图、选题、时间线、台账、决定日志 |
|
|
32
|
-
| 01-开题 | 开题报告、任务书 |
|
|
33
|
-
| 02-文献 | 文献库 refs.bib、检索记录、笔记 |
|
|
34
|
-
| 03-设计 | 需求分析、系统设计、技术选型论证 |
|
|
35
|
-
| 04-实现 | 真实代码 |
|
|
36
|
-
| 05-实验测试 | 测试计划与真实运行结果 |
|
|
37
|
-
| 06-论文 | 大纲、七章正文、图表、学校模板、产出 |
|
|
38
|
-
| 07-答辩 | PPT 大纲、问答演练 |
|
|
39
|
-
| 08-合规 | 格式/引用检查报告、自查报告 |
|
|
40
|
-
|
|
41
|
-
## 使用方式
|
|
42
|
-
|
|
43
|
-
在 DSH Web 界面中与本工作区配合使用:AI 会加载 \`.dsh/skills/\` 下的技能包,
|
|
44
|
-
按流程地图推进,并通过 \`thesis_progress\` / \`thesis_decide\` 工具维护台账与决定日志。
|
|
14
|
+
content: `# ${opts.title}
|
|
15
|
+
|
|
16
|
+
${HEADER_NOTE}
|
|
17
|
+
|
|
18
|
+
## 这是什么
|
|
19
|
+
|
|
20
|
+
本仓库是毕业设计(计算机类)的完整工作区:选题、开题、文献、设计、实现、
|
|
21
|
+
论文、合规、答辩,全程留痕。
|
|
22
|
+
|
|
23
|
+
- 进度状态:见 \`00-管理/进度台账.md\`(由 \`thesis_progress\` 工具维护)
|
|
24
|
+
- 关键决定:见 \`00-管理/决定日志.md\`
|
|
25
|
+
- 流程地图:见 \`00-管理/流程地图.md\`
|
|
26
|
+
|
|
27
|
+
## 目录速览
|
|
28
|
+
|
|
29
|
+
| 目录 | 内容 |
|
|
30
|
+
|---|---|
|
|
31
|
+
| 00-管理 | 流程地图、选题、时间线、台账、决定日志 |
|
|
32
|
+
| 01-开题 | 开题报告、任务书 |
|
|
33
|
+
| 02-文献 | 文献库 refs.bib、检索记录、笔记 |
|
|
34
|
+
| 03-设计 | 需求分析、系统设计、技术选型论证 |
|
|
35
|
+
| 04-实现 | 真实代码 |
|
|
36
|
+
| 05-实验测试 | 测试计划与真实运行结果 |
|
|
37
|
+
| 06-论文 | 大纲、七章正文、图表、学校模板、产出 |
|
|
38
|
+
| 07-答辩 | PPT 大纲、问答演练 |
|
|
39
|
+
| 08-合规 | 格式/引用检查报告、自查报告 |
|
|
40
|
+
|
|
41
|
+
## 使用方式
|
|
42
|
+
|
|
43
|
+
在 DSH Web 界面中与本工作区配合使用:AI 会加载 \`.dsh/skills/\` 下的技能包,
|
|
44
|
+
按流程地图推进,并通过 \`thesis_progress\` / \`thesis_decide\` 工具维护台账与决定日志。
|
|
45
45
|
`,
|
|
46
46
|
});
|
|
47
47
|
files.push({
|
|
48
48
|
path: '.gitignore',
|
|
49
|
-
content: `# 依赖与构建产物
|
|
50
|
-
node_modules/
|
|
51
|
-
dist/
|
|
52
|
-
build/
|
|
53
|
-
__pycache__/
|
|
54
|
-
*.pyc
|
|
55
|
-
|
|
56
|
-
# 系统文件
|
|
57
|
-
.DS_Store
|
|
58
|
-
Thumbs.db
|
|
59
|
-
|
|
60
|
-
# 论文编译中间产物
|
|
61
|
-
*.aux
|
|
62
|
-
*.log
|
|
63
|
-
*.out
|
|
64
|
-
*.toc
|
|
65
|
-
|
|
66
|
-
# 文献检索缓存(临时候选,由 thesis_lit_search 维护)
|
|
67
|
-
02-文献/.lit-cache.json
|
|
49
|
+
content: `# 依赖与构建产物
|
|
50
|
+
node_modules/
|
|
51
|
+
dist/
|
|
52
|
+
build/
|
|
53
|
+
__pycache__/
|
|
54
|
+
*.pyc
|
|
55
|
+
|
|
56
|
+
# 系统文件
|
|
57
|
+
.DS_Store
|
|
58
|
+
Thumbs.db
|
|
59
|
+
|
|
60
|
+
# 论文编译中间产物
|
|
61
|
+
*.aux
|
|
62
|
+
*.log
|
|
63
|
+
*.out
|
|
64
|
+
*.toc
|
|
65
|
+
|
|
66
|
+
# 文献检索缓存(临时候选,由 thesis_lit_search 维护)
|
|
67
|
+
02-文献/.lit-cache.json
|
|
68
68
|
`,
|
|
69
69
|
});
|
|
70
70
|
// ---------------------------------------------------------------- 00-管理
|
|
71
71
|
files.push({
|
|
72
72
|
path: '00-管理/流程地图.md',
|
|
73
|
-
content: `# 毕业设计流程地图
|
|
74
|
-
|
|
75
|
-
${HEADER_NOTE}
|
|
76
|
-
|
|
77
|
-
九阶段全景。每个阶段:产出物 → 验收标准 → 下一站。详细方法论见技能包
|
|
78
|
-
\`thesis-pipeline\` / \`thesis-opener\` 等。
|
|
79
|
-
|
|
80
|
-
| 阶段 | 产出物 | 验收标准 | 人工关卡 |
|
|
81
|
-
|---|---|---|---|
|
|
82
|
-
| 1 选题 | 选题确认书 | 课题明确、工作量合理、答辩友好 | **G1** |
|
|
83
|
-
| 2 开题 | 开题报告 + 任务书 | 导师认可;报告结构与规范达标 | **G3** |
|
|
84
|
-
| 3 文献调研 | 文献库 + 笔记 + 综述素材 | 15-30 篇真实文献;每篇有笔记 | — |
|
|
85
|
-
| 4 系统设计 | 需求/设计/选型文档 | 方案可落地;选型有论证 | — |
|
|
86
|
-
| 5 系统实现 | 可运行系统 + git 提交 | 功能真实可跑;中期检查通过 | — |
|
|
87
|
-
| 6 系统测试 | 测试报告 + 真实结果 | 结果可复现;零伪造 | — |
|
|
88
|
-
| 7 论文撰写 | 七章正文 | 逐章人工验收 | **G2**(×7 章) |
|
|
89
|
-
| 8 定稿与合规 | 论文.docx + 检查报告 | 格式/引用/自查全部通过 | **G4** |
|
|
90
|
-
| 9 答辩 | PPT + 演练记录 | 能讲清设计与实现 | — |
|
|
91
|
-
|
|
92
|
-
**红线**(违反即学术不端,永不允许):
|
|
93
|
-
|
|
94
|
-
1. 不得编造文献(每条引用必须来自真实检索,见 02-文献/检索记录.md)
|
|
95
|
-
2. 不得伪造数据/截图/运行结果(05-实验测试/结果 必须可在 04-实现 上复现)
|
|
96
|
-
3. 学校明文限制 AI 使用时,正文必须经过人工关卡(G1-G4)后提交
|
|
97
|
-
|
|
98
|
-
**每阶段结束的动作**:更新进度台账(\`thesis_progress\`)→ 关键决定写入决定日志
|
|
99
|
-
(\`thesis_decide\`)→ git 提交。
|
|
73
|
+
content: `# 毕业设计流程地图
|
|
74
|
+
|
|
75
|
+
${HEADER_NOTE}
|
|
76
|
+
|
|
77
|
+
九阶段全景。每个阶段:产出物 → 验收标准 → 下一站。详细方法论见技能包
|
|
78
|
+
\`thesis-pipeline\` / \`thesis-opener\` 等。
|
|
79
|
+
|
|
80
|
+
| 阶段 | 产出物 | 验收标准 | 人工关卡 |
|
|
81
|
+
|---|---|---|---|
|
|
82
|
+
| 1 选题 | 选题确认书 | 课题明确、工作量合理、答辩友好 | **G1** |
|
|
83
|
+
| 2 开题 | 开题报告 + 任务书 | 导师认可;报告结构与规范达标 | **G3** |
|
|
84
|
+
| 3 文献调研 | 文献库 + 笔记 + 综述素材 | 15-30 篇真实文献;每篇有笔记 | — |
|
|
85
|
+
| 4 系统设计 | 需求/设计/选型文档 | 方案可落地;选型有论证 | — |
|
|
86
|
+
| 5 系统实现 | 可运行系统 + git 提交 | 功能真实可跑;中期检查通过 | — |
|
|
87
|
+
| 6 系统测试 | 测试报告 + 真实结果 | 结果可复现;零伪造 | — |
|
|
88
|
+
| 7 论文撰写 | 七章正文 | 逐章人工验收 | **G2**(×7 章) |
|
|
89
|
+
| 8 定稿与合规 | 论文.docx + 检查报告 | 格式/引用/自查全部通过 | **G4** |
|
|
90
|
+
| 9 答辩 | PPT + 演练记录 | 能讲清设计与实现 | — |
|
|
91
|
+
|
|
92
|
+
**红线**(违反即学术不端,永不允许):
|
|
93
|
+
|
|
94
|
+
1. 不得编造文献(每条引用必须来自真实检索,见 02-文献/检索记录.md)
|
|
95
|
+
2. 不得伪造数据/截图/运行结果(05-实验测试/结果 必须可在 04-实现 上复现)
|
|
96
|
+
3. 学校明文限制 AI 使用时,正文必须经过人工关卡(G1-G4)后提交
|
|
97
|
+
|
|
98
|
+
**每阶段结束的动作**:更新进度台账(\`thesis_progress\`)→ 关键决定写入决定日志
|
|
99
|
+
(\`thesis_decide\`)→ git 提交。
|
|
100
100
|
`,
|
|
101
101
|
});
|
|
102
102
|
files.push({
|
|
103
103
|
path: '00-管理/选题/备选课题.md',
|
|
104
|
-
content: `# 备选课题
|
|
105
|
-
|
|
106
|
-
${HEADER_NOTE}
|
|
107
|
-
|
|
108
|
-
选题工作坊产出:每个备选课题按"选题四要素"评估(兴趣 / 可行性 / 工作量 / 答辩友好度),
|
|
109
|
-
每项 1-5 分。评估由 \`thesis-opener\` 技能指导完成。
|
|
110
|
-
|
|
111
|
-
## 备选 A:<课题名>
|
|
112
|
-
|
|
113
|
-
- 一句话描述:
|
|
114
|
-
- 要解决的问题:
|
|
115
|
-
- 大致技术路线:
|
|
116
|
-
- 评估:
|
|
117
|
-
- 兴趣:?/5
|
|
118
|
-
- 可行性(你的基础 + AI 辅助可达成):?/5
|
|
119
|
-
- 工作量(与毕设周期匹配):?/5
|
|
120
|
-
- 答辩友好度(能讲清、有演示、有数据):?/5
|
|
121
|
-
- 风险与对策:
|
|
122
|
-
|
|
123
|
-
## 备选 B:<课题名>
|
|
124
|
-
|
|
125
|
-
(同上)
|
|
126
|
-
|
|
127
|
-
## 备选 C:<课题名>
|
|
128
|
-
|
|
129
|
-
(同上)
|
|
130
|
-
|
|
131
|
-
## 结论
|
|
132
|
-
|
|
133
|
-
最终选择:<备选>。理由见《选题确认书》与决定日志。
|
|
104
|
+
content: `# 备选课题
|
|
105
|
+
|
|
106
|
+
${HEADER_NOTE}
|
|
107
|
+
|
|
108
|
+
选题工作坊产出:每个备选课题按"选题四要素"评估(兴趣 / 可行性 / 工作量 / 答辩友好度),
|
|
109
|
+
每项 1-5 分。评估由 \`thesis-opener\` 技能指导完成。
|
|
110
|
+
|
|
111
|
+
## 备选 A:<课题名>
|
|
112
|
+
|
|
113
|
+
- 一句话描述:
|
|
114
|
+
- 要解决的问题:
|
|
115
|
+
- 大致技术路线:
|
|
116
|
+
- 评估:
|
|
117
|
+
- 兴趣:?/5
|
|
118
|
+
- 可行性(你的基础 + AI 辅助可达成):?/5
|
|
119
|
+
- 工作量(与毕设周期匹配):?/5
|
|
120
|
+
- 答辩友好度(能讲清、有演示、有数据):?/5
|
|
121
|
+
- 风险与对策:
|
|
122
|
+
|
|
123
|
+
## 备选 B:<课题名>
|
|
124
|
+
|
|
125
|
+
(同上)
|
|
126
|
+
|
|
127
|
+
## 备选 C:<课题名>
|
|
128
|
+
|
|
129
|
+
(同上)
|
|
130
|
+
|
|
131
|
+
## 结论
|
|
132
|
+
|
|
133
|
+
最终选择:<备选>。理由见《选题确认书》与决定日志。
|
|
134
134
|
`,
|
|
135
135
|
});
|
|
136
136
|
files.push({
|
|
137
137
|
path: '00-管理/选题/选题确认书.md',
|
|
138
|
-
content: `# 选题确认书
|
|
139
|
-
|
|
140
|
-
${HEADER_NOTE}
|
|
141
|
-
|
|
142
|
-
> 关卡 **G1** 的产物。本文件由用户书面确认后,G1 才能标记通过。
|
|
143
|
-
|
|
144
|
-
- 学生:<姓名>
|
|
145
|
-
- 课题:<课题名>
|
|
146
|
-
- 日期:${opts.date}
|
|
147
|
-
|
|
148
|
-
## 1. 课题动机
|
|
149
|
-
|
|
150
|
-
<为什么做这个课题:课程/兴趣/实际问题,2-3 句>
|
|
151
|
-
|
|
152
|
-
## 2. 要解决的问题
|
|
153
|
-
|
|
154
|
-
<用一句"用户/系统痛点 + 本课题的解法"来表述>
|
|
155
|
-
|
|
156
|
-
## 3. 技术路线概述
|
|
157
|
-
|
|
158
|
-
<用什么技术栈、大致分几步实现:一句话总览 + 3-5 个步骤>
|
|
159
|
-
|
|
160
|
-
## 4. 工作量评估
|
|
161
|
-
|
|
162
|
-
<功能范围:核心功能与可选功能;与毕设周期是否匹配>
|
|
163
|
-
|
|
164
|
-
## 5. 风险与对策
|
|
165
|
-
|
|
166
|
-
<最大风险是什么;如果做不出来,退路是什么>
|
|
167
|
-
|
|
168
|
-
## 6. 用户确认
|
|
169
|
-
|
|
170
|
-
- [ ] 我已理解上述课题内容与工作量,同意以此为毕业设计课题。
|
|
171
|
-
- 确认人:________ 日期:________
|
|
138
|
+
content: `# 选题确认书
|
|
139
|
+
|
|
140
|
+
${HEADER_NOTE}
|
|
141
|
+
|
|
142
|
+
> 关卡 **G1** 的产物。本文件由用户书面确认后,G1 才能标记通过。
|
|
143
|
+
|
|
144
|
+
- 学生:<姓名>
|
|
145
|
+
- 课题:<课题名>
|
|
146
|
+
- 日期:${opts.date}
|
|
147
|
+
|
|
148
|
+
## 1. 课题动机
|
|
149
|
+
|
|
150
|
+
<为什么做这个课题:课程/兴趣/实际问题,2-3 句>
|
|
151
|
+
|
|
152
|
+
## 2. 要解决的问题
|
|
153
|
+
|
|
154
|
+
<用一句"用户/系统痛点 + 本课题的解法"来表述>
|
|
155
|
+
|
|
156
|
+
## 3. 技术路线概述
|
|
157
|
+
|
|
158
|
+
<用什么技术栈、大致分几步实现:一句话总览 + 3-5 个步骤>
|
|
159
|
+
|
|
160
|
+
## 4. 工作量评估
|
|
161
|
+
|
|
162
|
+
<功能范围:核心功能与可选功能;与毕设周期是否匹配>
|
|
163
|
+
|
|
164
|
+
## 5. 风险与对策
|
|
165
|
+
|
|
166
|
+
<最大风险是什么;如果做不出来,退路是什么>
|
|
167
|
+
|
|
168
|
+
## 6. 用户确认
|
|
169
|
+
|
|
170
|
+
- [ ] 我已理解上述课题内容与工作量,同意以此为毕业设计课题。
|
|
171
|
+
- 确认人:________ 日期:________
|
|
172
172
|
`,
|
|
173
173
|
});
|
|
174
174
|
files.push({
|
|
@@ -181,165 +181,165 @@ ${HEADER_NOTE}
|
|
|
181
181
|
});
|
|
182
182
|
files.push({
|
|
183
183
|
path: '00-管理/决定日志.md',
|
|
184
|
-
content: `# 决定日志
|
|
185
|
-
|
|
186
|
-
${HEADER_NOTE}
|
|
187
|
-
|
|
188
|
-
> 每个关键决定的留痕:内容、理由、备选。答辩时它是"我为什么这么写"的证据。
|
|
189
|
-
> 由 \`thesis_decide\` 工具或 /thesis
|
|
190
|
-
|
|
191
|
-
(暂无决定)
|
|
184
|
+
content: `# 决定日志
|
|
185
|
+
|
|
186
|
+
${HEADER_NOTE}
|
|
187
|
+
|
|
188
|
+
> 每个关键决定的留痕:内容、理由、备选。答辩时它是"我为什么这么写"的证据。
|
|
189
|
+
> 由 \`thesis_decide\` 工具或 /thesis decide 命令追加。
|
|
190
|
+
|
|
191
|
+
(暂无决定)
|
|
192
192
|
`,
|
|
193
193
|
});
|
|
194
194
|
// ---------------------------------------------------------------- 01-开题
|
|
195
195
|
files.push({
|
|
196
196
|
path: '01-开题/开题报告.md',
|
|
197
|
-
content: `# 开题报告
|
|
198
|
-
|
|
199
|
-
${HEADER_NOTE}
|
|
200
|
-
|
|
201
|
-
> 结构遵循 \`thesis-opener\` 技能;完稿后由 \`thesis_build\` 产出 docx。
|
|
202
|
-
> 提交前需通过关卡 **G3**。
|
|
203
|
-
|
|
204
|
-
## 1 课题背景与意义
|
|
205
|
-
|
|
206
|
-
<行业/领域背景 → 现有问题 → 本课题意义(建议 600-800 字)>
|
|
207
|
-
|
|
208
|
-
## 2 国内外研究现状
|
|
209
|
-
|
|
210
|
-
<按主题组织的文献综述,引用真实文献 [1][2](建议 800-1200 字)>
|
|
211
|
-
|
|
212
|
-
## 3 研究内容与目标
|
|
213
|
-
|
|
214
|
-
<3-5 条具体研究内容,每条一句目标(建议 400-600 字)>
|
|
215
|
-
|
|
216
|
-
## 4 技术路线与方案
|
|
217
|
-
|
|
218
|
-
<总体方案图(可用 Mermaid)+ 分步说明 + 关键技术点(建议 600-800 字)>
|
|
219
|
-
|
|
220
|
-
## 5 进度安排
|
|
221
|
-
|
|
222
|
-
<表格:阶段 / 时间 / 产出(与 00-管理/时间线.md 一致)>
|
|
223
|
-
|
|
224
|
-
## 6 参考文献
|
|
225
|
-
|
|
226
|
-
<GB/T 7714 格式,全部来自 02-文献/refs.bib,此处手工同步或由构建工具自动生成>
|
|
197
|
+
content: `# 开题报告
|
|
198
|
+
|
|
199
|
+
${HEADER_NOTE}
|
|
200
|
+
|
|
201
|
+
> 结构遵循 \`thesis-opener\` 技能;完稿后由 \`thesis_build\` 产出 docx。
|
|
202
|
+
> 提交前需通过关卡 **G3**。
|
|
203
|
+
|
|
204
|
+
## 1 课题背景与意义
|
|
205
|
+
|
|
206
|
+
<行业/领域背景 → 现有问题 → 本课题意义(建议 600-800 字)>
|
|
207
|
+
|
|
208
|
+
## 2 国内外研究现状
|
|
209
|
+
|
|
210
|
+
<按主题组织的文献综述,引用真实文献 [1][2](建议 800-1200 字)>
|
|
211
|
+
|
|
212
|
+
## 3 研究内容与目标
|
|
213
|
+
|
|
214
|
+
<3-5 条具体研究内容,每条一句目标(建议 400-600 字)>
|
|
215
|
+
|
|
216
|
+
## 4 技术路线与方案
|
|
217
|
+
|
|
218
|
+
<总体方案图(可用 Mermaid)+ 分步说明 + 关键技术点(建议 600-800 字)>
|
|
219
|
+
|
|
220
|
+
## 5 进度安排
|
|
221
|
+
|
|
222
|
+
<表格:阶段 / 时间 / 产出(与 00-管理/时间线.md 一致)>
|
|
223
|
+
|
|
224
|
+
## 6 参考文献
|
|
225
|
+
|
|
226
|
+
<GB/T 7714 格式,全部来自 02-文献/refs.bib,此处手工同步或由构建工具自动生成>
|
|
227
227
|
`,
|
|
228
228
|
});
|
|
229
229
|
files.push({
|
|
230
230
|
path: '01-开题/任务书.md',
|
|
231
|
-
content: `# 任务书
|
|
232
|
-
|
|
233
|
-
${HEADER_NOTE}
|
|
234
|
-
|
|
235
|
-
> 各校模板不同;拿到学校模板后放 06-论文/assets/学校模板/,按模板重写本文件。
|
|
236
|
-
|
|
237
|
-
- 课题名称:
|
|
238
|
-
- 学生:
|
|
239
|
-
- 指导教师:
|
|
240
|
-
|
|
241
|
-
## 一、设计(研究)内容
|
|
242
|
-
|
|
243
|
-
## 二、主要技术指标或要求
|
|
244
|
-
|
|
245
|
-
## 三、进度安排
|
|
246
|
-
|
|
247
|
-
## 四、主要参考文献
|
|
231
|
+
content: `# 任务书
|
|
232
|
+
|
|
233
|
+
${HEADER_NOTE}
|
|
234
|
+
|
|
235
|
+
> 各校模板不同;拿到学校模板后放 06-论文/assets/学校模板/,按模板重写本文件。
|
|
236
|
+
|
|
237
|
+
- 课题名称:
|
|
238
|
+
- 学生:
|
|
239
|
+
- 指导教师:
|
|
240
|
+
|
|
241
|
+
## 一、设计(研究)内容
|
|
242
|
+
|
|
243
|
+
## 二、主要技术指标或要求
|
|
244
|
+
|
|
245
|
+
## 三、进度安排
|
|
246
|
+
|
|
247
|
+
## 四、主要参考文献
|
|
248
248
|
`,
|
|
249
249
|
});
|
|
250
250
|
// ---------------------------------------------------------------- 02-文献
|
|
251
251
|
files.push({
|
|
252
252
|
path: '02-文献/refs.bib',
|
|
253
|
-
content: `% 文献库(BibTeX)。
|
|
254
|
-
% 红线:本文件只收录真实检索到的文献(由 thesis_lit_search/save 写入)。
|
|
255
|
-
% 每条必须含 DOI 或 URL。引用格式遵循 GB/T 7714-2015(顺序编码制)。
|
|
253
|
+
content: `% 文献库(BibTeX)。
|
|
254
|
+
% 红线:本文件只收录真实检索到的文献(由 thesis_lit_search/save 写入)。
|
|
255
|
+
% 每条必须含 DOI 或 URL。引用格式遵循 GB/T 7714-2015(顺序编码制)。
|
|
256
256
|
`,
|
|
257
257
|
});
|
|
258
258
|
files.push({
|
|
259
259
|
path: '02-文献/检索记录.md',
|
|
260
|
-
content: `# 文献检索记录
|
|
261
|
-
|
|
262
|
-
${HEADER_NOTE}
|
|
263
|
-
|
|
264
|
-
> 每次检索留痕:哪个库、什么关键词、命中多少、筛掉哪些、为什么。
|
|
265
|
-
> 这是"零假文献"的审计证据。
|
|
266
|
-
|
|
267
|
-
| 日期 | 数据库 | 关键词 | 命中 | 收录 | 备注 |
|
|
268
|
-
|---|---|---|---|---|---|
|
|
269
|
-
| ${opts.date} | (待检索) | — | — | — | — |
|
|
260
|
+
content: `# 文献检索记录
|
|
261
|
+
|
|
262
|
+
${HEADER_NOTE}
|
|
263
|
+
|
|
264
|
+
> 每次检索留痕:哪个库、什么关键词、命中多少、筛掉哪些、为什么。
|
|
265
|
+
> 这是"零假文献"的审计证据。
|
|
266
|
+
|
|
267
|
+
| 日期 | 数据库 | 关键词 | 命中 | 收录 | 备注 |
|
|
268
|
+
|---|---|---|---|---|---|
|
|
269
|
+
| ${opts.date} | (待检索) | — | — | — | — |
|
|
270
270
|
`,
|
|
271
271
|
});
|
|
272
272
|
files.push({ path: '02-文献/笔记/.gitkeep', content: '' });
|
|
273
273
|
// ---------------------------------------------------------------- 03-设计
|
|
274
274
|
files.push({
|
|
275
275
|
path: '03-设计/需求分析.md',
|
|
276
|
-
content: `# 需求分析
|
|
277
|
-
|
|
278
|
-
${HEADER_NOTE}
|
|
279
|
-
|
|
280
|
-
> 规范见 \`thesis-eng-design\` 技能。功能需求编号 FR-x,非功能 NFR-x。
|
|
281
|
-
|
|
282
|
-
## 1 系统概述
|
|
283
|
-
|
|
284
|
-
<一句话:系统给谁用、解决什么问题>
|
|
285
|
-
|
|
286
|
-
## 2 功能需求
|
|
287
|
-
|
|
288
|
-
| 编号 | 功能 | 说明 | 优先级 |
|
|
289
|
-
|---|---|---|---|
|
|
290
|
-
| FR-1 | | | 高 |
|
|
291
|
-
|
|
292
|
-
## 3 非功能需求
|
|
293
|
-
|
|
294
|
-
| 编号 | 类别 | 要求 |
|
|
295
|
-
|---|---|---|
|
|
296
|
-
| NFR-1 | 性能 | |
|
|
297
|
-
| NFR-2 | 安全 | |
|
|
298
|
-
| NFR-3 | 易用性 | |
|
|
299
|
-
|
|
300
|
-
## 4 用例描述
|
|
301
|
-
|
|
302
|
-
<核心用例:参与者 → 操作 → 系统响应>
|
|
276
|
+
content: `# 需求分析
|
|
277
|
+
|
|
278
|
+
${HEADER_NOTE}
|
|
279
|
+
|
|
280
|
+
> 规范见 \`thesis-eng-design\` 技能。功能需求编号 FR-x,非功能 NFR-x。
|
|
281
|
+
|
|
282
|
+
## 1 系统概述
|
|
283
|
+
|
|
284
|
+
<一句话:系统给谁用、解决什么问题>
|
|
285
|
+
|
|
286
|
+
## 2 功能需求
|
|
287
|
+
|
|
288
|
+
| 编号 | 功能 | 说明 | 优先级 |
|
|
289
|
+
|---|---|---|---|
|
|
290
|
+
| FR-1 | | | 高 |
|
|
291
|
+
|
|
292
|
+
## 3 非功能需求
|
|
293
|
+
|
|
294
|
+
| 编号 | 类别 | 要求 |
|
|
295
|
+
|---|---|---|
|
|
296
|
+
| NFR-1 | 性能 | |
|
|
297
|
+
| NFR-2 | 安全 | |
|
|
298
|
+
| NFR-3 | 易用性 | |
|
|
299
|
+
|
|
300
|
+
## 4 用例描述
|
|
301
|
+
|
|
302
|
+
<核心用例:参与者 → 操作 → 系统响应>
|
|
303
303
|
`,
|
|
304
304
|
});
|
|
305
305
|
files.push({
|
|
306
306
|
path: '03-设计/系统设计.md',
|
|
307
|
-
content: `# 系统设计
|
|
308
|
-
|
|
309
|
-
${HEADER_NOTE}
|
|
310
|
-
|
|
311
|
-
## 1 总体架构
|
|
312
|
-
|
|
313
|
-
<架构图:可用 Mermaid(flowchart/architecture)>
|
|
314
|
-
|
|
315
|
-
## 2 模块划分
|
|
316
|
-
|
|
317
|
-
| 模块 | 职责 | 对外接口 |
|
|
318
|
-
|---|---|---|
|
|
319
|
-
|
|
320
|
-
## 3 数据库设计
|
|
321
|
-
|
|
322
|
-
<ER 图 + 关键表结构>
|
|
323
|
-
|
|
324
|
-
## 4 接口设计
|
|
325
|
-
|
|
326
|
-
<API/接口列表:路径、方法、参数、返回>
|
|
307
|
+
content: `# 系统设计
|
|
308
|
+
|
|
309
|
+
${HEADER_NOTE}
|
|
310
|
+
|
|
311
|
+
## 1 总体架构
|
|
312
|
+
|
|
313
|
+
<架构图:可用 Mermaid(flowchart/architecture)>
|
|
314
|
+
|
|
315
|
+
## 2 模块划分
|
|
316
|
+
|
|
317
|
+
| 模块 | 职责 | 对外接口 |
|
|
318
|
+
|---|---|---|
|
|
319
|
+
|
|
320
|
+
## 3 数据库设计
|
|
321
|
+
|
|
322
|
+
<ER 图 + 关键表结构>
|
|
323
|
+
|
|
324
|
+
## 4 接口设计
|
|
325
|
+
|
|
326
|
+
<API/接口列表:路径、方法、参数、返回>
|
|
327
327
|
`,
|
|
328
328
|
});
|
|
329
329
|
files.push({
|
|
330
330
|
path: '03-设计/技术选型论证.md',
|
|
331
|
-
content: `# 技术选型论证
|
|
332
|
-
|
|
333
|
-
${HEADER_NOTE}
|
|
334
|
-
|
|
335
|
-
> 答辩高频问题:"为什么选这个技术?" 每个选型按下面模板论证并写入决定日志。
|
|
336
|
-
|
|
337
|
-
| 选型项 | 选择 | 理由 | 备选 | 弃用备选的原因 |
|
|
338
|
-
|---|---|---|---|---|
|
|
339
|
-
| 后端框架 | | | | |
|
|
340
|
-
| 前端 | | | | |
|
|
341
|
-
| 数据库 | | | | |
|
|
342
|
-
| 部署 | | | | |
|
|
331
|
+
content: `# 技术选型论证
|
|
332
|
+
|
|
333
|
+
${HEADER_NOTE}
|
|
334
|
+
|
|
335
|
+
> 答辩高频问题:"为什么选这个技术?" 每个选型按下面模板论证并写入决定日志。
|
|
336
|
+
|
|
337
|
+
| 选型项 | 选择 | 理由 | 备选 | 弃用备选的原因 |
|
|
338
|
+
|---|---|---|---|---|
|
|
339
|
+
| 后端框架 | | | | |
|
|
340
|
+
| 前端 | | | | |
|
|
341
|
+
| 数据库 | | | | |
|
|
342
|
+
| 部署 | | | | |
|
|
343
343
|
`,
|
|
344
344
|
});
|
|
345
345
|
// ---------------------------------------------------------------- 04-实现
|
|
@@ -350,37 +350,37 @@ ${HEADER_NOTE}
|
|
|
350
350
|
// ---------------------------------------------------------- 05-实验测试
|
|
351
351
|
files.push({
|
|
352
352
|
path: '05-实验测试/测试计划.md',
|
|
353
|
-
content: `# 测试计划
|
|
354
|
-
|
|
355
|
-
${HEADER_NOTE}
|
|
356
|
-
|
|
357
|
-
| 用例 ID | 对应需求 | 步骤 | 预期结果 |
|
|
358
|
-
|---|---|---|---|
|
|
359
|
-
| TC-1 | FR-1 | | |
|
|
360
|
-
|
|
361
|
-
> 红线:所有结果必须真实运行获得,截图/数据存入 结果/ 目录并注明复现步骤。
|
|
353
|
+
content: `# 测试计划
|
|
354
|
+
|
|
355
|
+
${HEADER_NOTE}
|
|
356
|
+
|
|
357
|
+
| 用例 ID | 对应需求 | 步骤 | 预期结果 |
|
|
358
|
+
|---|---|---|---|
|
|
359
|
+
| TC-1 | FR-1 | | |
|
|
360
|
+
|
|
361
|
+
> 红线:所有结果必须真实运行获得,截图/数据存入 结果/ 目录并注明复现步骤。
|
|
362
362
|
`,
|
|
363
363
|
});
|
|
364
364
|
files.push({ path: '05-实验测试/结果/.gitkeep', content: '' });
|
|
365
365
|
// ---------------------------------------------------------------- 06-论文
|
|
366
366
|
files.push({
|
|
367
367
|
path: '06-论文/大纲.md',
|
|
368
|
-
content: `# 论文大纲
|
|
369
|
-
|
|
370
|
-
${HEADER_NOTE}
|
|
371
|
-
|
|
372
|
-
七章标准结构(计算机类毕设通用;以学校模板为准)。字数目标为常见要求
|
|
373
|
-
(总计约 1.5-2 万字),最终以学校文件为准。
|
|
374
|
-
|
|
375
|
-
| 章 | 内容 | 字数目标 |
|
|
376
|
-
|---|---|---|
|
|
377
|
-
| 1 绪论 | 背景、意义、国内外现状、本文工作与组织结构 | 2000-2500 |
|
|
378
|
-
| 2 相关技术 | 用到的关键技术介绍(结合文献笔记) | 1500-2500 |
|
|
379
|
-
| 3 需求分析 | 功能/非功能需求、用例 | 1500-2000 |
|
|
380
|
-
| 4 系统设计 | 架构、模块、数据库、接口 | 2500-3500 |
|
|
381
|
-
| 5 系统实现 | 关键模块实现细节(结合真实代码) | 3000-4000 |
|
|
382
|
-
| 6 系统测试 | 测试环境、用例、真实结果与分析 | 2000-3000 |
|
|
383
|
-
| 7 总结与展望 | 工作总结、不足与改进方向 | 800-1200 |
|
|
368
|
+
content: `# 论文大纲
|
|
369
|
+
|
|
370
|
+
${HEADER_NOTE}
|
|
371
|
+
|
|
372
|
+
七章标准结构(计算机类毕设通用;以学校模板为准)。字数目标为常见要求
|
|
373
|
+
(总计约 1.5-2 万字),最终以学校文件为准。
|
|
374
|
+
|
|
375
|
+
| 章 | 内容 | 字数目标 |
|
|
376
|
+
|---|---|---|
|
|
377
|
+
| 1 绪论 | 背景、意义、国内外现状、本文工作与组织结构 | 2000-2500 |
|
|
378
|
+
| 2 相关技术 | 用到的关键技术介绍(结合文献笔记) | 1500-2500 |
|
|
379
|
+
| 3 需求分析 | 功能/非功能需求、用例 | 1500-2000 |
|
|
380
|
+
| 4 系统设计 | 架构、模块、数据库、接口 | 2500-3500 |
|
|
381
|
+
| 5 系统实现 | 关键模块实现细节(结合真实代码) | 3000-4000 |
|
|
382
|
+
| 6 系统测试 | 测试环境、用例、真实结果与分析 | 2000-3000 |
|
|
383
|
+
| 7 总结与展望 | 工作总结、不足与改进方向 | 800-1200 |
|
|
384
384
|
`,
|
|
385
385
|
});
|
|
386
386
|
for (const [i, meta] of CHAPTER_META.entries()) {
|
|
@@ -392,81 +392,81 @@ ${HEADER_NOTE}
|
|
|
392
392
|
files.push({ path: '06-论文/图表/.gitkeep', content: '' });
|
|
393
393
|
files.push({
|
|
394
394
|
path: '06-论文/assets/学校模板/README.md',
|
|
395
|
-
content: `# 学校模板与规范
|
|
396
|
-
|
|
397
|
-
${HEADER_NOTE}
|
|
398
|
-
|
|
399
|
-
> 把学校发的所有规范文件放这里:论文模板(docx)、格式要求、字数要求、
|
|
400
|
-
> 引用规范、查重要求。\`thesis_build\` 与 \`thesis_check\` 以这里的文件为准。
|
|
401
|
-
> 尚未拿到时,构建工具会使用内置过渡模板并显式标注"非学校模板"。
|
|
402
|
-
|
|
403
|
-
获取渠道建议:教务处网站、学院通知、学长学姐。
|
|
395
|
+
content: `# 学校模板与规范
|
|
396
|
+
|
|
397
|
+
${HEADER_NOTE}
|
|
398
|
+
|
|
399
|
+
> 把学校发的所有规范文件放这里:论文模板(docx)、格式要求、字数要求、
|
|
400
|
+
> 引用规范、查重要求。\`thesis_build\` 与 \`thesis_check\` 以这里的文件为准。
|
|
401
|
+
> 尚未拿到时,构建工具会使用内置过渡模板并显式标注"非学校模板"。
|
|
402
|
+
|
|
403
|
+
获取渠道建议:教务处网站、学院通知、学长学姐。
|
|
404
404
|
`,
|
|
405
405
|
});
|
|
406
406
|
files.push({ path: '06-论文/产出/.gitkeep', content: '' });
|
|
407
407
|
// ---------------------------------------------------------------- 07-答辩
|
|
408
408
|
files.push({
|
|
409
409
|
path: '07-答辩/PPT大纲.md',
|
|
410
|
-
content: `# 答辩 PPT 大纲
|
|
411
|
-
|
|
412
|
-
${HEADER_NOTE}
|
|
413
|
-
|
|
414
|
-
> 标准 10-12 页,规范见 \`thesis-defense\` 技能。
|
|
415
|
-
|
|
416
|
-
1. 封面(课题/学生/导师)
|
|
417
|
-
2. 目录
|
|
418
|
-
3. 课题背景与意义
|
|
419
|
-
4. 国内外现状(1 页,图为主)
|
|
420
|
-
5. 需求分析(用例/功能点)
|
|
421
|
-
6. 系统总体设计(架构图)
|
|
422
|
-
7. 关键实现(2-3 页:核心模块 + 代码/界面截图)
|
|
423
|
-
8. 系统测试(真实数据图)
|
|
424
|
-
9. 总结与展望
|
|
425
|
-
10. 致谢/问答页
|
|
410
|
+
content: `# 答辩 PPT 大纲
|
|
411
|
+
|
|
412
|
+
${HEADER_NOTE}
|
|
413
|
+
|
|
414
|
+
> 标准 10-12 页,规范见 \`thesis-defense\` 技能。
|
|
415
|
+
|
|
416
|
+
1. 封面(课题/学生/导师)
|
|
417
|
+
2. 目录
|
|
418
|
+
3. 课题背景与意义
|
|
419
|
+
4. 国内外现状(1 页,图为主)
|
|
420
|
+
5. 需求分析(用例/功能点)
|
|
421
|
+
6. 系统总体设计(架构图)
|
|
422
|
+
7. 关键实现(2-3 页:核心模块 + 代码/界面截图)
|
|
423
|
+
8. 系统测试(真实数据图)
|
|
424
|
+
9. 总结与展望
|
|
425
|
+
10. 致谢/问答页
|
|
426
426
|
`,
|
|
427
427
|
});
|
|
428
428
|
files.push({
|
|
429
429
|
path: '07-答辩/问答演练.md',
|
|
430
|
-
content: `# 问答演练
|
|
431
|
-
|
|
432
|
-
${HEADER_NOTE}
|
|
433
|
-
|
|
434
|
-
> 预答辩问题库由 \`thesis_defense\` 工具根据论文与代码生成;
|
|
435
|
-
> 每次演练记录一问一答,重点练习"你的系统怎么实现的"。
|
|
436
|
-
|
|
437
|
-
(待演练)
|
|
430
|
+
content: `# 问答演练
|
|
431
|
+
|
|
432
|
+
${HEADER_NOTE}
|
|
433
|
+
|
|
434
|
+
> 预答辩问题库由 \`thesis_defense\` 工具根据论文与代码生成;
|
|
435
|
+
> 每次演练记录一问一答,重点练习"你的系统怎么实现的"。
|
|
436
|
+
|
|
437
|
+
(待演练)
|
|
438
438
|
`,
|
|
439
439
|
});
|
|
440
440
|
// ---------------------------------------------------------------- 08-合规
|
|
441
441
|
files.push({
|
|
442
442
|
path: '08-合规/自查报告.md',
|
|
443
|
-
content: `# 提交前自查报告
|
|
444
|
-
|
|
445
|
-
${HEADER_NOTE}
|
|
446
|
-
|
|
447
|
-
> 关卡 **G4** 的产物。\`thesis_check\` 与 \`thesis_stylecheck\` 的输出汇总于此,
|
|
448
|
-
> 用户确认已阅读后 G4 方可标记通过。
|
|
449
|
-
|
|
450
|
-
## 1 引用检查
|
|
451
|
-
|
|
452
|
-
<来自 thesis_check:每条引用 ↔ refs.bib 双向一致;全部真实可查>
|
|
453
|
-
|
|
454
|
-
## 2 格式检查
|
|
455
|
-
|
|
456
|
-
<来自 thesis_check:模板/图表编号/字数/术语一致性>
|
|
457
|
-
|
|
458
|
-
## 3 查重前自查
|
|
459
|
-
|
|
460
|
-
<重复风险段落清单与降重动作>
|
|
461
|
-
|
|
462
|
-
## 4 AI 味自查
|
|
463
|
-
|
|
464
|
-
<来自 thesis_stylecheck:需人工改写段落清单与处理记录>
|
|
465
|
-
|
|
466
|
-
## 5 用户确认
|
|
467
|
-
|
|
468
|
-
- [ ] 我已阅读本报告并完成相应修改。
|
|
469
|
-
- 确认人:________ 日期:________
|
|
443
|
+
content: `# 提交前自查报告
|
|
444
|
+
|
|
445
|
+
${HEADER_NOTE}
|
|
446
|
+
|
|
447
|
+
> 关卡 **G4** 的产物。\`thesis_check\` 与 \`thesis_stylecheck\` 的输出汇总于此,
|
|
448
|
+
> 用户确认已阅读后 G4 方可标记通过。
|
|
449
|
+
|
|
450
|
+
## 1 引用检查
|
|
451
|
+
|
|
452
|
+
<来自 thesis_check:每条引用 ↔ refs.bib 双向一致;全部真实可查>
|
|
453
|
+
|
|
454
|
+
## 2 格式检查
|
|
455
|
+
|
|
456
|
+
<来自 thesis_check:模板/图表编号/字数/术语一致性>
|
|
457
|
+
|
|
458
|
+
## 3 查重前自查
|
|
459
|
+
|
|
460
|
+
<重复风险段落清单与降重动作>
|
|
461
|
+
|
|
462
|
+
## 4 AI 味自查
|
|
463
|
+
|
|
464
|
+
<来自 thesis_stylecheck:需人工改写段落清单与处理记录>
|
|
465
|
+
|
|
466
|
+
## 5 用户确认
|
|
467
|
+
|
|
468
|
+
- [ ] 我已阅读本报告并完成相应修改。
|
|
469
|
+
- 确认人:________ 日期:________
|
|
470
470
|
`,
|
|
471
471
|
});
|
|
472
472
|
files.push({ path: '08-合规/格式检查报告/.gitkeep', content: '' });
|
|
@@ -525,24 +525,24 @@ export const CHAPTER_META = [
|
|
|
525
525
|
},
|
|
526
526
|
];
|
|
527
527
|
export function chapterTemplate(n, meta) {
|
|
528
|
-
return `# 第 ${n} 章 ${meta.title}
|
|
529
|
-
|
|
530
|
-
> 字数目标:${meta.words} 字(以学校要求为准)
|
|
531
|
-
> 写作规范:\`thesis-writing\` 技能;引用规范:\`thesis-citation\` 技能
|
|
532
|
-
> 本章通过关卡 G2 验收后,用 \`thesis_progress\` 标记。
|
|
533
|
-
|
|
534
|
-
## 大纲
|
|
535
|
-
|
|
536
|
-
${meta.outline.map(x => `- ${x}`).join('\n')}
|
|
537
|
-
|
|
538
|
-
## 正文
|
|
539
|
-
|
|
540
|
-
(写作要求:基于真实素材——文献笔记、03-设计文档、04-实现代码、05-实验测试结果——逐段撰写;写完后执行 G2 验收)
|
|
541
|
-
|
|
542
|
-
## 本章 G2 验收清单
|
|
543
|
-
|
|
544
|
-
${meta.checklist.map(x => `- [ ] ${x}`).join('\n')}
|
|
545
|
-
- [ ] 用户已阅读本章并完成修改,书面确认验收
|
|
528
|
+
return `# 第 ${n} 章 ${meta.title}
|
|
529
|
+
|
|
530
|
+
> 字数目标:${meta.words} 字(以学校要求为准)
|
|
531
|
+
> 写作规范:\`thesis-writing\` 技能;引用规范:\`thesis-citation\` 技能
|
|
532
|
+
> 本章通过关卡 G2 验收后,用 \`thesis_progress\` 标记。
|
|
533
|
+
|
|
534
|
+
## 大纲
|
|
535
|
+
|
|
536
|
+
${meta.outline.map(x => `- ${x}`).join('\n')}
|
|
537
|
+
|
|
538
|
+
## 正文
|
|
539
|
+
|
|
540
|
+
(写作要求:基于真实素材——文献笔记、03-设计文档、04-实现代码、05-实验测试结果——逐段撰写;写完后执行 G2 验收)
|
|
541
|
+
|
|
542
|
+
## 本章 G2 验收清单
|
|
543
|
+
|
|
544
|
+
${meta.checklist.map(x => `- [ ] ${x}`).join('\n')}
|
|
545
|
+
- [ ] 用户已阅读本章并完成修改,书面确认验收
|
|
546
546
|
`;
|
|
547
547
|
}
|
|
548
548
|
/** 章节文件列表(供工具与测试使用)。 */
|