daily-question 2.0.0 → 2.1.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/CHANGELOG.md +41 -0
- package/LICENSE +21 -21
- package/README.md +110 -25
- package/client.js +432 -153
- package/cordis.patch.yml +1 -1
- package/icon.svg +10 -7
- package/index.js +8 -8
- package/lib/async.js +17 -0
- package/lib/bank.js +56 -39
- package/lib/exam-dates.js +101 -67
- package/lib/generate.js +131 -114
- package/lib/generation-history.js +67 -0
- package/lib/llm-json.js +17 -8
- package/lib/pdf-worker.js +5 -0
- package/lib/pdf.js +156 -34
- package/lib/reference-reader.js +178 -0
- package/lib/reference-sources.js +83 -0
- package/lib/references.js +159 -0
- package/lib/research.js +166 -0
- package/lib/routes.js +51 -86
- package/lib/service.js +258 -109
- package/lib/store.js +3 -8
- package/lib/subjects.js +31 -0
- package/lib/tutor.js +6 -5
- package/lib/updates.js +49 -0
- package/package.json +4 -2
package/CHANGELOG.md
ADDED
|
@@ -0,0 +1,41 @@
|
|
|
1
|
+
# 更新记录
|
|
2
|
+
|
|
3
|
+
## 2.1.1(2026-11-07)
|
|
4
|
+
|
|
5
|
+
- 插件接口通过 DSH Connection 校验会话,复用宿主的来源检查。运行此版本需要支持 Connection Fetch 路由的 DSH。
|
|
6
|
+
- 题库导入保留解析中的编号步骤,预览支持逐题勾选。题干过短或选项不全的选择题不入库,已发布的残缺选择题可以跳过或查看答案后自判。
|
|
7
|
+
- 阅读和完形按单选校验,历史题的无效答案进入待判定。提交超时后按作答 ID 核对保存结果,防止重复计数或静默覆盖选项。
|
|
8
|
+
- 停用科目仍可查看历史、收藏和错题。历史题按最近出题日期排序,初试结束后才切换默认届次。
|
|
9
|
+
- 联网核验同时按考研届次和实际考试年份检索,仅从官方公告正文提取明确的初试起止日期。已实测 2025、2026、2027 三届。
|
|
10
|
+
- 更新插件 Logo,统一标题与侧栏入口图标。侧栏显示启用和停用科目数,倒计时突出剩余天数并简化来源说明。
|
|
11
|
+
|
|
12
|
+
## 2.1.0(2026-11-06)
|
|
13
|
+
|
|
14
|
+
### 出题与考试依据
|
|
15
|
+
|
|
16
|
+
- 出题采用命题、仅含题干及选项的盲解、答案比对和分歧主裁;答案通过后进行独立范围与难度评审。
|
|
17
|
+
- 自定义科目可根据名称和代码自主检索,独立核对考试身份、大纲正文和至少两个年份的真题;区分专业代码与考试科目代码,信息不清时不猜测院校或考试。
|
|
18
|
+
- 转载大纲保留来源限制,已读新版公告不能因模型漏选而绕过;资料不足或校验未通过时不发布题目。
|
|
19
|
+
- 在线命题增加全历史归一化去重、近期近似检查、近期题型和知识主题频次安排;指定主题还需独立评审确认,发布前再次检查并发历史。
|
|
20
|
+
|
|
21
|
+
### 作答、列表与追问
|
|
22
|
+
|
|
23
|
+
- 缺少有效选项答案的选择题保持待判定;人工判分绑定具体作答ID,避免多标签页串记录。
|
|
24
|
+
- 今日重复题按当日练习状态展示答案,兼容旧作答时间戳,保留历史记录和当日完成状态。
|
|
25
|
+
- 全部、收藏和错题本默认50道分页,作答统计建立索引,保留跨页全选、批量管理、页码和滚动位置。
|
|
26
|
+
- 防止旧栏目、旧题目及迟到回复覆盖当前页面;跨日生成完成后同步列表和数量。
|
|
27
|
+
- 追问支持并发去重、中断恢复和原消息重试,清空后丢弃旧回复;上下文区分已核验、未核验和缺失答案,不将模型结果称为官方答案。
|
|
28
|
+
- 出题、修订和追问提供超时与取消,释放任务后可重试,迟到结果不再发布。
|
|
29
|
+
- 设置区显示当前版本,自动和手动检查npm的daily-question更新。
|
|
30
|
+
|
|
31
|
+
### PDF与稳定性
|
|
32
|
+
|
|
33
|
+
- 按实际页树顺序读取文本型PDF,拒绝异常页树。
|
|
34
|
+
- 在线资料与题库PDF使用可终止的受限工作线程,限制解压、对象、页数、文本量、并发、排队与解析时间。
|
|
35
|
+
- 新增对应回归检查;本次发布通过全部离线测试,并核对安装包与源文件一致。
|
|
36
|
+
|
|
37
|
+
### 已知边界
|
|
38
|
+
|
|
39
|
+
- 本次未重新进行真实浏览器或付费模型完整联网验收。自主检索仍为实验性能力;最近记录的408自主检索因缺少可核对的大纲正文而停止,不能承诺任意自定义科目均能取得资料。
|
|
40
|
+
- 支持独立图片试卷识别及PDF文本层提取,扫描PDF仍不提供OCR;模型校验不等于官方认证,难度为模型对照估计。
|
|
41
|
+
- 仍使用单文件JSON;超大规模有全量保存成本,不支持多个宿主共同写入同一数据文件。文本去重不保证识别全部语义重复,主题安排不等同于官方整卷权重。
|
package/LICENSE
CHANGED
|
@@ -1,21 +1,21 @@
|
|
|
1
|
-
MIT License
|
|
2
|
-
|
|
3
|
-
Copyright (c) 2026 Scienmicroit
|
|
4
|
-
|
|
5
|
-
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
-
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
-
in the Software without restriction, including without limitation the rights
|
|
8
|
-
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
-
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
-
furnished to do so, subject to the following conditions:
|
|
11
|
-
|
|
12
|
-
The above copyright notice and this permission notice shall be included in all
|
|
13
|
-
copies or substantial portions of the Software.
|
|
14
|
-
|
|
15
|
-
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
-
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
-
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
-
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
-
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
-
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
-
SOFTWARE.
|
|
1
|
+
MIT License
|
|
2
|
+
|
|
3
|
+
Copyright (c) 2026 Scienmicroit
|
|
4
|
+
|
|
5
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy
|
|
6
|
+
of this software and associated documentation files (the "Software"), to deal
|
|
7
|
+
in the Software without restriction, including without limitation the rights
|
|
8
|
+
to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
|
|
9
|
+
copies of the Software, and to permit persons to whom the Software is
|
|
10
|
+
furnished to do so, subject to the following conditions:
|
|
11
|
+
|
|
12
|
+
The above copyright notice and this permission notice shall be included in all
|
|
13
|
+
copies or substantial portions of the Software.
|
|
14
|
+
|
|
15
|
+
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
|
16
|
+
IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
|
17
|
+
FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
|
18
|
+
AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
|
19
|
+
LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
|
|
20
|
+
OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE
|
|
21
|
+
SOFTWARE.
|
package/README.md
CHANGED
|
@@ -2,9 +2,28 @@
|
|
|
2
2
|
|
|
3
3
|
面向 **DeepSeek Harness(DSH)** 的考研练习插件。按科目每天分配一道题,把作答、答案解析、收藏、错题整理和针对本题的追问放在同一个页面中。
|
|
4
4
|
|
|
5
|
-
当前版本:**2.
|
|
5
|
+
当前版本:**2.1.1**。本插件需要 DSH 宿主。
|
|
6
6
|
|
|
7
|
-
## 2.
|
|
7
|
+
## 2.1.1 更新
|
|
8
|
+
|
|
9
|
+
- 插件接口接入 DSH 会话鉴权,联网核验按届次和实际考试年份读取官方公告中的初试区间。
|
|
10
|
+
- 题库预览支持逐题勾选,避免将解析步骤或残缺选择题导入为可抽取的题目。阅读和完形按单选校验,提交重试会核对原作答记录。
|
|
11
|
+
- 停用科目保留历史入口,重复题按最近出题日期排序,默认考研届次按初试结束日切换。
|
|
12
|
+
- 统一新版 Logo、科目分组数量和倒计时样式。完整改动见[更新记录](CHANGELOG.md)。
|
|
13
|
+
|
|
14
|
+
## 2.1.0 更新
|
|
15
|
+
|
|
16
|
+
- 在线出题增加真正盲解、分歧主裁和独立范围与难度评审;加入历史去重、近期题型及知识主题覆盖安排。
|
|
17
|
+
- 自定义科目支持按名称与代码自主检索,独立核对考试身份、大纲和两年真题;资料不足时阻止发布。区分专业代码与考试科目代码。
|
|
18
|
+
- 修复无答案选择题误判、多标签页判分串记录及旧请求覆盖新页面;今日重复题按当天练习状态展示答案。
|
|
19
|
+
- 全部、收藏和错题本分页读取,使用作答索引;保留跨页全选、批量管理和返回原页功能。
|
|
20
|
+
- 出题、修订和追问支持超时与取消;追问支持重启恢复、并发去重和失败重试,清空后不再恢复迟到回复。
|
|
21
|
+
- PDF按实际页序提取,采用受限工作线程与资源上限;支持图片试卷识别,扫描PDF仍不提供OCR。
|
|
22
|
+
- 设置区新增当前版本与npm检查更新,打开页面自动检查,支持手动重查。
|
|
23
|
+
|
|
24
|
+
自主检索仍为实验性能力。最近记录的408自主检索未取得足够的大纲正文,因此停止出题;能否取得足够资料取决于具体科目的公开来源。更多限制见下文及[更新记录](CHANGELOG.md)。
|
|
25
|
+
|
|
26
|
+
## 2.0.0 界面与练习功能
|
|
8
27
|
|
|
9
28
|
- 采用蓝色主题,正确与错误分别使用绿色、红色;统一科目管理、题库管理和确认弹窗的样式。
|
|
10
29
|
- 科目管理支持草稿:勾选科目、切换来源、添加自定义科目和题型后,点击右下角「完成」统一保存;取消或关闭不生效。
|
|
@@ -20,9 +39,9 @@
|
|
|
20
39
|
|
|
21
40
|
### 环境要求
|
|
22
41
|
|
|
23
|
-
- 已安装并能运行的 DSH
|
|
42
|
+
- 已安装并能运行的 DSH,宿主需提供 Connection Fetch 路由接口。
|
|
24
43
|
- Node.js **20.3.0 或更新版本**(由运行宿主的环境提供)。
|
|
25
|
-
-
|
|
44
|
+
- 在线出题、答案修订和追问需要宿主配置可用的默认模型。在线出题还需要可用的 `web.search` 与 `web.fetch` 服务,用于读取考试依据。
|
|
26
45
|
- 公式引擎随包提供,无需单独下载字体或公式依赖。
|
|
27
46
|
|
|
28
47
|
### 安装本地安装包
|
|
@@ -30,33 +49,33 @@
|
|
|
30
49
|
仓库的 `dist/` 目录提供:
|
|
31
50
|
|
|
32
51
|
```text
|
|
33
|
-
dist/daily-question-2.
|
|
52
|
+
dist/daily-question-2.1.1.tgz
|
|
34
53
|
```
|
|
35
54
|
|
|
36
55
|
在 DSH Desktop 的插件安装入口填写该文件的绝对路径。命令行使用与你运行宿主一致的 profile,例如:
|
|
37
56
|
|
|
38
57
|
```bash
|
|
39
|
-
dsh plugin --profile web add ./dist/daily-question-2.
|
|
58
|
+
dsh plugin --profile web add ./dist/daily-question-2.1.1.tgz
|
|
40
59
|
```
|
|
41
60
|
|
|
42
61
|
Desktop 管理的 `desktop` profile 请通过 Desktop 插件界面操作。安装完成后重启相应宿主或刷新客户端,左侧栏出现「考研每日一题」入口。
|
|
43
62
|
|
|
44
63
|
### 从 npm 安装
|
|
45
64
|
|
|
46
|
-
|
|
65
|
+
可以通过 npm 安装指定版本:
|
|
47
66
|
|
|
48
67
|
```bash
|
|
49
|
-
dsh plugin --profile web add daily-question@2.
|
|
68
|
+
dsh plugin --profile web add daily-question@2.1.1
|
|
50
69
|
```
|
|
51
70
|
|
|
52
|
-
DSH Desktop 可在插件安装入口填写 `daily-question@2.
|
|
71
|
+
DSH Desktop 可在插件安装入口填写 `daily-question@2.1.1`。命令行安装还需满足宿主对包管理器的要求;若提示缺少 pnpm,先安装或启用 pnpm。
|
|
53
72
|
|
|
54
73
|
### 从 GitHub 或源码安装
|
|
55
74
|
|
|
56
|
-
|
|
75
|
+
可以锁定 `v2.1.1` 标签安装,此方式需要 Git:
|
|
57
76
|
|
|
58
77
|
```bash
|
|
59
|
-
dsh plugin --profile web add github:Scienmicroit/Daily-Question#v2.
|
|
78
|
+
dsh plugin --profile web add github:Scienmicroit/Daily-Question#v2.1.1
|
|
60
79
|
```
|
|
61
80
|
|
|
62
81
|
本地开发也可以直接安装源码目录:
|
|
@@ -81,32 +100,50 @@ dsh plugin --profile web remove daily-question
|
|
|
81
100
|
4. 需要题库时,在「题库管理」导入文件,检查预览和解析提示,再确认入库。
|
|
82
101
|
5. 查看答案后,可收藏题目、整理错题,或打开「本题追问」继续讨论。
|
|
83
102
|
|
|
84
|
-
|
|
103
|
+
内置学习科目包括思想政治理论、英语一、英语二、数学一、数学二、数学三。自定义科目支持内置题型和自行命名的题型。**参考考试目录与内置学习科目独立**:除上述考试外,还可选择「计算机学科专业基础(408)」,不必为了参考408而修改默认学习科目列表。
|
|
104
|
+
|
|
105
|
+
自定义科目默认选择「自动检索与核验」,由模型根据名称和可选代码自行搜索资料,不要求开发者逐科适配。仍可选择已有参考考试,或「另行指定参考考试名称…」填写与学习科目显示名称不同的准确考试名称及代码。院校自命题应在名称中包含院校,例如「某大学数据结构」,避免不同学校的801等同代码考试混用资料。所有修改在点击「完成」后统一保存,取消或关闭会放弃草稿。
|
|
106
|
+
|
|
107
|
+
自动检索及另行指定的考试使用自主流程:默认模型规划搜索,程序读取实际检索结果与正文附件链接,再由独立调用审查考试身份、大纲正文及至少两年真题。三位考试科目代码(如408)与六位专业代码(如081200)分别处理;专业代码或重号的自命题代码无法唯一确定考试时,必须补充院校及准确考试名称,不会自动套用数学、英语或408。资料不足、身份冲突或无法核对时停止在线出题,题库出题仍可使用。
|
|
85
108
|
|
|
86
109
|
## 出题与作答规则
|
|
87
110
|
|
|
111
|
+
左侧「题库管理」下方显示当前插件版本和「检查更新」。打开插件页面时自动查询 npm 官方仓库的 `daily-question` 包,页面持续打开时每6小时复查;回到页面也会检查,成功结果缓存6小时。点击按钮可跳过缓存立即重查。发现 `latest` 版本更新时显示版本号与 npm 链接,网络失败可重试,不影响学习数据。此功能仅提示更新,不自动安装,也不上传题目或学习记录。
|
|
112
|
+
|
|
113
|
+
缺少有效参考选项的选择题提交后保持「待判定」,可自行判断,不会仅因没有参考答案就自动加入错题本。出题、答案修订和追问支持取消;总等待上限分别为15、10、5分钟,单次模型阶段最多5分钟。超时或取消后可重试,迟到结果不会继续发布。重启中断的追问显示为失败,可使用原消息重试;清空后不会恢复旧回复。
|
|
114
|
+
|
|
88
115
|
### 每日分配
|
|
89
116
|
|
|
90
117
|
每个启用科目每天分配一道固定题目。再次进入同一科目的今日题目会复用该日的分配;新的自然日按宿主本地日期计算。
|
|
91
118
|
|
|
119
|
+
页面保持打开时,会按宿主的下一次零点自动检查日期并为当前科目请求当天题目;切到其他栏目时不强制跳走,列表和数量会同步更新。今日题生成成功后,「全部」等计数和「今日已出」状态自动更新。从后台或休眠恢复时会补查日期;宿主未运行或页面已关闭时不会执行后台出题,重新打开后再加载当天题目。
|
|
120
|
+
|
|
92
121
|
| 来源 | 行为 |
|
|
93
122
|
| --- | --- |
|
|
94
|
-
| 在线出题 |
|
|
123
|
+
| 在线出题 | 命题后进行真正盲解,再比对答案与解析,分歧交主裁 |
|
|
95
124
|
| 题库出题 | 从已导入且符合科目题型的题库中抽题 |
|
|
96
125
|
| 自动 | 优先题库,没有可用题目时尝试在线出题 |
|
|
97
126
|
|
|
98
127
|
题库优先使用未出过的题,新题用完后选择最久未出的题;只有少量可用题目时允许重复。删除已出题目不等于删除原题库,未来仍可能重新抽到该题。
|
|
99
128
|
|
|
100
|
-
|
|
129
|
+
在线出题分为以下独立调用,均沿用宿主默认模型:
|
|
130
|
+
|
|
131
|
+
1. **命题**:生成题干、选项、答案与解析,先通过程序结构检查。
|
|
132
|
+
2. **盲解**:另起请求,只传题干与选项,不传命题答案、解析、科目大纲或上一题反馈。
|
|
133
|
+
3. **比对**:盲解完成后,检查双方答案是否一致、解析是否成立。选择题的正确选项不一致时,程序会强制进入主裁。
|
|
134
|
+
4. **分歧主裁**:检查双方解答,最多裁决两轮。必须明确选择命题方或盲解方、确认题目有效并给出理由,才采用胜方原有的答案与解析;不允许用模糊结论或第三种答案发布。
|
|
135
|
+
|
|
136
|
+
主裁两轮仍无法判断时,带反馈重新命题一次,新题重新盲解、比对和裁决。新题仍无法通过则终止,不保存为正式题目。答案校验后还要进行独立范围与难度评审。正常一致且评审通过时,命题与校验需要四次模型调用;两轮命题均走满主裁及评审时最多十二次逻辑调用。搜索服务、图片转录另外产生调用,空回复还可能重试。宿主使用最高推理强度时,每次命题、校验调用至少预留 24000 tokens 的输出上限,避免预算全部耗在推理而没有正文;这是上限而非固定消耗。图片转录关闭推理。答案修订同样经过盲解、比对与主裁,但胜方答案只生成候选版本,仍需用户确认替换。模型校验不等同于官方审定,不能保证绝对正确。
|
|
101
137
|
|
|
102
138
|
### 判分与历史
|
|
103
139
|
|
|
104
140
|
- 选择题提交后按参考选项判分,并展示答案与解析。
|
|
105
141
|
- 主观题可选择「作答完毕」或「未能作答」。前者先记为待判定,查看答案后由用户判断正确或错误;后者记为错误。
|
|
106
142
|
- 打开题目不增加作答次数,提交并查看答案才记一次;同一作答 ID 的重复请求不会重复计数。
|
|
143
|
+
- 人工判分必须对应具体的作答 ID。多标签页分别作答时,各自只更新自己的记录;相同判定可安全重试,已完成的记录不能被迟到请求覆盖或改判。
|
|
107
144
|
- 手动加入错题本不会生成一条虚假的错误作答记录;移出错题本也不会删除历史作答。
|
|
108
145
|
|
|
109
|
-
|
|
146
|
+
从列表打开历史题时,默认进入新一轮作答并隐藏答案。属于本科目今日题且在当天已经查看答案时,默认保留已完成状态。题库旧题在新一天再次分配时,不会沿用以往的已完成状态;历史记录和累计作答次数保留。当天查看答案后,刷新或重启仍保留已完成状态。主动点击「重新作答」会隐藏答案、解析和追问入口,直到本轮再次查看答案;同一页面会话内切换栏目再返回,也会保留这轮重新作答状态。
|
|
110
147
|
|
|
111
148
|
### 答案版本与追问
|
|
112
149
|
|
|
@@ -118,6 +155,8 @@ dsh plugin --profile web remove daily-question
|
|
|
118
155
|
|
|
119
156
|
## 列表与批量管理
|
|
120
157
|
|
|
158
|
+
全部、收藏和错题本默认每页50道,显示栏目总量并支持上一页、下一页;查看详情后返回保留页码和滚动位置。批量「全选」作用于当前栏目的全部题目,包含其他页;翻页保留选择,「全不选」清空跨页选择。统计使用按题目建立的作答索引,避免每道题重复扫描所有作答。学习数据仍采用单文件JSON原子保存,超大规模数据仍有全量复制和写入成本。
|
|
159
|
+
|
|
121
160
|
今日题目、全部、收藏和错题本使用同一题目记录,各科目分别管理。
|
|
122
161
|
|
|
123
162
|
在「全部 / 收藏 / 错题本」点击「批量管理」后,可以逐题选择、全选或全不选,并执行:
|
|
@@ -128,13 +167,41 @@ dsh plugin --profile web remove daily-question
|
|
|
128
167
|
|
|
129
168
|
删除题目会同时清理该题的作答、追问和今日分配引用。包含收藏或错题时,会在普通删除确认之后再要求一次确认。删除不可恢复。
|
|
130
169
|
|
|
131
|
-
|
|
170
|
+
停用科目或删除题库只会停止相应的后续分配,已出题目及其作答、收藏和追问会保留。有历史题目的停用科目会出现在「已停用科目」中,可继续查看全部、收藏和错题。历史列表按最近出题日期排序。
|
|
171
|
+
|
|
172
|
+
## 在线出题的范围与难度依据
|
|
173
|
+
|
|
174
|
+
在线命题会参考当前科目的近期30道题,优先安排较少出现的题型和可从已读大纲辨认的知识主题,记录主题与知识点频次。无法确定主题时,由命题模型依据实际大纲和近期频次选择;指定主题时,还须由独立评审确认题干和解法实质覆盖该主题。历史题目只向命题阶段提供题干、选项与知识标签,不向盲解提供,也不提供历史答案。
|
|
175
|
+
|
|
176
|
+
发布前检查全部已保存历史中的归一化重复题、相同长题干,以及近期高度相似题;拒绝仅调整排版、选项顺序或少量参数的重复练习,反馈重新命题。保存时还会复检最新历史,阻止并发发布重复题。文本相似度检查不能保证发现所有语义重复,覆盖安排也不等同于官方整卷权重或完整考试蓝图。
|
|
177
|
+
|
|
178
|
+
内置科目和明确选择目录内参考考试时,在线命题前会检索目标年份附近的大纲,以及近三个年份的真题。优先读取教育考试院、教育部、研招网或高等教育出版社的正文;真题允许教育在线的转载。出版通知、搜索摘要和只有目录的页面不能替代大纲正文。
|
|
179
|
+
|
|
180
|
+
自主检索不依赖逐科固定网址:允许跟进实际发现的公共 HTTPS 页面、网页附件和 Markdown 文件链接,支持文本型 PDF 和图片转录;无法提取的扫描 PDF 不会冒充已读。下载仍检查公网地址、重定向、文件大小与超时,拒绝内网地址和模型编造的网址。每次最多6轮规划、6次搜索、8次正文读取、2次独立资料审查,8分钟超时;通过的资料按科目名称、代码及目标年份在同一宿主实例中缓存6小时。独立审查须提供实际正文中的逐字证据;转载大纲还需另一来源机构的同年正文交叉依据。这是模型审查,不等于官方原书逐字认证,也不能保证发现全部最新公告。
|
|
181
|
+
|
|
182
|
+
数学一另有经过原书核对的 2027 版大纲转录后备来源:运行时读取高教社公开图书接口,核对作者、书名和 ISBN `978-7-04-068404-9`,再读取 [DzmingLi/kaoyan-math-official-resources](https://github.com/DzmingLi/kaoyan-math-official-resources) 固定提交中的高等数学、线性代数、概率论与数理统计三份转录,逐一核验 SHA-256。已对照该版原书数学一第 6~24 页审校;版本、校验值及原书扫描件摘要记录于 `lib/reference-sources.js`。这属于第三方转录,**不是官方托管**,页面会显示其身份及出版社版本链接。不会随第三方仓库的 main 分支自动更新。
|
|
183
|
+
|
|
184
|
+
408 的后备来源是[四〇八档案室标注2027的四模块正文](https://zhenti.beokayy.club/outline)。已用独立2027转载PDF的14页逐条比对,并用高校公开的2025版11页正文核对差异,四模块知识点均有支持,未发现实质知识范围冲突。两份2027转载存在标题措辞及转写差异;**这属于多源交叉核对,不是2027官方原书逐字审定,也不能证明“年度无变化”**。运行时核对高教社2027版书目(ISBN `978-7-04-068451-3`),同时核验已检查的网页正文与独立PDF的 SHA-256;正文、PDF或出版社记录不符合固定版本时停止。来源记录和界面明确显示上述限制,不标为官方原文,不发布或打包原书及转载PDF。其他科目目前没有已核对的后备正文来源。
|
|
185
|
+
|
|
186
|
+
页面显示实际参考年份、链接、读取方式及检索时间,不把尚未核实的目标年份标成已确认。发现更新年份的官方大纲公告但无法读取正文时停止,不拿旧版替代。至少需要两个不同年份的匹配真题;数学一内置2024、2025年、408内置2024、2023年教育在线试卷地址,避免搜索排名变化导致完全找不到试卷。固定来源不受近三个年份的搜索窗口限制,但仍受年份、科目、正文和独立评审检查。
|
|
187
|
+
|
|
188
|
+
读取网页时先提取正文,再截取长度。图片真题经宿主附件服务传入默认视觉模型,转录题干、选项和公式;408读取来源的全部试卷图片(当前两年各9张,上限12张),覆盖后续组成原理、操作系统与网络,避免只用开头的数据结构题校准其他模块。自主检索的图片试卷同样读取全部图片(上限12张);其余固定渠道每个来源读取前两张图片。至少两道清晰完整题目才使用,裁切、图表缺失或无法辨认的题目跳过;不抄入参考答案。来源保留图片链接、识别告警及覆盖范围;这些是难度对照材料,不代表按考生表现统计的整卷难度。默认模型必须经宿主能力接口确认为支持图片。在线 PDF 使用受域名、公网地址、跳转次数和大小限制的下载通道,复用项目的文本层提取器,不依赖宿主 web.fetch 支持 PDF,也不将文件路径说明误当作 PDF 正文。
|
|
189
|
+
|
|
190
|
+
命题模型拿到这些资料后出题;盲解仍只接收题干与选项。答案核验完成后,独立评审调用检查范围、题型、知识点数量、推导步骤、计算量、条件隐含程度和技巧要求;不会收到命题人的难度分或范围自评。评审必须逐字引用已读取的大纲条目和至少两年真题片段,程序会检查引用是否真实存在。
|
|
191
|
+
|
|
192
|
+
最终难度采用独立评审的 1~5 整数评分:基础直接题、典型常规题、中等综合题、较难综合题、高难压轴题。它是对照所检索真题的模型估计,不是按考生正确率标定的统计难度。范围或难度评审失败会反馈重出,仍不通过则不发布;命题人的自评分不会作为最终评分。
|
|
193
|
+
|
|
194
|
+
评审输出需保持一致:有阻止通过的问题必须拒绝,`issues` 非空始终不会发布。经核对且不影响本题判断的一般来源限制放入 `warnings`,保留供查看答案后查阅;无法核实资料、缺少有效引用、范围或难度失真不能改成一般提示放行。
|
|
195
|
+
|
|
196
|
+
无法读取大纲或真题、宿主没有联网服务、图片识别失败、PDF 没有可提取的文本层或超过 16 MiB 时,会停止在线出题,不降级为凭模型印象生成。图片真题另需宿主附件服务。扫描版 PDF 尚不支持自动逐页渲染;PDF 字体和编码仍可能影响文本提取。可以继续使用题库模式。新机制只影响之后在线生成的题目,不会重新标注已有题目的难度;答案修订仍核验正确性,不重估既有题干难度。
|
|
132
197
|
|
|
133
198
|
## 导入题库
|
|
134
199
|
|
|
135
200
|
支持 `.md`、`.txt` 和文本型 `.pdf`。扫描件或图片型 PDF 不提供 OCR;提取效果受 PDF 的字体、编码与排版影响,导入前必须核对预览。
|
|
136
201
|
|
|
137
|
-
|
|
202
|
+
在线 PDF 和题库 PDF 均按实际页树顺序提取,在受限工作线程中解析,单份解析含排队最多20秒;限制单流展开8MiB、累计展开32MiB、1000页及400万量级字符。最多同时解析2份,排队最多8份且总大小不超过64MiB;达到限制会明确报错,可缩小文件或稍后重试。
|
|
203
|
+
|
|
204
|
+
建议按下面的结构组织 Markdown,以「第 N 题」或分隔线区分题目。解析中的普通编号列表会随解析保留。
|
|
138
205
|
|
|
139
206
|
```markdown
|
|
140
207
|
## 第 1 题
|
|
@@ -159,7 +226,7 @@ D. 4
|
|
|
159
226
|
解析:结合闭区间紧致性与连续函数的性质说明结论。
|
|
160
227
|
```
|
|
161
228
|
|
|
162
|
-
|
|
229
|
+
导入答案标记为「待核验」,缺少答案的题目标记为「缺少答案」。题干缺失或过短、选择题有效选项不足时,预览会标记「不入库」。确认前可以逐题取消勾选。导入成功只表示解析完成,参考答案仍需核对。
|
|
163
230
|
|
|
164
231
|
## 公式、代码与日期
|
|
165
232
|
|
|
@@ -167,12 +234,14 @@ D. 4
|
|
|
167
234
|
|
|
168
235
|
公式基准字号固定,长公式可横向滚动,保留上下标和分式的正常排版比例。代码块保留缩进与换行。界面包含轻量动效,并尊重系统的「减少动态效果」设置。
|
|
169
236
|
|
|
170
|
-
考研年份使用入学年份口径,例如 **2028 考研对应 2027
|
|
237
|
+
考研年份使用入学年份口径,例如 **2028 考研对应 2027 年末的初试**。日期区分官方公布、估算和尚未核实,估算日期标注「约」。联网核验按考研届次和实际考试年份检索教育部、研招网和教育考试院,只采用官方公告正文明确给出的完整初试起止日期。
|
|
171
238
|
|
|
172
239
|
倒计时第一行显示剩余总天数,中间一行按 **365 天为一年、30 天为一个月**拆分,并省略数值为零的单位,例如「1年23天」「3个月」「2年」;剩余不超过 30 天时隐藏中间一行。这一拆分是显示换算,不是自然月的日历差。
|
|
173
240
|
|
|
174
241
|
## 数据与隐私
|
|
175
242
|
|
|
243
|
+
追问上下文区分已核验、未核验和缺失的参考答案。模型生成或修订的答案即使通过独立校验,也不标为官方认证;导入的未核验答案会提示可能有误。
|
|
244
|
+
|
|
176
245
|
学习数据使用本机单文件 JSON 保存。默认路径按以下顺序解析:
|
|
177
246
|
|
|
178
247
|
1. 设置了 `DSH_DAILY_QUESTION_DATA_DIR`:直接使用该目录。
|
|
@@ -194,6 +263,18 @@ node --check client.js
|
|
|
194
263
|
|
|
195
264
|
离线测试覆盖日期换算、题库解析、持久化、业务状态、并发作答、批量管理、科目草稿和渲染组件。不需要真实模型或联网;这些测试不能替代实际 DSH 宿主中的安装与模型联调。
|
|
196
265
|
|
|
266
|
+
本机已安装并配置 DSH 时,可手动执行会消耗真实 API 调用的验收:
|
|
267
|
+
|
|
268
|
+
```bash
|
|
269
|
+
npm run test:live
|
|
270
|
+
# 408:按自定义科目选择408参考考试的路径验收
|
|
271
|
+
npm run test:live -- cs408
|
|
272
|
+
# 自主检索:不给模型预置408来源,单独验收发现与审查流程
|
|
273
|
+
npm run test:live -- auto408
|
|
274
|
+
```
|
|
275
|
+
|
|
276
|
+
脚本读取本机 DSH web profile 的默认模型与凭据,使用已安装的 DSH 检索、读取、附件和模型适配器。它检查真实 PDF、数学一命题、盲解、范围与难度评审,并注入错误候选答案验证主裁是否采纳正确的盲解方。调用记录、题目与报告写入打印出的独立临时目录,不使用正式学习数据;不会自动发布或打包。非默认目录可设置 `DSH_HOME`、`DQ_DSH_PROFILE`。通过脚本验收也不代表已验证所有科目或安装后的界面。
|
|
277
|
+
|
|
197
278
|
可以额外使用自己的文本型 PDF 检查提取效果:
|
|
198
279
|
|
|
199
280
|
```bash
|
|
@@ -208,11 +289,15 @@ node test/pdf-check.mjs <PDF文件路径>
|
|
|
208
289
|
| `client.js` | 页面、交互、Markdown 与公式渲染 |
|
|
209
290
|
| `lib/service.js` | 出题、作答、列表、题库与追问业务 |
|
|
210
291
|
| `lib/store.js` | 数据目录与原子持久化 |
|
|
211
|
-
| `lib/generate.js` |
|
|
292
|
+
| `lib/generate.js` | 模型出题、盲解、比对、主裁和修订 |
|
|
293
|
+
| `lib/research.js` | 自定义考试自主搜索、身份核验、独立资料审查与缓存 |
|
|
294
|
+
| `lib/references.js` | 大纲与真题检索、来源限制、独立范围与难度评审 |
|
|
295
|
+
| `lib/reference-reader.js` | 受限资料下载、正文定位、PDF 文本层与图片真题转录 |
|
|
296
|
+
| `lib/reference-sources.js` | 已核对的大纲转录版本、摘要及稳定真题来源 |
|
|
212
297
|
| `lib/bank.js`、`lib/pdf.js` | 题库解析与 PDF 文本提取 |
|
|
213
298
|
| `lib/exam-dates.js` | 日期来源、核验和倒计时 |
|
|
214
299
|
| `lib/routes.js` | 同源接口与 MathJax 静态资源 |
|
|
215
|
-
| `test/` |
|
|
300
|
+
| `test/` | 离线回归检查、手动联网验收 |
|
|
216
301
|
| `vendor/mathjax/` | 随包公式引擎及许可 |
|
|
217
302
|
|
|
218
303
|
## 维护者发布
|
|
@@ -224,13 +309,13 @@ npm test
|
|
|
224
309
|
npm pack --pack-destination dist
|
|
225
310
|
```
|
|
226
311
|
|
|
227
|
-
2.
|
|
312
|
+
2.1.1 对应产物为 `dist/daily-question-2.1.1.tgz`。建议将确认过的安装包同时作为 GitHub Release 附件,并直接发布同一份文件到 npm:
|
|
228
313
|
|
|
229
314
|
```bash
|
|
230
315
|
npm login --registry=https://registry.npmjs.org/
|
|
231
316
|
npm whoami --registry=https://registry.npmjs.org/
|
|
232
|
-
npm publish ./dist/daily-question-2.
|
|
233
|
-
npm view daily-question@2.
|
|
317
|
+
npm publish ./dist/daily-question-2.1.1.tgz --access public --registry=https://registry.npmjs.org/
|
|
318
|
+
npm view daily-question@2.1.1 version --registry=https://registry.npmjs.org/
|
|
234
319
|
```
|
|
235
320
|
|
|
236
321
|
按 npm 提示完成浏览器登录与发布验证。发布账号需要拥有 `daily-question` 包的发布权限;若该版本已经发布,不可用相同版本号覆盖。GitHub 标签、npm 版本和安装包版本应保持一致。
|
|
@@ -239,4 +324,4 @@ npm view daily-question@2.0.0 version --registry=https://registry.npmjs.org/
|
|
|
239
324
|
|
|
240
325
|
插件代码采用 [MIT License](LICENSE)。随包 MathJax 采用 Apache License 2.0,详见 [vendor/mathjax/LICENSE](vendor/mathjax/LICENSE)。
|
|
241
326
|
|
|
242
|
-
问题反馈与建议:[GitHub Issues](https://github.com/Scienmicroit/Daily-Question/issues)。
|
|
327
|
+
问题反馈与建议:[GitHub Issues](https://github.com/Scienmicroit/Daily-Question/issues)。
|