dsh-aha-tutor 1.2.0 → 1.3.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 +20 -0
- package/README.en.md +4 -4
- package/README.md +4 -4
- package/docs/guide.zh-CN.md +15 -8
- package/lib/agent.js +1 -1
- package/lib/client.js +74 -31
- package/lib/index.js +237 -28
- package/lib/{runtime-ywaTyu56.js → runtime-BCGFUDlg.js} +250 -170
- package/package.json +1 -1
package/CHANGELOG.md
CHANGED
|
@@ -2,6 +2,26 @@
|
|
|
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.3.0 - 2026-10-19
|
|
6
|
+
|
|
7
|
+
### Added
|
|
8
|
+
|
|
9
|
+
- **Show your working**: a lesson with a calculation or derivation asks once for the whole working, typed with a live math preview. The grader finds the first line that goes wrong, and the teacher corrects it on the board, starting from that line. The correction stays with the lesson and appears in the transcript.
|
|
10
|
+
- **Course size and a visible build**: the questionnaire asks how big the course should be (let the teacher decide, short 3–8, standard 10–20 or full 25–45 lessons). While the blueprint is written you see the steps and the outline growing unit by unit.
|
|
11
|
+
- **Blueprint editing**: split a lesson in two or take it deeper with one click; deleting a unit, a chapter or a started lesson asks first; and **Edit outline** in a course's ⋯ menu reopens the editor after the course has started, with **Ask for one more unit**. Progress on lessons that stay is kept.
|
|
12
|
+
- **Practice**: items can carry a figure (drawn through the SVG allow-list), a round ends with stars, accuracy, the best streak, how each concept moved and one next step, the current streak shows while you answer, and the keyboard works (1–4 to choose, Enter to submit or continue, H for a hint).
|
|
13
|
+
- **Course page**: concepts show five stages (not started, weak, learning, proficient, mastered), and a **Next step** card suggests due reviews first, then the weakest concept, then the next lesson.
|
|
14
|
+
|
|
15
|
+
### Fixed
|
|
16
|
+
|
|
17
|
+
- **Reasoning models no longer cut lessons and shorts short.** At its default effort a reasoning model (DeepSeek through DSH or a relay, among others) could spend the whole output limit thinking, so a short stopped after two steps ("came back too short") or came back empty (`EMPTY_RESPONSE`). Boards, shorts, re-explanations and quick answers now ask for a low reasoning effort, every call leaves room for its reasoning within the model's limit, and an answer lost to reasoning is retried with more room. Model errors in the classroom and on checks now show in your language.
|
|
18
|
+
|
|
19
|
+
### Changed
|
|
20
|
+
|
|
21
|
+
- **AI changes to a blueprint are proposals**: the editor lists the lessons added, removed, renamed and changed, and nothing changes until you apply them.
|
|
22
|
+
- Mastery meters stay empty until there is evidence; an untouched concept no longer lights a segment. **Start review** on a course page reviews that course only.
|
|
23
|
+
- Plans and today's list name a course by its emoji and main title (the part before a colon), with the full title on hover.
|
|
24
|
+
|
|
5
25
|
## 1.2.0 - 2026-10-19
|
|
6
26
|
|
|
7
27
|
### Added
|
package/README.en.md
CHANGED
|
@@ -23,11 +23,11 @@
|
|
|
23
23
|
|
|
24
24
|
| Feature | What you get |
|
|
25
25
|
| --- | --- |
|
|
26
|
-
| **A course made for you** | Say what you want to learn or drop in a textbook. The tutor first asks a few multiple-choice questions about your background, goal and
|
|
26
|
+
| **A course made for you** | Say what you want to learn or drop in a textbook. The tutor first asks a few multiple-choice questions about your background, goal, time and the course size you want, then writes a unit → chapter → lesson blueprint while you watch. Edit it by hand, have a lesson split or deepened, or ask for changes and review them before they apply; a running course can still grow. Confirming prepares the hands-on projects and the first unit's practice; later lectures get theirs when you reach them |
|
|
27
27
|
| **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, and a side panel shows the lesson's goals and a transcript; pause, rewind and change speed any time |
|
|
28
|
-
| **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
|
|
28
|
+
| **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 |
|
|
29
29
|
| **Raise your hand, hear it again** | Ask anything mid-lesson 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 |
|
|
30
|
-
| **Practice, flashcards, reviews** | Every lesson has practice
|
|
30
|
+
| **Practice, flashcards, reviews** | Every lesson has practice, with figures where they help, open answers graded by the model and keyboard answering; a round ends with stars, how your mastery moved and a next step. Flashcards and concepts come back on a spaced-repetition schedule, and the study plan leaves time for them |
|
|
31
31
|
| **Your materials become courses** | PDF, Word, PowerPoint, Markdown, web links and images (images need a vision model). Lessons and cheat sheets cite pages; long readings can be digested into structure, claims and a glossary |
|
|
32
32
|
| **Cheat sheets, notes, quizzes** | Printable cheat sheets organized by theme (columns, font size and highlighting adjustable), plus notes, flashcard decks and quizzes |
|
|
33
33
|
| **Explainer shorts and video export** | A two-minute whiteboard explainer from a topic or a link; any lesson exports to a video with the handwriting, captions and a watermark |
|
|
@@ -41,7 +41,7 @@ Two sample courses ship with the plugin (harmonic motion and Bayesian thinking,
|
|
|
41
41
|
|
|
42
42
|
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.
|
|
43
43
|
|
|
44
|
-
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.
|
|
44
|
+
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.3.0` then.
|
|
45
45
|
2. **Quit and reopen** the desktop app. Refreshing the page does not load the plugin's host side.
|
|
46
46
|
3. Open **Aha · AI tutor** in the left sidebar (shown as 「开窍 · AI 私人老师」 in Chinese).
|
|
47
47
|
|
package/README.md
CHANGED
|
@@ -23,11 +23,11 @@
|
|
|
23
23
|
|
|
24
24
|
| 能力 | 体验 |
|
|
25
25
|
| --- | --- |
|
|
26
|
-
| **为你定制一门课** |
|
|
26
|
+
| **为你定制一门课** | 说一句想学什么,或者丢进一本教材。老师先用几道选择题了解你的基础、目标、时间和想要的课程规模,再一边写一边展示「单元 → 章 → 讲」的课程蓝图。你可以直接改,可以让老师把一讲拆开或讲深,也可以用一句话让它改(先看修改建议再应用);开课后还能继续加讲、加单元。确认后生成实战项目和第一单元的练习,后面各讲的练习学到时再出 |
|
|
27
27
|
| **手写黑板课堂** | 老师一边讲(语音 + 字幕),一边用手写体在黑板上逐字写下要点、公式、示意图和图表,讲到哪句写哪句,正在讲的内容用荧光笔划出;侧栏显示课堂要点进度和讲解记录;随时暂停、回放、变速 |
|
|
28
|
-
| **随堂小测与自适应** |
|
|
28
|
+
| **随堂小测与自适应** | 讲到关键处会停下来考你一题,并问你「有多确定」。猜对、犹豫、自信地答错,会被区别对待;有计算的一讲会请你写出过程,写错了老师就在黑板上订正。学完一讲后,薄弱的知识点会自动加一节巩固课 |
|
|
29
29
|
| **举手提问、换个讲法** | 没听懂就举手,老师在黑板上专门回答你,讲完回到原来的进度;也可以让它用打比方、画图、举例、讲简单点或讲深一点的方式重讲这一步 |
|
|
30
|
-
| **练习、闪卡与复习** |
|
|
30
|
+
| **练习、闪卡与复习** | 每讲都有练习,题目可以带示意图,简答题由 AI 批改,支持键盘作答;做完一组给出星级、掌握程度变化和下一步建议。闪卡和知识点按间隔重复安排复习,学习计划会自动给复习留出时间 |
|
|
31
31
|
| **资料变课程** | 支持 PDF、Word、PPT、Markdown、网页链接和图片(图片需要支持识图的模型)。讲课和速查表会引用原文页码;长文档可以一键「消化」成结构、论点和术语表 |
|
|
32
32
|
| **速查表、笔记、测验** | 按主题整理的可打印速查表(列数、字号、高亮可调),以及笔记、闪卡组和测验 |
|
|
33
33
|
| **讲解短片 + 导出视频** | 输入一个主题或网址,得到一段约两分钟的白板讲解;任何一讲都能导出成带板书动画、字幕和水印的视频,适合分享 |
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
dsh-aha-tutor
|
|
48
48
|
```
|
|
49
49
|
|
|
50
|
-
安装源选择**官方源**,点击**安装**。新版本刚发布的 24 小时内,DSH 的 pnpm 会因为发布冷却期暂缓安装,这时请填入精确版本,例如 `dsh-aha-tutor@1.
|
|
50
|
+
安装源选择**官方源**,点击**安装**。新版本刚发布的 24 小时内,DSH 的 pnpm 会因为发布冷却期暂缓安装,这时请填入精确版本,例如 `dsh-aha-tutor@1.3.0`。
|
|
51
51
|
|
|
52
52
|
2. **完全退出并重新打开** DSH 桌面应用。只刷新页面不会加载 Host 端的新插件。
|
|
53
53
|
|
package/docs/guide.zh-CN.md
CHANGED
|
@@ -42,12 +42,15 @@
|
|
|
42
42
|
|
|
43
43
|
## 定制一门课
|
|
44
44
|
|
|
45
|
-
1.
|
|
46
|
-
2.
|
|
47
|
-
- 直接改标题,**上移 / 下移**调整顺序,**删除**不要的部分,或者**加一讲 / 加一章 /
|
|
48
|
-
-
|
|
45
|
+
1. **先认识一下你**:老师会根据你的主题出几道选择题,问你的基础、目的、想学多深等。每题都可以选「其他」自己写,拿不准的可以跳过。下面先选**课程规模**:**让老师决定**(按目标定,一个小问题可能只要一两讲)、**精简**(3–8 讲)、**标准**(10–20 讲)或**完整**(25–45 讲)。选了规模,老师就按这个讲数出课。再选**学习节奏**(冲刺约 6 周 / 稳步约 3 个月 / 不设期限)、**每周大约能学多久**,以及可选的**截止日期**;节奏只影响每周怎么排。想省事可以点**跳过提问,直接出课**。
|
|
46
|
+
2. **课程蓝图**:点**生成课程蓝图**后,老师边写边展示:上面是进行到哪一步,下面是一个个单元逐渐长出来的大纲。写完后就是「单元 → 章 → 讲」的完整结构,每讲标有预计时长,末尾还有实战项目。你可以:
|
|
47
|
+
- 直接改标题,**上移 / 下移**调整顺序,**删除**不要的部分,或者**加一讲 / 加一章 / 加一个单元**。删除单元、章或已经开始学的讲之前会先确认;
|
|
48
|
+
- 点某一讲旁边的 **✦**,让老师把它**拆成两讲**或**讲深一些**。改好的内容先出现在编辑器里,保存后才生效;
|
|
49
|
+
- 在**用一句话修改**里写下要求,例如「多加一些编程实战」「第二单元讲浅一点」,点**修改**。老师会先给出**修改建议**,列出新增、删除、改名和调整的讲,点**应用修改**才生效,不满意就**放弃**。
|
|
49
50
|
3. **确认开课**:点**确认,生成整门课**。老师会完善实战项目,并为第一单元准备练习;后面各讲的练习在你第一次打开这一讲(或它的练习)时准备。完成后进入课程页,点**继续学习**开始第一讲。
|
|
50
51
|
|
|
52
|
+
开课以后也能改:在课程页右上角的 **⋯** 里选**编辑课程大纲**,可以加讲、加单元、调整顺序,或点**让老师续写一个单元**。保留下来的讲,学习进度不变。
|
|
53
|
+
|
|
51
54
|
每一讲的板书在你打开它时才生成,同时会预备下一讲,所以不会一次性消耗大量额度。
|
|
52
55
|
|
|
53
56
|
生成蓝图、确认开课这类要等一会儿的步骤,可以先去别的页面,生成会在后台继续,回来就能看到结果;想停下来就点**取消**。
|
|
@@ -75,6 +78,8 @@
|
|
|
75
78
|
|
|
76
79
|
**随堂小测**:讲到关键处,老师会停下来出一道题,并问你**有多确定**(很确定 / 有点犹豫 / 猜的)。回答会影响掌握度:猜对不算完全掌握,自信地答错说明有误解,需要重点巩固。卡住时可以点**提示**,也可以**跳过**。
|
|
77
80
|
|
|
81
|
+
**写出过程**:有计算或推导的一讲,会有一道题请你把过程写出来:一步一行,公式写在 $…$ 里,下面会实时预览。老师会逐行看,找出第一处出错的地方;没写对时点**看老师订正**,老师会在黑板上框出那一步,写出正确的做法,再接着讲。订正会留在这一讲里,也会出现在讲解记录中。
|
|
82
|
+
|
|
78
83
|
**讲完之后**:给自己的掌握程度打个分(1–5)。如果某些知识点掌握得不好,老师会自动加一节**巩固课**;如果掌握得很好,后面会讲得更深一些。
|
|
79
84
|
|
|
80
85
|
课堂顶部还有:**练习**(去做这一讲的练习)、**导出板书**(Markdown 文件)、**导出视频**(见[讲解短片](#学习工具即时答疑与讲解短片))和**重新备课**(重新生成这一讲的板书)。
|
|
@@ -84,17 +89,19 @@
|
|
|
84
89
|
| 标签 | 内容 |
|
|
85
90
|
| --- | --- |
|
|
86
91
|
| **大纲** | 全部单元、章和讲,带学习状态;自动加入的巩固课标有「巩固」。每个单元都有**单元速查表**和**单元测验** |
|
|
87
|
-
| **练习与测验** |
|
|
92
|
+
| **练习与测验** | 每讲的练习、单元测验和**开始复习**(只复习这门课) |
|
|
88
93
|
| **速查表** | 单元速查表,按主题整理公式、定义和要点 |
|
|
89
94
|
| **闪卡** | 这门课的闪卡,按复习计划出现 |
|
|
90
95
|
| **项目** | 实战项目,见[实战项目](#实战项目) |
|
|
91
|
-
| **进度** |
|
|
96
|
+
| **进度** | 每个知识点的掌握程度(未开始、薄弱、学习中、熟练、掌握五级),以及老师发现的误解(⚠) |
|
|
92
97
|
|
|
93
|
-
|
|
98
|
+
标题旁边是学习进度和剩余时间;下面的**下一步**给出一个建议:有到期的复习就先复习,其次练一练最薄弱的知识点,再往下是下一讲。右上角的 **⋯** 菜单可以**编辑课程大纲**、**导出课程包**、**归档**和**删除课程**。大纲里每一讲的掌握度条在学过之前是空的。所有课程都在左侧的**我的课程**里,可以按学习中、已学完、已归档筛选和搜索。
|
|
94
99
|
|
|
95
100
|
## 练习、闪卡与复习
|
|
96
101
|
|
|
97
|
-
-
|
|
102
|
+
- **练习**:单选、多选、填空、数值计算和排序题会立即判分;简答题由老师按要点批改,告诉你答到了哪些、漏了哪些。做完可以**看解析**。需要图的题会附一张示意图。
|
|
103
|
+
- 可以用键盘作答:1–4 选择,Enter 提交或继续,H 看提示;题号旁边会显示连对了几题。
|
|
104
|
+
- 做完一组会看到星级、正确率、最长连对,以及这一轮之后各知识点的掌握程度,最后给出一个下一步建议,比如回到这一讲再听一遍、复习这门课,或者做单元测验。
|
|
98
105
|
- **闪卡**:点击翻面,然后按记忆情况选**忘了 / 困难 / 记得 / 简单**。开窍用间隔重复安排下次复习的时间,记得越牢,间隔越长。
|
|
99
106
|
- **复习**:学过的知识点也会按遗忘曲线回来。学习计划会提醒你**有 N 个知识点该复习了**,点**开始复习**即可。
|
|
100
107
|
|
package/lib/agent.js
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { D as generateJson, R as readProfile, _t as newId, b as quizPrompt, c as detectLanguage, ht as text, t as getRuntime, ut as normalizePractice } from "./runtime-BCGFUDlg.js";
|
|
2
2
|
import { defineTool } from "@deepseek-ai/dsh-tools";
|
|
3
3
|
//#region src/agent.js
|
|
4
4
|
const name = "aha-tutor-agent";
|