Nautilus Compass Memory

io.github.chunxiaoxx由 GitHub 账号 chunxiaoxx 发布v3.2.0更新于 Oct 24, 2026

Local-first long-term memory for AI agents, with byte-recomputable signed verification receipts.

发布方自己的服务:Memory.fit

已验证Streamable HTTP可网页运行效率与工作流知识与记忆AI 与机器学习

概览

AI 生成的概览

面向 AI 代理的长期记忆层:写入观察与会话日志、按语义召回,并用失败锚点对提示词做漂移评分。

可以做什么
  • 写入与召回记忆:写入观察记录,进行语义加关键词混合召回,检索按时间分桶的会话日志
  • 画像与审计:汇总工作画像,查看漂移评分历史
  • 漂移检查:将提示词与真实失败模式锚点集比对打分,并记录正负反馈信号
  • 跨代理协作:线程召回、影响力证明、长任务、平台任务提交,以及治理分发、审计与锁检查
  • 可本地作为命令行与 MCP 服务器运行,也可用带作用域的令牌连接托管 HTTPS 端点
适用场景
适合希望助手跨会话记住历史与项目上下文,或在行动前检查提示词是否正滑向已知失败模式的场景。也适用于多代理共享文件、需要契约与治理审计的部署。
运行要求
需要本地安装 nautilus-compass Python 包并运行其嵌入守护进程,或使用远程 streamable-HTTP 端点。远程方式需注册免费账号并在 Authorization 头中携带 bearer 令牌;令牌按用户隔离,可限定为按项目的读或写权限。本地使用需 Python 及运行本地嵌入模型所需的资源。
安装前请注意
托管端点需要账号和 Authorization 头中的 bearer 令牌,应视为机密并授予最小权限,因为旧式列表格式令牌会映射为完全访问权限。记忆类工具会向本地文件和钩子写入观察与会话摘要,安装脚本会修改客户端设置。部分平台与治理工具会提交任务并写入审计数据。README 还提到付费层级与代币经济。

安装

在 SourceWeft 中

  1. 打开 控制台中的 Nautilus Compass Memory,将其添加到工作区。
  2. 连接 Authorization token 凭据。它们会被私密存储,绝不会在公开页面上展示。
  3. 为需要使用其工具的对话启用该服务。

Web executable,通过 Streamable HTTP。 远程服务在工作区中配置后即可从网页运行时运行。

交给智能体安装

把这段提示词粘贴到 Claude Code、Codex、Cursor 等智能体,或 SourceWeft 对话中。智能体会读取该服务器的安装指南,先向你展示发布者、端点和登录方式,经你同意后再把它添加到你的客户端。密钥不会写进任何命令。

阅读 https://sourceweft.com/mcp/io.github.chunxiaoxx%2Fnautilus-compass/install.md,并按其中说明把这个 MCP 服务器接入我的客户端。修改任何配置之前,先告诉我它的发布者、端点和登录方式,等我确认。不要把 API 密钥写进命令或我会提交的文件;问我密钥应从哪里获取。

查看智能体所依据的安装指南

其他 MCP 客户端

把它添加到你客户端的 mcpServers 配置中。

{
  "mcpServers": {
    "nautilus-compass-memory": {
      "type": "http",
      "url": "https://compass.nautilus.social/mcp/",
      "headers": {
        "Authorization": "Bearer <YOUR_TOKEN>"
      }
    }
  }
}

README

nautilus-compass

Open-source memory & reliability layer for AI agents. Long-term memory that now beats mem0 on all three LongMemEval-S metrics while staying fully local & 14× cheaper — plus drift detection and cross-agent contracts that no other memory layer ships.

Plugin for Claude Code / Desktop · Cline · Cursor · Continue.dev · Zed · any MCP client.

Built by Nautilus Platform · open agent ecosystem · join as agent →

🇬🇧 English (this file) · 🇨🇳 中文

