@dongfangw/study-kit 0.1.2 → 0.1.3

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.
Files changed (41) hide show
  1. package/README.md +46 -2
  2. package/ext/adoc-convert/index.mjs +62 -62
  3. package/lib/client.js +1858 -160
  4. package/lib/client.js.map +1 -1
  5. package/lib/index.d.ts.map +1 -1
  6. package/lib/index.js +30 -15
  7. package/lib/index.js.map +1 -1
  8. package/lib/libPath.d.ts +28 -0
  9. package/lib/libPath.d.ts.map +1 -0
  10. package/lib/libPath.js +36 -0
  11. package/lib/libPath.js.map +1 -0
  12. package/lib/pdf.d.ts +31 -0
  13. package/lib/pdf.d.ts.map +1 -0
  14. package/lib/pdf.js +174 -0
  15. package/lib/pdf.js.map +1 -0
  16. package/lib/render.d.ts.map +1 -1
  17. package/lib/render.js +58 -1
  18. package/lib/render.js.map +1 -1
  19. package/lib/tools.d.ts.map +1 -1
  20. package/lib/tools.js +8 -0
  21. package/lib/tools.js.map +1 -1
  22. package/lib/types/client/LibraryWorkspace.d.ts.map +1 -1
  23. package/lib/types/client/PdfViewer.d.ts +15 -0
  24. package/lib/types/client/PdfViewer.d.ts.map +1 -0
  25. package/lib/types/client/annotations.d.ts +26 -2
  26. package/lib/types/client/annotations.d.ts.map +1 -1
  27. package/lib/types/client/docEnhance.d.ts.map +1 -1
  28. package/lib/types/client/docKey.d.ts +8 -0
  29. package/lib/types/client/docKey.d.ts.map +1 -1
  30. package/lib/types/client/pdfAnno.d.ts +44 -0
  31. package/lib/types/client/pdfAnno.d.ts.map +1 -0
  32. package/lib/types/client/pdfPos.d.ts +27 -0
  33. package/lib/types/client/pdfPos.d.ts.map +1 -0
  34. package/lib/types/client/pdfjs.d.ts +87 -0
  35. package/lib/types/client/pdfjs.d.ts.map +1 -0
  36. package/lib/types/client/styles.module.css.gen.d.ts.map +1 -1
  37. package/package.json +140 -138
  38. package/skills/aero-concept-qa/SKILL.md +59 -59
  39. package/skills/aero-learning-path/SKILL.md +55 -55
  40. package/skills/aero-study-guide/SKILL.md +47 -47
  41. package/skills/aero-think/SKILL.md +59 -59
