@tom2012/cc-web 1.5.111 → 1.5.112

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 CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  A self-hosted web application (distributed as npm package) that provides a browser-based interface for [Claude Code](https://docs.anthropic.com/en/docs/claude-code) CLI sessions. Create projects, each with a persistent terminal running Claude Code, and interact with them through a real-time terminal UI.
4
4
 
5
- **Current version**: v1.5.111 | [GitHub](https://github.com/zbc0315/cc-web) | MIT License
5
+ **Current version**: v1.5.112 | [GitHub](https://github.com/zbc0315/cc-web) | MIT License
6
6
 
7
7
  ## Features
8
8
 
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA+DA,QAAA,MAAM,GAAG,6CAAY,CAAC;AAkiBtB,eAAe,GAAG,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AA+DA,QAAA,MAAM,GAAG,6CAAY,CAAC;AAsjBtB,eAAe,GAAG,CAAC"}
@@ -606,6 +606,27 @@ function tryListen(port, maxAttempts = 20) {
606
606
  hooksManager.install();
607
607
  terminal_manager_1.terminalManager.resumeAll();
608
608
  (0, scheduler_1.startScheduler)();
609
+ // Information system: compensation sync on startup + every 5 minutes
610
+ const { compensationSync } = require('./information/conversation-sync');
611
+ const { getAdapter: getAdapterForSync } = require('./adapters');
612
+ const runInfoSync = () => {
613
+ try {
614
+ const allProjects = (0, config_1.getProjects)();
615
+ for (const p of allProjects) {
616
+ if (p.archived)
617
+ continue;
618
+ const adapter = getAdapterForSync(p.cliTool ?? 'claude');
619
+ compensationSync(p.folderPath, p.cliTool ?? 'claude', (line) => adapter.parseLineBlocks(line));
620
+ }
621
+ }
622
+ catch (err) {
623
+ console.error('[information] sync error:', err);
624
+ }
625
+ };
626
+ // Run immediately on startup (defer 2s so server is fully ready)
627
+ setTimeout(runInfoSync, 2000).unref();
628
+ // Then every 5 minutes
629
+ setInterval(runInfoSync, 5 * 60 * 1000).unref();
609
630
  });
610
631
  }
611
632
  tryListen(PORT);
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"condenser.d.ts","sourceRoot":"","sources":["../../src/information/condenser.ts"],"names":[],"mappings":"AA8GA,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAoGlF;AAID,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAAC,CA+FlH"}
1
+ {"version":3,"file":"condenser.d.ts","sourceRoot":"","sources":["../../src/information/condenser.ts"],"names":[],"mappings":"AAgYA,wBAAsB,oBAAoB,CACxC,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAmDlF;AAID,wBAAsB,sBAAsB,CAC1C,OAAO,EAAE,MAAM,GACd,OAAO,CAAC;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,aAAa,EAAE,MAAM,CAAC;IAAC,YAAY,EAAE,MAAM,CAAC;IAAC,oBAAoB,EAAE,MAAM,EAAE,CAAA;CAAE,GAAG,IAAI,CAAC,CAiIlH"}
@@ -1,7 +1,9 @@
1
1
  "use strict";
2
2
  // backend/src/information/condenser.ts
3
3
  //
4
- // Condense and reorganize conversations using Claude CLI (haiku).
4
+ // Iterative condense and reorganize using Claude CLI (haiku).
5
+ // Implements: half-window segmentation, cohesion tracking, context summary injection,
6
+ // single-turn overflow handling, guard rails.
5
7
  var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
8
  if (k2 === undefined) k2 = k;
7
9
  var desc = Object.getOwnPropertyDescriptor(m, k);
@@ -43,10 +45,14 @@ const path = __importStar(require("path"));
43
45
  const child_process_1 = require("child_process");
44
46
  const config_1 = require("../config");
45
47
  const conversation_sync_1 = require("./conversation-sync");
48
+ // Haiku context: ~200K tokens. Half window for input, half for output.
49
+ const HALF_WINDOW_TOKENS = 80000;
50
+ // Keywords that mark uncondensable user turns
51
+ const UNCONDENSABLE_RE = /不要|别|错了|改成|不是这样|必须|禁止|永远不要|以后请/;
46
52
  function estimateTokens(text) {
47
53
  return Math.ceil(text.length / 4);
48
54
  }
