@winspan/claude-forge 1.93.1 → 1.94.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 (81) hide show
  1. package/README.md +1 -1
  2. package/dist/autopilot/intent-engine.d.ts +1 -10
  3. package/dist/autopilot/intent-engine.d.ts.map +1 -1
  4. package/dist/autopilot/intent-engine.js +3 -18
  5. package/dist/autopilot/intent-engine.js.map +1 -1
  6. package/dist/cli/index.js +0 -2
  7. package/dist/cli/index.js.map +1 -1
  8. package/dist/daemon/context-injector.d.ts +0 -1
  9. package/dist/daemon/context-injector.d.ts.map +1 -1
  10. package/dist/daemon/context-injector.js +0 -1
  11. package/dist/daemon/context-injector.js.map +1 -1
  12. package/dist/daemon/engine-registry.d.ts.map +1 -1
  13. package/dist/daemon/engine-registry.js +1 -4
  14. package/dist/daemon/engine-registry.js.map +1 -1
  15. package/dist/daemon/handler-context.d.ts +2 -4
  16. package/dist/daemon/handler-context.d.ts.map +1 -1
  17. package/dist/daemon/handlers/context-builder.d.ts +0 -13
  18. package/dist/daemon/handlers/context-builder.d.ts.map +1 -1
  19. package/dist/daemon/handlers/context-builder.js +0 -65
  20. package/dist/daemon/handlers/context-builder.js.map +1 -1
  21. package/dist/daemon/handlers/orchestration-context.d.ts +0 -2
  22. package/dist/daemon/handlers/orchestration-context.d.ts.map +1 -1
  23. package/dist/daemon/handlers/session-cleanup.d.ts +0 -4
  24. package/dist/daemon/handlers/session-cleanup.d.ts.map +1 -1
  25. package/dist/daemon/handlers/session-cleanup.js +0 -25
  26. package/dist/daemon/handlers/session-cleanup.js.map +1 -1
  27. package/dist/daemon/handlers/stages/07-pipeline-reply.d.ts.map +1 -1
  28. package/dist/daemon/handlers/stages/07-pipeline-reply.js +1 -3
  29. package/dist/daemon/handlers/stages/07-pipeline-reply.js.map +1 -1
  30. package/dist/daemon/handlers/stages/11-intent-analysis.d.ts.map +1 -1
  31. package/dist/daemon/handlers/stages/11-intent-analysis.js +1 -3
  32. package/dist/daemon/handlers/stages/11-intent-analysis.js.map +1 -1
  33. package/dist/daemon/handlers/stages/17-simple-task.d.ts +1 -1
  34. package/dist/daemon/handlers/stages/17-simple-task.d.ts.map +1 -1
  35. package/dist/daemon/handlers/stages/17-simple-task.js +3 -5
  36. package/dist/daemon/handlers/stages/17-simple-task.js.map +1 -1
  37. package/dist/daemon/handlers/stages/18-complex-task.d.ts.map +1 -1
  38. package/dist/daemon/handlers/stages/18-complex-task.js +5 -6
  39. package/dist/daemon/handlers/stages/18-complex-task.js.map +1 -1
  40. package/dist/daemon/handlers/stages/19-moderate-task.d.ts.map +1 -1
  41. package/dist/daemon/handlers/stages/19-moderate-task.js +2 -4
  42. package/dist/daemon/handlers/stages/19-moderate-task.js.map +1 -1
  43. package/dist/daemon/handlers/stop-handler.d.ts.map +1 -1
  44. package/dist/daemon/handlers/stop-handler.js +0 -7
  45. package/dist/daemon/handlers/stop-handler.js.map +1 -1
  46. package/dist/daemon/handlers/user-prompt-handler.d.ts.map +1 -1
  47. package/dist/daemon/handlers/user-prompt-handler.js +1 -3
  48. package/dist/daemon/handlers/user-prompt-handler.js.map +1 -1
  49. package/dist/daemon/index.d.ts.map +1 -1
  50. package/dist/daemon/index.js +0 -5
  51. package/dist/daemon/index.js.map +1 -1
  52. package/dist/pipeline/index.d.ts.map +1 -1
  53. package/dist/pipeline/index.js +4 -0
  54. package/dist/pipeline/index.js.map +1 -1
  55. package/dist/prompts/intent-analysis.md +1 -1
  56. package/dist/storage/sqlite.d.ts.map +1 -1
  57. package/dist/storage/sqlite.js +139 -110
  58. package/dist/storage/sqlite.js.map +1 -1
  59. package/dist/utils/formatter.d.ts +0 -9
  60. package/dist/utils/formatter.d.ts.map +1 -1
  61. package/dist/utils/formatter.js +0 -19
  62. package/dist/utils/formatter.js.map +1 -1
  63. package/dist/web-static/assets/{index-DDV8VuFt.js → index-BIPofwYQ.js} +1 -1
  64. package/dist/web-static/index.html +1 -1
  65. package/package.json +1 -1
  66. package/dist/cli/commands/profile.d.ts +0 -3
  67. package/dist/cli/commands/profile.d.ts.map +0 -1
  68. package/dist/cli/commands/profile.js +0 -213
  69. package/dist/cli/commands/profile.js.map +0 -1
  70. package/dist/daemon/engine-registry/init-profile.d.ts +0 -3
  71. package/dist/daemon/engine-registry/init-profile.d.ts.map +0 -1
  72. package/dist/daemon/engine-registry/init-profile.js +0 -28
  73. package/dist/daemon/engine-registry/init-profile.js.map +0 -1
  74. package/dist/daemon/handlers/stages/16-intervention-level.d.ts +0 -9
  75. package/dist/daemon/handlers/stages/16-intervention-level.d.ts.map +0 -1
  76. package/dist/daemon/handlers/stages/16-intervention-level.js +0 -25
  77. package/dist/daemon/handlers/stages/16-intervention-level.js.map +0 -1
  78. package/dist/profile/index.d.ts +0 -73
  79. package/dist/profile/index.d.ts.map +0 -1
  80. package/dist/profile/index.js +0 -397
  81. package/dist/profile/index.js.map +0 -1