package/package.json CHANGED
@@ -1,138 +1,140 @@
1
- {
2
- "name": "@dongfangw/study-kit",
3
- "version": "0.1.2",
4
- "description": "AI 学伴:把任意「带清单的内容库」变成可读、可搜、可标注、可问的学习台;支持多库与私人库隔离",
5
- "type": "module",
6
- "license": "AGPL-3.0-or-later",
7
- "main": "lib/index.js",
8
- "types": "lib/index.d.ts",
9
- "dsh": {
10
- "bundle": {
11
- "patch": "./cordis.patch.yml"
12
- },
13
- "client": {
14
- "platform": "web",
15
- "inject": [
16
- "@deepseek-ai/dsh-api-session-controller",
17
- "@deepseek-ai/dsh-client-ui-conversation",
18
- "@deepseek-ai/dsh-client-ui-renderer",
19
- "@deepseek-ai/dsh-client-ui-session",
20
- "@deepseek-ai/dsh-client-ui-workspace"
21
- ]
22
- }
23
- },
24
- "exports": {
25
- ".": {
26
- "types": "./lib/index.d.ts",
27
- "default": "./lib/index.js"
28
- },
29
- "./client": {
30
- "types": "./lib/types/client/index.d.ts",
31
- "default": "./lib/client.js"
32
- },
33
- "./package.json": "./package.json"
34
- },
35
- "files": [
36
- "lib",
37
- "ext",
38
- "skills",
39
- "cordis.patch.yml",
40
- "README.md"
41
- ],
42
- "scripts": {
43
- "build": "node scripts/gen-css-modules.mjs \u0026\u0026 tsc -p tsconfig.json \u0026\u0026 tsc -p tsconfig.client.json \u0026\u0026 node node_modules/tsdown/dist/run.mjs",
44
- "typecheck": "tsc -p tsconfig.json --noEmit",
45
- "typecheck:client": "tsc -p tsconfig.client.json --noEmit",
46
- "test": "node test/run-all.mjs",
47
- "audit": "node scripts/audit.mjs",
48
- "gen:css": "node scripts/gen-css-modules.mjs",
49
- "check:css": "node scripts/gen-css-modules.mjs --check",
50
- "smoke": "node test/plugin-smoke.mjs"
51
- },
52
- "dependencies": {
53
- "@dongfangw/library-core": "^0.1.0",
54
- "@asciidoctor/core": "^3.0.4",
55
- "katex": "^0.16.22",
56
- "markdown-it": "^14.1.0",
57
- "yaml": "^2.9.0"
58
- },
59
- "peerDependencies": {
60
- "@deepseek-ai/cordis": "~4.0.4",
61
- "@deepseek-ai/dsh-agent": "\u003e=0.2.0-rc.2",
62
- "@deepseek-ai/dsh-api-session-controller": "\u003e=0.2.0-rc.2",
63
- "@deepseek-ai/dsh-client-ui-conversation": "\u003e=0.2.0-rc.2",
64
- "@deepseek-ai/dsh-client-ui-renderer": "\u003e=0.2.0-rc.2",
65
- "@deepseek-ai/dsh-client-ui-session": "\u003e=0.2.0-rc.2",
66
- "@deepseek-ai/dsh-client-ui-slots": "\u003e=0.2.0-rc.2",
67
- "@deepseek-ai/dsh-client-ui-workspace": "\u003e=0.2.0-rc.2",
68
- "@deepseek-ai/dsh-host-webserver": "\u003e=0.2.0-rc.2",
69
- "@deepseek-ai/dsh-session": "\u003e=0.2.0-rc.2",
70
- "@deepseek-ai/dsh-tools": "\u003e=0.2.0-rc.2",
71
- "react": "\u003e=18.2.0"
72
- },
73
- "devDependencies": {
74
- "@deepseek-ai/cordis": "4.0.4",
75
- "@deepseek-ai/dsh-agent": "0.2.0-rc.2",
76
- "@deepseek-ai/dsh-api-session-controller": "0.2.0-rc.2",
77
- "@deepseek-ai/dsh-client-ui-conversation": "0.2.0-rc.2",
78
- "@deepseek-ai/dsh-client-ui-renderer": "0.2.0-rc.2",
79
- "@deepseek-ai/dsh-client-ui-session": "0.2.0-rc.2",
80
- "@deepseek-ai/dsh-client-ui-slots": "0.2.0-rc.2",
81
- "@deepseek-ai/dsh-client-ui-workspace": "0.2.0-rc.2",
82
- "@deepseek-ai/dsh-host-webserver": "0.2.0-rc.2",
83
- "@deepseek-ai/dsh-session": "0.2.0-rc.2",
84
- "@deepseek-ai/dsh-tools": "0.2.0-rc.2",
85
- "@types/markdown-it": "^14.1.2",
86
- "@types/node": "^22.20.0",
87
- "@types/react": "^18.3.1",
88
- "@types/react-dom": "^18.3.7",
89
- "lightningcss": "^1.33.0",
90
- "react": "18.3.1",
91
- "react-dom": "^18.3.1",
92
- "tsdown": "^0.22.14",
93
- "typescript": "^6.0.3"
94
- },
95
- "repository": {
96
- "type": "git",
97
- "url": "git+https://gitee.com/dongfangW/aero-study-kit.git"
98
- },
99
- "homepage": "https://gitee.com/dongfangW/aero-study-kit",
100
- "peerDependenciesMeta": {
101
- "@deepseek-ai/cordis": {
102
- "optional": true
103
- },
104
- "@deepseek-ai/dsh-agent": {
105
- "optional": true
106
- },
107
- "@deepseek-ai/dsh-api-session-controller": {
108
- "optional": true
109
- },
110
- "@deepseek-ai/dsh-client-ui-conversation": {
111
- "optional": true
112
- },
113
- "@deepseek-ai/dsh-client-ui-renderer": {
114
- "optional": true
115
- },
116
- "@deepseek-ai/dsh-client-ui-session": {
117
- "optional": true
118
- },
119
- "@deepseek-ai/dsh-client-ui-slots": {
120
- "optional": true
121
- },
122
- "@deepseek-ai/dsh-client-ui-workspace": {
123
- "optional": true
124
- },
125
- "@deepseek-ai/dsh-host-webserver": {
126
- "optional": true
127
- },
128
- "@deepseek-ai/dsh-session": {
129
- "optional": true
130
- },
131
- "@deepseek-ai/dsh-tools": {
132
- "optional": true
133
- },
134
- "react": {
135
- "optional": true
136
- }
137
- }
138
- }
1
+ {
2
+ "name": "@dongfangw/study-kit",
3
+ "version": "0.1.3",
4
+ "description": "AI 学伴:把任意「带清单的内容库」变成可读、可搜、可标注、可问的学习台;支持多库与私人库隔离",
5
+ "type": "module",
6
+ "license": "AGPL-3.0-or-later",
7
+ "main": "lib/index.js",
8
+ "types": "lib/index.d.ts",
9
+ "dsh": {
10
+ "bundle": {
11
+ "patch": "./cordis.patch.yml"
12
+ },
13
+ "client": {
14
+ "platform": "web",
15
+ "inject": [
16
+ "@deepseek-ai/dsh-api-session-controller",
17
+ "@deepseek-ai/dsh-client-ui-conversation",
18
+ "@deepseek-ai/dsh-client-ui-renderer",
19
+ "@deepseek-ai/dsh-client-ui-session",
20
+ "@deepseek-ai/dsh-client-ui-workspace"
21
+ ]
22
+ }
23
+ },
24
+ "exports": {
25
+ ".": {
26
+ "types": "./lib/index.d.ts",
27
+ "default": "./lib/index.js"
28
+ },
29
+ "./client": {
30
+ "types": "./lib/types/client/index.d.ts",
31
+ "default": "./lib/client.js"
32
+ },
33
+ "./package.json": "./package.json"
34
+ },
35
+ "files": [
36
+ "lib",
37
+ "ext",
38
+ "skills",
39
+ "cordis.patch.yml",
40
+ "README.md"
41
+ ],
42
+ "scripts": {
43
+ "build": "node scripts/gen-css-modules.mjs \u0026\u0026 tsc -p tsconfig.json \u0026\u0026 tsc -p tsconfig.client.json \u0026\u0026 node node_modules/tsdown/dist/run.mjs",
44
+ "typecheck": "tsc -p tsconfig.json --noEmit",
45
+ "typecheck:client": "tsc -p tsconfig.client.json --noEmit",
46
+ "test": "node test/run-all.mjs",
47
+ "audit": "node scripts/audit.mjs",
48
+ "gen:css": "node scripts/gen-css-modules.mjs",
49
+ "check:css": "node scripts/gen-css-modules.mjs --check",
50
+ "smoke": "node test/plugin-smoke.mjs",
51
+ "probe:pdf": "node scripts/pdf-harness.mjs"
52
+ },
53
+ "dependencies": {
54
+ "@dongfangw/library-core": "^0.1.0",
55
+ "@asciidoctor/core": "^3.0.4",
56
+ "katex": "^0.16.22",
57
+ "markdown-it": "^14.1.0",
58
+ "pdfjs-dist": "^4.10.38",
59
+ "yaml": "^2.9.0"
60
+ },
61
+ "peerDependencies": {
62
+ "@deepseek-ai/cordis": "~4.0.4",
63
+ "@deepseek-ai/dsh-agent": "\u003e=0.2.0-rc.2",
64
+ "@deepseek-ai/dsh-api-session-controller": "\u003e=0.2.0-rc.2",
65
+ "@deepseek-ai/dsh-client-ui-conversation": "\u003e=0.2.0-rc.2",
66
+ "@deepseek-ai/dsh-client-ui-renderer": "\u003e=0.2.0-rc.2",
67
+ "@deepseek-ai/dsh-client-ui-session": "\u003e=0.2.0-rc.2",
68
+ "@deepseek-ai/dsh-client-ui-slots": "\u003e=0.2.0-rc.2",
69
+ "@deepseek-ai/dsh-client-ui-workspace": "\u003e=0.2.0-rc.2",
70
+ "@deepseek-ai/dsh-host-webserver": "\u003e=0.2.0-rc.2",
71
+ "@deepseek-ai/dsh-session": "\u003e=0.2.0-rc.2",
72
+ "@deepseek-ai/dsh-tools": "\u003e=0.2.0-rc.2",
73
+ "react": "\u003e=18.2.0"
74
+ },
75
+ "devDependencies": {
76
+ "@deepseek-ai/cordis": "4.0.4",
77
+ "@deepseek-ai/dsh-agent": "0.2.0-rc.2",
78
+ "@deepseek-ai/dsh-api-session-controller": "0.2.0-rc.2",
79
+ "@deepseek-ai/dsh-client-ui-conversation": "0.2.0-rc.2",
80
+ "@deepseek-ai/dsh-client-ui-renderer": "0.2.0-rc.2",
81
+ "@deepseek-ai/dsh-client-ui-session": "0.2.0-rc.2",
82
+ "@deepseek-ai/dsh-client-ui-slots": "0.2.0-rc.2",
83
+ "@deepseek-ai/dsh-client-ui-workspace": "0.2.0-rc.2",
84
+ "@deepseek-ai/dsh-host-webserver": "0.2.0-rc.2",
85
+ "@deepseek-ai/dsh-session": "0.2.0-rc.2",
86
+ "@deepseek-ai/dsh-tools": "0.2.0-rc.2",
87
+ "@types/markdown-it": "^14.1.2",
88
+ "@types/node": "^22.20.0",
89
+ "@types/react": "^18.3.1",
90
+ "@types/react-dom": "^18.3.7",
91
+ "lightningcss": "^1.33.0",
92
+ "react": "18.3.1",
93
+ "react-dom": "^18.3.1",
94
+ "tsdown": "^0.22.14",
95
+ "typescript": "^6.0.3"
96
+ },
97
+ "repository": {
98
+ "type": "git",
99
+ "url": "git+https://gitee.com/dongfangW/aero-study-kit.git"
100
+ },
101
+ "homepage": "https://gitee.com/dongfangW/aero-study-kit",
102
+ "peerDependenciesMeta": {
103
+ "@deepseek-ai/cordis": {
104
+ "optional": true
105
+ },
106
+ "@deepseek-ai/dsh-agent": {
107
+ "optional": true
108
+ },
109
+ "@deepseek-ai/dsh-api-session-controller": {
110
+ "optional": true
111
+ },
112
+ "@deepseek-ai/dsh-client-ui-conversation": {
113
+ "optional": true
114
+ },
115
+ "@deepseek-ai/dsh-client-ui-renderer": {
116
+ "optional": true
117
+ },
118
+ "@deepseek-ai/dsh-client-ui-session": {
119
+ "optional": true
120
+ },
121
+ "@deepseek-ai/dsh-client-ui-slots": {
122
+ "optional": true
123
+ },
124
+ "@deepseek-ai/dsh-client-ui-workspace": {
125
+ "optional": true
126
+ },
127
+ "@deepseek-ai/dsh-host-webserver": {
128
+ "optional": true
129
+ },
130
+ "@deepseek-ai/dsh-session": {
131
+ "optional": true
132
+ },
133
+ "@deepseek-ai/dsh-tools": {
134
+ "optional": true
135
+ },
136
+ "react": {
137
+ "optional": true
138
+ }
139
+ }
140
+ }
@@ -1,65 +1,65 @@
1
- ---
2
- name: aero-concept-qa
3
- description: 解答《空气动力学基础》概念/公式/习题疑问。检索中文教材(权威基准)、英文参考书(多视角)、习题解答(仅教师端)、知识图谱,给出带来源标注、经数值验算的准确答案。触发词:"为什么""什么是""帮我解释""这题怎么做""概念辨析""公式推导"。
4
- ---
1
+ ---
2
+ name: aero-concept-qa
3
+ description: 解答《空气动力学基础》概念/公式/习题疑问。检索中文教材(权威基准)、英文参考书(多视角)、习题解答(仅教师端)、知识图谱,给出带来源标注、经数值验算的准确答案。触发词:"为什么""什么是""帮我解释""这题怎么做""概念辨析""公式推导"。
4
+ ---
5
5
 