[CI] [arXiv build] [LongMemEval-S] [EverMemBench] [drift-AUC] [PyPI] [MCP Registry] [ClawHub] [MCP] [A2A] [license]


October 2026 — Independent Judging & Verification (new pillar)

This project now also powers the independent judging layer of the Nautilus platform — preregistered criteria, three-state verdicts, negative results published as-is:

  • NACRE judge v1 — judging knowledge compressed into a 1.7B LoRA (88.5% three-state, ECE 0.072). Model card + weights: nautilus-compass/nacre-judge-v1
  • Deployment-precision discipline (preregistered, 291 cases): fp16 = 100% label agreement with bf16 anchor (safe) · int8 = 98.28% (fail) · int4 = 94.16% (forbidden). Full verdict table in-repo (docs/metering/PRECOR_BC_VERDICT_20261007.md).
  • caliber-bench — a meta-benchmark that scores benchmarks themselves (criteria drift / contamination / judge stability). Open sample pack: nautilus-compass/caliber-bench-v0
  • Harness leaderboard, Round 1 — same model, two harnesses: v5-harness 26.7% vs mini-swe-agent 16.7% (+10.0pp), every artifact sha16-addressable. Live at nautilus.social/leaderboard.html; free L1 intake at nautilus.social/intake.html.
  • Casebook v1.4 (shipping 10/12) — 16 precedented judgment cases + 6 self-errata, every case independently recomputable (docs/cases/CASEBOOK_V1.md); the paid binding line's first artifact.
  • Judgment-fuel corpus — 2,257 qid-deduplicated precedent cases across four sources (verdict splits / delta registry ratchet / org-fuel pipeline / outreach), live counter at nautilus.social/corpus_stats.json.
  • E-NACRE-1, a published negative result — domain-routed LoRA shards regressed −36.6pp; dynamic-weight routing suspended until corpus ≥3,000. Negative results ship as first-class findings (docs/metering/PRECOR_ENACRE1_VERDICT_20261007.md).
  • Full customer journey, externally verified — intake → criteria → leaderboard → status query → registry → programmatic status API (/api/judge_status), all reachable from the public internet with three-tier checks (HTTP / content anchors / live data).
  • Format-regression set v1 — 26 patch-format failure cases (harness A 15 + agent B 11) from Round 1, each with defect labels and reapply expectations (runtime/outreach/rsi_regression_set_v1.jsonl), built for rsi-bench replay certification.

Memory layer (below) remains fully local & open; judging artifacts carry the same evidence discipline (measured / inferred / unverifiable — labeled).

What this is (memory layer, 2026-08 state)

Three pillars, one plugin:

1 · Black-box long-term memory — now with SOTA retrieval. Raw text embedded locally with BGE-m3. No extraction LLM at ingest, no graph, no data leaving your machine. In Aug 2026 we added utterance-routed chunk retrieval: single-session and knowledge-update questions route to turn-window chunks (the answer usually lives in ONE user turn; whole-session embedding dilutes it), everything else uses session-level hybrid (BM25 + dense RRF). Result on LongMemEval-S full 500 questions, same-question head-to-head vs mem0 2.0.19 (both sides infer=False, each on its own default embedder — bge-m3 vs vertexai text-embedding-005 — our reproduction):

LongMemEval-S · n=500P@1P@5MRR
compass0.8900.9780.929
mem0 2.0.190.7740.9160.834

One-command reproduction (retrieval-only, no LLM calls, CPU works / GPU recommended for the full 500):

bash
bash scripts/reproduce_lmes_retrieval.sh            # full 500SUBSET=12 bash scripts/reproduce_lmes_retrieval.sh  # smoke

The same utterance ammo overtakes mem0 on its own home benchmark (LOCOMO-10, n=1986: 0.644 / 0.890 vs 0.592 / 0.802) and fixes the single-session collapse on LongMemEval-M (0.20 → 1.00). Full evidence chain with per-type breakdowns and every config flag: docs/evidence/headhead_mem0_full500_20260826.json — including the experiments that failed (cross-encoder reranking hurts on this corpus; candidate-pool K is a no-op; Qwen3-0.6B swap is a wash).

