@tom2012/cc-web 1.5.93 → 1.5.95

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 (45) hide show
  1. package/README.md +1 -1
  2. package/backend/dist/memory-pool/global-pool-manager.d.ts +2 -11
  3. package/backend/dist/memory-pool/global-pool-manager.d.ts.map +1 -1
  4. package/backend/dist/memory-pool/global-pool-manager.js +126 -232
  5. package/backend/dist/memory-pool/global-pool-manager.js.map +1 -1
  6. package/backend/dist/memory-pool/pool-lock.d.ts +2 -0
  7. package/backend/dist/memory-pool/pool-lock.d.ts.map +1 -0
  8. package/backend/dist/memory-pool/pool-lock.js +31 -0
  9. package/backend/dist/memory-pool/pool-lock.js.map +1 -0
  10. package/backend/dist/memory-pool/pool-manager.d.ts +34 -0
  11. package/backend/dist/memory-pool/pool-manager.d.ts.map +1 -1
  12. package/backend/dist/memory-pool/pool-manager.js +91 -0
  13. package/backend/dist/memory-pool/pool-manager.js.map +1 -1
  14. package/backend/dist/memory-pool/templates.d.ts.map +1 -1
  15. package/backend/dist/memory-pool/templates.js +97 -131
  16. package/backend/dist/memory-pool/templates.js.map +1 -1
  17. package/backend/dist/memory-pool/types.d.ts +4 -8
  18. package/backend/dist/memory-pool/types.d.ts.map +1 -1
  19. package/backend/dist/routes/hooks.d.ts.map +1 -1
  20. package/backend/dist/routes/hooks.js +14 -0
  21. package/backend/dist/routes/hooks.js.map +1 -1
  22. package/backend/dist/routes/memory-pool.d.ts.map +1 -1
  23. package/backend/dist/routes/memory-pool.js +505 -95
  24. package/backend/dist/routes/memory-pool.js.map +1 -1
  25. package/frontend/dist/assets/{GraphPreview-CSZTNhQX.js → GraphPreview-BFYA_WA5.js} +1 -1
  26. package/frontend/dist/assets/{OfficePreview-DZmKFnER.js → OfficePreview-DN-it4Af.js} +2 -2
  27. package/frontend/dist/assets/{PlanPanel-DuAa0AZZ.js → PlanPanel-DYupjf3X.js} +1 -1
  28. package/frontend/dist/assets/{ProjectPage-BxuE0x69.js → ProjectPage-B6tVjIYr.js} +5 -5
  29. package/frontend/dist/assets/{SettingsPage-DSnQze4Z.js → SettingsPage-CQL_FfkR.js} +1 -1
  30. package/frontend/dist/assets/{ShareViewPage-Dmur70tT.js → ShareViewPage-C_x31zAw.js} +1 -1
  31. package/frontend/dist/assets/{SkillHubPage-DnGb0OHx.js → SkillHubPage-Cgoxl30L.js} +2 -2
  32. package/frontend/dist/assets/{bot-DKy4a5yK.js → bot-Dst2XqWX.js} +1 -1
  33. package/frontend/dist/assets/{chevron-down-B-GU2wv8.js → chevron-down-DsAldQb3.js} +1 -1
  34. package/frontend/dist/assets/{download-CsOUNuPy.js → download-YA6lXM4C.js} +1 -1
  35. package/frontend/dist/assets/index-BDYnq-Fr.css +1 -0
  36. package/frontend/dist/assets/{index-C202jcvT.js → index-CY9Au1bg.js} +4 -4
  37. package/frontend/dist/assets/{index-I4_xf4g_.js → index-_m8u9esJ.js} +1 -1
  38. package/frontend/dist/assets/{jszip.min-Dc0FmeMP.js → jszip.min-BC9RCrTS.js} +1 -1
  39. package/frontend/dist/assets/{matter-Da3rDMpe.js → matter-Mm9BJmx6.js} +1 -1
  40. package/frontend/dist/assets/{maximize-2-BEyzEiyH.js → maximize-2-CuzznumM.js} +1 -1
  41. package/frontend/dist/assets/{save-BYSx9fYK.js → save-Q2W6S7fk.js} +1 -1
  42. package/frontend/dist/assets/{user-D3KuBJwv.js → user-BM9GY1Xb.js} +1 -1
  43. package/frontend/dist/index.html +2 -2
  44. package/package.json +1 -1
  45. package/frontend/dist/assets/index-BiVVvGoh.css +0 -1
@@ -40,6 +40,10 @@ exports.readBallContent = readBallContent;
40
40
  exports.writeBallContent = writeBallContent;
41
41
  exports.enrichBallsWithBuoyancy = enrichBallsWithBuoyancy;
42
42
  exports.generateSnapshot = generateSnapshot;