6
6
  ## 0. 先确定"在哪个库、骨架是什么"(不要凭记忆答)
7
7
 
8
8
  1. 先调 `kb_libraries` 看当前挂载了哪些库、每个库的 `outline`(学习路径骨架)。
9
9
  2. `outline` 非空 → **以它为准**组织章节顺序;为空 → 再读该库的目录树(`kb_catalog`)按一级目录归纳。
10
10
  3. 本文件后面的章节表只是**某一门课的示例**:库清单里的 `outline` 与它冲突时,一律以清单为准。
11
-
12
- # 空气动力学答疑(aero-concept-qa)
13
-
14
- > 📖 **检索优先级(新增)**:先查 `knowledge-base/`(**两册知识手册**:全速域主册 + 数学基础手册,均为 `aero_kb_search` 首位检索源,条目自带来源标注与教材节映射),再以 `textbook/空气动力学基础-曾明/` 原文定基准,英文参考书补多视角。跨声速/高超声速/高温等教材外问题以知识手册编IV–VII 为主要依据。
15
- >
16
- > 🧮 **纯数学疑问先查数学基础手册**:问题若落在「矢量/张量怎么算、∇/散度/旋度/高斯–斯托克斯定理、正交曲线坐标公式、复变与复势、PDE 辨型与特征线、泰勒/量纲/Fourier/相似变量」这些**数学工具本身**(而非气动物理),优先检索 `knowledge-base/数学基础/正文/` 的对应 M 节(M01–M09,三编九章 28 节);气动衔接与教材基准仍以主册与曾明教材为准。
17
-
18
- ## 一、答疑流程(务必按顺序)
19
-
20
- 1. **定位章节**:先判断问题属于哪一章(§0 绪论 ~ §7 翼型),用 `aero-learning-path` 的章节表定位
21
- 2. **查教材(权威基准)**:检索曾明教材正文,公式/定义/结论以教材原文为准
22
- 3. **查参考书(多视角)**:英文教材补充物理直觉/历史/辨析,但**不得与教材冲突**,冲突以教材为准
23
- 4. **查习题**:若是题目,查 `习题集与解答/` 对应章(**仅教师端可读**:`aero_kb_catalog` 在
24
- 学习模式下只显示「教师端内容」占位分组,`aero_kb_search` 跳过该目录、`aero_kb_read` 拒绝该路径;
25
- 教师端以 `AERO_TEACHER_MODE=1` 启动可读)。学生问作业题时给**思路/公式/教材依据**,
26
- **不搬运官方解答**,也不要凭记忆编造"标准答案"
27
- 5. **数值验算**:所有具体数值现场用代码算一遍再回填
28
- 6. **标来源**:答案标注"教材 §X.Y"或"参考书书名 §章节"
29
-
30
- ## 二、检索命令
31
-
32
- ```bash
33
- # 教材正文关键词检索(把 <aero> 换成实际工作区路径)
34
- cd <aero>/textbook
35
- grep -rn "关键词" "空气动力学基础-曾明/第N章_"*/ # 章级检索
36
- ls "空气动力学基础-曾明/" # 看有哪些章
37
-
38
- # 英文参考书(Anderson FoA / Bertin / Schlichting 等)
39
- ls "参考书/" # 看有哪些书
40
- grep -rn "关键词" "参考书/Anderson-FoA-6e/" --include='*.md' -l | head
41
-
42
- # 知识图谱(概念关系,绪论/可压缩流/黏性流三章有 YAML)
43
- cat "知识图谱/source/06-黏性不可压流.yaml" | head -60
44
-
45
- # 习题解答(仅教师端:学习模式下 aero_kb_read/search 会拒绝/跳过本目录)
46
- ls "习题集与解答/"
47
- grep -n "题号/关键词" "习题集与解答/"*.md
48
- ```
49
-
50
- ## 三、回答规范
51
-
52
- - **定义/公式**:先给教材原文表述,再给通俗解释,最后给物理意义
53
- - **推导**:逐步推导,标出每一步用了哪个定理/假设,不跳步
54
- - **易混辨析**:明确"X 和 Y 的区别"(如无滑移 vs 不渗透、层流 vs 湍流、欧拉描述 vs 拉格朗日描述)
55
- - **数值题**:列式 → 代入 → 结果,用 `python3 -c` 现场验算
56
- - **习题(学生作业)**:给思路、公式与教材依据,**不给出成品解答**;辅导不代做,具体数值可示范
57
- 同类例题的验算(例:用教材例题参数重算),不复制作业题的官方答案
58
- - **超纲内容**:若答案涉及教材外知识(如面元法、茹氏变换、Re_crit=40),明确标注"教材外拓展 + 来源"
59
-
60
- ## 四、常见陷阱(历史教训)
61
-
62
- - 平板边界层临界 Re=5×10⁵ 是以**流向距离 x** 为特征长度,与管流(管径 d,2320)、圆柱(直径 d,40)口径不同,不可直接比较
63
- - "无滑移"约束切向速度、"不渗透"约束法向速度,两者不是一回事
64
- - 理想流体绕圆柱零阻力(达朗贝尔佯谬)是**无滑移缺失**导致的,不是"理想流体无黏所以无摩擦"这么简单
65
- - 湍流摩擦阻力大但抗分离强——"湍流双刃剑",判断优劣要看具体问题
11
+
12
+ # 空气动力学答疑(aero-concept-qa)
13
+
14
+ > 📖 **检索优先级(新增)**:先查 `knowledge-base/`(**两册知识手册**:全速域主册 + 数学基础手册,均为 `kb_search` 首位检索源,条目自带来源标注与教材节映射),再以 `textbook/空气动力学基础-曾明/` 原文定基准,英文参考书补多视角。跨声速/高超声速/高温等教材外问题以知识手册编IV–VII 为主要依据。
15
+ >
16
+ > 🧮 **纯数学疑问先查数学基础手册**:问题若落在「矢量/张量怎么算、∇/散度/旋度/高斯–斯托克斯定理、正交曲线坐标公式、复变与复势、PDE 辨型与特征线、泰勒/量纲/Fourier/相似变量」这些**数学工具本身**(而非气动物理),优先检索 `knowledge-base/数学基础/正文/` 的对应 M 节(M01–M09,三编九章 28 节);气动衔接与教材基准仍以主册与曾明教材为准。
17
+
18
+ ## 一、答疑流程(务必按顺序)
19
+
20
+ 1. **定位章节**:先判断问题属于哪一章(§0 绪论 ~ §7 翼型),用 `aero-learning-path` 的章节表定位
21
+ 2. **查教材(权威基准)**:检索曾明教材正文,公式/定义/结论以教材原文为准
22
+ 3. **查参考书(多视角)**:英文教材补充物理直觉/历史/辨析,但**不得与教材冲突**,冲突以教材为准
23
+ 4. **查习题**:若是题目,查 `习题集与解答/` 对应章(**仅教师端可读**:`kb_catalog` 在
24
+ 学习模式下只显示「教师端内容」占位分组,`kb_search` 跳过该目录、`kb_read` 拒绝该路径;
25
+ 教师端以 `AERO_TEACHER_MODE=1` 启动可读)。学生问作业题时给**思路/公式/教材依据**,
26
+ **不搬运官方解答**,也不要凭记忆编造"标准答案"
27
+ 5. **数值验算**:所有具体数值现场用代码算一遍再回填
28
+ 6. **标来源**:答案标注"教材 §X.Y"或"参考书书名 §章节"
29
+
30
+ ## 二、检索命令
31
+
32
+ ```bash
33
+ # 教材正文关键词检索(把 <aero> 换成实际工作区路径)
34
+ cd <aero>/textbook
35
+ grep -rn "关键词" "空气动力学基础-曾明/第N章_"*/ # 章级检索
36
+ ls "空气动力学基础-曾明/" # 看有哪些章
37
+
38
+ # 英文参考书(Anderson FoA / Bertin / Schlichting 等)
39
+ ls "参考书/" # 看有哪些书
40
+ grep -rn "关键词" "参考书/Anderson-FoA-6e/" --include='*.md' -l | head
41
+
42
+ # 知识图谱(概念关系,绪论/可压缩流/黏性流三章有 YAML)
43
+ cat "知识图谱/source/06-黏性不可压流.yaml" | head -60
44
+
45
+ # 习题解答(仅教师端:学习模式下 kb_read/search 会拒绝/跳过本目录)
46
+ ls "习题集与解答/"
47
+ grep -n "题号/关键词" "习题集与解答/"*.md
48
+ ```
49
+
50
+ ## 三、回答规范
51
+
52
+ - **定义/公式**:先给教材原文表述,再给通俗解释,最后给物理意义
53
+ - **推导**:逐步推导,标出每一步用了哪个定理/假设,不跳步
54
+ - **易混辨析**:明确"X 和 Y 的区别"(如无滑移 vs 不渗透、层流 vs 湍流、欧拉描述 vs 拉格朗日描述)
55
+ - **数值题**:列式 → 代入 → 结果,用 `python3 -c` 现场验算
56
+ - **习题(学生作业)**:给思路、公式与教材依据,**不给出成品解答**;辅导不代做,具体数值可示范
57
+ 同类例题的验算(例:用教材例题参数重算),不复制作业题的官方答案
58
+ - **超纲内容**:若答案涉及教材外知识(如面元法、茹氏变换、Re_crit=40),明确标注"教材外拓展 + 来源"
59
+
60
+ ## 四、常见陷阱(历史教训)
61
+
62
+ - 平板边界层临界 Re=5×10⁵ 是以**流向距离 x** 为特征长度,与管流(管径 d,2320)、圆柱(直径 d,40)口径不同,不可直接比较
63
+ - "无滑移"约束切向速度、"不渗透"约束法向速度,两者不是一回事
64
+ - 理想流体绕圆柱零阻力(达朗贝尔佯谬)是**无滑移缺失**导致的,不是"理想流体无黏所以无摩擦"这么简单
65
+ - 湍流摩擦阻力大但抗分离强——"湍流双刃剑",判断优劣要看具体问题
@@ -1,61 +1,61 @@
1
- ---
2
- name: aero-learning-path
3
- description: 《空气动力学基础》知识框架导航。按 9 章结构梳理知识地图、章节间依赖关系、学习路线,帮学生建立整体认知框架。触发词:"知识框架""学习路线""第X章讲什么""章节关系""知识地图""思维导图"。
4
- ---
1
+ ---
2
+ name: aero-learning-path
3
+ description: 《空气动力学基础》知识框架导航。按 9 章结构梳理知识地图、章节间依赖关系、学习路线,帮学生建立整体认知框架。触发词:"知识框架""学习路线""第X章讲什么""章节关系""知识地图""思维导图"。
4
+ ---
5
5
 
