dsh-aha-tutor 1.12.0 → 1.14.0

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/CHANGELOG.md CHANGED
@@ -2,6 +2,36 @@
2
2
 
3
3
  All notable changes to this plugin are recorded here. Versions follow [SemVer](https://semver.org/); GitHub Release notes for each version live in `docs/releases/`.
4
4
 
5
+ ## 1.14.0 - 2026-11-06
6
+
7
+ ### Added
8
+
9
+ - **Delete a course that is not finished**: a course still at its questions or its blueprint opened only its creation pages, which had no delete, so the only way to get rid of one was to finish it first. Its card in **My courses** now has a **⋯** menu with **Delete course**, and so do its question and blueprint pages. Deleting a course stops whatever it is still writing first (its questions, its blueprint, its practice), and what that work would still write is removed too, so a deleted course never comes back.
10
+ - **Library folders**: materials of one kind can be kept in a folder: **Library** shows a row of chips (**All**, **Unfiled** and each folder, with how many it holds), where a folder is made, opened, renamed or deleted (its materials stay, unfiled). Each material has **Move to folder**, filtering and full-text search keep to the open folder, files and links added there go into it, and **Course from this folder** builds a course from it (at most 30 materials, by name, after saying so when it holds more). Every material picker has the same chips and **Pick this whole folder**, as much of it as there is room for, saying how many were left out.
11
+ - **Upload a whole folder**: **Upload a whole folder**, or a folder dropped on the upload box, uploads a folder of the computer, its subfolders included, into a library folder of the same name (the one there is, when there is one). First it says how many files it will upload and what that costs in model calls; files already in that folder (same name and size) and files it cannot read are skipped and listed, the computer's own leftovers (.DS_Store, ~$ lock files, hidden folders) are passed over. A file from a subfolder shows its path under its title, such as 「第一章/练习.pdf」, and a folder lists its materials by file name, as the computer does. The upload shows which file of how many, can be cancelled, and reports what was uploaded, skipped and refused. A folder of more than 1,000 files is not read.
12
+ - **Up to 30 materials, counted**: a new course, the study tools and instant help took at most 8 materials and a course at most 12, and the picker said nothing: a ninth box simply would not tick, and of several files uploaded in it only the first 8 were picked. Every picker now takes up to 30, shows how many are picked, greys out the rest once full and says why, and says when files uploaded in it were saved to the library but not picked. **Add materials** shows how many more the course can take and refuses more than that instead of dropping the rest.
13
+
14
+ ### Changed
15
+
16
+ - **Room for many materials**: course design keeps each material's contents and brief as before up to 15 materials (10 for the brief); with more, their contents and briefs share a fixed room, so 30 materials keep their chapters with pages without making the prompt three times as long. When there are too many materials for each to get a useful share of a lesson's passages, the passages that match best are taken from all of them, instead of the first materials' only. Thirty short materials in a deck or quiz are read a few to a part (each passage under its own title) instead of one model call each, and a study aid made from more than four is named by the first two and how many.
17
+ - **A start that fails or is cancelled leaves no course**: a course was saved before its questions were written, so a start that failed, was cancelled or was cut off by quitting DSH left a course at its questions in **My courses** and on Home. A start that fails or is cancelled now leaves nothing, one cut off by quitting DSH is removed 15 minutes after it began, and the page that waits for the questions has **Cancel**.
18
+
19
+ ### Fixed
20
+
21
+ - **Excerpts of one-chunk materials**: excerpting a material made of a single chunk longer than its share (the text of a photo, a one-page handout) threw. With six or more such materials, adding them to a course at once failed, and so did a lesson or question whose words matched nothing in any of them.
22
+
23
+ ## 1.13.0 - 2026-11-05
24
+
25
+ ### Added
26
+
27
+ - **Practise one concept**: every concept on a course's **Progress** tab has **Practise this concept**, and so does each concept in a round's results; when the course's next step is a weak concept, it opens that concept instead of its lesson's old practice. It writes five questions on that concept alone, pitched at the learner's mastery of it (two basic ones first when it is weak, edge cases and links when it is mastered), aimed at the misconceptions their answers showed, and asking none of the questions on it they have met (its lesson's practice and class checks, its unit's quiz, earlier sets). Answers count toward mastery and missed ones go to the mistake notebook like any practice; the questions can be checked with **Something wrong with this question?**, and reviews draw on them. A set is offered again until one of its questions is answered; after that the next one is new, and **Another set** writes one at once.
28
+ - **Explain this question**: once a question is graded (lesson practice, unit quizzes, reviews, mistake rounds, concept practice, library quizzes), and on every row of the mistake notebook, **Explain this** opens the teacher's board over the page. It starts from the learner's answer (what they probably thought and where it breaks, or why a right answer works), solves the question step by step, writes the idea to remember and ends with a similar question to try. In a course that question counts toward mastery like a class check and never enters the notebook. Closing the board goes back to the same question, with the round as it was; the explanation is also kept under **Ask anything**, where the learner can ask on. The button is more prominent when the answer was not right.
29
+
30
+ ### Fixed
31
+
32
+ - **The chat teacher sees the answers**: after a quiz in a conversation, the learner sent back only ✔ or ✘ and the first 60 characters of each question, so the teacher could not tell what went wrong. The report now gives each answer, the right answer when it was missed (a short answer's model answer) and the grading, and a skipped question says so instead of shifting the numbers. The teacher is told to correct each mistake.
33
+ - **Answer keys show their formulas**: the right answer shown under a wrong one was plain text, so an option written in math read `$P(A\mid B)$`. It is now set like the options.
34
+
5
35
  ## 1.12.0 - 2026-11-05
6
36
 
7
37
  ### Added
package/README.en.md CHANGED
@@ -28,7 +28,7 @@
28
28
  | **Handwriting chalkboard lessons** | Narration (voice + captions) while the board fills up in a handwriting font with points, formulas, diagrams, charts and, when it helps, a small animation; each item is written as its sentence is spoken and highlighted while it is discussed; curves given by a formula are computed point by point, with sliders for their parameters; the lesson's pages sit on one canvas you can drag and zoom while the view follows the teacher, and a side panel shows the lesson's goals and a transcript; pause, rewind and change speed any time |
29
29
  | **Quick checks that adapt** | At key moments the lesson stops for a question and asks how sure you are. Lucky guesses, hesitation and confident mistakes count differently; a lesson with a calculation asks you to write out your working and corrects it on the board. A revisit lesson is added automatically for concepts that did not stick |
30
30
  | **Raise your hand, hear it again** | Ask anything mid-lesson, typed or spoken (recognized on your computer by DSH's Voice input), and the tutor answers on the board, then picks up where it left off; or have a step re-explained with an analogy, a drawing, an example, more simply or in more depth. Think a step is wrong? Ask the teacher to check it: a real mistake is corrected at the board and fixed in the lesson, and a step that is right is explained |
31
- | **Practice, flashcards, reviews** | Every lesson has practice, with figures where they help, open answers graded by the model and keyboard answering; think a question or its grading is wrong, and the teacher checks it, fixes a wrong question, grades your answers to it again (earlier ones too) and corrects your mastery; a round ends with stars, how your mastery moved and a next step. A question you miss goes to the course's mistake notebook, comes back from the next day, counts as resolved once you get it right on a later day, and comes first in reviews. Each unit has a quiz and a flashcard deck, as long as its concepts call for. Flashcards and concepts come back on a spaced-repetition schedule, and the study plan leaves time for them |
31
+ | **Practice, flashcards, reviews** | Every lesson has practice, with figures where they help, open answers graded by the model and keyboard answering; think a question or its grading is wrong, and the teacher checks it, fixes a wrong question, grades your answers to it again (earlier ones too) and corrects your mastery; a round ends with stars, how your mastery moved and a next step. Any concept can be practised on its own: five new questions on it alone, pitched at your mastery and never repeating what you have done. Any graded question, and every question in the mistake notebook, has **Explain this**: the teacher starts from your answer at the board, shows where it went wrong and how to do it, and ends with a similar question to try. A question you miss goes to the course's mistake notebook, comes back from the next day, counts as resolved once you get it right on a later day, and comes first in reviews. Each unit has a quiz and a flashcard deck, as long as its concepts call for. Flashcards and concepts come back on a spaced-repetition schedule, and the study plan leaves time for them |
32
32
  | **Your materials become courses** | PDF, Word, PowerPoint, Markdown, web links and images; a model that can see images reads scanned PDFs, documents made of pictures and photos. each material keeps its contents and the page numbers printed in it, every lesson is tied to its pages, lessons and raised hands work from the text itself, and every page number shown has been checked; long readings can be digested into structure, claims and a glossary |
33
33
  | **Cheat sheets, notes, quizzes** | Printable cheat sheets organized by theme (columns, font size and highlighting adjustable), plus notes, flashcard decks and quizzes; decks and quizzes read the whole material part by part, size themselves by its length, and can keep to a focus |
34
34
  | **Explainer shorts and exports** | A two-minute whiteboard explainer from a topic or a link; any lesson exports to a video with the handwriting, captions and a watermark, or its board to a PDF (one board page per page, handwriting and formulas included) or a PNG picture per page |
@@ -42,7 +42,7 @@ Two sample courses ship with the plugin (harmonic motion and Bayesian thinking,
42
42
 
43
43
  You need the **DeepSeek Harness** desktop app (0.2.x, from 0.2.1) with at least one working model. See the [DSH instructions](https://github.com/deepseek-ai/deepseek-harness#run) if you do not have it yet.
44
44
 
45
- 1. Open **Plugins** in the desktop app, click **Add plugin** and enter `dsh-aha-tutor` as the package, with the official registry as the source. Within 24 hours of a new release DSH's pnpm holds new versions back; enter an exact version such as `dsh-aha-tutor@1.12.0` then.
45
+ 1. Open **Plugins** in the desktop app, click **Add plugin** and enter `dsh-aha-tutor` as the package, with the official registry as the source. Within 24 hours of a new release DSH's pnpm holds new versions back; enter an exact version such as `dsh-aha-tutor@1.14.0` then.
46
46
  2. **Quit and reopen** the desktop app. Refreshing the page does not load the plugin's host side.
47
47
  3. Open **Aha · AI tutor** in the left sidebar (shown as 「开窍 · AI 私人老师」 in Chinese).
48
48
 
package/README.md CHANGED
@@ -28,7 +28,7 @@
28
28
  | **手写黑板课堂** | 老师一边讲(语音 + 字幕),一边用手写体在黑板上逐字写下要点、公式、示意图和图表,讲到哪句写哪句,正在讲的内容用荧光笔划出;由公式画的曲线按公式逐点算出,带参数的还能拖动滑块看它怎么变;整讲的板书排在一张能拖动、缩放的画布上,镜头跟着老师走;侧栏显示课堂要点进度和讲解记录;随时暂停、回放、变速 |
29
29
  | **随堂小测与自适应** | 讲到关键处会停下来考你一题,并问你「有多确定」。猜对、犹豫、自信地答错,会被区别对待;有计算的一讲会请你写出过程,写错了老师就在黑板上订正。学完一讲后,薄弱的知识点会自动加一节巩固课 |
30
30
  | **举手提问、换个讲法** | 没听懂就举手,老师在黑板上专门回答你,讲完回到原来的进度;问题可以打字,也可以直接说出来(用 DSH 的语音输入在本机识别);也可以让它用打比方、画图、举例、讲简单点或讲深一点的方式重讲这一步。觉得讲错了就点「这一步不对?」:老师先仔细核对,真错了就在黑板上更正,并把这一讲改好;没错就讲清为什么 |
31
- | **练习、闪卡与复习** | 每讲都有练习,题目可以带示意图,简答题由 AI 批改,支持键盘作答;觉得题目或判分有问题就点「这题有问题?」,老师先仔细核对,题错了就改好、重新判分(以前答过的也一起重判)并修正掌握度;做完一组给出星级、掌握程度变化和下一步建议。没答对的题自动进错题本,从第二天起再练,隔天答对才算解决,复习时先出错题。每个单元有单元测验和单元闪卡,题量和张数按这个单元的知识点来定。闪卡和知识点按间隔重复安排复习,学习计划会自动给复习留出时间 |
31
+ | **练习、闪卡与复习** | 每讲都有练习,题目可以带示意图,简答题由 AI 批改,支持键盘作答;觉得题目或判分有问题就点「这题有问题?」,老师先仔细核对,题错了就改好、重新判分(以前答过的也一起重判)并修正掌握度;做完一组给出星级、掌握程度变化和下一步建议。每个知识点都能单独练:按你的掌握程度出 5 道只考它的新题,不重复做过的。答完的题和错题本里的每道题都能点「讲这题」,老师在白板上从你的答案讲起,讲清错在哪、怎么做,最后留一道同类题当场练。没答对的题自动进错题本,从第二天起再练,隔天答对才算解决,复习时先出错题。每个单元有单元测验和单元闪卡,题量和张数按这个单元的知识点来定。闪卡和知识点按间隔重复安排复习,学习计划会自动给复习留出时间 |
32
32
  | **资料变课程** | 支持 PDF、Word、PPT、Markdown、网页链接和图片;扫描版 PDF、全是图片的文档和拍的照片,由能看图的模型识别出文字。会读出资料的目录和书上印的页码,每一讲对应到书里的页,讲课和举手提问都带着原文,显示的页码都经过核验;长文档可以一键「消化」成结构、论点和术语表 |
33
33
  | **速查表、笔记、测验** | 按主题整理的可打印速查表(列数、字号、高亮可调),以及笔记、闪卡组和测验;闪卡和测验会分段读完整份资料,数量按资料长短来定,也可以只出「重点」范围 |
34
34
  | **讲解短片 + 导出** | 输入一个主题或网址,得到一段约两分钟的白板讲解;任何一讲都能导出成带板书动画、字幕和水印的视频,也能把板书导出成 PDF(一页一张板书,带手写字体和公式)或每页一张的 PNG 图片 |
@@ -48,7 +48,7 @@
48
48
  dsh-aha-tutor
49
49
  ```
50
50
 
51
- 安装源选择**官方源**,点击**安装**。新版本刚发布的 24 小时内,DSH 的 pnpm 会因为发布冷却期暂缓安装,这时请填入精确版本,例如 `dsh-aha-tutor@1.12.0`。
51
+ 安装源选择**官方源**,点击**安装**。新版本刚发布的 24 小时内,DSH 的 pnpm 会因为发布冷却期暂缓安装,这时请填入精确版本,例如 `dsh-aha-tutor@1.14.0`。
52
52
 
53
53
  2. **完全退出并重新打开** DSH 桌面应用。只刷新页面不会加载 Host 端的新插件。
54
54
 
@@ -39,7 +39,7 @@
39
39
  | **消化长文档** | 把一篇长文或论文整理成结构、核心观点、论点和术语表;长文档会分段读完全文再汇总 |
40
40
  | **两分钟短片** | 生成一段约两分钟、适合分享的白板讲解 |
41
41
 
42
- 点**添加资料**可以附上文件,它们会进入资料库,并作为这次请求的依据。首页还会显示**继续学习**和**今天的安排**。
42
+ 点**添加资料**可以附上文件,它们会进入资料库,并作为这次请求的依据。一次最多选 30 份,选择框底部显示已经选了几份;选满后其余资料会变灰,在选择框里多传的文件只存进资料库、不会选上。首页还会显示**继续学习**和**今天的安排**。
43
43
 
44
44
  ## 定制一门课
45
45
 
@@ -54,7 +54,7 @@
54
54
 
55
55
  开课以后也能改:在课程页右上角的 **⋯** 里选**编辑课程大纲**,可以加讲、加单元、调整顺序,或点**让老师续写一个单元**。保留下来的讲,学习进度不变。
56
56
 
57
- **补充资料**:后来找到了更好的教材或讲义,在 **⋯** 里选**补充资料**(编辑大纲时也有这个按钮),从资料库里勾选或当场上传,还可以写一句想怎么用,比如「重点补上第 5 章的例题」,再点**请老师看看怎么加**。老师会读这些资料,给出修改建议:新增哪些讲、哪些讲要讲深;点**应用修改**后才生效,资料也会关联到这门课,以后讲课时会引用它们,新增的讲和讲到新资料的讲也会对应到资料里的页。一门课最多关联 12 份资料。
57
+ **补充资料**:后来找到了更好的教材或讲义,在 **⋯** 里选**补充资料**(编辑大纲时也有这个按钮),从资料库里勾选或当场上传,还可以写一句想怎么用,比如「重点补上第 5 章的例题」,再点**请老师看看怎么加**。老师会读这些资料,给出修改建议:新增哪些讲、哪些讲要讲深;点**应用修改**后才生效,资料也会关联到这门课,以后讲课时会引用它们,新增的讲和讲到新资料的讲也会对应到资料里的页。一门课最多关联 30 份资料,面板上会显示这门课还能再加几份。
58
58
 
59
59
  每一讲的板书在你打开它时才生成,同时会预备下一讲,所以不会一次性消耗大量额度。
60
60
 
@@ -141,15 +141,18 @@
141
141
  | **练习、测验与闪卡** | 最上面是这门课的**错题本**;下面是每讲的练习,每个单元的**单元测验**和**单元闪卡**;**开始复习**复习这门课到期的错题和该复习的知识点,**闪卡复习**把各单元到期的闪卡放在一起复习 |
142
142
  | **速查表** | 单元速查表,按主题整理公式、定义和要点 |
143
143
  | **项目** | 实战项目,见[实战项目](#实战项目) |
144
- | **进度** | 每个知识点的掌握程度(未开始、薄弱、学习中、熟练、掌握五级),以及老师发现的误解(⚠) |
144
+ | **进度** | 每个知识点的掌握程度(未开始、薄弱、学习中、熟练、掌握五级),以及老师发现的误解(⚠);每个知识点后面都有**练这个知识点** |
145
145
 
146
- 标题旁边是学习进度和剩余时间;下面的**下一步**给出一个建议:有可以再练的错题或到期的复习就先复习,其次练一练最薄弱的知识点,再往下是下一讲。右上角的 **⋯** 菜单可以**编辑课程大纲**、**导出课程包**、**归档**和**删除课程**。大纲里每一讲的掌握度条在学过之前是空的。所有课程都在左侧的**我的课程**里,可以按学习中、已学完、已归档筛选和搜索。
146
+ 标题旁边是学习进度和剩余时间;下面的**下一步**给出一个建议:有可以再练的错题或到期的复习就先复习,其次专门练一练最薄弱的那个知识点,再往下是下一讲。右上角的 **⋯** 菜单可以**编辑课程大纲**、**导出课程包**、**归档**和**删除课程**。大纲里每一讲的掌握度条在学过之前是空的。所有课程都在左侧的**我的课程**里,可以按学习中、已学完、已归档筛选和搜索。
147
+
148
+ **没建完的课程**(「待回答问题」「待确认蓝图」)可以在**我的课程**里点卡片右上角的 **⋯** → **删除课程**,也可以在问卷页或蓝图页右上角的 **⋯** 里删除;正在生成问卷或蓝图时删除,会先停掉生成。刚开始建课、问题还没出来就出错或点了**取消**,不会留下草稿。
147
149
 
148
150
  ## 练习、闪卡与复习
149
151
 
150
152
  - **练习**:单选、多选、填空、数值计算和排序题会立即判分;简答题由老师按要点批改,告诉你答到了哪些、漏了哪些。做完可以**看解析**。需要图的题会附一张示意图,或一张按公式算出的函数图。
151
153
  - 可以用键盘作答:1–4 选择,Enter 提交或继续,H 看提示;题号旁边会显示连对了几题。
152
- - 做完一组会看到星级、正确率、最长连对,以及这一轮之后各知识点的掌握程度,最后给出一个下一步建议,比如回到这一讲再听一遍、复习这门课,或者做单元测验。
154
+ - 做完一组会看到星级、正确率、最长连对,以及这一轮之后各知识点的掌握程度,最后给出一个下一步建议,比如回到这一讲再听一遍、复习这门课,或者做单元测验。每个知识点旁边都能点**练这个知识点**接着专项练。
155
+ - **讲这题**:每道题判完分后,结果框里都有**讲这题**(答错时更显眼)。老师会在白板上从你的答案讲起:先说出你可能是怎么想的、错在哪里(答对了就讲清为什么对,不是蒙的),再一步步讲正确做法,写下要记住的要点,最后留一道同类题让你当场做。白板盖在练习页上,可以举手追问,点**关闭讲解**就回到原来那道题,这一轮练习不受影响;同一轮里再点,会打开刚才那段讲解,不会重新写。课程里的这道同类题像课堂小测一样计入掌握度,答错也不进错题本;学习工具测验里的不计。讲解同时存进**即时答疑**,之后还能打开、接着问。每讲的练习、单元测验、复习、练错题、知识点练习和学习工具里的测验都有;错题本里每道题旁边也有,从你上次答错的答案讲起。
153
156
  - **这题有问题?**:判完分后,觉得题目、答案或判分不对(答案标错了、选项有两个对的、单位错了、简答题判得太严),点结果框里的**这题有问题?**。可以写一句(或点麦克风说)哪里不对,也可以不写,然后点**请老师核对**。老师会先自己把题做一遍、仔细核对,要等几秒到半分钟;这期间可以先做下一题,核对完会在页面顶部提示。结果显示在这道题下面的**老师核对**里:
154
157
  - **确实有错**:老师会把存档里的这道题改好(题目、选项、答案、解析、提示里错的地方),题上出现红色的**✎ 已更正**,鼠标停在上面能看到原来写的内容。然后按改好的题重新判你这次的作答。
155
158
  - **题目没说清楚**(比如没说 g 取 9.8 还是 10):老师会把约定写进题目;你按另一种合理理解答对的,这次算对。
@@ -159,6 +162,11 @@
159
162
  重新判分后,掌握度和复习时间会按新的分数重新算,就像当初判对了一样:这次作答留下的「误解」标记也会去掉,这一轮的星级、正确率和连对也按新结果算。每讲的练习、单元测验、学习工具里的测验和复习里的题都可以这样核对。
160
163
 
161
164
  题目改好后,你以前对同一道题的作答(上一轮练习、复习里,或课上的小测)也会按改好的题重新判,结果框里会说重判了几次。题目确实有错时,按改好的答案判,分数可能升也可能降;题目没说清楚时,只会往上调,因为你当时按另一种理解答的可能也对。简答题和写过程的题由 AI 重新批改最近 3 次。只有最近 50 次作答留有记录,更早的不再重判。
165
+ - **练这个知识点**:只练某一个知识点。在课程页的**进度**里每个知识点后面、**下一步**提示某个知识点还比较薄弱时,以及一轮练习结束页的掌握程度里,都能点**练这个知识点**。
166
+ - 每次出 5 道只考这个知识点的新题,按你现在的掌握程度来出:还比较薄弱时先出两道基础题,再慢慢加深;已经掌握的,就出边界情况,以及和前面内容结合起来的题。你答题时暴露出的误解(⚠),会专门出题检验。题目由模型现出,要等半分钟左右,等待时会显示已经出了几题。
167
+ - 不出你做过的题:这一讲的练习和课堂小测、单元测验、之前练过的组都会避开,换个说法、换个数字也不行。
168
+ - 作答和其他练习一样计入掌握度,答错的题进错题本,标着「知识点练习」;也能用**这题有问题?**核对,复习时也会用到这些题。
169
+ - 一组题还没开始做时,再点进来还是这一组;做过以后再进来就出新的一组。做完可以点**再来一组**马上换一组,也可以**重试**同一组。
162
170
  - **单元测验**:题量按这个单元的知识点来定,每个知识点至少一题,重点多出几题,一般 10–30 题;课程有资料时,题目按资料里这个单元的内容和题型来出。题多时要等一两分钟,等待时会显示已经出了几题。做完可以**重试**同一套题,也可以点**换一套新题**重新出一套。
163
171
  - **闪卡**:在课程页的**练习、测验与闪卡**里点某个单元的**单元闪卡**,第一次打开时按这个单元的知识点生成,每个知识点 2–4 张,一个单元最多 60 张。点击翻面,然后按记忆情况选**忘了 / 困难 / 记得 / 简单**。开窍用间隔重复安排下次复习的时间,记得越牢,间隔越长;有到期的卡片时,按钮上会显示张数。顶部的**闪卡复习**把各单元到期的闪卡放在一起复习;1.10.0 之前生成的整门课闪卡也在这里,原来的复习记录照旧保留。
164
172
  - **错题本**:课堂小测、每讲的练习、单元测验和复习里没答对的题(答错或只对了一部分)会自动收进这门课的错题本,在课程页**练习、测验与闪卡**的最上面。每道题列出题目、出自哪里、你上次的答案、错了几次和哪天再练。
@@ -190,7 +198,22 @@
190
198
 
191
199
  闪卡和测验会读完整份资料:长资料按约 2 万字一段来读,每段各出一批再合在一起,等待时显示读完了几段、已经写好多少,可以取消。闪卡每个知识点 2–4 张,一份资料最多 300 张,同一个问题只留一张;复习时每轮最多 40 张,页面上显示一共多少张。测验按资料长短出 5–30 题,短讲义大约 5–10 题,长资料的题目平均分到各段。个别段没读成时,闪卡和测验页面上会写明是哪一部分(页码或章节)。
192
200
 
193
- **找资料**:资料多了,在资料列表上方的搜索框里输入,会按标题和主题即时筛选;按回车(或点**搜正文**)会在所有资料的正文里搜,列出最相关的段落,带资料名、页码和高亮的上下文,点一条就跳到那份资料。搜索在本机进行,不调用模型。
201
+ **找资料**:资料多了,在资料列表上方的搜索框里输入,会按标题和主题即时筛选;按回车(或点**搜正文**)会在所有资料的正文里搜,列出最相关的段落,带资料名、页码和高亮的上下文,点一条就跳到那份资料。打开了某个文件夹时,筛选和搜正文都只在这个文件夹里。搜索在本机进行,不调用模型。
202
+
203
+ **文件夹**:同一类资料可以放进一个文件夹。资料库上方有一排标签:**全部**、**未分类**和各个文件夹,后面的数字是资料份数,点一个就只看里面的资料。
204
+ - 点 **+ 新建文件夹** 起个名字;文件夹名不能重复。
205
+ - 每份资料右上角的下拉框可以把它**移到文件夹**,或者移回**未分类**。一份资料只在一个文件夹里。
206
+ - 打开一个文件夹后,右边的 **⋯** 可以**重命名**或**删除文件夹**。删除文件夹时里面的资料不会删除,会回到**未分类**。
207
+ - **用这个文件夹建课**:用整个文件夹里的资料建一门课,按名称排序,最多 30 份;超过 30 份时会先提醒,只用前 30 份。
208
+ - 打开某个文件夹时上传的文件和添加的网页,都会放进这个文件夹。
209
+
210
+ **上传整个文件夹**:点上传框里的**上传整个文件夹**,或者直接把电脑上的文件夹拖进上传框。
211
+ - 资料库里会自动建一个同名文件夹(已经有同名文件夹就放进去),子文件夹里的文件也会上传,资料名下面会写着它在哪个子文件夹,比如「第一章/练习.pdf」。文件夹里的资料按文件名排序,和电脑上的顺序一样。
212
+ - 开始之前会先列出要上传几个文件:已经在这个文件夹里的文件(文件名和大小都相同)会跳过,不支持的文件(视频、压缩包、旧版 .doc/.ppt 等)也会跳过并列出名字,系统自带的隐藏文件不会上传。确认后才开始上传。
213
+ - 上传时显示第几个、一共几个,可以随时取消。传完会列出上传了多少、跳过了哪些、哪些没传成。
214
+ - 每份资料都会用模型写一份简介,扫描件和图片里的文字还要逐页识别,文件多时会用掉不少模型额度。一个文件夹里超过 1000 个文件时不会读取,请分几次上传。
215
+
216
+ 在**添加资料**的选择框里(建课、补充资料、学习工具、即时答疑)也有同样的文件夹标签。选中一个文件夹后点**全选这个文件夹**,就能一次选上里面的资料(最多 30 份,超出时会说明有几份没选上);全部选上后,这个按钮会变成**取消全选这个文件夹**。在选择框里上传的文件,会放进当前选中的文件夹。
194
217
 
195
218
  ## 学习工具、即时答疑与讲解短片
196
219
 
@@ -219,7 +242,7 @@
219
242
  新建会话时,在预设里选择 **「开窍 · AI 私人老师」**。在这个会话里,老师可以:
220
243
 
221
244
  - 在白板上讲解:对话中出现一张白板卡片,点**打开白板**会在右侧栏播放;
222
- - 出互动小测:直接在对话里作答;
245
+ - 出互动小测:直接在对话里作答,也可以说「针对某个知识点给我出几道题」。做完点**提交**,每道题的作答会填进输入框:你的答案、答错时的正确答案、简答题的参考答案和批改意见,检查后发出去,老师会逐题纠错;
223
246
  - 帮你建课:把你们聊的内容变成一门课,之后在开窍里继续;
224
247
  - 做速查表,查看你的学习画像。
225
248
 
package/lib/agent.js CHANGED
@@ -1,11 +1,11 @@
1
- import { A as quizPrompt, It as normalizePractice, Wt as text, X as readProfile, a as generateJson, an as orderOptions, g as detectLanguage, in as newId, t as getRuntime } from "./runtime-HOMCmP80.js";
1
+ import { $ as readProfile, M as quizPrompt, Vt as normalizePractice, Yt as text, a as generateJson, dn as orderOptions, g as detectLanguage, t as getRuntime, un as newId } from "./runtime-Dc_2dmoB.js";
2
2
  import { defineTool } from "@deepseek-ai/dsh-tools";
3
3
  //#region src/agent.js
4
4
  const name = "aha-tutor-agent";
5
5
  const inject = ["tools", "systemPrompt"];
6
6
  const TOOL_GUIDE = `## Teaching tools (Aha Tutor)
7
7
  - aha_whiteboard: explain a concept, solve a problem step by step, or visualize an idea on a narrated handwriting whiteboard in the side panel. Prefer it over long chat answers whenever a picture, a formula derivation or a worked example would help. After calling it, reply with at most two sentences; never repeat the board in chat.
8
- - aha_quiz: check understanding with a few interactive questions shown to the learner. Use it after explaining something important. The learner's answers arrive in their next message; then give feedback and fill the gaps.
8
+ - aha_quiz: check understanding with a few interactive questions shown to the learner. Use it after explaining something important, or when the learner asks for questions on a topic. The learner's next message reports each question with their answer, the right answer when they missed it and the grading of open answers; then correct each mistake: say what they probably thought, why it fails and how to get it right (on aha_whiteboard when it needs working), and fill the gaps.
9
9
  - aha_course: when the learner wants to learn a whole subject systematically, design a personal course in Aha Tutor instead of teaching everything in chat.
10
10
  - aha_cheatsheet: make a printable cheat sheet before exams or at the end of a topic.
11
11
  - aha_learner: read what Aha remembers about the learner (background, goals, weak spots, active courses) before planning or when personalizing.
@@ -110,7 +110,7 @@ function apply(ctx) {
110
110
  }));
111
111
  ctx.tools.register(defineTool({
112
112
  name: "aha_quiz",
113
- description: "Show the learner a short interactive quiz (multiple choice, fill-in, numeric or short answer). Answers are not revealed to you; the learner reports results in the next message.",
113
+ description: "Show the learner a short interactive quiz (multiple choice, fill-in, numeric or short answer). The answer key is not shown to you now; the learner's next message reports each answer with the key.",
114
114
  parameters: {
115
115
  topic: {
116
116
  type: "string",