
Zaxy
io.github.syndicalt由 GitHub 帳號 syndicalt 發布v3.2.0更新於 Oct 27, 2026
Event-sourced, auditable agent memory over MCP: cited checkout, replayable provenance.
概覽
Zaxy 是在本機執行、以事件溯源為基礎的代理記憶伺服器,讓助理能附加、查詢、重播與作廢可稽核的專案記憶。
- 可以做什麼
- 附加與查詢記憶:記錄任務、工作階段、工具觀察與附引用的發現,並以精確、關鍵字、向量與圖形遍歷的混合檢索取回。
- 審查與合併:父工作階段與工作階段保持隔離,直到發現經過審查、衝突檢查並合併回主記憶。
- 重播與作廢:檢視或重播僅可附加的歷史紀錄,並將事實標記為失效,可選擇以管理權杖保護。
- 稽核溯源:每筆被接受的事實都能回溯到不可變的事件日誌,具備雜湊鏈歷史與有效期間。
- 分析模型呼叫:可選的 OpenAI 相容封包分析器以僅觀察方式記錄模型呼叫溯源事件。
- 適用情境
- 適合多個代理或工作階段共同處理同一專案、希望擁有持久且可引用的記憶,而不是散落的 markdown 檔案或向量片段時使用。也適合需要稽核事實來源、重播專案狀態演變過程的團隊。
- 執行需求
- 以本機 stdio 程序執行,從 PyPI 安裝 zaxy-memory(例如使用 uvx 或 pipx),需要 Python。透過 zaxy init 指令完成初始化,建立儲存庫層級設定並將資料存放在本機 .eventloom 目錄。預設的嵌入式圖形儲存不需外部資料庫;可選的 Neo4j 與 Pathlight 擴充需要各自的憑證。
安裝
在 SourceWeft 中
- 開啟 儀表板中的 Zaxy,將其新增到工作區。
- 為需要使用其工具的對話啟用該服務。
Desktop only,透過 STDIO。 STDIO 服務會啟動本機處理程序,因此需要 SourceWeft 桌面主機。
其他 MCP 客戶端
參照 儲存庫 中的啟動說明。
README
Zaxy
Production memory for agent teams that need receipts.
Zaxy turns agent context into an auditable project memory fabric. It captures parent missions, worker sessions, tool observations, cited findings, conflict review, approval packets, and accepted merge-back into one durable history that can be queried, replayed, and inspected.
Under the hood, Zaxy uses Eventloom append-only JSONL as the source of truth and an embedded LadybugDB graph projection for local reasoning. It is built for agents that need to remember what happened, cite where it came from, and avoid turning project state into a pile of markdown files and vector chunks.
The embedded LadybugDB graph projection is the default local runtime.
The plain install uses embedded LadybugDB. Install zaxy-memory[neo4j] only for the
optional Neo4j sidecar, and zaxy-memory[pathlight] only for Pathlight tracing.
Why It Matters
- Auditable memory: every accepted fact can point back to Eventloom history.
- Agent-team coordination: parent and worker sessions stay isolated until findings are reviewed and merged.
- Local-first runtime: the default path uses embedded LadybugDB, no Neo4j sidecar.
- MCP-native integration: Codex, Claude Code, Cursor, VS Code, Hermes Agent, LangGraph, CrewAI, and AutoGen can use the same memory interface.
Benchmark claims withdrawn (2026-07-03). The prior LongMemEval numbers were withdrawn: they were produced in oracle mode (mean ~1.9 candidate sessions per question, so Recall@5/citation-coverage were ~1.0 by construction, not by retrieval) and the preference-question scores rested on a hardcoded answer table that has since been removed. Zaxy does not currently publish a LongMemEval score. A real, full-haystack LongMemEval run is planned; until it lands, treat the earlier
0.956/0.910/1.000figures as retracted. The Harvey LAB claim is pending the same audit.
Quick Start
Install, init, verify
The PyPI distribution is zaxy-memory; the import package and console command
are still zaxy. Bare zaxy init sets up the local embedded graph posture,
repo-local profile, deterministic capture config, genesis event, heartbeat, and
MCP guidance. For Codex, the printed activation launcher starts the managed
capture watcher when the local capture config is present; pass --capture start
only when you want init itself to start the watcher before opening Codex. The
default human output is compact and action-first; add --verbose when you need
the full setup diagnostics, optional checks, fallback commands, resume guidance,
and notes.
For automation, zaxy init --json keeps the raw onboarding fields and adds
setup.status, setup.issues, setup.pending, readiness.status,
readiness.reasons, readiness.actions, and structured
readiness.action_items for both commands and non-command review tasks. Each
structured action carries label, command, original source, and hints
for compact-output tips such as activation <task> replacement and path-stable
command guidance. Installers can render those tips without parsing prose. It also
includes setup.summary, readiness.summary,
readiness.required_action_count, and readiness.reason_count, so client UIs
can render compact status without parsing human output. It also
separates readiness.blocking_diagnostics from
readiness.non_blocking_diagnostics so scripts can distinguish setup
completion, required actions, and advisory doctor warnings before relying on
live memory.
For Codex, zaxy init --codex-mcp-install auto is the default. It writes or
reuses the user-level Codex MCP config when that can be done without replacing
an existing zaxy server entry. If no safe config target exists, it prints the
copyable codex mcp add command. If an existing zaxy entry differs, it asks
you to review that config before replacing it because Codex can silently replace
servers with the same name. Use an explicit mode when you need to force one side
of that decision after review:
Both Codex paths keep the server workspace-neutral. After init, start or
restart Codex through the printed zaxy activate codex ... --launch command so
the MCP server list and Zaxy activation packet are loaded together. The printed
command includes explicit --eventloom-path and --workspace-root values, so
it still targets the initialized repo when copied from another shell.
Run the single-agent memory example:
Your local data lives under .eventloom/ as one append-only JSONL file per
session.
For Claude Code instead of Codex:
For Hermes Agent:
For repository development, use pip install -e ".[dev]", ./scripts/setup.sh,
and zaxy status. Start Docker sidecars only for integration tests or explicit
backend comparisons. Production setup writes Docker secret files under
./secrets/; see docs/deployment.md.
Architecture
Zaxy also includes an observe-only OpenAI-compatible packet analyzer for model
call provenance. It forwards packets to one configured upstream endpoint and
records llm.packet.completed events to Eventloom without acting as a router.
See LLM Packet Analyzer.
Public Site and Documentation
- Public static site:
site/index.html - Why Zaxy:
docs/why-zaxy.md - Getting started:
docs/getting-started.md - MCP quickstart:
docs/mcp-quickstart.md - Architecture:
docs/architecture.md - Configuration:
docs/configuration.md - MCP interface:
docs/mcp.md - Memory export contract:
docs/export-contract.md - Eventloom contract:
docs/eventloom.md - Graph schema:
docs/graph-schema.md - Retrieval:
docs/retrieval.md - Benchmarks:
docs/benchmarks.md - LLM packet analyzer:
docs/packet-analyzer.md - Embeddings:
docs/embeddings.md - Security:
docs/security.md - Operations and deployment:
docs/operations.md,docs/deployment.md,docs/runbook.md - Python API:
docs/api.md - Stability commitment:
docs/stability-commitment.md - Migration guide:
docs/migration.md - Archived benchmark iteration notes, release drafts, and research notes live
under
docs/archive/,docs/announcements/, anddocs/research/. - Contributing:
CONTRIBUTING.md
Key Features
- Immutable audit trail: Eventloom append-only JSONL with SHA-256 hash chains.
- Bi-temporal graph: Facts have validity windows (
valid_from,valid_to). - Hybrid extraction: Rule-based for typed events (60–80% cost reduction), LLM fallback.
- Hybrid retrieval: Exact + keyword + vector + graph traversal with configurable fusion weights.
- Session sharding: One Eventloom log per agent/session, with a shared graph.
- MCP-native: Drop-in memory for any MCP-compatible agent framework over stdio or SSE.
- Observable: Optional Pathlight traces, breakpoints, and diff support via
zaxy-memory[pathlight]. - Hardened local defaults: bounded MCP inputs, safe session IDs, no-sidecar embedded graph projection, and optional admin token support for replay/invalidation.
Project Structure
Production Secrets
Zaxy supports Docker/Kubernetes-style secret files for sensitive settings:
Direct environment variables take precedence over their *_FILE variants.
Use docker-compose.prod.yml as the production compose baseline.
Development
- Tests first (Karpathy rule). Every public function has a test.
- Unit tests mock external services. Integration tests use Docker for optional sidecar backends.
- Coverage gate: ≥92% enforced by CI.
- Lint/format:
ruff. Types:mypy.
The full suite must stay at or above 92% coverage before a sprint is complete.
Release Publishing
The PyPI distribution name is zaxy-memory because zaxy is already occupied
on PyPI. Published releases build from GitHub Actions and upload to
https://pypi.org/project/zaxy-memory/ using PyPI Trusted Publishing with
GitHub OIDC. The import package and console command remain zaxy.
Before publishing, run zaxy doctor --release-smoke to verify the package
version, changelog entry, release workflow, tokenless publishing posture, and
dependency-light LangGraph example.
License
MIT
來源:README.md,提交 892b108
工具
0版本歷史
1- v3.2.0最新Sep 16, 2026
評分
已滿足適用檢查項的 50%
該評分衡量此收錄條目的完整程度,依據註冊中心條目、端點與公開來源計算得出。它不是對伺服器本身的評價,也不表示伺服器安全或目前可用:可連通性是帶日期的檢查結果,評分也不包含安裝量或使用者評價。
- 近 30 天內可連通25 分
請保持端點能夠回應 MCP 握手;SourceWeft 每 30 天探測一次。
- 已宣告認證方式10 分
請在註冊中心條目中宣告憑證請求標頭,或保持端點能夠回應探測,以便判定其認證方式。
- 已列出工具15 分
請讓伺服器在無憑證時回應 tools/list,或發布可在沙箱中無憑證啟動的軟體包。
- 描述必需15 分
- 圖示10 分
- 文件15 分
- 授權條款10 分