43
+ exports.estimateTokens = estimateTokens;
44
+ exports.buildSurface = buildSurface;
45
+ exports.computeDiameter = computeDiameter;
46
+ exports.tickPool = tickPool;
43
47
  exports.migrateV1toV2 = migrateV1toV2;
44
48
  exports.needsUpgrade = needsUpgrade;
45
49
  exports.isInitialized = isInitialized;
@@ -106,6 +110,92 @@ function generateSnapshot(pool) {
106
110
  }
107
111
  return lines.join('\n');
108
112
  }
113
+ // ── Surface builder ──
114
+ /**
115
+ * Estimate token count from text content (rough: ~4 chars per token for mixed CJK/EN).
116
+ */
117
+ function estimateTokens(text) {
118
+ return Math.ceil(text.length / 4);
119
+ }
120
+ /**
121
+ * Build surface.md — the set of top-buoyancy balls whose total token diameter
122
+ * fits within the wedge top width (surface_width). Writes surface.md to poolDir.
123
+ * MUST be called within withPoolLock when pool.json may be concurrently modified.
124
+ */
125
+ function buildSurface(poolDir) {
126
+ const pool = readPool(poolDir);
127
+ if (!pool)
128
+ return { surfaceBalls: [], totalTokens: 0 };
129
+ const surfaceWidth = pool.surface_width ?? 10000;
130
+ const enriched = enrichBallsWithBuoyancy(pool);
131
+ const surfaceBalls = [];
132
+ let totalTokens = 0;
133
+ for (const ball of enriched) {
134
+ // Use cached diameter if available, otherwise read and estimate
135
+ let diameter = ball.diameter ?? 0;
136
+ if (!diameter) {
137
+ const content = readBallContent(poolDir, ball.id);
138
+ diameter = content ? estimateTokens(content) : 0;
139
+ }
140
+ // M-1 fix: skip ghost entries (pool.json has ball but file missing → diameter=0)
141
+ if (diameter === 0)
142
+ continue;
143
+ if (totalTokens + diameter > surfaceWidth && surfaceBalls.length > 0) {
144
+ continue; // Skip this ball — try smaller ones that still fit (greedy knapsack)
145
+ }
146
+ surfaceBalls.push({
147
+ id: ball.id,
148
+ type: ball.type,
149
+ summary: ball.summary,
150
+ buoyancy: ball.buoyancy,
151
+ diameter,
152
+ links: ball.links,
153
+ });
154
+ totalTokens += diameter;
155
+ }
156
+ // Write surface.md
157
+ const lines = [
158
+ `# Memory Pool Surface`,
159
+ ``,
160
+ `> t=${pool.t} | surface_width=${surfaceWidth} | used≈${totalTokens} tokens | ${surfaceBalls.length}/${pool.balls.length} balls`,
161
+ ``,
162
+ ];
163
+ for (const b of surfaceBalls) {
164
+ const linksStr = b.links.length > 0 ? ` → links: ${b.links.join(', ')}` : '';
165
+ lines.push(`- **[${b.type}]** ${b.summary} — \`${b.id}\` (B=${b.buoyancy.toFixed(1)}, ~${b.diameter}tok${linksStr})`);
166
+ }
167
+ lines.push('', `读取内容: \`.memory-pool/balls/{id}.md\``, `探索关系: 通过 links 字段读取关联球`);
168
+ (0, config_1.atomicWriteSync)(path.join(poolDir, 'surface.md'), lines.join('\n'));
169
+ return { surfaceBalls, totalTokens };
170
+ }
171
+ /**
172
+ * Compute and cache the diameter (token estimate) for a ball.
173
+ */
174
+ function computeDiameter(poolDir, ballId) {
175
+ const content = readBallContent(poolDir, ballId);
176
+ return content ? estimateTokens(content) : 0;
177
+ }
178
+ /**
179
+ * Tick the pool: increment t with session-based dedup.
180
+ * Returns { t, deduplicated } or null if pool not found.
181
+ * MUST be called within withPoolLock to prevent concurrent read-modify-write races.
182
+ */
183
+ function tickPool(poolDir, session) {
184
+ const pool = readPool(poolDir);
185
+ if (!pool)
186
+ return null;
187
+ // Session-based dedup: same session won't tick twice
188
+ if (session && pool.last_tick_session === session) {
189
+ return { t: pool.t, deduplicated: true };
190
+ }
191
+ pool.t += 1;
192
+ pool.last_tick_at = new Date().toISOString();
193
+ if (session)
194
+ pool.last_tick_session = session;
195
+ writePool(poolDir, pool);
196
+ buildSurface(poolDir);
197
+ return { t: pool.t, deduplicated: false };
198
+ }
109
199
  /**
110
200
  * Migrate from v1 (state.json + index.json + frontmatter balls) to v2 (pool.json + pure content balls).
111
201
  * Idempotent: if pool.json already exists with version >= 2, returns empty changes.
@@ -190,6 +280,7 @@ function migrateV1toV2(poolDir) {
190
280
  lambda: state.lambda ?? 0.97,
191
281
  alpha: state.alpha ?? 1.0,
192
282
  active_capacity: state.active_capacity ?? 20,
283
+ surface_width: state.surface_width ?? 10000,
193
284
  next_id: state.next_id ?? 1,
194
285
  pool: state.pool ?? 'project',
195
286
  initialized_at: state.initialized_at ?? new Date().toISOString(),
@@ -1 +1 @@
1
- {"version":3,"file":"pool-manager.js","sourceRoot":"","sources":["../../src/memory-pool/pool-manager.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"pool-manager.js","sourceRoot":"","sources":["../../src/memory-pool/pool-manager.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../../src/memory-pool/templates.ts"],"names":[],"mappings":"AAEA,wBAAgB,cAAc,IAAI,MAAM,CAkJvC;AAED,wBAAgB,kBAAkB,IAAI,MAAM,CA2D3C;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,CA2E3C;AAED,wBAAgB,qBAAqB,IAAI,MAAM,CAiB9C"}
@@ -7,19 +7,18 @@ exports.generateClaudeMdBlock = generateClaudeMdBlock;
7
7
  function generateSpecMd() {
8
8
  return `# Memory Pool 规范文档 (SPEC.md)
9
9
 
10
- > 本文档定义了记忆池系统��完整规范。AI 应在执行复杂记忆操作时参考本文档。
10
+ > 本文档定义了记忆池系统的完整规范。AI 应在执行复杂记忆操作时参考本文档。
11
11
  > 日常操作请使用 QUICK-REF.md。
12
12
 
13
13
  ## 一、核心模型:楔形容器与浮球系统
14
14
 
15
15
  记忆池是一个**楔形容器**——利用物理几何来施加计算层面的容量约束。每条记忆是容器中的一个**浮球**,对应 \`.memory-pool/balls/\` 下的一个 \`.md\` 文件。
16
16
 
17
- - **活跃层**:浮力最高的 Top-N 个球(N = \`pool.json\` 中的 \`active_capacity\`),AI 每次对话应优先加载
18
- - **深层**:其余球,不主动加载,但可通过查询或连线召回
17
+ - **活跃层**:浮力最高的 Top-N 个球(N = \`active_capacity\`),AI 每次对话应优先加载
18
+ - **表面层(Surface)**:浮力最高且总 token 直径不超过楔形顶部宽度(\`surface_width\`)的球
19
+ - **深层**:其余球,不主动加载,但可通过 hit 查询或连线召回
19
20
  - **永不消失**:浮力趋近于零但永远不为零,任何记忆都可被召回
20
21
 
21
- 物理特性——浮力、碰撞、衰减——驱动记忆的自动筛选、重新排序和重构。可视化是附带收益,而非设计目标。
22
-
23
22
  ## 二、浮力公式
24
23
 
25
24
  \`\`\`
@@ -28,203 +27,170 @@ B(t) = (B₀ + α · H) · λ^(t - t_last)
28
27
 
29
28
  | 符号 | 含义 | 来源 |
30
29
  |------|------|------|
31
- | B₀ | 初始浮力 | \`pool.json\` 球条目 \`B0\` |
32
- | H | 累计命中次数 | \`pool.json\` 球条目 \`H\` |
33
- | α | 查询增益系数 | \`pool.json\`\`alpha\`(默认 1.0) |
34
- | λ | 衰减率 | \`pool.json\`\`lambda\`(默认 0.97) |
35
- | t | 当前全局轮次 | \`pool.json\` \`t\` |
36
- | t_last | 上次访问轮次 | \`pool.json\` 球条目 \`t_last\` |
30
+ | B₀ | 初始浮力 | ccweb 按类型自动分配 |
31
+ | H | 累计命中次数 | ccweb 通过 hit API 自动计数 |
32
+ | α | 查询增益系数 | pool.json → alpha(默认 1.0) |
33
+ | λ | 衰减率 | pool.json → lambda(默认 0.97) |
34
+ | t | 当前全局轮次 | ccweb 通过 hook 自动递增 |
35
+ | t_last | 上次访问轮次 | ccweb 通过 hit API 自动更新 |
37
36
 
38
37
  **浮力动态计算**:buoyancy 不存储在文件中,每次读取时由后端根据公式实时计算。
39
38
 
40
- **永久标记**:\`permanent: true\` 的球跳过衰减项,\`B(t) = B₀ + α · H\`。
41
-
42
- **轮次规则**:每条用户消息算一轮。\`t\` 由系统 hook 自动递增,AI 无需手动管理。
39
+ **永久标记**:\`permanent: true\` 的球跳过衰减项。
43
40
 
44
41
  ## 三、球的属性
45
42
 
46
43
  | 属性 | 字段 | 说明 |
47
44
  |------|------|------|
48
- | 体积 | (正文长度) | 信息的 token 数或字数,越长越大 |
45
+ | 直径 | \`diameter\` | 内容 token 数估算,由 ccweb 自动计算并缓存 |
49
46
  | 浮力 | \`B0\`, \`H\`, \`t_last\` | 由公式计算,决定检索优先级 |
50
47
  | 硬度 | \`hardness\` (0-10) | 抗拆解能力,硬度高的球抵抗分化 |
51
48
  | 连线 | \`links[]\` | 与其他球的关联(ID 数组) |
52
49
  | 永久 | \`permanent\` | true 时不参与衰减 |
53
50
 
54
- ## 四、球的四种类型
51
+ ## 四、球的四种类型与默认 B₀
55
52
 
56
- | 类型 | B₀ 参考 | 用途 |
53
+ | 类型 | 默认 B₀ | 用途 |
57
54
  |------|---------|------|
58
- | \`feedback\` | 8-10 | 用户纠正、行为反馈——直接影响行为正确性 |
59
- | \`user\` | 5-7 | 用户身份、偏好、知识背景 |
60
- | \`project\` | 4-6 | 项目上下文、技术决策、进度状态 |
61
- | \`reference\` | 2-4 | 外部资源指针(URL、文档位置等) |
55
+ | \`feedback\` | 9 | 用户纠正、行为反馈——直接影响行为正确性 |
56
+ | \`user\` | 6 | 用户身份、偏好、知识背景 |
57
+ | \`project\` | 5 | 项目上下文、技术决策、进度状态 |
58
+ | \`reference\` | 3 | 外部资源指针(URL、文档位置等) |
62
59
 
63
60
  ## 五、文件结构
64
61
 
65
62
  \`\`\`
66
63
  .memory-pool/
67
- ├── pool.json # 唯一的元数据文件(全局参数 + 所有球的元数据)
68
- ├── balls/ # 球文件,纯 markdown 内容(无 YAML frontmatter)
64
+ ├── pool.json ccweb 独占管理(AI 不直接读写)
65
+ ├── surface.md ← ccweb 自动生成(活跃层摘要)
66
+ ├── balls/ # 球文件,纯 markdown 内容
69
67
  │ ├── ball_0001.md
70
68
  │ └── ...
71
- ├── QUICK-REF.md # 日常操作参考
72
- └── SPEC.md # 本文档
73
- \`\`\`
74
-
75
- ### 5.1 pool.json 格式
76
-
77
- \`\`\`json
78
- {
79
- "version": 2,
80
- "t": 0,
81
- "lambda": 0.97,
82
- "alpha": 1.0,
83
- "active_capacity": 20,
84
- "next_id": 1,
85
- "pool": "project",
86
- "initialized_at": "2026-04-03T10:00:00Z",
87
- "balls": [
88
- {
89
- "id": "ball_0001",
90
- "type": "feedback",
91
- "summary": "不在代码中��加多余注释",
92
- "B0": 8,
93
- "H": 3,
94
- "t_last": 156,
95
- "hardness": 7,
96
- "permanent": false,
97
- "links": ["ball_0015", "ball_0038"],
98
- "created_at": "2026-04-03T10:00:00Z"
99
- }
100
- ]
101
- }
69
+ ├── QUICK-REF.md # AI 操作参考(本文档)
70
+ └── SPEC.md # 完整规范
102
71
  \`\`\`
103
72
 
104
- ### 5.2 球文件格式
105
-
106
- 文件路径:\`.memory-pool/balls/ball_XXXX.md\`
107
-
108
- 球���件为纯 markdown,不包含 YAML frontmatter。所有元数据存储在 \`pool.json\` 中。
73
+ ## 六、操作流程(通过 ccweb API)
109
74
 
110
- ## 六、操作流程
75
+ 所有操作通过 ccweb REST API 完成,AI 不再直接操作 pool.json。
111
76
 
112
77
  ### 6.1 创建球
78
+ 调用 \`POST /api/memory-pool/{projectId}/balls\`,传入 type、summary、content。
79
+ ccweb 自动:分配 ID、设定 B₀、写入 ball.md、更新 pool.json、重建 surface.md。
113
80
 
114
- 1. 读取 \`pool.json\`,获取 \`next_id\` 和当前 \`t\`
115
- 2. 创建 \`balls/ball_XXXX.md\`,写入纯 markdown 正文
116
- 3. 在 \`pool.json\` 的 \`balls\` 数组中添加新球条目
117
- 4. \`pool.json\` 的 \`next_id\` += 1
118
- 5. 写回 \`pool.json\`
119
-
120
- ### 6.2 查询/使用球(命中更新)
121
-
122
- 每次在对话中使用某个球的信息时:
123
- 1. 在 \`pool.json\` 中找到该球条目
124
- 2. \`H\` += 1,\`t_last\` = 当前 \`t\`
125
- 3. 写回 \`pool.json\`
126
-
127
- ### 6.3 维护
128
-
129
- **衰减**:不需要显式操作——浮力公式中的 \`λ^(t - t_last)\` 自动完成衰减,由后端在读取时动态计算。
81
+ ### 6.2 命中查询
82
+ 调用 \`POST /api/memory-pool/{projectId}/balls/{ballId}/hit\`。
83
+ ccweb 自动:H+=1、t_last=t、返回球内容和关联球摘要。
130
84
 
131
- **分化**(大球拆为多个小球):
132
- - 触发条件:活跃层空间不足,且存在体积大的球
133
- - 硬度约束��硬度 7 的球不拆
134
- - 操作:删除原球文件和元数据,创建多个新球,新球之间建立连线
85
+ ### 6.3 修改球内容
86
+ 先 Edit \`balls/ball_XXXX.md\`,然后调用 \`PUT /api/memory-pool/{projectId}/balls/{ballId}\`。
87
+ ccweb 自动:重算 diameter、更新 pool.json、重建 surface.md。
135
88
 
136
- ### 6.4 连线召回
137
-
138
- 查询命中活跃层某球时,检查其 \`links\`,拉出关联球(H+=1, t_last 重置)。
89
+ ### 6.4 删除球
90
+ 调用 \`DELETE /api/memory-pool/{projectId}/balls/{ballId}\`。
91
+ ccweb 自动:删文件、清理 links、更新 pool.json、重建 surface.md。
139
92
 
140
93
  ### 6.5 轮次自增
141
-
142
- \`t\` 由系统 hook 自动递增(每条用户消息 +1)。AI 无需手动管理轮次。
94
+ \`t\` 由 ccweb 在 Claude Code Stop hook 事件时自动递增。AI 也可手动调用 \`POST /tick\`。
143
95
 
144
96
  ## 七、多容器架构
145
97
 
146
- 系统支持两层记忆池:
98
+ - **项目池**(\`pool: "project"\`):\`.memory-pool/\`,\`lambda: 0.97\`
99
+ - **全局池**(\`pool: "global"\`):\`~/.ccweb/memory-pool/\`,\`lambda: 0.99\`
147
100
 
148
- - **项目池**(\`pool: "project"\`):位于项目目录下 \`.memory-pool/\`,\`lambda: 0.97\`,记录项目内的局部经验
149
- - **全局池**(\`pool: "global"\`):位于 \`~/.ccweb/memory-pool/\`,\`lambda: 0.99\`,汇总所有项目的通用经验
150
-
151
- 全局池的 \`t\` 按日历天数递增,通用性记忆自然上浮。项目池初始化/更新时自动注册到全局池。
101
+ 全局池的 \`t\` 按日历天数递增。AI 通过 \`GET /api/memory-pool/global/surface\` 访问全局记忆,无需导入到项目池。
152
102
  `;
153
103
  }
154
104
  function generateQuickRefMd() {
155
105
  return `# Memory Pool 快速参考 (QUICK-REF.md)
156
106
 
157
107
  > AI 日常操作记忆池时读取此文档。完整规范见 SPEC.md。
108
+ > 所有操作通过 ccweb API 完成,**不要直接读写 pool.json**。
109
+
110
+ ## API 端点
111
+
112
+ BASE: \`/api/memory-pool/{projectId}\`
113
+
114
+ ## 对话开始
115
+
116
+ \`\`\`
117
+ GET /surface → 获取活跃层记忆(按浮力排序,受楔形宽度限制)
118
+ \`\`\`
119
+
120
+ 按需读取具体球:
121
+ \`\`\`
122
+ POST /balls/{ballId}/hit → 返回内容 + 关联球摘要(自动计数 H+=1)
123
+ \`\`\`
124
+
125
+ 如需查看全局记忆:
126
+ \`\`\`
127
+ GET /api/memory-pool/global/surface → 全局活跃层
128
+ POST /api/memory-pool/global/balls/{ballId}/hit → 全局球命中查询
129
+ \`\`\`
158
130
 
159
131
  ## 创建球
160
132
 
161
- 1. 读取 \`pool.json\`,获取 \`next_id\` 和 \`t\`
162
- 2. 创建 \`balls/ball_XXXX.md\`(纯 markdown,无 frontmatter)
163
- 3. \`pool.json\` \`balls\` 数组中添加条目:
164
-
165
- \`\`\`json
166
- {
167
- "id": "ball_XXXX",
168
- "type": "feedback",
169
- "summary": "简短摘要",
170
- "B0": 8,
171
- "H": 0,
172
- "t_last": 当前t,
173
- "hardness": 7,
174
- "permanent": false,
175
- "links": [],
176
- "created_at": "ISO时间"
177
- }
133
+ \`\`\`
134
+ POST /balls
135
+ Body: { "type": "feedback", "summary": "简短摘要", "content": "markdown正文" }
136
+ 可选: "links": ["ball_0004"], "b0_override": 8
178
137
  \`\`\`
179
138
 
180
- 4. \`next_id\` += 1,写回 \`pool.json\`
139
+ type 决定默认 B₀:feedback=9 | user=6 | project=5 | reference=3
181
140
 
182
- **B₀ 参考**:feedback=8-10 | user=5-7 | project=4-6 | reference=2-4
141
+ ## 修改球
183
142
 
184
- ## 浮力计算
143
+ 1. 用 Edit 工具修改 \`.memory-pool/balls/ball_XXXX.md\`
144
+ 2. 调用:\`PUT /balls/{ballId}\` Body: \`{ "summary": "新摘要" }\`(summary 可选)
145
+
146
+ ## 删除球
185
147
 
186
148
  \`\`\`
187
- B(t) = (B0 + alpha * H) * lambda^(t - t_last)
149
+ DELETE /balls/{ballId}
188
150
  \`\`\`
189
151
 
190
- 默认参数在 pool.json:lambda=0.97, alpha=1.0
191
- 永久球(permanent=true)不乘衰减项。
192
- buoyancy 由后端动态计算,不存储在文件中。
152
+ ccweb 自动清理其他球对该球的 links 引用。
193
153
 
194
- ## 命中更新
154
+ ## 管理连线
195
155
 
196
- 使用某球信息时:在 pool.json 中找到该球,H += 1, t_last = 当前 t,写回 pool.json
156
+ \`\`\`
157
+ PATCH /balls/{ballId}/links
158
+ Body: { "add": ["ball_0007"], "remove": ["ball_0003"] }
159
+ \`\`\`
197
160
 
198
- ## 维护流程
161
+ ## 纯读取(不增加命中计数)
199
162
 
200
- 1. 读取 pool.json
201
- 2. 浮力由后端动态计算,无需手动重算
202
- 3. 检查是否需要分化(活跃层满 + 大球 + 硬度 < 7)
203
- 4. 写回 pool.json
163
+ \`\`\`
164
+ GET /ball/{ballId} → 只返回内容,不影响 H 和 t_last
165
+ \`\`\`
204
166
 
205
167
  ## 轮次管理
206
168
 
207
- \`t\` 由系统 hook 自动递增,AI 无需手动管理。
169
+ \`t\` ccweb 在对话结束时自动递增(Stop hook)。无需手动操作。
170
+
171
+ ## 维护
208
172
 
209
- ## pool.json 更新
173
+ \`\`\`
174
+ POST /maintenance → 返回分化建议 + 异常检测
175
+ \`\`\`
210
176
 
211
- 每次修改球信息后写回 pool.json。只需操作这一个文件(+ 球的 markdown 文件)。
177
+ 分化执行:创建多个新球(POST /balls)→ 删除原球(DELETE /balls/{id})。
212
178
  `;
213
179
  }
214
180
  function generateClaudeMdBlock() {
215
181
  return `## 记忆池(Memory Pool)
216
182
 
217
- 本项目已启用记忆池系统。
183
+ 本项目已启用记忆池系统,通过 ccweb API 管理。
218
184
 
219
185
  **每次对话开始时:**
220
- 1. 读取 \`.memory-pool/QUICK-REF.md\` 了解操作规范
221
- 2. 读取 \`.memory-pool/pool.json\` 加载全局参数和活跃层记忆
222
- 3. 将活跃层记忆纳入当前对话上下文
186
+ 1. 读取 \`.memory-pool/QUICK-REF.md\` 了解 API 操作规范
187
+ 2. 调用 \`GET /api/memory-pool/{projectId}/surface\` 获取活跃层记忆
188
+ 3. 按需调用 \`POST /balls/{ballId}/hit\` 获取具体球内容
223
189
 
224
190
  **对话过程中:**
225
- - 遇到重要信息时主动提议存入记忆池
226
- - 用户要求记忆操作时参照 QUICK-REF.md 执行
227
- - 每次操作后更新 pool.json
191
+ - 遇到重要信息时,通过 \`POST /balls\` 创建新球
192
+ - 使用球信息时,通过 \`POST /balls/{ballId}/hit\` 自动计数
193
+ - 不要直接读写 pool.json,所有元数据由 ccweb 管理
228
194
 
229
195
  **完整规范:** \`.memory-pool/SPEC.md\`
230
196
  `;
@@ -1 +1 @@
1
- {"version":3,"file":"templates.js","sourceRoot":"","sources":["../../src/memory-pool/templates.ts"],"names":[],"mappings":";AAAA,uCAAuC;;AAEvC,wCAkJC;AAED,gDA2DC;AAED,sDAiBC;AAlOD,SAAgB,cAAc;IAC5B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAgJR,CAAC;AACF,CAAC;AAED,SAAgB,kBAAkB;IAChC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyDR,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,gDA2EC;AAED,sDAiBC;AAhMD,SAAgB,cAAc;IAC5B,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CA8FR,CAAC;AACF,CAAC;AAED,SAAgB,kBAAkB;IAChC,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAyER,CAAC;AACF,CAAC;AAED,SAAgB,qBAAqB;IACnC,OAAO;;;;;;;;;;;;;;;CAeR,CAAC;AACF,CAAC"}
@@ -14,10 +14,10 @@ export interface PoolBallMeta {
14
14
  permanent: boolean;
15
15
  links: string[];
16
16
  created_at: string;
17
+ diameter?: number;
17
18
  origins?: GlobalBallOrigin[];
18
19
  orphaned?: boolean;
19
20
  pre_orphan_B0?: number;
20
- global_ball_id?: string;
21
21
  }
22
22
  export interface PoolJson {
23
23
  version: number;
@@ -25,10 +25,13 @@ export interface PoolJson {
25
25
  lambda: number;
26
26
  alpha: number;
27
27
  active_capacity: number;
28
+ surface_width: number;
28
29
  next_id: number;
29
30
  pool: string;
30
31
  initialized_at: string;
31
32
  balls: PoolBallMeta[];
33
+ last_tick_at?: string;
34
+ last_tick_session?: string;
32
35
  global_pool_path?: string;
33
36
  }
34
37
  export interface PoolBallWithBuoyancy extends PoolBallMeta {
@@ -55,11 +58,4 @@ export interface SyncResult {
55
58
  unreachable_projects: string[];
56
59
  synced_projects: string[];
57
60
  }
58
- export interface ImportPreviewBall {
59
- global_ball_id: string;
60
- type: string;
61
- summary: string;
62
- buoyancy: number;
63
- origins_count: number;
64
- }
65
61
  //# sourceMappingURL=types.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/memory-pool/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IAEnB,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB,cAAc,CAAC,EAAE,MAAM,CAAC;CACzB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,YAAY,EAAE,CAAC;IAEtB,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACxD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,QAAQ,GAAG,aAAa,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B;AAED,MAAM,WAAW,iBAAiB;IAChC,cAAc,EAAE,MAAM,CAAC;IACvB,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,aAAa,EAAE,MAAM,CAAC;CACvB"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../src/memory-pool/types.ts"],"names":[],"mappings":"AAEA,MAAM,WAAW,gBAAgB;IAC/B,cAAc,EAAE,MAAM,CAAC;IACvB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,GAAG,UAAU,GAAG,SAAS,GAAG,WAAW,CAAC;IACpD,OAAO,EAAE,MAAM,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,SAAS,EAAE,OAAO,CAAC;IACnB,KAAK,EAAE,MAAM,EAAE,CAAC;IAChB,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAElB,OAAO,CAAC,EAAE,gBAAgB,EAAE,CAAC;IAC7B,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,aAAa,CAAC,EAAE,MAAM,CAAC;CACxB;AAED,MAAM,WAAW,QAAQ;IACvB,OAAO,EAAE,MAAM,CAAC;IAChB,CAAC,EAAE,MAAM,CAAC;IACV,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,eAAe,EAAE,MAAM,CAAC;IACxB,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,MAAM,CAAC;IACb,cAAc,EAAE,MAAM,CAAC;IACvB,KAAK,EAAE,YAAY,EAAE,CAAC;IAEtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;CAC3B;AAED,MAAM,WAAW,oBAAqB,SAAQ,YAAY;IACxD,QAAQ,EAAE,MAAM,CAAC;CAClB;AAID,MAAM,WAAW,WAAW;IAC1B,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,EAAE,MAAM,CAAC;IACrB,SAAS,EAAE,MAAM,CAAC;IAClB,aAAa,EAAE,MAAM,CAAC;IACtB,cAAc,EAAE,MAAM,GAAG,IAAI,CAAC;IAC9B,MAAM,EAAE,QAAQ,GAAG,aAAa,CAAC;IACjC,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,WAAW,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,UAAU;IACzB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;IACjB,oBAAoB,EAAE,MAAM,EAAE,CAAC;IAC/B,eAAe,EAAE,MAAM,EAAE,CAAC;CAC3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/routes/hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AASH,QAAA,MAAM,MAAM,4CAAW,CAAC;AAmExB,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"hooks.d.ts","sourceRoot":"","sources":["../../src/routes/hooks.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;GAUG;AAWH,QAAA,MAAM,MAAM,4CAAW,CAAC;AA8ExB,eAAe,MAAM,CAAC"}
@@ -50,6 +50,8 @@ const auth_1 = require("../auth");
50
50
  const config_1 = require("../config");
51
51
  const session_manager_1 = require("../session-manager");
52
52
  const notify_service_1 = require("../notify-service");
53
+ const pool_manager_1 = require("../memory-pool/pool-manager");
54
+ const pool_lock_1 = require("../memory-pool/pool-lock");
53
55
  const router = (0, express_1.Router)();
54
56
  function findProjectByDir(dir) {
55
57
  const projects = (0, config_1.getProjects)();
@@ -88,6 +90,18 @@ router.post('/', (req, res) => {
88
90
  // Then read the final text block from JSONL.
89
91
  session_manager_1.sessionManager.clearSemanticStatus(projectId);
90
92
  session_manager_1.sessionManager.triggerRead(projectId);
93
+ // Auto-tick memory pool on conversation end
94
+ try {
95
+ const project = (0, config_1.getProject)(projectId);
96
+ if (project) {
97
+ const poolDir = path.join(project.folderPath, '.memory-pool');
98
+ if ((0, pool_manager_1.isInitialized)(poolDir)) {
99
+ const sessionId = req.body.session;
100
+ (0, pool_lock_1.withPoolLock)(poolDir, () => (0, pool_manager_1.tickPool)(poolDir, sessionId)).catch(() => { });
101
+ }
102
+ }
103
+ }
104
+ catch { /* non-fatal: don't break Stop handling */ }
91
105
  // Fire notification 300ms after Stop so JSONL has been read
