织忆 MemoryWeave 记忆基础设施 — Go + Rust 双二进制架构
Go to file
xiaowei 3d054e7590 自验证机制:consolidate 聚类下限 + timestamp 前置检查 + 启动数据目录检查 + 修复图谱扩展字段名
1. consolidation_pipe.go:
   - 前置:抽样检查记忆时间戳(< 2024-01-01 视为可疑 epoch-0)
   - 后置:clusters <= 1 时记录 ERROR + patterns 标记异常
2. server.go: runStartupChecks() 启动时检测废弃路径 + socket 可达性
3. graph_expander.go: Navigate 返回字段从 "target"/"source" 修正为 "to"/"from"
2026-06-03 12:44:31 +08:00
.github/workflows v3.8 完整代码: Go API + Rust sidecar + ONNX BGE + Client SDK 2026-05-29 01:07:05 +08:00
.venv fix: 蒸馏引擎 + 命名空间隔离 + PassiveValidator + ephemeral清理 2026-05-29 08:04:57 +08:00
backups fix: 蒸馏引擎 + 命名空间隔离 + PassiveValidator + ephemeral清理 2026-05-29 08:04:57 +08:00
carriers/shared F1-F4: 端到端管道修复 + 蒸馏激活 + 治理基础 2026-05-30 02:01:11 +08:00
deploy fix(G6.2): LLM model换qwen3.5-122b,deploy service同步更新 2026-05-31 01:25:51 +08:00
docs feat: E1 BFS 扩展 + 生产部署完整套件 2026-06-02 18:58:38 +08:00
go 自验证机制:consolidate 聚类下限 + timestamp 前置检查 + 启动数据目录检查 + 修复图谱扩展字段名 2026-06-03 12:44:31 +08:00
openclaw-zhiyi-plugin feat: 双插件推送 — Hermes + OpenClaw zhiyi 插件同步 2026-05-30 15:00:33 +08:00
plugins E5.1 Obsidian 插件: CORS中间件 + 记忆面板 + 图谱视图 + 搜索模态框 2026-06-02 15:42:54 +08:00
proto v3.8 完整代码: Go API + Rust sidecar + ONNX BGE + Client SDK 2026-05-29 01:07:05 +08:00
rust fix G7 E3: crystallize路由路径+GetSkillCandidates通过Rust IPC查LanceDB 2026-06-02 04:19:58 +08:00
scripts feat: E1 BFS 扩展 + 生产部署完整套件 2026-06-02 18:58:38 +08:00
tests feat: E1 BFS 扩展 + 生产部署完整套件 2026-06-02 18:58:38 +08:00
web-ui E5.3 Web UI: React 单文件 + 静态文件中间件 2026-06-02 17:10:28 +08:00
.gitignore E5.1 Obsidian 插件: CORS中间件 + 记忆面板 + 图谱视图 + 搜索模态框 2026-06-02 15:42:54 +08:00
BENCHMARK.md perf: 34 benchmarks + 性能报告 — i5-11260H 2026-05-28 18:41:11 +08:00
DESIGN.md docs: 更新 DESIGN.md — 同步 v3.8 实施状态 2026-05-31 06:46:10 +08:00
G7-IMPLEMENTATION.md G7.1: skill persistence - BayesianSkillManager Redis + CRUD API 2026-06-01 23:44:36 +08:00
IMPLEMENTATION-FIVE.md docs: E5 全部完成,状态更新为全部完成 2026-06-02 17:12:19 +08:00
IMPLEMENTATION.md 进度更新: G1-G9 全部完成, Hermes 插件添加 WebSocket 2026-05-30 02:16:47 +08:00
INSTALL.md feat: E1 BFS 扩展 + 生产部署完整套件 2026-06-02 18:58:38 +08:00
Makefile feat: E1 BFS 扩展 + 生产部署完整套件 2026-06-02 18:58:38 +08:00
README.md feat: E1 BFS 扩展 + 生产部署完整套件 2026-06-02 18:58:38 +08:00
REPAIR-FULL.md F1-F4: 端到端管道修复 + 蒸馏激活 + 治理基础 2026-05-30 02:01:11 +08:00
REPAIR-PLAN.md F1-F4: 端到端管道修复 + 蒸馏激活 + 治理基础 2026-05-30 02:01:11 +08:00
VERSION
WORKLOG.md docs: WORKLOG 同步 E5.1 Obsidian 插件 2026-06-02 15:43:31 +08:00
docker-compose.yml feat: E1 BFS 扩展 + 生产部署完整套件 2026-06-02 18:58:38 +08:00
eval_results.md fix: SQLite WAL mode 解决图谱导航超时问题 2026-06-02 19:10:03 +08:00

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

目录


快速开始

