1. IPC 字段名修复 (lancedb_ipc.go) - Rust lancedb_search 返回 'result' 字段,Go ipcResp 用 'report_json' - 两边字段名不匹配导致 ReportJSON 永远为空,Search() 降级到 localSearch - 后果:recall_count 只写 Go 缓存,不写 LanceDB,重启后丢失 - 修复:ipcResp 加 'Result' 字段 (json:"result"),Search() 改用 resp.Result 2. Update 扩展 支持 (lancedb_ipc.go) - 原来只有 recall_count 支持 ,useful_count/not_useful_count 被丢弃 - 新增 getIncCachedValue() 统一处理所有 counter 字段 - 加日志:Update OK / Update FAILED 可见 - 修复 Feedback 端点 传递问题(map[string]int 而非 map[string]string) 3. /api/v1/feedback 端点 (core.go + server.go) - POST memory_id + useful/not_useful,通过 LanceDB.Update() 持久化 - 之前返回 404 破坏性:无(Search 降级是隐式行为,原代码已有 fallback) |
||
|---|---|---|
| .github/workflows | ||
| .venv | ||
| backups | ||
| carriers/shared | ||
| deploy | ||
| go | ||
| openclaw-zhiyi-plugin | ||
| plugins | ||
| proto | ||
| rust | ||
| scripts | ||
| .gitignore | ||
| BENCHMARK.md | ||
| DESIGN.md | ||
| IMPLEMENTATION-FIVE.md | ||
| IMPLEMENTATION.md | ||
| Makefile | ||
| README.md | ||
| REPAIR-FULL.md | ||
| REPAIR-PLAN.md | ||
| VERSION | ||
| WORKLOG.md | ||
README.md
织忆 (MemoryWeave) — 独立记忆基础设施
Go + Rust 双二进制架构 | port 7821 | 版本 v0.1.0-dev
织忆是多 Agent 系统的共享记忆层。
zhiyid (Go daemon, port 7821)
├── REST API / WebSocket
├── 蒸馏引擎 / 冲突治理
├── Redis 事件流
└── 调用 zhiyi-consolidate
zhiyi-consolidate (Rust binary, systemd timer)
├── LanceDB 原生读写
├── DBSCAN 聚类 / 衰减回归
├── Embedding + Rerank 管线
└── → 结果写回 LanceDB
快速开始
# 构建
make build
# 安装
sudo make install
# 验证
curl http://localhost:7821/health
文档
语言分工
| 组件 | 语言 | 原因 |
|---|---|---|
| HTTP API + 业务逻辑 | Go | goroutine 高并发,单二进制 |
| LanceDB + 向量管线 | Rust | 原生 lancedb crate,零 FFI |
| Embedding/Rerank | Rust | Candle/ort 推理 |