opcode-pg-memory 2.3.3 → 2.4.1
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 +86 -0
- package/dist/mcp-server.js +257 -24099
- package/dist/src/hooks/message-part-updated.js +1 -1
- package/dist/src/hooks/message-updated.d.ts.map +1 -1
- package/dist/src/hooks/message-updated.js +102 -93
- package/dist/src/hooks/message-updated.js.map +1 -1
- package/dist/src/hooks/session-compacting.js +9 -9
- package/dist/src/hooks/session-compacting.js.map +1 -1
- package/dist/src/hooks/session-completed.d.ts.map +1 -1
- package/dist/src/hooks/session-completed.js +8 -7
- package/dist/src/hooks/session-completed.js.map +1 -1
- package/dist/src/hooks/session-created.js +4 -4
- package/dist/src/hooks/session-created.js.map +1 -1
- package/dist/src/hooks/tool-execute.d.ts.map +1 -1
- package/dist/src/hooks/tool-execute.js +51 -14
- package/dist/src/hooks/tool-execute.js.map +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +39 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/mcp/backfill-embeddings.d.ts +18 -0
- package/dist/src/mcp/backfill-embeddings.d.ts.map +1 -0
- package/dist/src/mcp/backfill-embeddings.js +54 -0
- package/dist/src/mcp/backfill-embeddings.js.map +1 -0
- package/dist/src/mcp/recall-memory.d.ts +24 -0
- package/dist/src/mcp/recall-memory.d.ts.map +1 -1
- package/dist/src/mcp/recall-memory.js +144 -23
- package/dist/src/mcp/recall-memory.js.map +1 -1
- package/dist/src/mcp/sync-health.d.ts +23 -0
- package/dist/src/mcp/sync-health.d.ts.map +1 -0
- package/dist/src/mcp/sync-health.js +74 -0
- package/dist/src/mcp/sync-health.js.map +1 -0
- package/dist/src/services/async-embedder.d.ts +31 -0
- package/dist/src/services/async-embedder.d.ts.map +1 -0
- package/dist/src/services/async-embedder.js +106 -0
- package/dist/src/services/async-embedder.js.map +1 -0
- package/dist/src/services/db-polling.d.ts +5 -0
- package/dist/src/services/db-polling.d.ts.map +1 -1
- package/dist/src/services/db-polling.js +35 -27
- package/dist/src/services/db-polling.js.map +1 -1
- package/dist/src/services/event-synchronizer.d.ts +3 -0
- package/dist/src/services/event-synchronizer.d.ts.map +1 -1
- package/dist/src/services/event-synchronizer.js +69 -50
- package/dist/src/services/event-synchronizer.js.map +1 -1
- package/dist/src/services/opencode-schema-adapter.d.ts +14 -0
- package/dist/src/services/opencode-schema-adapter.d.ts.map +1 -1
- package/dist/src/services/opencode-schema-adapter.js +71 -0
- package/dist/src/services/opencode-schema-adapter.js.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -73,11 +73,18 @@ git clone https://github.com/Vbs313/opcode-pg-memory.git && cd opcode-pg-memory
|
|
|
73
73
|
recall_memory({
|
|
74
74
|
"query": "数据库连接池配置",
|
|
75
75
|
"caller_context": { "type": "omo_agent", "current_goal": "性能调优" },
|
|
76
|
+
"scope": "task",
|
|
77
|
+
"aggregate_similar": true,
|
|
76
78
|
"retrieval_strategies": ["semantic", "graph"],
|
|
77
79
|
"filters": { "tier": "project" }
|
|
78
80
|
})
|
|
79
81
|
```
|
|
80
82
|
|
|
83
|
+
| 参数 | 类型 | 默认 | 说明 |
|
|
84
|
+
|------|------|------|------|
|
|
85
|
+
| `scope` | `session` / `task` / `project` | `session` | 检索范围:当前会话 / 同任务所有会话 / 同项目所有会话 |
|
|
86
|
+
| `aggregate_similar` | `boolean` | `false` | 合并连续同名工具调用(如 `read ×47 最近读取了...`),仅在查询层聚合,不丢失明细 |
|
|
87
|
+
|
|
81
88
|
### hindsight_reflect
|
|
82
89
|
|
|
83
90
|
```json
|
|
@@ -85,6 +92,37 @@ recall_memory({
|
|
|
85
92
|
hindsight_reflect({ "omo_task_id": "task_123", "aggregate": true })
|
|
86
93
|
```
|
|
87
94
|
|
|
95
|
+
### sync_health
|
|
96
|
+
|
|
97
|
+
```json
|
|
98
|
+
// 检查同步健康状态(无参数)
|
|
99
|
+
sync_health()
|
|
100
|
+
|
|
101
|
+
// 返回示例
|
|
102
|
+
{
|
|
103
|
+
"status": "healthy",
|
|
104
|
+
"observations": { "total": 9922, "with_embedding": 9922, "embedding_pct": 100, "sessions_with_obs": 272 },
|
|
105
|
+
"embedder": { "queue_length": 0, "cooldown_remaining_s": null },
|
|
106
|
+
"warnings": []
|
|
107
|
+
}
|
|
108
|
+
```
|
|
109
|
+
|
|
110
|
+
Agent 自愈模式:`sync_health` 发现 coverage < 95% → `backfill_embeddings` → `sync_health` 确认恢复。
|
|
111
|
+
|
|
112
|
+
### backfill_embeddings
|
|
113
|
+
|
|
114
|
+
```json
|
|
115
|
+
// 回填缺失的 embedding
|
|
116
|
+
backfill_embeddings({ "limit": 100 })
|
|
117
|
+
backfill_embeddings({}) // 全量
|
|
118
|
+
```
|
|
119
|
+
|
|
120
|
+
| 参数 | 类型 | 默认 | 说明 |
|
|
121
|
+
|------|------|------|------|
|
|
122
|
+
| `limit` | `number` | `0`(全量) | 限制处理条数 |
|
|
123
|
+
|
|
124
|
+
使用 AsyncEmbedder 队列执行,支持 Ollama 不可用时 5 分钟冷却自动续传。已覆盖的 observation(`embedding IS NOT NULL`)不会重复处理。
|
|
125
|
+
|
|
88
126
|
## 架构
|
|
89
127
|
|
|
90
128
|
```
|
|
@@ -111,6 +149,54 @@ src/
|
|
|
111
149
|
mcp-server.ts # MCP 服务入口
|
|
112
150
|
```
|
|
113
151
|
|
|
152
|
+
## 运维
|
|
153
|
+
|
|
154
|
+
### 同步对账
|
|
155
|
+
|
|
156
|
+
```bash
|
|
157
|
+
# 查看同步健康度
|
|
158
|
+
node scripts/verify-sync.js
|
|
159
|
+
|
|
160
|
+
# JSON 输出(用于自动化/监控)
|
|
161
|
+
node scripts/verify-sync.js --json
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
健康状态标志:
|
|
165
|
+
|
|
166
|
+
| 指标 | 健康 | 告警 |
|
|
167
|
+
|------|------|------|
|
|
168
|
+
| 同步率 | ≥ 99.5% | < 99% |
|
|
169
|
+
| tool_status = 'failed' 占比 | < 5% | > 10% |
|
|
170
|
+
| 缺失会话数 | 0 | > 0 |
|
|
171
|
+
| 含 tool_call_id 比例 | 100% | < 99% |
|
|
172
|
+
| embedding 覆盖度 | ≥ 95% | < 95% |
|
|
173
|
+
|
|
174
|
+
首次部署后执行一次全量同步:
|
|
175
|
+
|
|
176
|
+
```bash
|
|
177
|
+
node scripts/verify-sync.js
|
|
178
|
+
# 确认同步率 >= 99.5%
|
|
179
|
+
```
|
|
180
|
+
|
|
181
|
+
`verify-sync.js` 是只读脚本,不修改数据库。同步由 EventSynchronizer 自动通过 OpenCode 事件总线或 SQLite 轮询完成。
|
|
182
|
+
|
|
183
|
+
Agent 可直接调用 `sync_health()` 获取相同信息(`status`、`embedding_pct`、`warnings`)。
|
|
184
|
+
|
|
185
|
+
### 批量 embedding 回填
|
|
186
|
+
|
|
187
|
+
首次部署或新增 embedding 模型后,对历史观察生成向量:
|
|
188
|
+
|
|
189
|
+
```bash
|
|
190
|
+
# 查看待回填数量
|
|
191
|
+
node scripts/backfill-embeddings.js --dry-run
|
|
192
|
+
|
|
193
|
+
# 全量回填(按 created_at 顺序,支持断点续传)
|
|
194
|
+
node scripts/backfill-embeddings.js
|
|
195
|
+
|
|
196
|
+
# 限制处理条数(快速验证)
|
|
197
|
+
node scripts/backfill-embeddings.js --limit 100
|
|
198
|
+
```
|
|
199
|
+
|
|
114
200
|
## 文档
|
|
115
201
|
|
|
116
202
|
| 文档 | 内容 |
|