2 · Drift detection — the half nobody else solves. Memory recalled doesn't stop the AI from breaking the rule this time. compass scores every prompt against an anchor set of real failure patterns (25 positive + 35 negative) before the agent acts. AUC 0.83 held-out, p95 latency <50 ms, fire rate 0.5% in production traffic. White-box layers abstract prompts into facts before drift becomes checkable — structurally out of their reach.

3 · Cross-agent contracts + governance. When you run multiple agents (or multiple Claude dialogs) on shared files, compass derives implicit contracts from handoff files, tracks closure, and audits for fake-closure / red drift. A 4-dialog 28-hour field study lives in docs/case_study_4dialog_compass.md.

The trade that flipped: earlier versions traded −30 points on LongMemEval-S for local deployment and cost. As of 2026-08 there is no trade — full sweep at 1/14 the reproduction cost (~$3.50 per 500 questions vs $50+ for GPT-4o-judged stacks). Full argument: paper/BLACKBOX_VS_WHITEBOX.md.


Quickstart

Packages on PyPI

PackageWhat it is
nautilus-compassthis repo — CLI, MCP server, A2A adapter, assay judge toolkit (3.3.0)
assay-verifyed25519 signed receipts for AI outputs — attest-at-generation, verify-on-consume (Let's Encrypt for AI claims)
jev-trusttrust middleware for the Jev decision API — logs every call, measures calibration in your domain, signs the evidence
BC1 benchmark30-item organizational-memory exam — honest scoring (U never counts), machine-scored, our own 11/18 first self-test published in full — LAUNCHED 9/27

Python package (PyPI · 3.3.0)

bash
pip install nautilus-compass# ships the CLI, the MCP server, the A2A adapter and session tools:#   nautilus-compass · compass-mcp · compass-a2a#   compass-drift-history · compass-session-search · compass-session-writer

30 seconds (Claude Code / Desktop · local daemon)

bash
git clone https://github.com/chunxiaoxx/nautilus-compass ~/.claude/plugins/nautilus-compassbash ~/.claude/plugins/nautilus-compass/install.sh
# start the BGE-m3 daemon (one-time per boot)bash ~/.claude/plugins/nautilus-compass/daemon_start.sh

Deploy notes (field-verified pitfalls, 2026-08-28):

  • COMPASS_USE_INOTIFY=0 disables new-file discovery — recalls won't see fresh writes, silently. Only set it if you know why; the daemon logs a WARNING when it's off.
  • drift fails loudly now: if anchors.json is missing from the plugin dir, responses carry drift.anchors_error + should_alert: true (it used to silently return "no risk" — that was a security hole).
  • Token changes to tokens.json hot-reload via mtime check (no systemd restart needed since v3.1.0).
  • First recall after daemon idle may take up to 90 s (model cold-load); the MCP client auto-retries once with the extended timeout.

The installer wires three hooks into ~/.claude/settings.json:

  • UserPromptSubmit → time-bucketed memory recall + drift check
  • PostToolUse → mid-session writer
  • Stop → end-of-session summary (writes a session battle-report to ~/.claude/.cache/compass-last-session.txt)

Slash commands: /compass-verify · /compass-drift · /compass-recall · /compass-search · /compass-status.

Any other MCP client

bash
python ~/.claude/plugins/nautilus-compass/scripts/install_to_agent.py

Auto-detects Claude Desktop, Cursor, Cline, Continue.dev, Zed and patches their MCP config. Per-agent copy-paste configs: docs/AGENT_ONBOARDING.md · raw protocol: docs/mcp-usage.md.

Cloud-hosted (open beta · self-serve)

The hosted gateway — MCP over HTTPS with scoped tokens and per-user memory isolation — is open for self-serve registration: sign up at https://compass.nautilus.social/signup, then create a token in the web console (or POST /tokens). Scopes are server-bound to your own space (read+write); cross-user access is denied and verified by automated probes. Design: docs/plans/2026-08-30-multi-tenant-memory-design.md.

MCP endpoint: https://compass.nautilus.social/mcp/ (Bearer token · streamable-http). Also listed in the official MCP Registry as io.github.chunxiaoxx/nautilus-compass (remote + PyPI self-host, dual entry) — registry-aware clients (Glama and other aggregators) can discover it from there. A2A discovery: curl https://compass.nautilus.social/.well-known/agent.json

Nautilus platform agents (cloud ssh quickstart)

For agents on machines with ssh access to your Nautilus cloud box — generates a scoped token, wires the cloud MCP bridge, writes .mcp.json, and runs an end-to-end self-check. Add --hud to install the fused status line (live recall hit-counter 🧠, drift state, 5-min traffic).

bash
bash ~/.claude/plugins/nautilus-compass/ops/agent_quickstart.sh my-agent

Headline numbers

BenchmarkScoreHonest compare
LongMemEval-S 500q full (utt-routed + hybrid, n=500)P@1 0.890 · P@5 0.978 · MRR 0.929sweeps mem0 2.0.19 (0.774/0.916/0.834, our reproduction, each side on its own default embedder): +11.6/+6.2/+9.5pt. Largest flip: single-session-user P@1 0.90 vs 0.49
LOCOMO-10 (n=1986 · mem0's home benchmark)P@1 0.644 · P@5 0.890 · MRR 0.740overtakes mem0 (0.592/0.802/0.677, our reproduction) +5.2/+8.8pt
LongMemEval-M 500q full (~501 sessions/question)P@5 0.88812x larger session pools cost only 9pt vs S500; ssu collapse fixed at n=500 (0.20 → 0.93); ssp 0.53 newly exposed; no mem0 M head-to-head yet
EverMemBench-Dynamic (n=500)44.4% (Run 1) / 47.3% (Run 2)tops the four published Table 4 baselines (Mem0 37.09, Zep 39.97, MemOS 42.55, MemoBase 34.27). Not claiming "industry SOTA" — OMEGA / Mem0g haven't reported publicly
LongMemEval-S e2e 500q full + summary layer (doubao subject × glm judge, 2026-09-03)75.4% (377/500; 81.6% when excluding judge-disconnect questions, all re-judged and resolved) by type: ssu 96.9% · ssa 85.4% · tr 83.3% · ms 73.2% · ku 79.5% · ssp 75.0%summary-layer verdict PASS (preregistered gates: ms≥35/ssa≥40/tr≥30 — all cleared 2×). Cross-session types jumped +45~60pt (ms 22.6→73.2, ssa 25.0→85.4, tr 15.8→83.3) via per-session summary cards + date-anchored timeline — zero retrieval change, zero training, pure context engineering. All 71 judge-disconnect questions re-judged and resolved (same judge, retry only). Full verdict: vtf/_e2e_diag/arm_a_final_verdict.md; baseline JSON: docs/evidence/e2e_500_full_20260829.json
LongMemEval-V2 (official benchmark by xiaowu0162, 451q agent-trajectory memory · our tuned run, rejudged clean 2026-09-02)web 40.0% / enterprise 38.4% (first untuned run 2026-08-30: 19.6% / 12.8%; paper reports frontier LLMs ≤14.1% without trajectory evidence)brand-new multi-session benchmark (webarena agent trajectories); published untuned baseline AND tuned v2. Two levers: abstention judging alignment (bare-UNKNOWN 121→0; unanswerable-from-snapshot questions 2.8% → 45.8% via the rubric's two legitimate routes) + retrieval unit upgrade (a11y-structure pruning, per-trajectory dense rerank, budget 12k→24k; procedure +16.6pt). Scoring correction 2026-09-02: the original judge (4096 max tokens) was silently eaten by reasoning, systematically zeroing answers; full re-judge of all 156 LLM-graded questions (low-reasoning / 16384 tokens) moves web 36.7→40.0, ent 40.3→38.4 — these clean numbers are the current headline. Honest caveats: abstention route relies on judge discretion; web dynamic-type dipped -3.9pt. Follow-ups: LoRA retrieval-augmentation closed at parity (2026-08-31, not adopted); abstention-gate patch rejected by preregistered criteria (2026-09-02 — refusal template leaked into answerable questions, 92/89 items). Evidence: vtf/_compass_lmev2_out/
Drift detector AUC0.83 held-out / 0.92 in-setonly public memory layer doing drift detection at all
Reproduction cost~$3.50 / 500 questions~14× cheaper than GPT-4o-judged stacks
p95 hook latency<50 mssafe for every-prompt invocation

We deliberately report Run 1 (44.4%) as the EverMemBench headline to avoid cherry-picking; cross-run mean 45.84% clears MemOS by +3.3pt. Dual-run + Gemini cross-judge sensitivity analysis: paper/sections/paper2_06_5_evermembench.tex.

Try it without installing: live drift-detection + Merkle-integrity demo at huggingface.co/spaces/chunxiaox/nautilus-compass (CPU only · metadata-mode jaccard fallback · no signup).

Reproduce the numbers — eval dataset (behavioral anchors + labeled traces + LongMemEval-S / EverMemBench scoring) on the Hub: huggingface.co/datasets/chunxiaox/nautilus-compass-test-data

python
from datasets import load_datasetds = load_dataset("chunxiaox/nautilus-compass-test-data")

Benchmark entrypoint: bash ops/bench_all.sh l0 (fast layer, no GPU) · bash ops/bench_all.sh l1 30 (LongMemEval subset). Retrieval levers are env-switched in tests/eval_longmemeval_accuracy.py (ZMM_UTTERANCE_RETRIEVE / ZMM_UTTERANCE_TYPES / ZMM_HYBRID / ZMM_RETRIEVE_K / ZMM_DATE_ANCHOR / ZMM_EMBED_CACHE).


Glossary

Terms this project coined and uses precisely. Other teams are welcome to use them for their own systems — that's what terms are for.

Judge hygiene — the discipline of keeping an LLM judge trustworthy: preregistered criteria, function-level smoke tests, silent-failure detection, dual accounting, confidence intervals. If your benchmark uses an LLM judge without these, the leaderboard is fiction. See the judging protocol · paper2.

Write-time wager — compressing or summarizing memory at write time is a bet on the future query distribution, which is structurally unknowable. That's why the compass write path makes zero LLM calls; all intelligence lives at read time (e2e 42.6% → 75.4% on identical memories and questions).

Dual accounting — every headline score is reported twice: full set, and judge-outage-excluded set (75.4% / 81.6%). A single number hides judge failures; two numbers disclose them.


How it works

            User prompt: "Fix bug X for me"                         │                         ▼       ┌─────────────────────────────────────┐       │  UserPromptSubmit Hook (this plugin)│       └─────────────────────────────────────┘                         │            ┌────────────┼────────────┐            ▼            ▼            ▼       ┌────────┐  ┌─────────┐  ┌──────────┐       │ recall │  │  drift  │  │ profile  │       │ memory │  │  check  │  │ aggregate│       └────────┘  └─────────┘  └──────────┘                         │                         ▼       Hooks inject results into Claude's system prompt:       - Time-bucketed past memory (BGE-m3 semantic + keyword hybrid)       - Drift score + nearest negative anchor (if score < threshold)       - Profile facts ("you have 3 unfinished tasks in this repo")                         │                         ▼            Claude answers — with full context loaded

Drift detector: each prompt vs anchor set (real failure transcripts), BGE-m3 cosine. AUC 0.83 held-out.


What's exposed (MCP tools)

17 tools — core seven:

ToolPurposeLatency (local daemon)
ingest_obs(name, body, agent_id?)Write observation with auto-anchor + drift signal~150 ms
recall(query, project?, top_k?)BGE-m3 semantic + keyword hybrid search~200 ms
session_search(query, since?)Time-bucketed session-log search~80 ms
profile(user_id?)Work-profile aggregate (topics, agents, drift trend)~100 ms
drift_check(prompt, project?)Black-box drift score against anchors<50 ms
drift_history(since?, agent_id?)Drift score timeline for trend audit~30 ms
feedback_log(direction, reason)Log positive/negative anchor signal<20 ms

Latencies are local-daemon figures. Over the public HTTPS MCP endpoint (https://compass.nautilus.social/mcp/) add TLS + WAN round-trip: measured p50 ≈ 0.9–1.7 s per call (2026-08-28 field test).

Plus: thread_recall · proof_of_impact · long_task · platform bridge (submit_platform_task / ingest_platform_task_result) · governance (governance_dispatch / governance_audit / governance_lock_check · governance_plan) · add_worker. JSON-RPC 2.0 over stdio / TCP / TLS / mTLS; notifications/*, logging/setLevel, resources/* spec-complete. Full guide: docs/mcp-usage.md.

Token scopes (v2.3.1)

Tokens are scoped, not global. ops/compass_token_admin.py grant <agent> --scopes read:<project>,write:<project> issues a least-privilege token; read:* (all-project recall, incl. scope=user) requires an explicit --yes-i-want-star. The HTTP server enforces scopes per call (fail-closed); legacy list-format tokens map to full access for backward compatibility. The quickstart script signs read-only, current-project tokens by default.


Comparison

Capabilitythismem0LettaZepclaude-memMemOSSmriti
Cross-agent memory✅✅✅✅❌✅archive-only
MCP A2A protocol native✅ TLS+mTLS+RBAC❌❌❌❌❌❌
Drift detection✅ AUC 0.83❌❌❌❌❌❌
Merkle integrity audit log✅❌❌❌❌❌❌
LongMemEval-S retrieval (500q head-to-head)✅ 0.890 / 0.978 / 0.9290.774 / 0.916 / 0.834 (our reproduction)n/rn/rn/r❌❌
LOCOMO-10 retrieval (n=1986)✅ 0.644 / 0.890 / 0.7400.592 / 0.802 / 0.677 (our reproduction)n/rn/rn/rn/rn/r
EverMemBench verified✅ 44.4-47.3%37.09n/r39.97n/r42.55❌
LongMemEval-S e2e (their own harness)500q full 75.4% with summary layer (2026-09-04, all questions judged) — by type (final re-judged n=500): ssu 97.1 / ssa 83.9 / tr 62.4 / ms 69.2 / ku 80.8 / ssp 80.0; clean accounting excl. 71 outage: 96.9/85.4/83.3/73.2/79.5/75.0. Preregistered verdict PASS (link)94.4% (self-reported)n/rn/rn/rn/rn/r

2026 newcomers not yet same-machine reproduced by us: Hindsight, Supermemory (self-reports LongMemEval SOTA), Cognee, LangMem, Membase — rows pending; their published numbers use their own harnesses and are not directly comparable to our head-to-head protocol. | Self-host + hosted both | ✅ | ☁ only | ✅ | ☁ only | ✅ | OSS only | OSS only | | License | Mod. MIT | Apache | Apache | proprietary | MIT | Apache | MIT |

n/r = not reported in their published evaluations. Smriti is a team conversation archive — different scope, listed for completeness.


Reproducibility Wall

Verify our scorecards yourself — no trust in us required, one command, stdlib only:

bash
python scripts/verify_receipt.py docs/wall/EXAM5_SCORECARD.md \  docs/wall/EXAM5_SCORECARD.sig \  f7554b8709b7fe36f5a63e7f76cf2a31f827aee5724ff8dd4f11772d1aa3e8be

Protocol: Assay Protocol v0 — criteria registration, verification packs, signed receipts, wall discipline. Open to any implementer; we are the reference implementation, not the owner.

The Independent Verification Protocol (IVP) v1 — our judging methodology on one page: preregistered gates (stricter-only), evidence tiers ([measured]/[inferred]/[unverifiable]), recompute by a non-implementer, and a two-way scorecard (our own errors stay on the record). Adopted by external projects — e.g. rsi-bench #3 gates its AGG score on independently checked goal completion. → SPEC (one page, take & adopt) · Casebook v1 (three engagements + errata ledger). Judging is free; binding (casebooks, certification) is paid.

Run the head-to-head yourself (~$3.50) — your numbers go on the wall, favorable or not. Independent reproduction beats self-report; entries that contradict our numbers are published with the same prominence. → docs/REPRODUCIBILITY_WALL.md

Our own numbers are on the wall too (self-audit log, ugly ones included): C-family calibration pack 6/6 agree under independent recompute (ed25519-signed receipt, 2026-09-17) · 10/10 legacy verdicts NOT recomputable (2026-09-15 audit finding, fixed forward) · X1-v2 judge batch 47/47 inconsistent → voided, never cited · RSI loop #1: two self-reported greens caught by fresh-session recompute before merge · first exam + full improvement cycle under our own certification track (2026-09-18/19): 1/5 → 3/5 agree — our own agent org's submitted fixes, judged by the same three-gate protocol, zero bad-paper submissions after the first round, ugly numbers and all (signed scorecards in docs/wall/). Free recompute entry: open an issue with your evidence pack — audit tier starts at $99.


Case study · 4-dialog OSS multi-agent reliability

28 hours, four Claude Code dialogs on shared filesystem protocols: drift fired 314×/7d (act-on rate instrumented), contract cnt_compass_soul_sub_a1 closed in 17.92h vs 6d21h budget, 13 plan-dup audits saved ~40-50h, first cross-dialog L4 fire settled 50 NAU. Field log


Advanced (opt-in surface)

Drift loop closure · act-on rate

Every fired alert gets a stable alert_id in .cache/drift_mitigation_log.jsonl. Acknowledge via feedback.py log <alert_id> fp|tp; audit_kpi.py reports act_on_rate(window_hours) (target ≥0.70; <0.30 = cry-wolf → raise threshold or retrain anchors).

python
from audit_kpi import act_on_ratem = act_on_rate(window_hours=168)assert m["rate"] >= 0.70
v3 opt-in LLM switches (all default-off, byte-equal promise)

With no opt-in env set, daemon behavior is byte-equal to v2.0.1 — gated by tests/test_llm_opt_in.py on every PR.

env vartierfeature
COMPASS_USE_LLM_RESOLVE1 (session-end)LLM contradiction resolution
COMPASS_USE_LLM_VERIFY4 (runtime)anti-confabulation cite-or-refuse
COMPASS_USE_LLM_DRIFT_PAY4 (runtime)drift × outcome anchor feedback
COMPASS_USE_LLM_REFLECT3 (periodic)self-reflection semantic emit
COMPASS_USE_LLM_ECON4 (runtime)memory-as-economy NAU budget

Deterministic v3 surface (always on): typed knowledge graph layer (NO-OP until built), confidence scoring + contradiction hook, MEMORY_REPORT.md auto-gen, implementation_notes frontmatter. Registry: llm_opt_in.py.

Platform integration · BP1/BP3 + V7 governance

OSS↔platform bridge without a new HTTP server: submit_platform_task (compass → platform queue, file-based or HTTP when COMPASS_PLATFORM_QUEUE_URL is set) · ingest_platform_task_result (platform → compass, searchable via recall). Round-trip demo: python examples/platform_flywheel_demo.py.

V7 governance (multi-executor deployments): governance_dispatch (decompose 1 task → N routed sub-tasks) · governance_audit (fake-closure / red-drift scan) · governance_lock_check (SHA256 lock on the L0 core). Demo: python examples/v7_governance_demo.py. Contract details: docs/PLATFORM_HANDSHAKE.md.

Release history · v3.0.0 / v2.1.0 / v2.0.0

v3.0.0 · "from memory library to evolution engine" — same system closing the loop: memories feed a extract fuel → external verdict → distill cycle. Semantic-recall revival (Windows torch long-path fix), GOAL-SSOT ledger + hourly heartbeat, cloud capacity root-cause fixes (load 10-14 → 1.x), daemon atomic pkl + per-project locks, paired-control evidence (tribal-fact retrieval 0/3 → 3/3), fused HUD, 30-second quickstart.

v2.1.0 · drift v2 + line reconciliation — cry-wolf fix (fire rate 64.5% → 0.5% via rule-hit OR drift_score < −0.07), cross-agent contract scanner (L4 substrate), L3 tier promotion + PoI, daemon hardening (bounded pools, in-flight semaphore, BM25+vector RRF opt-in).

v2.0.0 · Opinionated EvoMap — deterministic lifecycle layer on the black-box base. No LLM at ingest / tier promotion / forgetting; no vendoring of GBrain/OpenViking; no graph rerank for closed haystacks (cost −6.2pt in v0.8 — paper/RESULTS_v0.8.md).

Full notes: CHANGELOG.md · release: v3.0.0


Documentation


Citation

Paper 1 · drift detection:

bibtex
@misc{nautiluscompass-drift-2026,  title  = {Nautilus Compass: Black-box Persona Drift Detection            for Production LLM Agents},  author = {Chunxiao Wang},  year   = {2026},  note   = {Yiluo Technology Co., Ltd.},  howpublished = {\url{https://github.com/chunxiaoxx/nautilus-compass}}}

Paper 2 · memory pipeline + EverMemBench cross-bench:

bibtex
@misc{nautiluscompass-memrecall-2026,  title  = {Closing the Memory Recall Gap with Chinese LLMs:            A Multi-Stage Retrieval Pipeline Achieving Zep-SOTA Performance            on LongMemEval-S at 1/15 Cost},  author = {Chunxiao Wang},  year   = {2026},  note   = {Yiluo Technology Co., Ltd.},  howpublished = {\url{https://github.com/chunxiaoxx/nautilus-compass}}}

Prior work we build on (cite as appropriate): BGE-m3 / BGE-Reranker (BAAI 2024) · Persona Vectors (Anthropic, arXiv:2507.21509, complementary white-box) · DPT-Agent (arXiv:2502.11882) · A-MEM (arXiv:2502.12110) · LongMemEval (Wu et al., NeurIPS 2024) · EverMemBench (Hu et al., 2026).


License

  • Code, plugin, MCP wrapper, papers, scripts — Modified MIT License (MIT + trademark clause + hosted-service cap; self-hosting / internal deployment / personal use stay free forever — LICENSE)
  • Behavioral anchor files (anchors*.json) — CC0 1.0 Universal (LICENSE-ANCHORS)
  • Historical releases before this license's introduction were pure MIT.

Star history

[Star History Chart]

Contributors

[Contributors]

PRs welcome — see CONTRIBUTING.md.

Contact

来源:README.md,提交 b1e2d4d

工具

0
该服务器需要 API 密钥等凭据,因此 SourceWeft 无法在没有凭据的情况下读取其工具,也未收录。

版本历史

2
  1. v3.2.0最新Sep 17, 2026
  2. v1.6.2Sep 16, 2026

评分

已满足适用检查项的 75%

该评分衡量此收录条目的完整程度,依据注册中心条目、端点与公开来源计算得出。它不是对服务器本身的评价,也不表示服务器安全或当前可用:可连通性是带日期的检查结果,评分也不包含安装量或用户评价。

  • 近 30 天内可连通必需25 分
  • 已声明认证方式必需10 分
  • 已列出工具15 分

    请让服务器在无凭据时响应 tools/list,或发布可在沙箱中无凭据启动的软件包。

  • 描述必需15 分
  • 图标10 分
  • 文档15 分
  • 许可证10 分

    请在仓库或注册中心条目中声明许可证。

其他 Memory 集成