@@ -4,7 +4,7 @@
4
4
  <meta charset="UTF-8">
5
5
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
6
  <title>Claude Forge - 管理后台</title>
7
- <script type="module" crossorigin src="/assets/index-DDV8VuFt.js"></script>
7
+ <script type="module" crossorigin src="/assets/index-BIPofwYQ.js"></script>
8
8
  <link rel="stylesheet" crossorigin href="/assets/index-80ChCYXd.css">
9
9
  </head>
10
10
  <body>
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@winspan/claude-forge",
3
- "version": "1.93.1",
3
+ "version": "1.94.0",
4
4
  "description": "SDLC intelligent orchestration engine for Claude Code",
5
5
  "main": "dist/cli/index.js",
6
6
  "type": "module",
@@ -1,3 +0,0 @@
1
- import { Command } from 'commander';
2
- export declare function registerProfileCommand(program: Command): void;
3
- //# sourceMappingURL=profile.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"profile.d.ts","sourceRoot":"","sources":["../../../src/cli/commands/profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAuCpC,wBAAgB,sBAAsB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CA6L7D"}
@@ -1,213 +0,0 @@
1
- import readline from 'readline';
2
- import { info, success, warning } from '../utils/output.js';
3
- import { handleError } from '../utils/errors.js';
4
- import { ProfileManager } from '../../profile/index.js';
5
- import { ConfigManager } from '../../config/index.js';
6
- import { createRequiredApi } from '../../utils/claude-api.js';
7
- function ask(rl, question) {
8
- return new Promise(resolve => rl.question(question, resolve));
9
- }
10
- async function runQuestionnaire() {
11
- const rl = readline.createInterface({ input: process.stdin, output: process.stdout });
12
- const updates = {};
13
- try {
14
- console.log('\n欢迎使用 Claude Forge!请回答 3 个简短问题来初始化你的画像:\n');
15
- // Q1: 角色
16
- const role = (await ask(rl, '1. 你的角色是什么?(developer/architect/devops/other) [developer]: ')).trim() || 'developer';
17
- updates.role = role;
18
- // Q2: 经验水平
19
- const levelInput = (await ask(rl, '2. 你的经验水平?(junior/mid/senior/expert) [mid]: ')).trim() || 'mid';
20
- const validLevels = ['junior', 'mid', 'senior', 'expert'];
21
- updates.experience_level = validLevels.includes(levelInput) ? levelInput : 'mid';
22
- // Q3: 工作方式
23
- const styleInput = (await ask(rl, '3. 你偏好的工作方式?\n guided=引导式(推荐新手)\n balanced=平衡式\n autonomous=自主式(推荐专家)\n [guided]: ')).trim() || 'guided';
24
- const validStyles = ['guided', 'balanced', 'autonomous'];
25
- updates.work_style = validStyles.includes(styleInput) ? styleInput : 'guided';
26
- }
27
- finally {
28
- rl.close();
29
- }
30
- return updates;
31
- }
32
- export function registerProfileCommand(program) {
33
- const profile = program
34
- .command('profile')
35
- .description('管理用户画像(F6: 自适应干预深度)');
36
- profile
37
- .command('show')
38
- .description('显示当前用户画像')
39
- .action(() => {
40
- try {
41
- const mgr = new ProfileManager();
42
- const p = mgr.get();
43
- info('用户画像:\n');
44
- console.log(` 角色: ${p.role}`);
45
- console.log(` 经验水平: ${p.experience_level}`);
46
- console.log(` 技术栈: ${p.tech_stack.length > 0 ? p.tech_stack.join(', ') : '(未设置)'}`);
47
- console.log(` 工作方式: ${p.work_style}`);
48
- console.log(` 跳过率: ${(p.skip_rate * 100).toFixed(0)}%`);
49
- console.log(` 覆盖率: ${(p.override_rate * 100).toFixed(0)}%`);
50
- console.log(` 会话次数: ${p.session_count}`);
51
- console.log(` 最后更新: ${p.last_updated}`);
52
- console.log(` 状态: ${p.initialized ? '已初始化' : p.inferred ? '已自动推断(未完整初始化)' : '未初始化'}`);
53
- if (!p.initialized) {
54
- if (p.inferred) {
55
- warning('\n画像已由 daemon 自动推断,运行 `claude-forge profile init` 可精细化配置');
56
- }
57
- else {
58
- warning('\n画像尚未初始化,运行 `claude-forge profile init` 完成冷启动');
59
- }
60
- }
61
- }
62
- catch (err) {
63
- handleError(err);
64
- }
65
- });
66
- profile
67
- .command('init')
68
- .description('初始化用户画像(冷启动)')
69
- .option('--role <role>', '你的角色(如 developer、architect、devops)')
70
- .option('--level <level>', '经验水平:junior/mid/senior/expert')
71
- .option('--style <style>', '工作方式:guided/balanced/autonomous')
72
- .option('--stack <stack>', '技术栈(逗号分隔,例如 TypeScript,React)')
73
- .option('--infer', '从已有 ~/.claude/ 数据自动推断')
74
- .action(async (options) => {
75
- try {
76
- const mgr = new ProfileManager();
77
- let updates = {};
78
- const hasFlags = options.infer || options.role || options.level || options.style || options.stack;
79
- if (!hasFlags) {
80
- // 无参数时运行交互式问卷(冷启动三合一)
81
- info('从已有 ~/.claude/ 数据推断画像...');
82
- const inferred = await mgr.inferFromExistingData();
83
- if (Object.keys(inferred).length > 0) {
84
- info(`推断结果: ${JSON.stringify(inferred)}`);
85
- updates = { ...inferred };
86
- }
87
- const answers = await runQuestionnaire();
88
- updates = { ...updates, ...answers };
89
- }
90
- else {
91
- if (options.infer) {
92
- info('从已有 ~/.claude/ 数据推断画像...');
93
- const inferred = await mgr.inferFromExistingData();
94
- updates = { ...inferred };
95
- if (Object.keys(inferred).length > 0) {
96
- info(`推断结果: ${JSON.stringify(inferred)}`);
97
- }
98
- else {
99
- info('未能推断出有效数据,使用默认值');
100
- }
101
- }
102
- if (options.role)
103
- updates.role = options.role;
104
- if (options.level) {
105
- const valid = ['junior', 'mid', 'senior', 'expert'];
106
- if (!valid.includes(options.level)) {
107
- warning(`无效的经验水平: ${options.level},有效值: ${valid.join('/')}`);
108
- return;
109
- }
110
- updates.experience_level = options.level;
111
- }
112
- if (options.style) {
113
- const valid = ['guided', 'balanced', 'autonomous'];
114
- if (!valid.includes(options.style)) {
115
- warning(`无效的工作方式: ${options.style},有效值: ${valid.join('/')}`);
116
- return;
117
- }
118
- updates.work_style = options.style;
119
- }
120
- if (options.stack) {
121
- updates.tech_stack = options.stack.split(',').map((s) => s.trim()).filter(Boolean);
122
- }
123
- }
124
- mgr.save({ ...updates, initialized: true, inferred: false });
125
- success('用户画像已初始化');
126
- const p = mgr.get();
127
- info(` 经验水平: ${p.experience_level} | 工作方式: ${p.work_style}`);
128
- info('守护进程将根据此画像自动调整干预深度');
129
- }
130
- catch (err) {
131
- handleError(err);
132
- }
133
- });
134
- profile
135
- .command('set')
136
- .description('更新指定画像字段')
137
- .option('--role <role>', '你的角色')
138
- .option('--level <level>', '经验水平:junior/mid/senior/expert')
139
- .option('--style <style>', '工作方式:guided/balanced/autonomous')
140
- .option('--stack <stack>', '技术栈(逗号分隔)')
141
- .action((options) => {
142
- try {
143
- const mgr = new ProfileManager();
144
- const updates = {};
145
- if (options.role)
146
- updates.role = options.role;
147
- if (options.level)
148
- updates.experience_level = options.level;
149
- if (options.style)
150
- updates.work_style = options.style;
151
- if (options.stack) {
152
- updates.tech_stack = options.stack.split(',').map((s) => s.trim()).filter(Boolean);
153
- }
154
- if (Object.keys(updates).length === 0) {
155
- warning('未指定任何字段,使用 --role/--level/--style/--stack');
156
- return;
157
- }
158
- mgr.save(updates);
159
- success('画像已更新');
160
- }
161
- catch (err) {
162
- handleError(err);
163
- }
164
- });
165
- profile
166
- .command('reset')
167
- .description('将用户画像重置为默认值')
168
- .action(() => {
169
- try {
170
- const mgr = new ProfileManager();
171
- mgr.reset();
172
- success('画像已重置为默认值');
173
- info('运行 `claude-forge profile init` 重新初始化');
174
- }
175
- catch (err) {
176
- handleError(err);
177
- }
178
- });
179
- profile
180
- .command('export')
181
- .description('导出用户画像到文件')
182
- .option('-o, --output <path>', '输出文件路径')
183
- .action((options) => {
184
- try {
185
- const mgr = new ProfileManager();
186
- const dest = mgr.export(options.output);
187
- success(`画像已导出到: ${dest}`);
188
- }
189
- catch (err) {
190
- handleError(err);
191
- }
192
- });
193
- profile
194
- .command('evolve')
195
- .description('使用 AI 分析行为日志并演化画像')
196
- .action(async () => {
197
- try {
198
- const config = ConfigManager.getInstance().get();
199
- const api = createRequiredApi(config.distill.api_key || undefined, config.distill.model, config.distill.base_url || undefined);
200
- const mgr = new ProfileManager();
201
- info('分析行为日志,更新画像...');
202
- mgr.updateRatesFromBehavior();
203
- await mgr.evolveWithAI(api);
204
- const p = mgr.get();
205
- success('画像已更新');
206
- info(` 工作方式: ${p.work_style} | 跳过率: ${(p.skip_rate * 100).toFixed(0)}% | 覆盖率: ${(p.override_rate * 100).toFixed(0)}%`);
207
- }
208
- catch (err) {
209
- handleError(err);
210
- }
211
- });
212
- }
213
- //# sourceMappingURL=profile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"profile.js","sourceRoot":"","sources":["../../../src/cli/commands/profile.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- import { ProfileManager } from '../../profile/index.js';
2
- export declare function initProfileManager(): Promise<ProfileManager>;
3
- //# sourceMappingURL=init-profile.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init-profile.d.ts","sourceRoot":"","sources":["../../../src/daemon/engine-registry/init-profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AAGxD,wBAAsB,kBAAkB,IAAI,OAAO,CAAC,cAAc,CAAC,CA2BlE"}
@@ -1,28 +0,0 @@
1
- import { ProfileManager } from '../../profile/index.js';
2
- import { logger } from '../../utils/logger.js';
3
- export async function initProfileManager() {
4
- const profileManager = new ProfileManager();
5
- profileManager.incrementSessionCount();
6
- const snapshot = profileManager.get();
7
- // 自动推断:首次使用,或技术栈为空时重新扫描(换项目后自动更新)
8
- const needsInfer = !snapshot.initialized || snapshot.tech_stack.length === 0;
9
- if (needsInfer) {
10
- try {
11
- const inferred = await profileManager.inferFromExistingData(process.cwd());
12
- profileManager.save(inferred);
13
- logger.info(`[画像] 自动推断完成:tech=${inferred.tech_stack?.join(',') ?? '无'} role=${inferred.role ?? '默认'} level=${inferred.experience_level ?? '默认'}`);
14
- }
15
- catch (err) {
16
- logger.warn(`[画像] 自动推断失败:${err}`);
17
- // 推断失败也要标记 initialized,避免每次启动都重试
18
- if (!snapshot.initialized)
19
- profileManager.save({ initialized: true, inferred: false });
20
- }
21
- }
22
- // 每次 daemon 启动时同步一次行为数据,确保 getInterventionLevel() 基于最新 skip_rate
23
- profileManager.updateRatesFromBehavior();
24
- const updated = profileManager.get();
25
- logger.info(`[画像] 已加载:style=${updated.work_style} level=${updated.experience_level} tech=[${updated.tech_stack.join(', ')}] skip=${(updated.skip_rate * 100).toFixed(0)}% sessions=${updated.session_count}`);
26
- return profileManager;
27
- }
28
- //# sourceMappingURL=init-profile.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"init-profile.js","sourceRoot":"","sources":["../../../src/daemon/engine-registry/init-profile.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,MAAM,wBAAwB,CAAC;AACxD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAC;AAE/C,MAAM,CAAC,KAAK,UAAU,kBAAkB;IACtC,MAAM,cAAc,GAAG,IAAI,cAAc,EAAE,CAAC;IAC5C,cAAc,CAAC,qBAAqB,EAAE,CAAC;IAEvC,MAAM,QAAQ,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC;IAEtC,kCAAkC;IAClC,MAAM,UAAU,GAAG,CAAC,QAAQ,CAAC,WAAW,IAAI,QAAQ,CAAC,UAAU,CAAC,MAAM,KAAK,CAAC,CAAC;IAC7E,IAAI,UAAU,EAAE,CAAC;QACf,IAAI,CAAC;YACH,MAAM,QAAQ,GAAG,MAAM,cAAc,CAAC,qBAAqB,CAAC,OAAO,CAAC,GAAG,EAAE,CAAC,CAAC;YAC3E,cAAc,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;YAC9B,MAAM,CAAC,IAAI,CAAC,oBAAoB,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,GAAG,CAAC,IAAI,GAAG,SAAS,QAAQ,CAAC,IAAI,IAAI,IAAI,UAAU,QAAQ,CAAC,gBAAgB,IAAI,IAAI,EAAE,CAAC,CAAC;QACpJ,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,MAAM,CAAC,IAAI,CAAC,eAAe,GAAG,EAAE,CAAC,CAAC;YAClC,iCAAiC;YACjC,IAAI,CAAC,QAAQ,CAAC,WAAW;gBAAE,cAAc,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,IAAI,EAAE,QAAQ,EAAE,KAAK,EAAE,CAAC,CAAC;QACzF,CAAC;IACH,CAAC;IAED,iEAAiE;IACjE,cAAc,CAAC,uBAAuB,EAAE,CAAC;IAEzC,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,EAAE,CAAC;IACrC,MAAM,CAAC,IAAI,CAAC,kBAAkB,OAAO,CAAC,UAAU,UAAU,OAAO,CAAC,gBAAgB,UAAU,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,GAAG,GAAG,CAAC,CAAC,OAAO,CAAC,CAAC,CAAC,cAAc,OAAO,CAAC,aAAa,EAAE,CAAC,CAAC;IAE9M,OAAO,cAAc,CAAC;AACxB,CAAC"}
@@ -1,9 +0,0 @@
1
- import type { Stage, StageResult } from './stage-interface.js';
2
- import type { OrchestrationContext } from '../orchestration-context.js';
3
- /** Stage 16: 干预级别确定 — 设置 ctx.interventionLevel,静默模式短路 */
4
- export declare class InterventionLevelStage implements Stage {
5
- readonly name = "\u5E72\u9884\u7EA7\u522B\u786E\u5B9A";
6
- readonly dependencies: string[];
7
- execute(ctx: OrchestrationContext): Promise<StageResult>;
8
- }
9
- //# sourceMappingURL=16-intervention-level.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"16-intervention-level.d.ts","sourceRoot":"","sources":["../../../../src/daemon/handlers/stages/16-intervention-level.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,sBAAsB,CAAC;AAC/D,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC;AAIxE,yDAAyD;AACzD,qBAAa,sBAAuB,YAAW,KAAK;IAClD,QAAQ,CAAC,IAAI,0CAAY;IACzB,QAAQ,CAAC,YAAY,WAAY;IAE3B,OAAO,CAAC,GAAG,EAAE,oBAAoB,GAAG,OAAO,CAAC,WAAW,CAAC;CAoB/D"}
@@ -1,25 +0,0 @@
1
- import { isForgeManaged } from '../../lifecycle.js';
2
- import { logger } from '../../../utils/logger.js';
3
- /** Stage 16: 干预级别确定 — 设置 ctx.interventionLevel,静默模式短路 */
4
- export class InterventionLevelStage {
5
- name = '干预级别确定';
6
- dependencies = ['意图分析'];
7
- async execute(ctx) {
8
- const { analysis } = ctx;
9
- if (!analysis)
10
- return { shouldTerminate: false };
11
- const interventionLevel = ctx.handlerCtx.profileManager.getInterventionLevel(analysis.complexity);
12
- logger.info(`用户偏好介入程度:${interventionLevel}(任务复杂度:${analysis.complexity})`);
13
- ctx.interventionLevel = interventionLevel;
14
- if (interventionLevel === 'silent') {
15
- if (isForgeManaged(ctx.event.project_path) && analysis.requiresPipeline) {
16
- logger.info(`[Forge:Pipeline] 静默模式但 Forge 管理项目需要 Pipeline,继续编排`);
17
- return { shouldTerminate: false };
18
- }
19
- logger.info(`用户偏好静默模式,跳过编排`);
20
- return { shouldTerminate: true, response: undefined };
21
- }
22
- return { shouldTerminate: false };
23
- }
24
- }
25
- //# sourceMappingURL=16-intervention-level.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"16-intervention-level.js","sourceRoot":"","sources":["../../../../src/daemon/handlers/stages/16-intervention-level.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAC;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,0BAA0B,CAAC;AAElD,yDAAyD;AACzD,MAAM,OAAO,sBAAsB;IACxB,IAAI,GAAG,QAAQ,CAAC;IAChB,YAAY,GAAG,CAAC,MAAM,CAAC,CAAC;IAEjC,KAAK,CAAC,OAAO,CAAC,GAAyB;QACrC,MAAM,EAAE,QAAQ,EAAE,GAAG,GAAG,CAAC;QACzB,IAAI,CAAC,QAAQ;YAAE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;QAEjD,MAAM,iBAAiB,GAAG,GAAG,CAAC,UAAU,CAAC,cAAc,CAAC,oBAAoB,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC;QAClG,MAAM,CAAC,IAAI,CAAC,YAAY,iBAAiB,UAAU,QAAQ,CAAC,UAAU,GAAG,CAAC,CAAC;QAE3E,GAAG,CAAC,iBAAiB,GAAG,iBAAiB,CAAC;QAE1C,IAAI,iBAAiB,KAAK,QAAQ,EAAE,CAAC;YACnC,IAAI,cAAc,CAAC,GAAG,CAAC,KAAK,CAAC,YAAY,CAAC,IAAI,QAAQ,CAAC,gBAAgB,EAAE,CAAC;gBACxE,MAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;gBACjE,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;YACpC,CAAC;YACD,MAAM,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;YAC7B,OAAO,EAAE,eAAe,EAAE,IAAI,EAAE,QAAQ,EAAE,SAAS,EAAE,CAAC;QACxD,CAAC;QAED,OAAO,EAAE,eAAe,EAAE,KAAK,EAAE,CAAC;IACpC,CAAC;CACF"}
@@ -1,73 +0,0 @@
1
- import type { AIProvider } from '../ai-provider/types.js';
2
- export type ExperienceLevel = 'junior' | 'mid' | 'senior' | 'expert';
3
- export type WorkStyle = 'guided' | 'balanced' | 'autonomous';
4
- export interface UserProfile {
5
- role: string;
6
- experience_level: ExperienceLevel;
7
- tech_stack: string[];
8
- work_style: WorkStyle;
9
- skip_rate: number;
10
- override_rate: number;
11
- session_count: number;
12
- last_updated: string;
13
- initialized: boolean;
14
- /** daemon 冷启动时由 inferFromExistingData 自动推断并写入,用于区分"已推断"和"从未初始化" */
15
- inferred: boolean;
16
- }
17
- export interface BehaviorSignal {
18
- type: 'accept' | 'skip' | 'override';
19
- context: string;
20
- timestamp: string;
21
- }
22
- export declare class ProfileManager {
23
- private profilePath;
24
- private behaviorLogPath;
25
- /** 内存缓存,避免热路径频繁磁盘读取 */
26
- private cache;
27
- private static readonly CACHE_TTL_MS;
28
- constructor(profilePath?: string, behaviorLogPath?: string);
29
- get(): UserProfile;
30
- save(profile: Partial<UserProfile>): void;
31
- reset(): void;
32
- export(outputPath?: string): string;
33
- /**
34
- * 从已有数据自动推断画像(无需用户手动初始化)。
35
- * 扫描范围:全局 ~/.claude/CLAUDE.md、当前工作目录的项目文件、git 配置、memory 文件数量。
36
- */
37
- inferFromExistingData(projectPath?: string): Promise<Partial<UserProfile>>;
38
- /**
39
- * 从文本内容提取技术栈关键词,写入 techSet
40
- */
41
- private extractTechStack;
42
- /**
43
- * 扫描项目目录中的标志性文件,推断技术栈和角色
44
- */
45
- private scanProjectFiles;
46
- /**
47
- * 记录行为信号。
48
- * updateRatesFromBehavior 由 StopHandler 在每次 Stop 时通过 cleanup.updateProfile() 调用。
49
- */
50
- recordBehavior(signal: BehaviorSignal): void;
51
- private trimBehaviorLog;
52
- /**
53
- * 根据行为日志更新 skip_rate / override_rate
54
- */
55
- updateRatesFromBehavior(): void;
56
- /**
57
- * 用 Claude API 分析行为日志,更新画像(每 N 次会话触发一次)
58
- */
59
- evolveWithAI(api: AIProvider): Promise<void>;
60
- /**
61
- * 根据画像获取干预深度。
62
- * 判断优先级:
63
- * 1. work_style === 'autonomous' → 永远 silent
64
- * 2. 实时 skip_rate 高(>60%)→ 降级为 silent(行为学习覆盖初始配置)
65
- * 3. work_style === 'guided' → complex=auto, 其余=suggest
66
- * 4. balanced + 经验矩阵
67
- */
68
- getInterventionLevel(complexity: 'simple' | 'moderate' | 'complex'): 'silent' | 'suggest' | 'auto';
69
- incrementSessionCount(): void;
70
- private parseYaml;
71
- private toYaml;
72
- }
73
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/profile/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,yBAAyB,CAAC;AAM1D,MAAM,MAAM,eAAe,GAAG,QAAQ,GAAG,KAAK,GAAG,QAAQ,GAAG,QAAQ,CAAC;AACrE,MAAM,MAAM,SAAS,GAAG,QAAQ,GAAG,UAAU,GAAG,YAAY,CAAC;AAE7D,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,gBAAgB,EAAE,eAAe,CAAC;IAClC,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,SAAS,CAAC;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,OAAO,CAAC;IACrB,mEAAmE;IACnE,QAAQ,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,cAAc;IAC7B,IAAI,EAAE,QAAQ,GAAG,MAAM,GAAG,UAAU,CAAC;IACrC,OAAO,EAAE,MAAM,CAAC;IAChB,SAAS,EAAE,MAAM,CAAC;CACnB;AAeD,qBAAa,cAAc;IACzB,OAAO,CAAC,WAAW,CAAS;IAC5B,OAAO,CAAC,eAAe,CAAS;IAChC,uBAAuB;IACvB,OAAO,CAAC,KAAK,CAA2D;IACxE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAC,YAAY,CAAU;gBAElC,WAAW,SAAe,EAAE,eAAe,SAAoB;IAK3E,GAAG,IAAI,WAAW;IAkBlB,IAAI,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;IAczC,KAAK,IAAI,IAAI;IAOb,MAAM,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM;IAOnC;;;OAGG;IACG,qBAAqB,CAAC,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,WAAW,CAAC,CAAC;IA+ChF;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA8BxB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAmExB;;;OAGG;IACH,cAAc,CAAC,MAAM,EAAE,cAAc,GAAG,IAAI;IAU5C,OAAO,CAAC,eAAe;IAevB;;OAEG;IACH,uBAAuB,IAAI,IAAI;IA4B/B;;OAEG;IACG,YAAY,CAAC,GAAG,EAAE,UAAU,GAAG,OAAO,CAAC,IAAI,CAAC;IA8ClD;;;;;;;OAOG;IACH,oBAAoB,CAAC,UAAU,EAAE,QAAQ,GAAG,UAAU,GAAG,SAAS,GAAG,QAAQ,GAAG,SAAS,GAAG,MAAM;IA2BlG,qBAAqB,IAAI,IAAI;IAK7B,OAAO,CAAC,SAAS;IAcjB,OAAO,CAAC,MAAM;CAGf"}