49
- /** Call Claude CLI in non-interactive mode with haiku. */
55
+ // ── Claude CLI ──
50
56
  function callHaiku(prompt) {
51
57
  return new Promise((resolve, reject) => {
52
58
  (0, child_process_1.execFile)('claude', ['-p', prompt, '--model', 'haiku'], { timeout: 120000, maxBuffer: 8 * 1024 * 1024 }, (err, stdout) => {
@@ -56,15 +62,11 @@ function callHaiku(prompt) {
56
62
  });
57
63
  });
58
64
  }
59
- /** Extract JSON array from Haiku response (handles code fences, extra text). */
60
65
  function extractJsonArray(text) {
61
- // Strip markdown code fences
62
66
  let cleaned = text.replace(/```json\s*/gi, '').replace(/```\s*/g, '');
63
- // Try to find the JSON array
64
67
  const start = cleaned.indexOf('[');
65
68
  if (start === -1)
66
69
  throw new Error('No JSON array found');
67
- // Find matching closing bracket
68
70
  let depth = 0;
69
71
  let end = -1;
70
72
  for (let i = start; i < cleaned.length; i++) {
@@ -79,71 +81,267 @@ function extractJsonArray(text) {
79
81
  }
80
82
  }
81
83
  if (end === -1) {
82
- // Array was truncated — try to repair by closing it
83
- cleaned = cleaned.slice(start) + ']';
84
- // Remove any trailing incomplete object
85
- cleaned = cleaned.replace(/,\s*\{[^}]*$/, ']');
84
+ cleaned = cleaned.slice(start);
85
+ cleaned = cleaned.replace(/,\s*\{[^}]*$/, '') + ']';
86
86
  }
87
87
  else {
88
88
  cleaned = cleaned.slice(start, end + 1);
89
89
  }
90
90
  return JSON.parse(cleaned);
91
91
  }
92
- /** Parse v0.md into turn sections. */
93
92
  function parseTurns(content) {
94
93
  const sections = content.split(/(?=^## [UA]\d+)/m).filter(Boolean);
95
94
  return sections.map(s => {
96
95
  const match = s.match(/^(## [UA]\d+.*)\n/);
97
96
  if (!match)
98
- return { id: '', header: '', body: s };
99
- return { id: match[1].replace(/^## /, '').split(/[\s\[]/)[0], header: match[1], body: s.slice(match[0].length).trim() };
100
- }).filter(t => t.id);
97
+ return null;
98
+ const header = match[1];
99
+ const id = header.replace(/^## /, '').split(/[\s\[]/)[0];
100
+ const body = s.slice(match[0].length).trim();
101
+ const hasMarker = /\[c\d+/.test(header);
102
+ return { id, header, body, tokens: estimateTokens(body), condensed: hasMarker, cohesion: null };
103
+ }).filter(Boolean);
101
104
  }
102
- /** Build condensed content from turns with [cN,P%] markers. */
103
- function buildCondensedContent(originalTurns, condensedBodies, // turnId → condensed text (null = keep original)
104
- prevMarkers, // turnId existing marker chain from previous version
105
- level) {
105
+ function extractMarkerChain(header) {
106
+ const match = header.match(/\[(.+)\]\s*$/);
107
+ return match ? match[1] : '';
108
+ }
109
+ // ── Prompt building ──
110
+ const CONDENSE_RULES = `你是一个对话缩减器。对以下对话中未标记 [已缩减] 的轮次进行缩减。
111
+
112
+ 判断标准:如果未来的 LLM 只看到缩减后的版本,行为是否会与看到原文时不同?
113
+ - 不同 → 高增益,condensed 设为 null(保留原文)
114
+ - 相同 → 低增益,大幅缩减
115
+
116
+ 硬性规则:
117
+ 1. 标记了 [已缩减] 的轮次 → condensed 必须为 null
118
+ 2. 用户纠正/否定行为的发言(含"不要""错了""改成""必须""禁止")→ condensed 必须为 null
119
+ 3. 绝不改变语义方向(肯定↔否定)
120
+ 4. 保留所有数字、标识符、文件路径
121
+ 5. 构建/部署日志 → 一句话结果
122
+ 6. 确认性回复("好""继续")→ 保留原文
123
+
124
+ 对每轮输出 JSON:
125
+ [{"turn":"U1","condensed":"缩减内容或null","cohesion":0.8},...]
126
+ cohesion: 该轮与上一轮的上下文相关性(0=完全独立话题,1=紧密承接)`;
127
+ function buildSegmentPrompt(turns, condensedUpTo, contextSummary) {
128
+ const parts = [CONDENSE_RULES, ''];
129
+ if (contextSummary) {
130
+ parts.push(`[前文摘要:${contextSummary}]`, '');
131
+ }
132
+ parts.push('对话:');
133
+ for (let i = 0; i < turns.length; i++) {
134
+ const t = turns[i];
135
+ if (i < condensedUpTo) {
136
+ // Already condensed in previous iteration — mark as [已缩减]
137
+ parts.push(`## ${t.id} [已缩减]`);
138
+ parts.push(t.body);
139
+ }
140
+ else {
141
+ parts.push(`## ${t.id}`);
142
+ parts.push(t.body);
143
+ }
144
+ parts.push('');
145
+ }
146
+ return parts.join('\n');
147
+ }
148
+ // ── Context summary generation ──
149
+ function generateContextSummary(turns) {
150
+ // Take first sentence of each turn, max 5 turns
151
+ const summaryParts = [];
152
+ for (const t of turns.slice(0, 5)) {
153
+ const firstSentence = t.body.split(/[。!?\n]/)[0].slice(0, 40);
154
+ summaryParts.push(`${t.id}: ${firstSentence}`);
155
+ }
156
+ if (turns.length > 5)
157
+ summaryParts.push(`...共${turns.length}轮`);
158
+ return summaryParts.join(';');
159
+ }
160
+ // ── Select segment that fits in half window ──
161
+ function selectSegment(turns, startIdx, halfWindow) {
162
+ let total = 0;
163
+ const promptOverhead = estimateTokens(CONDENSE_RULES) + 200; // rules + formatting
164
+ total += promptOverhead;
165
+ for (let i = startIdx; i < turns.length; i++) {
166
+ const turnCost = turns[i].tokens + 20; // header + formatting overhead
167
+ if (total + turnCost > halfWindow && i > startIdx) {
168
+ // Ensure we end on a complete U-A pair
169
+ let endIdx = i;
170
+ // If endIdx splits a U-A pair (ends on U without A), back up one
171
+ if (endIdx > startIdx && turns[endIdx - 1]?.id.startsWith('U')) {
172
+ endIdx--;
173
+ }
174
+ return { endIdx: Math.max(startIdx + 2, endIdx), totalTokens: total };
175
+ }
176
+ total += turnCost;
177
+ }
178
+ return { endIdx: turns.length, totalTokens: total };
179
+ }
180
+ // ── Find lowest cohesion cut point ──
181
+ function findLowestCohesionCut(turns, startIdx, endIdx) {
182
+ let minCohesion = 2;
183
+ let cutIdx = Math.floor((startIdx + endIdx) / 2); // fallback: midpoint
184
+ for (let i = startIdx + 2; i < endIdx; i += 2) { // step by 2 to cut at U-A pair boundaries
185
+ const c = turns[i].cohesion;
186
+ if (c !== null && c < minCohesion) {
187
+ minCohesion = c;
188
+ cutIdx = i;
189
+ }
190
+ }
191
+ // If all cohesion > 0.8, use midpoint fallback
192
+ if (minCohesion > 0.8)
193
+ cutIdx = Math.floor((startIdx + endIdx) / 2);
194
+ return cutIdx;
195
+ }
196
+ // ── Pre-truncate oversized single turn ──
197
+ function truncateTurn(turn, maxTokens) {
198
+ const headTokens = Math.floor(maxTokens * 0.7);
199
+ const tailTokens = Math.floor(maxTokens * 0.2);
200
+ const headChars = headTokens * 4;
201
+ const tailChars = tailTokens * 4;
202
+ const omitted = estimateTokens(turn.body) - maxTokens;
203
+ const truncatedBody = turn.body.slice(0, headChars) +
204
+ `\n\n[...省略约 ${omitted} tokens...]\n\n` +
205
+ turn.body.slice(-tailChars);
206
+ return { ...turn, body: truncatedBody, tokens: estimateTokens(truncatedBody) };
207
+ }
208
+ // ── Iterative condense ──
209
+ async function iterativeCondense(turns) {
210
+ const halfWindow = HALF_WINDOW_TOKENS;
211
+ let condensedUpTo = 0;
212
+ const cohesionMap = {};
213
+ // Pre-truncate any single turn larger than half window
214
+ for (let i = 0; i < turns.length; i++) {
215
+ if (turns[i].tokens > halfWindow * 0.8) {
216
+ turns[i] = truncateTurn(turns[i], Math.floor(halfWindow * 0.7));
217
+ }
218
+ }
219
+ while (condensedUpTo < turns.length) {
220
+ // Determine segment start: usually 0, but may skip forward via cohesion cut
221
+ let segStart = 0;
222
+ let contextSummary = '';
223
+ // If already-condensed prefix is too large, cut it
224
+ const prefixTokens = turns.slice(0, condensedUpTo).reduce((s, t) => s + t.tokens + 20, 0);
225
+ if (prefixTokens > halfWindow * 0.5 && condensedUpTo > 0) {
226
+ const cutIdx = findLowestCohesionCut(turns, 0, condensedUpTo);
227
+ contextSummary = generateContextSummary(turns.slice(0, cutIdx));
228
+ segStart = cutIdx;
229
+ }
230
+ // Select segment from segStart that fits in half window
231
+ const segTurns = turns.slice(segStart);
232
+ const { endIdx: relEnd } = selectSegment(segTurns, 0, halfWindow);
233
+ const absEnd = segStart + relEnd;
234
+ // Check if segment covers any new (uncondensed) turns
235
+ if (absEnd <= condensedUpTo) {
236
+ // Cannot fit any new turns — force cut more aggressively
237
+ const forceCut = Math.max(condensedUpTo - 4, 0); // keep last 4 condensed turns
238
+ contextSummary = generateContextSummary(turns.slice(0, forceCut));
239
+ const forceTurns = turns.slice(forceCut);
240
+ const { endIdx: forceRelEnd } = selectSegment(forceTurns, 0, halfWindow);
241
+ const forceAbsEnd = forceCut + forceRelEnd;
242
+ if (forceAbsEnd <= condensedUpTo)
243
+ break; // Truly stuck, stop
244
+ // Call Haiku with force-cut segment
245
+ const prompt = buildSegmentPrompt(turns.slice(forceCut, forceAbsEnd), condensedUpTo - forceCut, contextSummary);
246
+ const results = await callHaikuAndParse(prompt, turns, forceCut, forceAbsEnd, condensedUpTo);
247
+ applyResults(turns, results, condensedUpTo, forceAbsEnd, cohesionMap);
248
+ condensedUpTo = forceAbsEnd;
249
+ continue;
250
+ }
251
+ // Build prompt for this segment
252
+ const prompt = buildSegmentPrompt(turns.slice(segStart, absEnd), condensedUpTo - segStart, contextSummary);
253
+ // Call Haiku
254
+ const results = await callHaikuAndParse(prompt, turns, segStart, absEnd, condensedUpTo);
255
+ applyResults(turns, results, condensedUpTo, absEnd, cohesionMap);
256
+ condensedUpTo = absEnd;
257
+ }
258
+ return { condensedTurns: turns, cohesionMap };
259
+ }
260
+ async function callHaikuAndParse(prompt, allTurns, segStart, segEnd, condensedUpTo) {
261
+ let rawResult;
262
+ try {
263
+ rawResult = await callHaiku(prompt);
264
+ }
265
+ catch (err) {
266
+ // On failure, skip this segment (leave turns as-is)
267
+ console.error('[condenser] Haiku call failed:', err instanceof Error ? err.message : err);
268
+ return new Map();
269
+ }
270
+ let parsed;
271
+ try {
272
+ parsed = extractJsonArray(rawResult);
273
+ }
274
+ catch {
275
+ console.error('[condenser] JSON parse failed, skipping segment');
276
+ return new Map();
277
+ }
278
+ const resultMap = new Map();
279
+ for (const r of parsed) {
280
+ resultMap.set(r.turn, r);
281
+ }
282
+ return resultMap;
283
+ }
284
+ function applyResults(turns, results, condensedUpTo, segEnd, cohesionMap) {
285
+ for (let i = condensedUpTo; i < segEnd && i < turns.length; i++) {
286
+ const t = turns[i];
287
+ const r = results.get(t.id);
288
+ // Record cohesion
289
+ if (r?.cohesion !== undefined) {
290
+ t.cohesion = r.cohesion;
291
+ cohesionMap[t.id] = r.cohesion;
292
+ }
293
+ // Guard rail: protect uncondensable user turns
294
+ if (t.id.startsWith('U') && UNCONDENSABLE_RE.test(t.body)) {
295
+ t.condensed = true; // Mark as processed but keep original
296
+ continue;
297
+ }
298
+ // Guard rail: already condensed turns must not be re-condensed
299
+ if (t.condensed)
300
+ continue;
301
+ // Apply condensation
302
+ if (r && r.condensed !== null && r.condensed !== undefined) {
303
+ t.body = r.condensed;
304
+ t.tokens = estimateTokens(r.condensed);
305
+ }
306
+ t.condensed = true;
307
+ }
308
+ }
309
+ // ── Build final content with markers ──
310
+ function buildFinalContent(originalTurns, // from v0.md (for token % calculation)
311
+ condensedTurns, prevMarkers, level) {
106
312
  const lines = [];
107
- for (const turn of originalTurns) {
108
- const condensed = condensedBodies.get(turn.id);
109
- const body = condensed ?? turn.body;
110
- const origTokens = estimateTokens(turn.body);
111
- const newTokens = estimateTokens(body);
313
+ for (let i = 0; i < condensedTurns.length; i++) {
314
+ const ct = condensedTurns[i];
315
+ const ot = originalTurns.find(t => t.id === ct.id);
316
+ const origTokens = ot ? ot.tokens : ct.tokens;
317
+ const newTokens = ct.tokens;
112
318
  let marker = '';
113
- if (condensed !== null && condensed !== undefined) {
114
- // This turn was condensed
115
- const pct = origTokens > 0 ? Math.round(newTokens / origTokens * 100) : 100;
116
- const prevChain = prevMarkers.get(turn.id) || '';
319
+ if (origTokens > 0 && newTokens < origTokens * 0.95) {
320
+ // Content was actually condensed (>5% reduction)
321
+ const pct = Math.round(newTokens / origTokens * 100);
322
+ const prevChain = prevMarkers.get(ct.id) || '';
117
323
  marker = prevChain ? ` [c${level},${pct}%;${prevChain}]` : ` [c${level},${pct}%]`;
118
324
  }
119
325
  else {
120
- // Keep existing marker from previous version
121
- const existing = prevMarkers.get(turn.id);
326
+ const existing = prevMarkers.get(ct.id);
122
327
  if (existing)
123
328
  marker = ` [${existing}]`;
124
329
  }
125
- lines.push(`## ${turn.id}${marker}`);
126
- lines.push(body);
330
+ lines.push(`## ${ct.id}${marker}`);
331
+ lines.push(ct.body);
127
332
  lines.push('');
128
333
  }
129
334
  return lines.join('\n');
130
335
  }
131
- /** Extract existing [cN,P%] marker chain from a header. */
132
- function extractMarkerChain(header) {
133
- const match = header.match(/\[(.+)\]\s*$/);
134
- return match ? match[1] : '';
135
- }
136
- // ── Condense ──
336
+ // ── Public: condenseConversation ──
137
337
  async function condenseConversation(convDir) {
138
338
  const meta = (0, conversation_sync_1.readMeta)(convDir);
139
339
  if (!meta)
140
340
  return null;
141
- // Read the latest version as base
142
341
  const latestEntry = meta.versions[meta.latest];
143
342
  if (!latestEntry)
144
343
  return null;
145
344
  const baseContent = fs.readFileSync(path.join(convDir, latestEntry.file), 'utf-8');
146
- // Read original for token comparison
147
345
  const v0Content = fs.readFileSync(path.join(convDir, 'v0.md'), 'utf-8');
148
346
  const originalTurns = parseTurns(v0Content);
149
347
  const baseTurns = parseTurns(baseContent);
@@ -154,62 +352,15 @@ async function condenseConversation(convDir) {
154
352
  if (chain)
155
353
  prevMarkers.set(t.id, chain);
156
354
  }
157
- // Build prompt
158
- const prompt = `你是一个对话缩减器。对以下对话的每一轮进行缩减。
159
-
160
- 判断标准:如果未来的 LLM 只看到缩减后的版本,行为是否会与看到原文时不同?
161
- - 不同 保留原文
162
- - 相同 → 大幅缩减
163
-
164
- 硬性规则:
165
- 1. 用户纠正/否定行为的发言 → 必须保留原文
166
- 2. 绝不改变语义方向(肯定↔否定)
167
- 3. 保留所有数字、标识符、文件路径
168
- 4. 构建/部署日志 → 一句话结果
169
- 5. 确认性回复 → 保留原文
170
-
171
- 对每轮输出 JSON 数组:
172
- [{"turn":"U1","condensed":"缩减后的内容或null表示保留原文"},...]
173
-
174
- 对话(如果过长已截取最近部分):
175
- ${baseContent.length > 40000 ? '...[前文已省略]\n\n' + baseContent.slice(-40000) : baseContent}`;
176
- let result;
177
- try {
178
- result = await callHaiku(prompt);
179
- }
180
- catch (err) {
181
- throw new Error('Claude CLI 调用失败: ' + (err instanceof Error ? err.message : String(err)));
182
- }
183
- // Parse JSON from response (handles code fences, truncation)
184
- let condensedArray;
185
- try {
186
- condensedArray = extractJsonArray(result);
187
- }
188
- catch (parseErr) {
189
- throw new Error('无法解析 Haiku 返回的 JSON: ' + (parseErr instanceof Error ? parseErr.message : ''));
190
- }
191
- // Build condensed bodies map
192
- const condensedBodies = new Map();
193
- for (const item of condensedArray) {
194
- condensedBodies.set(item.turn, item.condensed);
195
- }
196
- // Guard rail: protect uncondensable turns
197
- for (const turn of originalTurns) {
198
- if (turn.id.startsWith('U')) {
199
- const body = turn.body.toLowerCase();
200
- if (/不要|别|错了|改成|不是|必须|禁止/.test(body)) {
201
- condensedBodies.set(turn.id, null); // Force keep original
202
- }
203
- }
204
- }
205
- // Determine next version number
206
- const versionNumbers = Object.keys(meta.versions)
207
- .map(v => parseInt(v.replace('v', '')))
208
- .filter(n => !isNaN(n));
355
+ // Run iterative condense on base turns (deep copy bodies)
356
+ const workingTurns = baseTurns.map(t => ({ ...t, condensed: /\[c\d+/.test(t.header) }));
357
+ const { condensedTurns, cohesionMap } = await iterativeCondense(workingTurns);
358
+ // Determine next version
359
+ const versionNumbers = Object.keys(meta.versions).map(v => parseInt(v.replace('v', ''))).filter(n => !isNaN(n));
209
360
  const nextNum = Math.max(...versionNumbers) + 1;
210
361
  const nextVersion = `v${nextNum}`;
211
- // Build condensed content
212
- const condensedContent = buildCondensedContent(originalTurns, condensedBodies, prevMarkers, nextNum);
362
+ // Build final content with markers
363
+ const condensedContent = buildFinalContent(originalTurns, condensedTurns, prevMarkers, nextNum);
213
364
  const afterTokens = estimateTokens(condensedContent);
214
365
  const beforeTokens = latestEntry.tokens;
215
366
  // Write file
@@ -224,23 +375,24 @@ ${baseContent.length > 40000 ? '...[前文已省略]\n\n' + baseContent.slice(-4
224
375
  base: meta.latest,
225
376
  };
226
377
  meta.latest = nextVersion;
378
+ // Merge cohesion map
379
+ meta.cohesion_map = { ...meta.cohesion_map, ...cohesionMap };
227
380
  (0, conversation_sync_1.writeMeta)(convDir, meta);
228
381
  return { version: nextVersion, before_tokens: beforeTokens, after_tokens: afterTokens };
229
382
  }
230
- // ── Reorganize ──
383
+ // ── Public: reorganizeConversation ──
231
384
  async function reorganizeConversation(convDir) {
232
385
  const meta = (0, conversation_sync_1.readMeta)(convDir);
233
386
  if (!meta)
234
387
  return null;
235
388
  if (meta.reorganize_count >= 2)
236
- return null; // Max 2 reorganizations
237
- // Classify turns by expand stats
389
+ return null;
238
390
  const byTurn = meta.expand_stats.by_turn;
391
+ const v0Content = fs.readFileSync(path.join(convDir, 'v0.md'), 'utf-8');
392
+ const originalTurns = parseTurns(v0Content);
239
393
  const highAttention = [];
240
394
  const lowAttention = [];
241
395
  const neverAccessed = [];
242
- const v0Content = fs.readFileSync(path.join(convDir, 'v0.md'), 'utf-8');
243
- const originalTurns = parseTurns(v0Content);
244
396
  for (const turn of originalTurns) {
245
397
  const count = byTurn[turn.id] || 0;
246
398
  if (count >= 3)
@@ -251,54 +403,96 @@ async function reorganizeConversation(convDir) {
251
403
  neverAccessed.push(turn.id);
252
404
  }
253
405
  if (highAttention.length === 0)
254
- return null; // Nothing to reorganize
255
- const prompt = `你是一个对话重整器。以下对话被缩减后,用户反复需要展开某些轮次。
256
- 请从原始对话重新生成缩减版,调整策略:
257
-
258
- 高关注轮次(保留更多细节):${highAttention.join(', ')}
259
- 低关注轮次(大幅缩减):${lowAttention.join(', ')}
260
- 从未访问的轮次(高度缩减为一句话):${neverAccessed.join(', ')}
261
-
262
- 硬性规则:
263
- 1. 用户纠正/否定行为的发言 必须保留原文
264
- 2. 绝不改变语义方向
265
- 3. 保留所有数字、标识符、文件路径
266
-
267
- 对每轮输出 JSON 数组:
268
- [{"turn":"U1","condensed":"缩减后的内容或null表示保留原文"},...]
269
-
270
- 原始对话:
271
- ${v0Content.length > 40000 ? '...[前文已省略]\n\n' + v0Content.slice(-40000) : v0Content}`;
272
- let result;
273
- try {
274
- result = await callHaiku(prompt);
275
- }
276
- catch (err) {
277
- throw new Error('Claude CLI 调用失败: ' + (err instanceof Error ? err.message : String(err)));
278
- }
279
- let condensedArray;
280
- try {
281
- condensedArray = extractJsonArray(result);
282
- }
283
- catch (parseErr) {
284
- throw new Error('无法解析 Haiku 返回的 JSON: ' + (parseErr instanceof Error ? parseErr.message : ''));
285
- }
286
- const condensedBodies = new Map();
287
- for (const item of condensedArray) {
288
- condensedBodies.set(item.turn, item.condensed);
406
+ return null;
407
+ // For reorganize, we use iterative condense on v0 turns with attention hints in prompt
408
+ const workingTurns = originalTurns.map(t => ({ ...t, condensed: false }));
409
+ // Mark high-attention turns as uncondensable (force keep)
410
+ const highSet = new Set(highAttention);
411
+ // Custom iterative condense with attention-aware prompt
412
+ const halfWindow = HALF_WINDOW_TOKENS;
413
+ let condensedUpTo = 0;
414
+ const cohesionMap = {};
415
+ // Pre-truncate oversized turns
416
+ for (let i = 0; i < workingTurns.length; i++) {
417
+ if (workingTurns[i].tokens > halfWindow * 0.8) {
418
+ workingTurns[i] = truncateTurn(workingTurns[i], Math.floor(halfWindow * 0.7));
419
+ }
289
420
  }
290
- // Guard rail
291
- for (const turn of originalTurns) {
292
- if (turn.id.startsWith('U') && /不要|别|错了|改成|不是|必须|禁止/.test(turn.body.toLowerCase())) {
293
- condensedBodies.set(turn.id, null);
421
+ while (condensedUpTo < workingTurns.length) {
422
+ let segStart = 0;
423
+ let contextSummary = '';
424
+ const prefixTokens = workingTurns.slice(0, condensedUpTo).reduce((s, t) => s + t.tokens + 20, 0);
425
+ if (prefixTokens > halfWindow * 0.5 && condensedUpTo > 0) {
426
+ const cutIdx = findLowestCohesionCut(workingTurns, 0, condensedUpTo);
427
+ contextSummary = generateContextSummary(workingTurns.slice(0, cutIdx));
428
+ segStart = cutIdx;
429
+ }
430
+ const segTurns = workingTurns.slice(segStart);
431
+ const { endIdx: relEnd } = selectSegment(segTurns, 0, halfWindow);
432
+ const absEnd = segStart + relEnd;
433
+ if (absEnd <= condensedUpTo)
434
+ break;
435
+ // Build reorganize prompt
436
+ const promptParts = [
437
+ `你是一个对话重整器。基于使用数据重新缩减对话。`,
438
+ ``,
439
+ `高关注轮次(保留更多细节,轻度缩减或不缩减):${highAttention.join(', ')}`,
440
+ `低关注轮次(大幅缩减):${lowAttention.join(', ')}`,
441
+ `从未访问的轮次(高度缩减为一句话):${neverAccessed.join(', ')}`,
442
+ ``,
443
+ `硬性规则:`,
444
+ `1. 标记了 [已缩减] 的轮次 → condensed 必须为 null`,
445
+ `2. 用户纠正/否定行为的发言 → condensed 必须为 null`,
446
+ `3. 绝不改变语义方向`,
447
+ `4. 保留所有数字、标识符、文件路径`,
448
+ ``,
449
+ `对每轮输出 JSON:[{"turn":"U1","condensed":"缩减内容或null","cohesion":0.8},...]`,
450
+ ``,
451
+ ];
452
+ if (contextSummary)
453
+ promptParts.push(`[前文摘要:${contextSummary}]`, '');
454
+ promptParts.push('对话:');
455
+ for (let i = segStart; i < absEnd; i++) {
456
+ const t = workingTurns[i];
457
+ if (i < condensedUpTo) {
458
+ promptParts.push(`## ${t.id} [已缩减]`, t.body, '');
459
+ }
460
+ else {
461
+ promptParts.push(`## ${t.id}`, t.body, '');
462
+ }
463
+ }
464
+ const results = await callHaikuAndParse(promptParts.join('\n'), workingTurns, segStart, absEnd, condensedUpTo);
465
+ // Apply with high-attention protection
466
+ for (let i = condensedUpTo; i < absEnd && i < workingTurns.length; i++) {
467
+ const t = workingTurns[i];
468
+ const r = results.get(t.id);
469
+ if (r?.cohesion !== undefined) {
470
+ t.cohesion = r.cohesion;
471
+ cohesionMap[t.id] = r.cohesion;
472
+ }
473
+ if (t.condensed)
474
+ continue;
475
+ if (t.id.startsWith('U') && UNCONDENSABLE_RE.test(t.body)) {
476
+ t.condensed = true;
477
+ continue;
478
+ }
479
+ if (highSet.has(t.id)) {
480
+ t.condensed = true;
481
+ continue;
482
+ } // Protect high-attention
483
+ if (r && r.condensed !== null && r.condensed !== undefined) {
484
+ t.body = r.condensed;
485
+ t.tokens = estimateTokens(r.condensed);
486
+ }
487
+ t.condensed = true;
294
488
  }
489
+ condensedUpTo = absEnd;
295
490
  }
296
- const versionNumbers = Object.keys(meta.versions)
297
- .map(v => parseInt(v.replace('v', '')))
298
- .filter(n => !isNaN(n));
491
+ // Build final
492
+ const versionNumbers = Object.keys(meta.versions).map(v => parseInt(v.replace('v', ''))).filter(n => !isNaN(n));
299
493
  const nextNum = Math.max(...versionNumbers) + 1;
300
494
  const nextVersion = `v${nextNum}`;
301
- const condensedContent = buildCondensedContent(originalTurns, condensedBodies, new Map(), nextNum);
495
+ const condensedContent = buildFinalContent(originalTurns, workingTurns, new Map(), nextNum);
302
496
  const afterTokens = estimateTokens(condensedContent);
303
497
  const latestEntry = meta.versions[meta.latest];
304
498
  const beforeTokens = latestEntry?.tokens ?? meta.original_tokens;
@@ -315,6 +509,7 @@ ${v0Content.length > 40000 ? '...[前文已省略]\n\n' + v0Content.slice(-40000
315
509
  meta.latest = nextVersion;
316
510
  meta.reorganize_count += 1;
317
511
  meta.last_reorganize_at = new Date().toISOString();
512
+ meta.cohesion_map = { ...meta.cohesion_map, ...cohesionMap };
318
513
  (0, conversation_sync_1.writeMeta)(convDir, meta);
319
514
  return { version: nextVersion, before_tokens: beforeTokens, after_tokens: afterTokens, high_attention_turns: highAttention };
320
515
  }
@@ -1 +1 @@
1
- {"version":3,"file":"condenser.js","sourceRoot":"","sources":["../../src/information/condenser.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"condenser.js","sourceRoot":"","sources":["../../src/information/condenser.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,5 @@
1
1
  export declare function generateSpecMd(): string;
2
2
  export declare function generateQuickRefMd(): string;
3
3
  export declare function generateClaudeMdBlock(): string;
4
+ export declare function generateInformationMdBlock(): string;
4
5
  //# sourceMappingURL=templates.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/memory-pool/templates.ts"],"names":[],"mappings":"AAEA,wBAAgB,cAAc,IAAI,MAAM,CAgGvC;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CA4F3C;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAiB9C"}
1
+ {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/memory-pool/templates.ts"],"names":[],"mappings":"AAEA,wBAAgB,cAAc,IAAI,MAAM,CAgGvC;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CA4F3C;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAiB9C;AAED,wBAAgB,0BAA0B,IAAI,MAAM,CAiBnD"}
@@ -4,6 +4,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
4
4
  exports.generateSpecMd = generateSpecMd;
5
5
  exports.generateQuickRefMd = generateQuickRefMd;
6
6
  exports.generateClaudeMdBlock = generateClaudeMdBlock;
7
+ exports.generateInformationMdBlock = generateInformationMdBlock;
7
8
  function generateSpecMd() {
8
9
  return `# Memory Pool 规范文档 (SPEC.md)
9
10
 
@@ -212,4 +213,22 @@ function generateClaudeMdBlock() {
212
213
  **完整规范:** \`.memory-pool/SPEC.md\`
213
214
  `;
214
215
  }
216
+ function generateInformationMdBlock() {
217
+ return `## 信息系统(Information)
218
+
219
+ 本项目已启用对话信息系统,ccweb 自动同步聊天记录并支持渐进缩减。
220
+
221
+ **查阅对话**:
222
+ 1. 读取 \`~/.ccweb/port\` 获取端口,\`GET /api/projects\` 查到项目 UUID
223
+ 2. \`GET /api/information/{uuid}/conversations\` 列出近期对话
224
+ 3. \`GET /api/information/{uuid}/conversations/{convId}\` 读取对话内容(默认返回最短缩减版)
225
+
226
+ **需要更多细节时**:
227
+ - 查看标记:\`[c2,30%;c1,60%]\` 表示当前内容是原文的 30%,上一版是 60%
228
+ - P% < 40% 的轮次可能有信息损失,通过 \`?version=v1\` 或 \`?version=v0\` 获取更详细版本
229
+ - 可以只读取特定轮次:\`?turns=U3,A3\`
230
+
231
+ **不需要手动操作**:对话同步、缩减、重整均由 ccweb 自动或用户手动触发,LLM 只需读取。
232
+ `;
233
+ }
215
234
  //# sourceMappingURL=templates.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/memory-pool/templates.ts"],"names":[],"mappings":";AAAA,uCAAuC;;AAEvC,wCAgGC;AAED,gDA4FC;AAED,sDAiBC;AAjND,SAAgB,cAAc;IAC5B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8FR,CAAC;AACF,CAAC;AAED,SAAgB,kBAAkB;IAChC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0FR,CAAC;AACF,CAAC;AAED,SAAgB,qBAAqB;IACnC,OAAO;;;;;;;;;;;;;;;CAeR,CAAC;AACF,CAAC"}
1
+ {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/memory-pool/templates.ts"],"names":[],"mappings":";AAAA,uCAAuC;;AAEvC,wCAgGC;AAED,gDA4FC;AAED,sDAiBC;AAED,gEAiBC;AApOD,SAAgB,cAAc;IAC5B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8FR,CAAC;AACF,CAAC;AAED,SAAgB,kBAAkB;IAChC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA0FR,CAAC;AACF,CAAC;AAED,SAAgB,qBAAqB;IACnC,OAAO;;;;;;;;;;;;;;;CAeR,CAAC;AACF,CAAC;AAED,SAAgB,0BAA0B;IACxC,OAAO;;;;;;;;;;;;;;;CAeR,CAAC;AACF,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tom2012/cc-web",
3
- "version": "1.5.111",
3
+ "version": "1.5.112",
4
4
  "description": "Self-hosted web UI for Claude Code CLI — run Claude in your browser",
5
5
  "private": false,
6
6
  "main": "electron/dist/main.js",