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.
Files changed (85) hide show
  1. package/README.md +10 -0
  2. package/dist/constants/updateChannel.js +44 -0
  3. package/dist/constants/updateChannel.js.map +1 -0
  4. package/dist/handlers/adminConfigHandler.js +30 -0
  5. package/dist/handlers/adminConfigHandler.js.map +1 -1
  6. package/dist/handlers/batchSummaryHandler.js +15 -8
  7. package/dist/handlers/batchSummaryHandler.js.map +1 -1
  8. package/dist/handlers/studentHandler.js +1 -1
  9. package/dist/handlers/studentHandler.js.map +1 -1
  10. package/dist/handlers/teachingSummaryHandler.js +38 -9
  11. package/dist/handlers/teachingSummaryHandler.js.map +1 -1
  12. package/dist/handlers/versionHandler.js +2 -1
  13. package/dist/handlers/versionHandler.js.map +1 -1
  14. package/dist/index.js +3 -1
  15. package/dist/index.js.map +1 -1
  16. package/dist/models/aiConfig.js +15 -2
  17. package/dist/models/aiConfig.js.map +1 -1
  18. package/dist/models/studentSummary.js +13 -0
  19. package/dist/models/studentSummary.js.map +1 -1
  20. package/dist/models/teachingSummary.js +2 -0
  21. package/dist/models/teachingSummary.js.map +1 -1
  22. package/dist/services/analyzers/errorClusterAnalyzer.js +1 -0
  23. package/dist/services/analyzers/errorClusterAnalyzer.js.map +1 -1
  24. package/dist/services/analyzers/findingConsolidator.js +172 -0
  25. package/dist/services/analyzers/findingConsolidator.js.map +1 -0
  26. package/dist/services/batchSummaryService.js +85 -51
  27. package/dist/services/batchSummaryService.js.map +1 -1
  28. package/dist/services/openaiClient.js +59 -28
  29. package/dist/services/openaiClient.js.map +1 -1
  30. package/dist/services/promptService.js +49 -24
  31. package/dist/services/promptService.js.map +1 -1
  32. package/dist/services/teachingAnalysisService.js +13 -2
  33. package/dist/services/teachingAnalysisService.js.map +1 -1
  34. package/dist/services/teachingSuggestionService.js +43 -44
  35. package/dist/services/teachingSuggestionService.js.map +1 -1
  36. package/dist/services/telemetryService.js +8 -1
  37. package/dist/services/telemetryService.js.map +1 -1
  38. package/dist/services/updateService.js +106 -11
  39. package/dist/services/updateService.js.map +1 -1
  40. package/dist/services/versionService.js +88 -61
  41. package/dist/services/versionService.js.map +1 -1
  42. package/dist/utils/semver.js +75 -0
  43. package/dist/utils/semver.js.map +1 -0
  44. package/frontend/admin/BudgetConfigForm.tsx +1 -1
  45. package/frontend/admin/ConfigPanel.tsx +53 -3
  46. package/frontend/admin/EndpointManager.tsx +1 -1
  47. package/frontend/admin/FeedbackForm.tsx +1 -1
  48. package/frontend/admin/JailbreakLogsViewer.tsx +1 -1
  49. package/frontend/admin/ScenarioModelSelector.tsx +238 -0
  50. package/frontend/admin/TelemetrySettings.tsx +1 -1
  51. package/frontend/admin/VersionBadge.tsx +26 -1
  52. package/frontend/admin/configTypes.ts +9 -0
  53. package/frontend/batchSummary/BatchSummaryPanel.tsx +29 -1
  54. package/frontend/batchSummary/StudentSummaryView.tsx +47 -14
  55. package/frontend/batchSummary/SummaryCard.tsx +1 -1
  56. package/frontend/batchSummary/useBatchSummary.ts +26 -8
  57. package/frontend/components/AIHelperDashboard.tsx +1 -1
  58. package/frontend/components/ErrorBoundary.tsx +1 -1
  59. package/frontend/components/ScoreboardTabContainer.tsx +1 -1
  60. package/frontend/generated/localeFallback.ts +1502 -0
  61. package/frontend/problem_detail.page.tsx +1 -1
  62. package/frontend/student/AIAssistantPanel.tsx +1 -1
  63. package/frontend/student/ChatInput.tsx +1 -1
  64. package/frontend/student/ChatMessageList.tsx +1 -1
  65. package/frontend/student/ThinkingBlock.tsx +1 -1
  66. package/frontend/student/hooks/useChatSession.ts +1 -1
  67. package/frontend/teacher/AnalyticsPage.tsx +1 -1
  68. package/frontend/teacher/ClassAnalyticsTable.tsx +1 -1
  69. package/frontend/teacher/ConversationDetail.tsx +1 -1
  70. package/frontend/teacher/ConversationDetailModal.tsx +1 -1
  71. package/frontend/teacher/ConversationList.tsx +1 -1
  72. package/frontend/teacher/CostDashboard.tsx +1 -1
  73. package/frontend/teacher/ExportDialog.tsx +1 -1
  74. package/frontend/teacher/MetricsPanel.tsx +1 -1
  75. package/frontend/teacher/ProblemAnalyticsTable.tsx +1 -1
  76. package/frontend/teacher/StudentAnalyticsTable.tsx +1 -1
  77. package/frontend/teacher/analyticsTypes.ts +1 -1
  78. package/frontend/teachingSummary/TeachingReviewPanel.tsx +1 -1
  79. package/frontend/teachingSummary/TeachingSummaryPanel.tsx +525 -175
  80. package/frontend/teachingSummary/useTeachingSummary.ts +10 -0
  81. package/frontend/utils/i18n.ts +32 -0
  82. package/frontend/utils/i18nFallbackCore.ts +30 -0
  83. package/locales/en.yaml +43 -6
  84. package/locales/zh.yaml +43 -6
  85. 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
