Root causes fixed:
1. ExpandFromResults accessed p["to"] but SQLiteGraphStore.Navigate
returns {"source","target","relation","weight"} - field name mismatch
caused graph expansion to always return empty
2. Original logic checked seen[r.ID] (memory ID) against entity name
(neighbor string), which never matched - removed stale logic
Also improved extractPotentialEntities:
- Now handles Chinese continuous character sequences (2-8 chars)
- Chinese entities extracted as whole words, not split by spaces
- English capitalized words preserved with original casing
Changes:
- ExpandFromResults: correct field access (source/target/relation),
bidirectional neighbor detection (forward + reverse edges),
separate seenEntities map for entity dedup
- extractPotentialEntities: full rewrite for Chinese + better English
word tokenization without space-based splitting
|
||
|---|---|---|
| .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 | ||
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 推理 |