92
106
  setTimeout(() => {
93
107
  const p = (0, config_1.getProject)(projectId);
@@ -1 +1 @@
1
- {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/routes/hooks.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;GAUG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,qCAAoD;AACpD,2CAA6B;AAC7B,kCAAyC;AACzC,sCAAoD;AACpD,wDAAoD;AACpD,sDAAkD;AAElD,MAAM,MAAM,GAAG,IAAA,gBAAM,GAAE,CAAC;AASxB,SAAS,gBAAgB,CAAC,GAAW;IACnC,MAAM,QAAQ,GAAG,IAAA,oBAAW,GAAE,CAAC;IAC/B,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC;IACnC,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,UAAU,CAAC,KAAK,QAAQ,CAAC,CAAC;IAC5E,OAAO,KAAK,EAAE,EAAE,IAAI,IAAI,CAAC;AAC3B,CAAC;AAED,MAAM,CAAC,IAAI,CAAC,GAAG,EAAE,CAAC,GAAY,EAAE,GAAa,EAAQ,EAAE;IACrD,IAAI,CAAC,IAAA,qBAAc,EAAC,GAAG,CAAC,EAAE,CAAC;QACzB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;QAC7C,OAAO;IACT,CAAC;IAED,MAAM,EAAE,KAAK,EAAE,IAAI,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC,IAAgB,CAAC;IAElD,IAAI,CAAC,KAAK,IAAI,CAAC,GAAG,EAAE,CAAC;QACnB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,EAAE,KAAK,EAAE,sBAAsB,EAAE,CAAC,CAAC;QACxD,OAAO;IACT,CAAC;IAED,MAAM,SAAS,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACxC,IAAI,CAAC,SAAS,EAAE,CAAC;QACf,0EAA0E;QAC1E,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;QACvB,OAAO;IACT,CAAC;IAED,QAAQ,KAAK,EAAE,CAAC;QACd,KAAK,YAAY;YACf,oEAAoE;YACpE,gEAAgE;YAChE,gCAAc,CAAC,iBAAiB,CAAC,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,CAAC;YACxD,MAAM;QAER,KAAK,aAAa;YAChB,6DAA6D;YAC7D,gCAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACtC,MAAM;QAER,KAAK,MAAM;YACT,0FAA0F;YAC1F,6CAA6C;YAC7C,gCAAc,CAAC,mBAAmB,CAAC,SAAS,CAAC,CAAC;YAC9C,gCAAc,CAAC,WAAW,CAAC,SAAS,CAAC,CAAC;YACtC,4DAA4D;YAC5D,UAAU,CAAC,GAAG,EAAE;gBACd,MAAM,CAAC,GAAG,IAAA,mBAAU,EAAC,SAAS,CAAC,CAAC;gBAChC,IAAI,CAAC;oBAAE,KAAK,8BAAa,CAAC,gBAAgB,CAAC,SAAS,EAAE,CAAC,CAAC,IAAI,CAAC,CAAC;YAChE,CAAC,EAAE,GAAG,CAAC,CAAC,KAAK,EAAE,CAAC;YAChB,MAAM;QAER;YACE,MAAM;IACV,CAAC;IAED,GAAG,CAAC,IAAI,CAAC,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC;AACzB,CAAC,CAAC,CAAC;AAEH,kBAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"hooks.js","sourceRoot":"","sources":["../../src/routes/hooks.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"memory-pool.d.ts","sourceRoot":"","sources":["../../src/routes/memory-pool.ts"],"names":[],"mappings":"AA8BA,QAAA,MAAM,MAAM,4CAAW,CAAC;AA8YxB,eAAe,MAAM,CAAC"}
1
+ {"version":3,"file":"memory-pool.d.ts","sourceRoot":"","sources":["../../src/routes/memory-pool.ts"],"names":[],"mappings":"AAmCA,QAAA,MAAM,MAAM,4CAAW,CAAC;AA4yBxB,eAAe,MAAM,CAAC"}