- - P0 发现必须锚定在数据中的具体题目、具体错误模式上
18
- - P1 建议必须锚定具体行为证据(提交次数、AI提问记录等),如有关联题目则引用,不得强行编造错误模式
19
- - 当某章节主要依据 "low" confidence 数据时,在该章节标题下方加注一次"⚠️ 数据有限,以下建议仅供参考"
20
- - 当数据标注为 "insufficient_data" 时,跳过该维度不做建议
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 | p0_action_plan 章节输出"全班表现优秀"并列出可进一步挑战的方向:时空复杂度优化、进阶变式题等 |
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中将循环条件写成 i<=n 而非 i<n,导致testcase #3 (n=0) 时数组越界。根因:未区分'元素个数'与'最大下标'的概念差异" / "错误集中在边界条件判断,错误签名 off_by_one,影响题目 P101、P103"
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
- p0_action_planP0全局错误发现报告
59
- ### 🚨 问题发现报告
60
- (按影响人数从高到低排列,每个P0问题独立一节)
61
-
62
- #### [P0] {问题名称} — 影响 {N}人/{百分比}
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 — P1个体干预建议
83
- #### [P1] 个体干预建议
65
+ ■ p1_behavior_intervention — 个体干预建议
66
+ ### 👥 个体干预建议
84
67
  (仅输出 count > 0 的行为模式,跳过人数为 0 或数据缺失的类别)
85
68
  | 行为模式 | 人数 | 建议动作 |
86
69
  |---|---|---|
87
70
  | {行为模式名称} | N | {具体建议} |`;
88
- const FILL_IN_SYSTEM_PROMPT = `你是一位编程教学专家,擅长设计代码挖空练习。你将基于学生的 AC 代码和已识别的错误模式,生成带有注释的挖空练习。
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
- const strippedFindings = stripSamples(findings);
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', 'p0_action_plan'];
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
- ## 规则引擎发现(JSON)
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":"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"}
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
- // Step 2.4: 获取远程 main 的具体 commit hash(防止 TOCTOU:后续只对该 hash 做验证和切换)
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 revParseResult = await this.executeCommand('git', ['rev-parse', '--verify', 'origin/main'], this.pluginPath, undefined, 15000);
1269
- if (revParseResult.code !== 0) {
1270
- const detail = revParseResult.stderr || revParseResult.stdout;
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: 'ai_helper_update_cannot_resolve_remote',
1276
- messageKey: 'ai_helper_update_cannot_resolve_remote',
1277
- messageArgs: [detail],
1368
+ message: target.messageKey,
1369
+ messageKey: target.messageKey,
1370
+ messageArgs: target.messageArgs,
1278
1371
  logs,
1279
1372
  pluginPath: this.pluginPath,
1280
- error: detail
1373
+ error: target.messageKey,
1374
+ errorKey: target.messageKey,
1375
+ errorArgs: target.messageArgs
1281
1376
  };
1282
1377
  }
1283
- const targetCommit = revParseResult.stdout.trim();
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));