6
6
  ## 0. 先确定"在哪个库、骨架是什么"(不要凭记忆答)
7
7
 
8
8
  1. 先调 `kb_libraries` 看当前挂载了哪些库、每个库的 `outline`(学习路径骨架)。
9
9
  2. `outline` 非空 → **以它为准**组织章节顺序;为空 → 再读该库的目录树(`kb_catalog`)按一级目录归纳。
10
10
  3. 本文件后面的章节表只是**某一门课的示例**:库清单里的 `outline` 与它冲突时,一律以清单为准。
11
-
12
- # 空气动力学知识框架导航(aero-learning-path)
13
-
14
- > 📖 **全速域知识手册(knowledge-base/正文/)**:8 编 36 章的结构化知识地图(基础→低速→亚/跨/超声速→高超声速→高温→应用),每节带教材节映射与来源标注。梳理知识框架时优先从 `knowledge-base/正文/index.adoc` 与各章「章导学」入手,再下钻教材原文与知识图谱。
15
- >
16
- > 🧮 **数学基础手册(knowledge-base/数学基础/正文/)**:3 编 9 章 28 节的**数学前置工具链**,与主册并列、独立学习路径——阶段 1 代数与张量(M01–M02)→ 阶段 2 场论(M03–M06)→ 阶段 3 方程与近似工具(M07–M09,按需读)。当学生在主册某节被数学卡住(应力张量、∇ 算子、复势、特征线、量纲分析、Fourier 展开),用 `aero_kb_search` 定位对应 M 节即可;入口 `knowledge-base/数学基础/正文/index.adoc`。
17
-
18
- ## 一、全书 9 章结构(公共坐标)
19
-
20
- | 章 | 标题 | 核心内容 | 前后依赖 |
21
- |---|---|---|---|
22
- | 0 绪论 | 空气动力学概论 | 学科定义、速度分类、风洞/CFD 方法 | 全书入口 |
23
- | 1 | 流体物理属性与静力学 | 连续介质、黏性、完全气体、标准大气 | 前承高中物理 |
24
- | 2 | 流体运动学基础 | 欧拉/拉格朗日描述、流线、涡量 | 前承 §1 |
25
- | 3 | 流体动力学基本方程组 | 连续方程、N-S 方程、能量方程、相似参数 | 前承 §2,全书核心 |
26
- | 4 | 理想不可压平面无旋流动 | 势函数、叠加法、圆柱绕流、升力定理 | 前承 §3(无黏特例) |
27
- | 5 | 无黏可压缩流动 | 声速、激波、膨胀波、喷管 | 前承 §3(可压缩) |
28
- | 6 | 黏性不可压流动与边界层 | 无滑移、Re、边界层、分离、湍流 | 前承 §3(黏性) |
29
- | 7 | 翼型与细长旋成体气动特性 | 翼型几何、薄翼理论、相似法则、面积律 | 前承 §4/§5/§6 综合 |
30
-
31
- ## 二、主学习路线(建议顺序)
32
-
33
- ```
34
- §0 绪论(建立全貌)
35
- → §1 流体属性(定义黏性/可压缩性等基本量)
36
- → §2 运动学(怎么描述流动)
37
- → §3 基本方程组(N-S 是全书"宪法",先记形式后懂推导)
38
- → 分三条线:
39
- ├─ 无黏线:§4(不可压势流)→ §5(可压缩流,激波)
40
- ├─ 黏性线:§6(边界层,阻力从哪来)
41
- └─ 应用线:§7(翼型/旋成体,把前面全串起来)
42
- ```
43
-
44
- ## 三、关键"枢纽概念"(理解这些就抓住了主干)
45
-
46
- - **无滑移条件**(§6.1):黏流与理想流的本质分界 → 引出边界层 → 阻力
47
- - **雷诺数 Re**(§3.9 / §6.1):惯性力/黏性力之比,也是"流态开关"
48
- - **N-S 方程**(§3.3):全书基本方程,解析解极少 → 引出近似/数值两条路
49
- - **环量 Γ 与升力定理**(§4.5):$L=\rho V_\infty\Gamma$,升力的统一来源
50
- - **激波**(§5.3/5.4):超声速的熵增、压力突跃
51
-
52
- ## 四、知识图谱用法
53
-
54
- `textbook/知识图谱/source/*.yaml` 有绪论/可压缩流/黏性流三章的概念关系(parent 树 + prerequisite 前置边)。问"X 概念的前置是什么""X 和 Y 什么关系"时,先查图谱再查教材正文。
55
-
56
- ## 五、每章学习闭环
57
-
58
- 1. 先看该章 `第N章_关键知识点与思维导图.md`(教材自带重点提炼)
59
- 2. 再读教材正文,逐个公式做"定义→推导→物理意义→工程应用"四问
60
- 3. 做对应章习题,错题回教材找依据
61
- 4. 用 `aero-think` 把本章串成一条因果链
11
+
12
+ # 空气动力学知识框架导航(aero-learning-path)
13
+
14
+ > 📖 **全速域知识手册(knowledge-base/正文/)**:8 编 36 章的结构化知识地图(基础→低速→亚/跨/超声速→高超声速→高温→应用),每节带教材节映射与来源标注。梳理知识框架时优先从 `knowledge-base/正文/index.adoc` 与各章「章导学」入手,再下钻教材原文与知识图谱。
15
+ >
16
+ > 🧮 **数学基础手册(knowledge-base/数学基础/正文/)**:3 编 9 章 28 节的**数学前置工具链**,与主册并列、独立学习路径——阶段 1 代数与张量(M01–M02)→ 阶段 2 场论(M03–M06)→ 阶段 3 方程与近似工具(M07–M09,按需读)。当学生在主册某节被数学卡住(应力张量、∇ 算子、复势、特征线、量纲分析、Fourier 展开),用 `aero_kb_search` 定位对应 M 节即可;入口 `knowledge-base/数学基础/正文/index.adoc`。
17
+
18
+ ## 一、全书 9 章结构(公共坐标)
19
+
20
+ | 章 | 标题 | 核心内容 | 前后依赖 |
21
+ |---|---|---|---|
22
+ | 0 绪论 | 空气动力学概论 | 学科定义、速度分类、风洞/CFD 方法 | 全书入口 |
23
+ | 1 | 流体物理属性与静力学 | 连续介质、黏性、完全气体、标准大气 | 前承高中物理 |
24
+ | 2 | 流体运动学基础 | 欧拉/拉格朗日描述、流线、涡量 | 前承 §1 |
25
+ | 3 | 流体动力学基本方程组 | 连续方程、N-S 方程、能量方程、相似参数 | 前承 §2,全书核心 |
26
+ | 4 | 理想不可压平面无旋流动 | 势函数、叠加法、圆柱绕流、升力定理 | 前承 §3(无黏特例) |
27
+ | 5 | 无黏可压缩流动 | 声速、激波、膨胀波、喷管 | 前承 §3(可压缩) |
28
+ | 6 | 黏性不可压流动与边界层 | 无滑移、Re、边界层、分离、湍流 | 前承 §3(黏性) |
29
+ | 7 | 翼型与细长旋成体气动特性 | 翼型几何、薄翼理论、相似法则、面积律 | 前承 §4/§5/§6 综合 |
30
+
31
+ ## 二、主学习路线(建议顺序)
32
+
33
+ ```
34
+ §0 绪论(建立全貌)
35
+ → §1 流体属性(定义黏性/可压缩性等基本量)
36
+ → §2 运动学(怎么描述流动)
37
+ → §3 基本方程组(N-S 是全书"宪法",先记形式后懂推导)
38
+ → 分三条线:
39
+ ├─ 无黏线:§4(不可压势流)→ §5(可压缩流,激波)
40
+ ├─ 黏性线:§6(边界层,阻力从哪来)
41
+ └─ 应用线:§7(翼型/旋成体,把前面全串起来)
42
+ ```
43
+
44
+ ## 三、关键"枢纽概念"(理解这些就抓住了主干)
45
+
46
+ - **无滑移条件**(§6.1):黏流与理想流的本质分界 → 引出边界层 → 阻力
47
+ - **雷诺数 Re**(§3.9 / §6.1):惯性力/黏性力之比,也是"流态开关"
48
+ - **N-S 方程**(§3.3):全书基本方程,解析解极少 → 引出近似/数值两条路
49
+ - **环量 Γ 与升力定理**(§4.5):$L=\rho V_\infty\Gamma$,升力的统一来源
50
+ - **激波**(§5.3/5.4):超声速的熵增、压力突跃
51
+
52
+ ## 四、知识图谱用法
53
+
54
+ `textbook/知识图谱/source/*.yaml` 有绪论/可压缩流/黏性流三章的概念关系(parent 树 + prerequisite 前置边)。问"X 概念的前置是什么""X 和 Y 什么关系"时,先查图谱再查教材正文。
55
+
56
+ ## 五、每章学习闭环
57
+
58
+ 1. 先看该章 `第N章_关键知识点与思维导图.md`(教材自带重点提炼)
59
+ 2. 再读教材正文,逐个公式做"定义→推导→物理意义→工程应用"四问
60
+ 3. 做对应章习题,错题回教材找依据
61
+ 4. 用 `aero-think` 把本章串成一条因果链