前置依赖

  • Go 1.21+
  • Rust 1.75+(仅需构建 zhiyi-consolidate
  • Redis 7.0+(可选,默认降级为内存模式)
  • SQLite3可选用于持久化图谱

构建

# 克隆
git clone http://192.168.123.11:3000/xiaoxue_admin/memoryweave.git
cd memoryweave

# 构建 Go daemonzhiyid
make build

# 构建 Rust sidecar可选
make build-rust

# 构建 CLI 工具
make build-cli

运行

# 方式一:直接运行
~/.local/bin/zhiyid

# 方式二systemd用户级
systemctl --user enable --now zhiyid
curl http://localhost:7821/health

# 方式三Docker
docker compose up -d
curl http://localhost:7821/health

安装方式

方式一systemd推荐

# 1. 构建
make build build-cli

# 2. 安装 systemd 服务(用户级)
mkdir -p ~/.config/systemd/user
cp deploy/zhiyid.service ~/.config/systemd/user/zhiyid.service
systemctl --user daemon-reload

# 3. 启用并启动
systemctl --user enable --now zhiyid

# 4. 验证
curl http://localhost:7821/health

详细步骤请参考 INSTALL.md

方式二Docker Compose一键

# 启动全部服务zhiyid + Redis + 可选 BGE-M3
docker compose up -d

# 查看日志
docker compose logs -f zhiyid

# 停止
docker compose down

详见 docker-compose.yml


配置

环境变量

变量 默认值 说明
PORT 7821 API 监听端口
STORAGE_BACKEND lancedb 存储后端:lancedb / sqlite / memory
SQLITE_PATH /var/lib/memoryweave/memoryweave.db SQLite 数据库路径
LANCEDB_SOCKET /tmp/zhiyi-ipc.sock Rust IPC socket 路径
GRAPH_PATH /var/lib/memoryweave/graph.db 图谱数据库路径
API_KEY API 认证密钥
VLLM_ENDPOINT Embedding 模型端点(如 vLLM
BGE_MODEL_DIR BGE-M3 ONNX 模型目录
RERANK_ENDPOINT Rerank 模型端点
LLM_ENDPOINT LLM 端点(蒸馏/自动修复用)
LLM_MODEL LLM 模型名称
LLM_API_KEY LLM API Key
MOLIFANG_API_KEY 魔方API密钥embedding中转
STATIC_DIR 内置静态文件 Web UI 静态文件目录
ZHIYI_WEB_UI_ROOT 内置 HTML Web UI 入口路径

配置示例(.env

PORT=7821
STORAGE_BACKEND=lancedb
SQLITE_PATH=/var/lib/memoryweave/memoryweave.db
GRAPH_PATH=/var/lib/memoryweave/graph.db
API_KEY=your-secret-key-here
VLLM_ENDPOINT=http://127.0.0.1:8000/v1/embeddings
RERANK_ENDPOINT=https://ai.gitee.com/v1
LLM_ENDPOINT=http://127.0.0.1:3000/v1/chat/completions
LLM_MODEL=qwen/qwen3.5-122b-a10b
LLM_API_KEY=your-llm-api-key

API 参考

所有 /api/v1/* 接口需要 Header: X-API-Key: <API_KEY>

健康检查

GET /health

无需认证。返回服务状态。

核心记忆

提交记忆

POST /api/v1/commit
Content-Type: application/json

{
  "namespace": "shared",
  "content": "用户在下午讨论了微服务架构",
  "tags": ["design", "microservice"],
  "episodes": ["ep_001"]
}

检索记忆

POST /api/v1/recall
Content-Type: application/json

{
  "namespace": "shared",
  "query": "微服务设计原则",
  "top_k": 5
}

批量提交

POST /api/v1/batch-commit
Content-Type: application/json

{
  "namespace": "shared",
  "items": [
    {"content": "...", "tags": []},
    {"content": "...", "tags": []}
  ]
}

反馈

POST /api/v1/feedback
POST /api/v1/feedback/useful
POST /api/v1/feedback/not-useful
POST /api/v1/feedback/deprecate

统计

GET /api/v1/stats

返回 total_memoriestotal_episodes 等统计信息。

图谱

GET  /api/v1/graph/stats     # 图谱统计
POST /api/v1/graph/query     # 图谱查询
POST /api/v1/graph/navigate  # 导航
GET  /api/v1/graph/pagerank  # PageRank
POST /api/v1/graph/export    # 导出图谱

WebSocket

WS /api/v1/ws/{agent_id}

实时记忆流订阅。

管理接口

方法 路径 说明
POST /api/v1/admin/consolidate 手动触发记忆整合
POST /api/v1/admin/forget 删除记忆
POST /api/v1/admin/backup 创建备份
GET /api/v1/admin/backups 列出备份
POST /api/v1/admin/restore 恢复备份
POST /api/v1/admin/distill/force 强制蒸馏
GET /api/v1/admin/audit 审计日志

冲突治理

GET  /api/v1/conflicts         # 列出冲突
POST /api/v1/conflicts/resolve  # 解决冲突

缺口检测

GET  /api/v1/gaps       # 列出记忆缺口
POST /api/v1/gaps/detect # 检测缺口
POST /api/v1/gaps/repair # 修复缺口
POST /api/v1/gaps/close/{id} # 关闭缺口

蒸馏状态

GET /api/v1/distill/status
GET /api/v1/distill/queue
GET /api/v1/distill/quota

L3 世界模型

GET  /api/v1/l3/worldmodel
POST /api/v1/l3/worldmodel

运维

systemd 操作

# 查看状态
systemctl --user status zhiyid

# 查看日志
journalctl --user -u zhiyid -f

# 重启
systemctl --user restart zhiyid

# 停止
systemctl --user stop zhiyid

Docker 操作

# 查看状态
docker compose ps

# 查看日志
docker compose logs -f zhiyid

# 重启
docker compose restart zhiyid

# 进入容器
docker compose exec zhiyid sh

健康检查

make health
# 或
curl -sf http://localhost:7821/health && echo "OK"

日志位置

  • systemdjournalctl --user -u zhiyid
  • 直接运行stdout/stderr
  • Dockerdocker compose logs zhiyid

语言分工

组件 语言 原因
HTTP API + 业务逻辑 Go goroutine 高并发,单二进制
LanceDB + 向量管线 Rust 原生 lancedb crate零 FFI
Embedding/Rerank Rust Candle/ort 推理

文档

仓库

Gitea: http://192.168.123.11:3000/xiaoxue_admin/memoryweave