hydro-ai-helper 2.2.0 → 2.4.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/README.md +10 -0
- package/dist/constants/updateChannel.js +44 -0
- package/dist/constants/updateChannel.js.map +1 -0
- package/dist/handlers/adminConfigHandler.js +30 -0
- package/dist/handlers/adminConfigHandler.js.map +1 -1
- package/dist/handlers/batchSummaryHandler.js +15 -8
- package/dist/handlers/batchSummaryHandler.js.map +1 -1
- package/dist/handlers/studentHandler.js +1 -1
- package/dist/handlers/studentHandler.js.map +1 -1
- package/dist/handlers/teachingSummaryHandler.js +38 -9
- package/dist/handlers/teachingSummaryHandler.js.map +1 -1
- package/dist/handlers/versionHandler.js +2 -1
- package/dist/handlers/versionHandler.js.map +1 -1
- package/dist/index.js +3 -1
- package/dist/index.js.map +1 -1
- package/dist/models/aiConfig.js +15 -2
- package/dist/models/aiConfig.js.map +1 -1
- package/dist/models/studentSummary.js +13 -0
- package/dist/models/studentSummary.js.map +1 -1
- package/dist/models/teachingSummary.js +2 -0
- package/dist/models/teachingSummary.js.map +1 -1
- package/dist/services/analyzers/errorClusterAnalyzer.js +1 -0
- package/dist/services/analyzers/errorClusterAnalyzer.js.map +1 -1
- package/dist/services/analyzers/findingConsolidator.js +172 -0
- package/dist/services/analyzers/findingConsolidator.js.map +1 -0
- package/dist/services/batchSummaryService.js +85 -51
- package/dist/services/batchSummaryService.js.map +1 -1
- package/dist/services/openaiClient.js +59 -28
- package/dist/services/openaiClient.js.map +1 -1
- package/dist/services/promptService.js +49 -24
- package/dist/services/promptService.js.map +1 -1
- package/dist/services/teachingAnalysisService.js +13 -2
- package/dist/services/teachingAnalysisService.js.map +1 -1
- package/dist/services/teachingSuggestionService.js +43 -44
- package/dist/services/teachingSuggestionService.js.map +1 -1
- package/dist/services/telemetryService.js +8 -1
- package/dist/services/telemetryService.js.map +1 -1
- package/dist/services/updateService.js +106 -11
- package/dist/services/updateService.js.map +1 -1
- package/dist/services/versionService.js +88 -61
- package/dist/services/versionService.js.map +1 -1
- package/dist/utils/semver.js +75 -0
- package/dist/utils/semver.js.map +1 -0
- package/frontend/admin/BudgetConfigForm.tsx +1 -1
- package/frontend/admin/ConfigPanel.tsx +53 -3
- package/frontend/admin/EndpointManager.tsx +1 -1
- package/frontend/admin/FeedbackForm.tsx +1 -1
- package/frontend/admin/JailbreakLogsViewer.tsx +1 -1
- package/frontend/admin/ScenarioModelSelector.tsx +238 -0
- package/frontend/admin/TelemetrySettings.tsx +1 -1
- package/frontend/admin/VersionBadge.tsx +26 -1
- package/frontend/admin/configTypes.ts +9 -0
- package/frontend/batchSummary/BatchSummaryPanel.tsx +29 -1
- package/frontend/batchSummary/StudentSummaryView.tsx +47 -14
- package/frontend/batchSummary/SummaryCard.tsx +1 -1
- package/frontend/batchSummary/useBatchSummary.ts +26 -8
- package/frontend/components/AIHelperDashboard.tsx +1 -1
- package/frontend/components/ErrorBoundary.tsx +1 -1
- package/frontend/components/ScoreboardTabContainer.tsx +1 -1
- package/frontend/generated/localeFallback.ts +1502 -0
- package/frontend/problem_detail.page.tsx +1 -1
- package/frontend/student/AIAssistantPanel.tsx +1 -1
- package/frontend/student/ChatInput.tsx +1 -1
- package/frontend/student/ChatMessageList.tsx +1 -1
- package/frontend/student/ThinkingBlock.tsx +1 -1
- package/frontend/student/hooks/useChatSession.ts +1 -1
- package/frontend/teacher/AnalyticsPage.tsx +1 -1
- package/frontend/teacher/ClassAnalyticsTable.tsx +1 -1
- package/frontend/teacher/ConversationDetail.tsx +1 -1
- package/frontend/teacher/ConversationDetailModal.tsx +1 -1
- package/frontend/teacher/ConversationList.tsx +1 -1
- package/frontend/teacher/CostDashboard.tsx +1 -1
- package/frontend/teacher/ExportDialog.tsx +1 -1
- package/frontend/teacher/MetricsPanel.tsx +1 -1
- package/frontend/teacher/ProblemAnalyticsTable.tsx +1 -1
- package/frontend/teacher/StudentAnalyticsTable.tsx +1 -1
- package/frontend/teacher/analyticsTypes.ts +1 -1
- package/frontend/teachingSummary/TeachingReviewPanel.tsx +1 -1
- package/frontend/teachingSummary/TeachingSummaryPanel.tsx +525 -175
- package/frontend/teachingSummary/useTeachingSummary.ts +10 -0
- package/frontend/utils/i18n.ts +32 -0
- package/frontend/utils/i18nFallbackCore.ts +30 -0
- package/locales/en.yaml +43 -6
- package/locales/zh.yaml +43 -6
- package/package.json +3 -1
|
@@ -10,18 +10,18 @@ exports.buildMainPrompt = buildMainPrompt;
|
|
|
10
10
|
exports.buildFillInPrompt = buildFillInPrompt;
|
|
11
11
|
exports.buildDeepDivePrompt = buildDeepDivePrompt;
|
|
12
12
|
// ─── 提示词模板 ──────────────────────────────────────────
|
|
13
|
-
const MAIN_SYSTEM_PROMPT = `你是一位教龄15
|
|
13
|
+
const MAIN_SYSTEM_PROMPT = `你是一位教龄15年的编程课教师,同时负责教学教研。你将根据规则引擎提供的【带有具体错误诊断和题目信息的】课堂分析数据,为授课教师提炼一份【一分钟能读完、拿着就能上课】的教学参考。核心回答两个问题:这节课学生的主要问题是什么、下节课开头几分钟该怎么讲。
|
|
14
14
|
|
|
15
15
|
【核心约束】
|
|
16
|
-
-
|
|
17
|
-
-
|
|
18
|
-
-
|
|
19
|
-
-
|
|
20
|
-
-
|
|
16
|
+
- 少而准:除表格外全文不超过 200 字。原始数据的逐条展示由系统界面完成,你只负责结论与课堂动作,不要复述数据清单
|
|
17
|
+
- 聚焦影响人数最多的 1-3 个问题,其余一概不提
|
|
18
|
+
- 每条结论必须锚定数据中的具体题目、具体错误模式,并引用影响人数/比例
|
|
19
|
+
- 建议必须具体到照着就能做;严禁输出"加强练习"/"进行个别辅导"/"注意边界条件"这类空话
|
|
20
|
+
- 当某条主要依据 "low" confidence 数据时,行末加注"(⚠️ 数据有限,仅供参考)";标注为 "insufficient_data" 的数据直接跳过
|
|
21
21
|
- 必须基于给定数据说话,严禁捏造数据或比例
|
|
22
22
|
|
|
23
23
|
【优先级框架】
|
|
24
|
-
P0 — 全局知识缺陷:>20
|
|
24
|
+
P0 — 全局知识缺陷:>20%学生犯同一类错误(有具体错误签名和测试点信息)→ 优先进入回顾清单
|
|
25
25
|
P1 — 个体干预:按行为模式分类(持续努力型 / 受挫放弃型 / 沉默挣扎型 / 未参与型)
|
|
26
26
|
|
|
27
27
|
【可推荐的教学干预方法】
|
|
@@ -41,12 +41,12 @@ P1 — 个体干预:按行为模式分类(持续努力型 / 受挫放弃型
|
|
|
41
41
|
【边缘情况处理】
|
|
42
42
|
| 条件 | 行动 |
|
|
43
43
|
|---|---|
|
|
44
|
-
| 全班 AC 率 > 90% 且无 commonError |
|
|
44
|
+
| 全班 AC 率 > 90% 且无 commonError | diagnosis 输出"全班表现优秀"及依据;next_class_review 清单改为 1-2 个值得全班表扬的共性亮点 + 1 个进阶挑战方向(时空复杂度优化、进阶变式题等) |
|
|
45
45
|
| AI 使用数据为 0(全班未使用 AI) | 聚焦于提交记录分析,不做 AI 有效性对比 |
|
|
46
46
|
|
|
47
47
|
【质量示例】
|
|
48
48
|
- 坏例子(禁止):"加强对边界条件的练习" / "进行个别辅导" / "注意数组越界问题" / "建议教师在课上演示正确写法"
|
|
49
|
-
- 好例子(要求):"35%的学生(10人)在T2
|
|
49
|
+
- 好例子(要求):"35%的学生(10人)在T2把循环条件写成 i<=n 而非 i<n(错误模式 off_by_one):给出 n=0 让全班口算循环会执行几次,再对比 i<n,暴露'元素个数'与'最大下标'的概念差异"
|
|
50
50
|
|
|
51
51
|
【输出章节定义】
|
|
52
52
|
你的报告可能包含以下章节。每次请求的 user prompt 末尾会给出 output_sections 列表,只输出该列表中指定的章节,未指定的章节不得出现在输出中。
|
|
@@ -55,39 +55,23 @@ P1 — 个体干预:按行为模式分类(持续努力型 / 受挫放弃型
|
|
|
55
55
|
### 📊 一句话诊断
|
|
56
56
|
{一句话点明核心教学问题,引用具体数据}
|
|
57
57
|
|
|
58
|
-
■
|
|
59
|
-
###
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
**📌 错误模式**:{一句话概括错误模式,引用错误签名}
|
|
65
|
-
|
|
66
|
-
**🔍 具体表现**:
|
|
67
|
-
- 错误签名:\`{errorSignature}\`,出现在测试点 {testcaseIds}
|
|
68
|
-
- 典型错误代码:\`{学生代码中的关键错误行}\`
|
|
69
|
-
- 学生常见误解:"{学生认为的逻辑}" → 实际应为:"{正确逻辑}"
|
|
70
|
-
|
|
71
|
-
**📊 数据全景**:
|
|
72
|
-
| 维度 | 数据 |
|
|
73
|
-
|---|---|
|
|
74
|
-
| 受影响学生数 | {N}人(占参与人数{百分比}) |
|
|
75
|
-
| 涉及题目 | {pid列表} |
|
|
76
|
-
| 错误集中度 | {该错误是分散在多题还是集中在某题} |
|
|
77
|
-
|
|
78
|
-
**🧠 根因定位**:{用1-2句话说明知识盲点或认知误区,不要给出教学行动指令}
|
|
79
|
-
|
|
80
|
-
**💡 可选干预方向**:{从【可推荐的教学干预方法】中选择1-2个适合的方法名称,仅列出方法名,不展开具体步骤}
|
|
58
|
+
■ next_class_review — 下节课回顾清单
|
|
59
|
+
### 📋 下节课回顾清单
|
|
60
|
+
(这是给教师上课直接照着用的:从最主要的问题中提炼,最多 3 行,按优先级排序。"建议课堂动作"必须具体到照着就能做——一组能暴露错误的反例数据、一个课堂提问、一次全班口算演示;不写"加强练习"之类的抽象建议,不给题目答案代码)
|
|
61
|
+
| 优先级 | 要回顾的问题 | 建议课堂动作(2-5分钟) |
|
|
62
|
+
|---|---|---|
|
|
63
|
+
| 1 | {问题一句话,含影响面数据} | {如:给出 n=0 让全班口算 i<=n 的循环会执行几次,再对比 i<n} |
|
|
81
64
|
|
|
82
|
-
■ p1_behavior_intervention —
|
|
83
|
-
|
|
65
|
+
■ p1_behavior_intervention — 个体干预建议
|
|
66
|
+
### 👥 个体干预建议
|
|
84
67
|
(仅输出 count > 0 的行为模式,跳过人数为 0 或数据缺失的类别)
|
|
85
68
|
| 行为模式 | 人数 | 建议动作 |
|
|
86
69
|
|---|---|---|
|
|
87
70
|
| {行为模式名称} | N | {具体建议} |`;
|
|
88
|
-
const FILL_IN_SYSTEM_PROMPT =
|
|
71
|
+
const FILL_IN_SYSTEM_PROMPT = `你是一位编程教学专家,擅长把学生的真实代码转化为课后巩固素材。你将基于学生的 AC 代码和已识别的全班共性错误模式,生成一份可直接下发【全年段学生】统一练习的课后作业(代码挖空练习)。
|
|
89
72
|
|
|
90
73
|
【核心约束】
|
|
74
|
+
- 挖空必须针对全班错误高发的知识点,让没做过原题的学生也值得一练
|
|
91
75
|
- 每题挖2-4个空,优先选择:错误高发位、关键逻辑判断位、边界条件位
|
|
92
76
|
- 避免挖空简单的 I/O 语句或变量声明
|
|
93
77
|
- 如果题目是填空形式(is_fill_in_problem=true),挖空位置必须避开题目模板代码
|
|
@@ -100,10 +84,14 @@ const FILL_IN_SYSTEM_PROMPT = `你是一位编程教学专家,擅长设计代
|
|
|
100
84
|
- 注释应帮助学生理解代码整体逻辑,而非仅标注语法
|
|
101
85
|
|
|
102
86
|
【输出格式】
|
|
103
|
-
|
|
87
|
+
先输出一次作业标题与使用说明:
|
|
88
|
+
|
|
89
|
+
### 📝 课后巩固作业(适用于全年段)
|
|
90
|
+
> 使用说明:下发学生时保留每题的"练习代码"和"变式思考";"建议挖空点说明"为教师参考答案,请勿下发。
|
|
91
|
+
|
|
92
|
+
然后对每道题输出以下结构:
|
|
104
93
|
|
|
105
|
-
####
|
|
106
|
-
**题目**:{pid}. {title}
|
|
94
|
+
#### 第 {序号} 题:{title}(原题 {pid})
|
|
107
95
|
**练习目的**:{根据错误模式说明本练习针对什么知识盲点}
|
|
108
96
|
|
|
109
97
|
##### 练习代码(可直接复制到试卷)
|
|
@@ -111,7 +99,10 @@ const FILL_IN_SYSTEM_PROMPT = `你是一位编程教学专家,擅长设计代
|
|
|
111
99
|
{完整 AC 代码,挖空位置用注释占位符替换,每个关键行添加行尾注释}
|
|
112
100
|
\`\`\`
|
|
113
101
|
|
|
114
|
-
#####
|
|
102
|
+
##### 变式思考(选做)
|
|
103
|
+
{针对同一错误模式,换一组数据或换一个条件提 1 个口头思考题,学生不用写代码、一两句话能回答,如"如果输入是空的,第几行会先出问题?"}
|
|
104
|
+
|
|
105
|
+
##### 建议挖空点说明(教师参考答案,勿下发)
|
|
115
106
|
| 空号 | 位置描述 | 参考答案 | 挖空理由 |
|
|
116
107
|
|---|---|---|---|
|
|
117
108
|
| [空1] | {位置描述} | \`{被挖空的原始代码}\` | {关联学生的哪个错误模式} |`;
|
|
@@ -127,7 +118,7 @@ const DEEP_DIVE_SYSTEM_PROMPT = `你是一位擅长认知诊断的编程教育
|
|
|
127
118
|
如果代码样本看起来完善,但AI对话显示学生在索要完整代码或频繁询问低级问题,优先判定为"学习策略与元认知问题(过度依赖)",而非知识问题。
|
|
128
119
|
|
|
129
120
|
【输出格式要求】
|
|
130
|
-
严格按照以下Markdown
|
|
121
|
+
严格按照以下Markdown结构输出,每节不超过 3 句话,全文不超过 300 字,必须引用给定数据中的具体证据:
|
|
131
122
|
|
|
132
123
|
### 🧠 认知障碍诊断
|
|
133
124
|
(学生卡在哪个布卢姆认知层级,根本原因:前置知识薄弱还是缺乏特定思维图式?)
|
|
@@ -163,7 +154,15 @@ function buildMainPrompt(input) {
|
|
|
163
154
|
teachingFocus ? `教学目标:${teachingFocus}` : '',
|
|
164
155
|
].filter(Boolean).join('\n')
|
|
165
156
|
: '教学目标未提供';
|
|
166
|
-
|
|
157
|
+
// 重点发现给完整 JSON;次要发现只给标题一行,避免 LLM 把注意力分散到长尾
|
|
158
|
+
const primaryFindings = findings.filter(f => !f.isSecondary);
|
|
159
|
+
const secondaryFindings = findings.filter(f => f.isSecondary);
|
|
160
|
+
const strippedFindings = stripSamples(primaryFindings);
|
|
161
|
+
const secondarySection = secondaryFindings.length
|
|
162
|
+
? `\n\n## 其他观察(次要发现,不要为其单独产出建议)\n${secondaryFindings
|
|
163
|
+
.map(f => `- ${f.title}`)
|
|
164
|
+
.join('\n')}`
|
|
165
|
+
: '';
|
|
167
166
|
const problemSection = input.problemContexts?.length
|
|
168
167
|
? `\n## 题目内容\n${input.problemContexts
|
|
169
168
|
.map(p => `### ${p.pid}. ${p.title}\n${p.content.slice(0, 500)}`)
|
|
@@ -182,7 +181,7 @@ function buildMainPrompt(input) {
|
|
|
182
181
|
disengaged: { label: '未参与型', count: input.behaviorSummary.disengaged },
|
|
183
182
|
}, null, 2)}`
|
|
184
183
|
: '';
|
|
185
|
-
const outputSections = ['diagnosis', '
|
|
184
|
+
const outputSections = ['diagnosis', 'next_class_review'];
|
|
186
185
|
if (hasBehavior)
|
|
187
186
|
outputSections.push('p1_behavior_intervention');
|
|
188
187
|
const userPrompt = `## 教学上下文
|
|
@@ -196,8 +195,8 @@ ${contextSection}
|
|
|
196
195
|
- 题目数量:${stats.problemCount}
|
|
197
196
|
${problemSection}
|
|
198
197
|
|
|
199
|
-
##
|
|
200
|
-
${JSON.stringify(strippedFindings, null, 2)}${behaviorSection}
|
|
198
|
+
## 规则引擎重点发现(JSON)
|
|
199
|
+
${JSON.stringify(strippedFindings, null, 2)}${secondarySection}${behaviorSection}
|
|
201
200
|
|
|
202
201
|
---
|
|
203
202
|
output_sections: ${JSON.stringify(outputSections)}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"teachingSuggestionService.js","sourceRoot":"","sources":["../../src/services/teachingSuggestionService.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;
|
|
1
|
+
{"version":3,"file":"teachingSuggestionService.js","sourceRoot":"","sources":["../../src/services/teachingSuggestionService.ts"],"names":[],"mappings":"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"}
|
|
@@ -291,7 +291,14 @@ TelemetryService.DEFAULT_FEATURES = {
|
|
|
291
291
|
// ─── 导出的共享工具函数 ─────────────────────────────
|
|
292
292
|
const DEFAULT_BASE = 'https://stats.how2learns.com';
|
|
293
293
|
/**
|
|
294
|
-
* 获取遥测 token
|
|
294
|
+
* 获取遥测 token。
|
|
295
|
+
*
|
|
296
|
+
* 默认返回空(不在公开插件里内置任何 token):官方 Worker 的写入端
|
|
297
|
+
* (/api/report、/api/errors、/api/feedback) 对未配置 REPORT_TOKEN 的情况是
|
|
298
|
+
* fail-open(匿名上报),无需 token。自建遥测服务若给 Worker 设了 REPORT_TOKEN,
|
|
299
|
+
* 可通过环境变量 AI_HELPER_TELEMETRY_TOKEN 提供匹配的 token。
|
|
300
|
+
*
|
|
301
|
+
* 历史教训:不要在此内置写死 token —— 它会进公开仓库,既非真密钥又增加维护成本。
|
|
295
302
|
*/
|
|
296
303
|
function getTelemetryToken() {
|
|
297
304
|
return (process.env.AI_HELPER_TELEMETRY_TOKEN || '').trim();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"telemetryService.js","sourceRoot":"","sources":["../../src/services/telemetryService.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"telemetryService.js","sourceRoot":"","sources":["../../src/services/telemetryService.ts"],"names":[],"mappings":"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"}
|
|
@@ -53,6 +53,8 @@ const path = __importStar(require("path"));
|
|
|
53
53
|
const fs = __importStar(require("fs"));
|
|
54
54
|
const fsPromises = __importStar(require("fs/promises"));
|
|
55
55
|
const axios_1 = __importDefault(require("axios"));
|
|
56
|
+
const updateChannel_1 = require("../constants/updateChannel");
|
|
57
|
+
const semver_1 = require("../utils/semver");
|
|
56
58
|
/**
|
|
57
59
|
* 仓库配置(按优先级排序)
|
|
58
60
|
*/
|
|
@@ -675,6 +677,63 @@ class UpdateService {
|
|
|
675
677
|
log('ai_helper_update_remote_switch_success');
|
|
676
678
|
return true;
|
|
677
679
|
}
|
|
680
|
+
/**
|
|
681
|
+
* 获取远程标签(stable 通道据此选出最新发布版本)
|
|
682
|
+
* - 使用 --force:远程若对同名 tag 重新打标,本地也能同步更新
|
|
683
|
+
*/
|
|
684
|
+
async fetchTags(onLog) {
|
|
685
|
+
const log = (msg) => onLog?.(msg);
|
|
686
|
+
log('ai_helper_update_fetching_tags');
|
|
687
|
+
const result = await this.executeCommand('git', ['fetch', '--tags', '--force', 'origin'], this.pluginPath, (line) => log(line.trim()), 300000);
|
|
688
|
+
return { code: result.code, stderr: result.stderr };
|
|
689
|
+
}
|
|
690
|
+
/**
|
|
691
|
+
* 解析本次更新的目标 commit(按通道)
|
|
692
|
+
* - edge:origin/main 最新 commit(旧版行为,供开发者测试服务器使用)
|
|
693
|
+
* - stable:最新稳定发布标签(vX.Y.Z)所指向的 commit;预发布标签会被忽略
|
|
694
|
+
*
|
|
695
|
+
* 仅返回具体 commit hash,后续的 GPG 验签与 reset 都只针对该 hash,
|
|
696
|
+
* 从而避免 TOCTOU(解析与切换之间远程被改动)。
|
|
697
|
+
*/
|
|
698
|
+
async resolveUpdateTarget(channel, onLog) {
|
|
699
|
+
const log = (msg, ...args) => onLog?.(msg, ...args);
|
|
700
|
+
if (channel === 'edge') {
|
|
701
|
+
const r = await this.executeCommand('git', ['rev-parse', '--verify', 'origin/main'], this.pluginPath, undefined, 15000);
|
|
702
|
+
if (r.code !== 0) {
|
|
703
|
+
return {
|
|
704
|
+
ok: false,
|
|
705
|
+
messageKey: 'ai_helper_update_cannot_resolve_remote',
|
|
706
|
+
messageArgs: [(r.stderr || r.stdout || '').trim()]
|
|
707
|
+
};
|
|
708
|
+
}
|
|
709
|
+
return { ok: true, commit: r.stdout.trim(), display: 'main (edge)' };
|
|
710
|
+
}
|
|
711
|
+
// stable:列出本地标签(fetchTags 后已是最新),挑选最新稳定版
|
|
712
|
+
const tagList = await this.executeCommand('git', ['tag', '--list', 'v*'], this.pluginPath, undefined, 15000);
|
|
713
|
+
if (tagList.code !== 0) {
|
|
714
|
+
return {
|
|
715
|
+
ok: false,
|
|
716
|
+
messageKey: 'ai_helper_update_cannot_list_tags',
|
|
717
|
+
messageArgs: [(tagList.stderr || tagList.stdout || '').trim()]
|
|
718
|
+
};
|
|
719
|
+
}
|
|
720
|
+
const tags = tagList.stdout.split(/\r?\n/).map((t) => t.trim()).filter(Boolean);
|
|
721
|
+
const latest = (0, semver_1.pickLatestStableTag)(tags);
|
|
722
|
+
if (!latest) {
|
|
723
|
+
return { ok: false, messageKey: 'ai_helper_update_no_release_tag' };
|
|
724
|
+
}
|
|
725
|
+
log('ai_helper_update_selected_tag', latest);
|
|
726
|
+
// 解引用到 commit(注解标签需 ^{commit})
|
|
727
|
+
const r = await this.executeCommand('git', ['rev-parse', '--verify', `${latest}^{commit}`], this.pluginPath, undefined, 15000);
|
|
728
|
+
if (r.code !== 0) {
|
|
729
|
+
return {
|
|
730
|
+
ok: false,
|
|
731
|
+
messageKey: 'ai_helper_update_cannot_resolve_tag',
|
|
732
|
+
messageArgs: [latest, (r.stderr || r.stdout || '').trim()]
|
|
733
|
+
};
|
|
734
|
+
}
|
|
735
|
+
return { ok: true, commit: r.stdout.trim(), display: latest };
|
|
736
|
+
}
|
|
678
737
|
/**
|
|
679
738
|
* 🔒 验证 GPG 签名并检查指纹白名单
|
|
680
739
|
*/
|
|
@@ -1045,6 +1104,8 @@ class UpdateService {
|
|
|
1045
1104
|
if (onProgress)
|
|
1046
1105
|
onProgress(step, messageKey, ...messageArgs);
|
|
1047
1106
|
};
|
|
1107
|
+
// 更新通道:stable(默认,只更新到发布标签)/ edge(跟踪 main,供开发者测试)
|
|
1108
|
+
const channel = (0, updateChannel_1.getUpdateChannel)();
|
|
1048
1109
|
// 用于失败回滚的备份 commit(在函数作用域声明)
|
|
1049
1110
|
let backupCommit = '';
|
|
1050
1111
|
// 🔒 成功更新时延后释放文件锁(等待 pm2 restart 完成,避免竞态窗口)
|
|
@@ -1069,6 +1130,7 @@ class UpdateService {
|
|
|
1069
1130
|
};
|
|
1070
1131
|
}
|
|
1071
1132
|
log('detecting', validation.message, ...(validation.messageArgs || []));
|
|
1133
|
+
log('detecting', 'ai_helper_update_channel', channel);
|
|
1072
1134
|
log('detecting', 'ai_helper_update_checking_write_permission');
|
|
1073
1135
|
const writeCheck = await this.checkWritePermission((msg) => log('detecting', msg));
|
|
1074
1136
|
if (!writeCheck.ok) {
|
|
@@ -1263,25 +1325,58 @@ class UpdateService {
|
|
|
1263
1325
|
}
|
|
1264
1326
|
log('pulling', 'ai_helper_update_fetch_complete');
|
|
1265
1327
|
}
|
|
1266
|
-
//
|
|
1328
|
+
// stable 通道:拉取远程标签,以便选出最新发布版本(vX.Y.Z)
|
|
1329
|
+
if (channel === 'stable') {
|
|
1330
|
+
let tagFetch = await this.fetchTags((msg) => log('pulling', msg));
|
|
1331
|
+
if (tagFetch.code !== 0) {
|
|
1332
|
+
log('pulling', 'ai_helper_update_tags_fetch_failed', tagFetch.stderr);
|
|
1333
|
+
for (const repo of orderedRepos) {
|
|
1334
|
+
if (repo.url === selectedRepo.url)
|
|
1335
|
+
continue;
|
|
1336
|
+
log('pulling', 'ai_helper_update_trying_fallback', repo.name, repo.url);
|
|
1337
|
+
if (!(await this.setRemoteOrigin(repo.url, (m) => log('pulling', m))))
|
|
1338
|
+
continue;
|
|
1339
|
+
tagFetch = await this.fetchTags((m) => log('pulling', m));
|
|
1340
|
+
if (tagFetch.code === 0) {
|
|
1341
|
+
log('pulling', 'ai_helper_update_fallback_success', repo.name);
|
|
1342
|
+
break;
|
|
1343
|
+
}
|
|
1344
|
+
}
|
|
1345
|
+
}
|
|
1346
|
+
if (tagFetch.code !== 0) {
|
|
1347
|
+
log('failed', 'ai_helper_update_tags_fetch_failed', tagFetch.stderr);
|
|
1348
|
+
return {
|
|
1349
|
+
success: false,
|
|
1350
|
+
step: 'failed',
|
|
1351
|
+
message: 'ai_helper_update_tags_fetch_failed',
|
|
1352
|
+
messageKey: 'ai_helper_update_tags_fetch_failed',
|
|
1353
|
+
messageArgs: [tagFetch.stderr],
|
|
1354
|
+
logs,
|
|
1355
|
+
pluginPath: this.pluginPath,
|
|
1356
|
+
error: tagFetch.stderr
|
|
1357
|
+
};
|
|
1358
|
+
}
|
|
1359
|
+
}
|
|
1360
|
+
// Step 2.4: 解析目标 commit(按通道;防止 TOCTOU:后续只对该 hash 做验证和切换)
|
|
1267
1361
|
log('pulling', 'ai_helper_update_resolving_remote');
|
|
1268
|
-
const
|
|
1269
|
-
if (
|
|
1270
|
-
|
|
1271
|
-
log('failed', 'ai_helper_update_cannot_resolve_remote', detail);
|
|
1362
|
+
const target = await this.resolveUpdateTarget(channel, (m, ...a) => log('pulling', m, ...a));
|
|
1363
|
+
if (!target.ok) {
|
|
1364
|
+
log('failed', target.messageKey, ...(target.messageArgs || []));
|
|
1272
1365
|
return {
|
|
1273
1366
|
success: false,
|
|
1274
1367
|
step: 'failed',
|
|
1275
|
-
message:
|
|
1276
|
-
messageKey:
|
|
1277
|
-
messageArgs:
|
|
1368
|
+
message: target.messageKey,
|
|
1369
|
+
messageKey: target.messageKey,
|
|
1370
|
+
messageArgs: target.messageArgs,
|
|
1278
1371
|
logs,
|
|
1279
1372
|
pluginPath: this.pluginPath,
|
|
1280
|
-
error:
|
|
1373
|
+
error: target.messageKey,
|
|
1374
|
+
errorKey: target.messageKey,
|
|
1375
|
+
errorArgs: target.messageArgs
|
|
1281
1376
|
};
|
|
1282
1377
|
}
|
|
1283
|
-
const targetCommit =
|
|
1284
|
-
log('pulling', 'ai_helper_update_remote_version', targetCommit.substring(0, 8));
|
|
1378
|
+
const targetCommit = target.commit;
|
|
1379
|
+
log('pulling', 'ai_helper_update_remote_version', `${target.display} (${targetCommit.substring(0, 8)})`);
|
|
1285
1380
|
log('pulling', 'ai_helper_update_verifying_signature');
|
|
1286
1381
|
const verifyRef = targetCommit;
|
|
1287
1382
|
const gpgVerifyResult = await this.verifyGPGSignature(verifyRef, (msg) => log('pulling', msg));
|