agentcairn MCP Server

आधिकारिक

स्थानीय-प्रथम एजेंट मेमोरी: एक सादा-मार्कडाउन ऑब्सिडियन वॉल्ट सत्य का स्रोत है, जिसमें हाइब्रिड BM25 + वेक्टर + ग्राफ रिकॉल के लिए पुनर्निर्माण योग्य DuckDB इंडेक्स है।

दस्तावेज़

🪨 agentcairn

CI Security PyPI Python License: Apache-2.0

AI एजेंटों के लिए स्थानीय-प्रथम स्मृति — जिसे आप वास्तव में पढ़, संपादित और स्वामित्व में रख सकते हैं।

cairn  /kɛən/  · संज्ञा — पत्थरों का एक ढेर जो किसी पगडंडी या याद रखने लायक स्थान को चिह्नित करने के लिए उठाया जाता है, जो आने वालों के लिए छोड़ दिया जाता है।

agentcairn आपके कोडिंग एजेंट को टिकाऊ, उच्च-गुणवत्ता वाली स्मृति देता है — लेकिन इसे किसी अपारदर्शी डेटाबेस या क्लाउड सेवा में बंद करने के बजाय, आपकी यादें आपके स्वामित्व वाले Obsidian वॉल्ट में सादे Markdown के रूप में रहती हैं। एक तेज़, पुनर्निर्माण योग्य DuckDB सूचकांक पुनर्प्राप्ति के लिए शीर्ष पर बैठता है। अपना वॉल्ट खोलें, पढ़ें कि एजेंट ने क्या याद किया, हाथ से किसी गलत तथ्य को ठीक करें, या अपने स्वयं के नोट्स डालें — और एजेंट यह सब ग्रहण कर लेता है।

agentcairn क्यों अलग है

अधिकांश एजेंट-स्मृति प्रणालियाँ डेटाबेस या क्लाउड स्टोर को सत्य का स्रोत बनाती हैं और फ़ाइलों (यदि कोई हों) को एक-तरफ़ा निर्यात के रूप में मानती हैं। agentcairn इसे उलट देता है:

  • 📂 आपका वॉल्ट सत्य का स्रोत है — निर्यात नहीं। स्मृति मानव-पठनीय Markdown है जिसमें फ्रंटमैटर और [[wikilinks]] हैं। इसे Obsidian में संपादित करें; सूचकांक आपके संपादनों का सम्मान करता है।
  • ♻️ सूचकांक डिस्पोजेबल है। DuckDB एक पुनर्निर्माण योग्य कैश है (cairn reindex)। आपकी स्मृति एक मॉडल अपग्रेड, एक दूषित सूचकांक, एक स्कीमा परिवर्तन, या उपकरण को अनइंस्टॉल करने पर भी जीवित रहती है — शून्य डेटा हानि, क्योंकि सत्य केवल डिस्क पर फ़ाइलें हैं।
  • 🧠 निर्माण द्वारा गैर-हानिकारक। पूरा नोट हमेशा बनाए रखा जाता है। आसवन केवल व्युत्पन्न नोट्स जोड़ता है जो स्रोत से वापस लिंक होते हैं — यह कभी भी चुपचाप उन तथ्यों को नहीं छोड़ता जिन्हें उसने लेखन समय पर निकालने के बारे में नहीं सोचा था।
  • 🔒 हर लेखन से पहले संशोधन। रहस्यों को साफ़ किया जाता है (regex + एन्ट्रापी + URL-क्रेडेंशियल डिटेक्शन) इससे पहले कि कुछ भी — मुख्य भाग, शीर्षक, या टैग — सादे पाठ वॉल्ट तक पहुँचे। हम ऐसी फ़ाइलें लिखते हैं जिन्हें आप पढ़ सकते हैं, इसलिए हम एक लीक हुए क्रेडेंशियल को सबसे खराब विफलता मोड मानते हैं।
  • 🕸️ एक मुफ़्त, नियतात्मक ज्ञान ग्राफ। आपका [[wikilinks]] और फ्रंटमैटर ही ग्राफ हैं — कोई LLM निष्कर्षण नहीं, कोई मतिभ्रमित इकाइयाँ नहीं।
  • 🪶 डेमनलेस, शून्य बाहरी DB। एक एम्बेडेड DuckDB फ़ाइल सिमेंटिक वेक्टर खोज, BM25 पूर्ण-पाठ, और ग्राफ ट्रैवर्सल करती है। कोई हमेशा चालू सर्वर नहीं, कोई Neo4j/Postgres/Qdrant नहीं, कोई आवश्यक क्लाउड कुंजी नहीं — बस एक cairn CLI और एक ऑन-डिमांड MCP सर्वर।
  • 🔍 ईमानदारी से मापा गया। एक पुनरुत्पादनीय LongMemEval-S + LoCoMo हार्नेस benchmarks/ में शिप करता है — वास्तविक संख्याओं, एब्लेशन, और स्पष्ट चेतावनियों के साथ, एक चुनी हुई हेडलाइन के बजाय (नीचे देखें)।

इंस्टॉल करें

agentcairn का उपयोग करने का सबसे आसान तरीका Claude Code या Codex के लिए प्लगइन है — एक इंस्टॉल MCP सर्वर, परिवेशी स्मृति (सत्र आरंभ पर स्मरण, सत्र अंत पर कैप्चर), एक स्मृति कौशल, और स्लैश कमांड (Claude Code) को वायर करता है:

# Claude Code
claude plugin marketplace add ccf/agentcairn
claude plugin install agentcairn@agentcairn

# Codex (from the Codex plugin marketplace)
codex plugin marketplace add ccf/agentcairn
codex plugin add agentcairn@agentcairn

इंस्टॉल पर आप एक वॉल्ट पथ चुनते हैं (डिफ़ॉल्ट ~/agentcairn); यह पहले सत्र पर स्वतः-निर्मित होता है — किसी Obsidian सेटअप की आवश्यकता नहीं है। तब से agentcairn प्रत्येक सत्र की शुरुआत में प्रासंगिक स्मृति प्रस्तुत करता है, प्रत्येक सत्र को आपके वॉल्ट में आसवित करता है, और आपको /agentcairn:recall, /remember, /memory, /savings, और /ingest देता है। pip-इंस्टॉल करने के लिए कुछ नहीं — प्लगइन uvx के माध्यम से प्रकाशित पैकेज चलाता है।

Claude Code या Codex पर नहीं? agentcairn किसी भी होस्ट के लिए एक स्टैंडअलोन MCP सर्वर + CLI भी है — इसे सीधे उपयोग करना देखें।

यह कैसे काम करता है

flowchart LR
    T["Session transcripts<br/>(out-of-band)"]
    H["You · Obsidian<br/>(hand edits)"]
    V["📂 Obsidian vault<br/>Markdown + frontmatter + wikilinks<br/><b>source of truth</b>"]
    I["♻️ DuckDB index<br/>vector + BM25 + graph<br/><b>rebuildable cache</b>"]
    M["MCP tools<br/>remember · recall · search · build_context · recent"]

    T -- "redact → judge → distill → consolidate" --> V
    H -- "edit" --> V
    V -- "parse / reconcile-on-spawn" --> I
    I -- "READ_ONLY hybrid recall" --> M
    M -. "remember (redacted write)" .-> V

    classDef truth fill:#eaf1ff,stroke:#317cff,color:#191919;
    classDef cache fill:#f5f5f3,stroke:#999999,color:#191919;
    class V truth
    class I cache
  • कैप्चर आपके एजेंट हार्नेस के सत्र प्रतिलेखों (केवल-जोड़, पहले से डिस्क पर) को आउट-ऑफ-बैंड पढ़ता है — डिज़ाइन द्वारा मजबूत, बिना किसी नाजुक लाइव हुक के — फिर संशोधित करता है → डीडुप करता है → न्याय करता है (सिमेंटिक स्थायित्व; CAIRN_JUDGE=anthropic के माध्यम से वैकल्पिक LLM आसवन) → गेट करता है → वॉल्ट में आसवित करता है, गैर-हानिकारक रूप से। cairn sweep हर मौजूद हार्नेस (Claude Code, Codex, Antigravity CLI, और Cursor सभी समर्थित हैं, एक HarnessAdapter सीम के पीछे) का स्वतः पता लगाता है ताकि आपको बिना किसी अतिरिक्त कॉन्फ़िगरेशन के सभी चारों में एकीकृत स्मृति मिले। LLM स्तर पर यह समेकित भी करता है: एक नई स्मृति जो मौजूदा की नकल करती है उसे छोड़ दिया जाता है, और एक विकसित तथ्य का नया संस्करण पुराने नोट को superseded_by चिह्नित करता है (रखा गया + स्मरण में पदावनत, कभी हटाया नहीं गया) — विफलता-सुरक्षित, ताकि एक गलत कॉल कभी भी एक अलग स्मृति को न छोड़े (CAIRN_CONSOLIDATE=0 अक्षम करने के लिए)। साथ ही क्यूरेटेड, उच्च-मूल्य वाली यादों के लिए एक एजेंट-संचालित remember उपकरण।
  • पुनर्प्राप्ति BM25 + सिमेंटिक वैक्टर को पारस्परिक रैंक फ्यूजन के साथ जोड़ती है, एक वैकल्पिक ग्राफ-बूस्ट लागू करती है, और जब कोई एम्बेडिंग मॉडल उपलब्ध नहीं होता है तो केवल-कीवर्ड तक सुंदरतापूर्वक निम्नीकृत होती है — ताकि स्मरण कभी भी चुपचाप मृत न हो। एक वैकल्पिक क्रॉस-एनकोडर रीरैंकर सटीकता जोड़ता है।
  • हाइब्रिड इंटेलिजेंस: ऑफलाइन स्थानीय एम्बेडिंग (डिफ़ॉल्ट रूप से FastEmbed / nomic-embed-text-v1.5) बॉक्स से बाहर — अपने आप में मजबूत और हाइब्रिड फ्यूजन में (nomic के साथ, वेक्टर-केवल छोटे मोड़ों पर भी BM25 से आगे निकल जाता है; बेंचमार्क देखें)। कोई अन्य FastEmbed मॉडल चुनने के लिए CAIRN_EMBED_MODEL सेट करें, या आगे जाने के लिए CAIRN_EMBEDDER=ollama / एक क्लाउड स्तर चलाएँ।
  • अस्थायी स्मृति: नोट्स में valid_from/valid_until/superseded_by फ्रंटमैटर हो सकते हैं। स्मरण वैधता-जागरूक है — यह अधिक्रमित और समाप्त तथ्यों को कभी छिपाए बिना (गैर-हानिकारक) नरम-पदावनत करता है (वर्तमान तथ्य जीतता है), और प्रत्येक परिणाम की स्थिति (current/superseded/expired/not_yet_valid) के साथ एक as_of एंकर एनोटेट करता है ताकि एजेंट समय के साथ तर्क कर सके। बिना वैधता क्षेत्रों वाले नोट्स के लिए निष्क्रिय।
  • उद्गम-जागरूक स्मरण: नोट्स में project/harness उद्गम होता है, और स्मरण आपकी वर्तमान परियोजना की यादों को बढ़ावा देता है (गैर-हानिकारक — क्रॉस-प्रोजेक्ट हिट अभी भी सतह पर आते हैं, [from: <project>] चिह्नित)। किसी अन्य रेपो को लक्षित करने के लिए --project <repo> पास करें, या केवल वर्तमान तक हार्ड-फ़िल्टर करने के लिए --scope project

इसे सीधे उपयोग करना

प्लगइन सबसे आसान रास्ता है, लेकिन agentcairn सिर्फ एक पैकेज है — इसे ऑन-डिमांड MCP सर्वर (किसी भी MCP होस्ट के लिए) या cairn CLI के माध्यम से Claude Code के बिना उपयोग करें:

uvx agentcairn                                       # on-demand MCP server for any MCP host
cairn ingest --vault ~/vault                         # distill recent agent sessions into the vault
cairn sweep  --vault ~/vault                          # ingest + reindex in one pass (cron-friendly)
cairn schedule install --vault ~/vault                # run sweep automatically every 30 min (launchd on macOS, crontab on Linux)
cairn recall "how did we fix the auth bug?"          # hybrid recall from the CLI
cairn savings                                        # how much context recall has saved you
cairn reindex ~/vault                                # rebuild the index from Markdown (always safe)
cairn doctor                                         # health-check the index

कॉन्फ़िगरेशन

सभी सेटिंग्स एक फ़ाइल में रहती हैं — ~/.agentcairn/config.toml — ओवरराइड के रूप में env vars के साथ (वरीयता: CLI फ्लैग > env var > कॉन्फ़िग फ़ाइल > डिफ़ॉल्ट):

cairn config --init   # scaffold a fully-commented template (chmod 600)
cairn config          # show every setting's effective value and where it came from

उदाहरण के लिए, LLM स्मृति न्यायाधीश को सक्षम करना दो अनकमेंटेड लाइनें हैं — किसी शेल निर्यात की आवश्यकता नहीं है (प्लगइन का पृष्ठभूमि स्वीप सीधे फ़ाइल पढ़ता है):

judge = "anthropic"
anthropic_api_key = "sk-ant-..."

समर्थित एजेंट

agentcairn दो स्तरों पर काम करता है। प्लगइन होस्ट (Claude Code, Codex, और Antigravity) को एक प्रथम श्रेणी का प्लगइन मिलता है — एक बंडल MCP सर्वर (स्मरण/खोज/remember), एक स्मृति कौशल, और (Claude Code और Codex पर) परिवेशी सत्र हुक; cairn install <host> होस्ट की अपनी CLI को कॉल करके प्लगइन इंस्टॉल करता है। MCP होस्ट (बाकी सब कुछ) पोर्टेबल MCP सर्वर के माध्यम से समान स्मरण/खोज/remember उपकरण प्राप्त करते हैं; cairn install <host> MCP सर्वर कॉन्फ़िग को गैर-विनाशकारी रूप से लिखता है (आपके अन्य सर्वर संरक्षित हैं, मूल <config>.bak पर बैकअप है)। वॉल्ट एक एकल वैश्विक ~/agentcairn रहता है, इसलिए स्मृति हर होस्ट में साझा होती है।

होस्टसमर्थनसेट अप के साथपरिवेशी कैप्चर
Claude Code🟢 प्लगइनcairn install claude-code✅ आरंभ पर स्मरण + अंत पर कैप्चर
Codex🟢 प्लगइनcairn install codex◐ स्मरण/remember लाइव; परिवेशी हुक बंडल (सत्यापन हो रहा है) 1
Cursor🔌 MCP सर्वर + कौशल + इन्जेस्टcairn install cursorcairn sweep स्वतः प्रतिलेखों का पता लगाता है 2
Claude Desktop🔌 MCP सर्वरcairn install claude-desktop
VS Code (Copilot)🔌 MCP सर्वरcairn install vscode
Gemini CLI 3🔌 MCP सर्वरcairn install gemini
Antigravity🟢 प्लगइन + इन्जेस्टcairn install antigravitycairn sweep स्वतः प्रतिलेखों का पता लगाता है 4
कोई अन्य MCP होस्ट🔌 MCP सर्वरuvx agentcairn (cairn install … --print स्निपेट पेस्ट करें)

cairn install होस्ट प्रकार के अनुसार स्वचालित रूप से रूट करता है:

cairn install                 # detect installed hosts + preview (writes nothing)
cairn install codex           # install the Codex plugin (shells to `codex plugin …`; strips any stale MCP block from ~/.codex/config.toml)
cairn install antigravity --source ./plugin  # install the Antigravity plugin from a local checkout (see note)
cairn install cursor          # write MCP config + install the memory skill for Cursor
cairn install --all           # configure every detected host
cairn install codex --source /path/to/agentcairn  # use a local checkout instead of the marketplace

MCP होस्ट एक JSON mcpServers प्रविष्टि लेते हैं (VS Code अपनी servers कुंजी का उपयोग करता है)। प्लगइन होस्ट (Claude Code, Codex, Antigravity) होस्ट CLI के माध्यम से प्लगइन इंस्टॉल करते हैं — MCP सर्वर प्लगइन में बंडल है और उसे अलग कॉन्फ़िग प्रविष्टि की आवश्यकता नहीं है। यदि आपने पहले cairn install antigravity का उपयोग ~/.gemini/config/mcp_config.json में MCP प्रविष्टि लिखने के लिए किया था, तो cairn install antigravity को फिर से चलाने पर वह बासी प्रविष्टि स्वचालित रूप से हट जाती है।

बेंचमार्क मापे गए

हम agentcairn को उस तरह बेंचमार्क करते हैं जैसे हम चाहते हैं कि एक स्मृति प्रणाली को मापा जाए — पुनरुत्पादनीय रूप से, एब्लेशन के साथ, और बिना किसी एक चुनी हुई हेडलाइन संख्या के। हार्नेस (benchmarks/) LongMemEval-S और LoCoMo को एक संस्करण-पिन किए गए डाउनलोडर के माध्यम से चलाता है (डेटासेट कभी वेंडर नहीं किए जाते), पुनर्प्राप्ति को नियतात्मक रूप से स्कोर करता है (recall/nDCG@k, MRR — कोई API कुंजी की आवश्यकता नहीं, एक सिंथेटिक फिक्सचर पर CI में चलता है), और एक ऑप्ट-इन LLM-निर्णीत QA परत प्रदान करता है।

पुनर्प्राप्ति — LoCoMo

पूर्ण LoCoMo सेट, टर्न-स्तर, मैक्रो-औसत, FastEmbed nomic-embed-text-v1.5 (डिफ़ॉल्ट एम्बेडर):

आर्मrecall@5recall@10MRR
केवल BM250.5270.6040.459
केवल वेक्टर0.5360.6370.433
हाइब्रिड (RRF)0.5620.6480.477
हाइब्रिड + ग्राफ-बूस्ट0.5620.6480.477
हाइब्रिड + रीरैंकर0.6620.7350.608

हम इससे क्या पढ़ते हैं — और ज़ोर से कहते हैं:

  • हाइब्रिड किसी भी एक आर्म से बेहतर है — RRF फ्यूजन इसके लायक है।
  • क्रॉस-एनकोडर रीरैंकर सबसे बड़ा लीवर है (हाइब्रिड पर +0.10 recall@5); "ms-marco डोमेन-शिफ्ट नुकसान पहुंचा सकता है" की चिंता संवादी डेटा पर सामने नहीं आई।
  • एम्बेडर डिफ़ॉल्ट अब अपना वजन खींचता हैnomic के साथ, वेक्टर-केवल BM25 से आगे निकल जाता है (0.536 बनाम 0.527); पुराने bge-small डिफ़ॉल्ट (जो 0.483 पर पिछड़ गया था) से स्विच करने पर अंतर बंद हो गया। 5-मॉडल FastEmbed स्वीप ने चयन तय किया — nomic (768-d) गुणवत्ता-प्रति-आयाम पर जीतता है; बड़े 1024-d मॉडल इसे नहीं हराते। पूर्ण तालिका: benchmarks/README.md
  • ग्राफ-बूस्ट इन कॉर्पोरा पर निष्क्रिय है — LoCoMo/LongMemEval में कोई मूल [[wikilink]] ग्राफ नहीं है, इसलिए बूस्ट के पास सक्रिय होने के लिए कुछ नहीं है। यह वास्तविक इंटरलिंक्ड वॉल्ट्स के लिए है, चैट लॉग के लिए नहीं, और हम अन्यथा दिखावा नहीं करते।

पुनर्प्राप्ति — LongMemEval-S

पूर्ण 500-उदाहरण सेट — सुपृथक साक्ष्य सत्रों वाला एक सरल कार्य। सत्र स्तर वह विवरणिकता है जो पूर्व कार्य रिपोर्ट करता है; मोड़ स्तर वह सूक्ष्मतर, संग्रह-प्रकट करने वाला विभाजन है:

आर्मसत्र r@5सत्र MRRमोड़ r@5मोड़ r@10मोड़ MRR
केवल BM250.9200.9180.6800.7910.638
केवल वेक्टर0.9360.9160.5070.6920.454
हाइब्रिड (RRF)0.9540.9380.6400.7980.544
हाइब्रिड + रीरैंकर0.9690.9630.7880.8910.716

ईमानदारी से पढ़ें:

  • हमारा 0.969 सत्र recall@5 उसी पूर्ण 500-प्रश्न सेट पर पूर्व कार्य के ≈0.95 के ठीक बगल में बैठता है — और पूर्ण पैमाने पर यह विभेदित करता है (0.920 BM25 → 0.969 रीरैंकर) बजाय इसके कि एक छोटा नमूना जिस तरह संतृप्त करता है।
  • रीरैंकर फिर से सबसे बड़ा लीवर है — मोड़ r@5 0.640 → 0.788, सत्र r@5 0.954 → 0.969।
  • मोड़ स्तर संग्रह-प्रकटक है: यहाँ केवल-BM25 (0.680) RRF हाइब्रिड (0.640) को पछाड़ता है क्योंकि केवल-वेक्टर इन एकल-मोड़ साक्ष्य विस्तारों पर कमज़ोर है (0.507); रीरैंकर वह है जो डिफ़ॉल्ट को आगे खींचता है। (तुलना करें LoCoMo, जहाँ केवल-वेक्टर BM25 से बढ़त लेता है।)

संदर्भ दक्षता

agentcairn जितना संदर्भ स्मरण करता है, वह उस पूर्ण इतिहास से कितना छोटा है जिसे आप अन्यथा मॉडल में ले जाते? डिफ़ॉल्ट कॉन्फ़िग (हाइब्रिड + रीरैंकर, k=10):

डेटासेटप्रश्नमाध्य हेस्टैकमाध्य स्मरित (k=10)संदर्भ न्यूनीकरण
LoCoMo (3 वार्ता)49725,646 tok529 tok51.1× माध्य / 50.3× माध्यिका
LongMemEval-S (पूर्ण 500)470136,552 tok2,207 tok64.7× माध्य / 61.6× माध्यिका

अनुमान (~4 अक्षर/token), कोई बिल लागत नहीं; "हेस्टैक" = पूर्ण अनुक्रमित इतिहास, "स्मरित" = लौटाए गए शीर्ष-k खंड। यह संदर्भ आकार मापता है, पुनर्प्राप्ति गुणवत्ता से स्वतंत्र।

QA सटीकता

QA-सटीकता संख्याएँ (LLM-निर्णीत) भी उपलब्ध हैं, लेकिन पेपरों के GPT-4o के बजाय Anthropic निर्णायक का उपयोग करती हैं, इसलिए वे प्रकाशित लीडरबोर्ड से तुलनीय नहीं हैं — केवल सापेक्ष विलोपन संकेत के लिए मान्य। इसे कैसे चलाएँ और संख्याओं को कैसे पढ़ें, इसके लिए benchmarks/README.md देखें।

रोडमैप

  • v1 — पूर्ण। मूल लूप: प्रतिलेख अंतर्ग्रहण → संपादन → Markdown → पुनर्निर्माण योग्य DuckDB सूची → हाइब्रिड स्मरण; MCP सर्वर + CLI; गुप्त संपादन; स्थानीय एम्बेडिंग; पुनरुत्पादनीय बेंचमार्क हार्नेस।
  • v1.1 — अगला, उपरोक्त बेंचमार्क द्वारा प्राथमिकीकृत:
    • रीरैंकर डिफ़ॉल्ट रूप से चालू — सबसे बड़ा मापित पुनर्प्राप्ति लीवर; अक्षम करने के लिए CAIRN_RERANK=0(शिप किया गया)
    • Ollama एम्बेडिंग स्तर — ✅ CAIRN_EMBEDDER=ollama के माध्यम से स्थानीय मॉडल (CAIRN_EMBED_MODEL/OLLAMA_HOST); क्लाउड (OpenAI/Voyage) अभी भी लंबित।
    • द्वि-कालिक वैधता — फ्रंटमैटर valid_from/valid_until/superseded_by; स्मरण अधिक्रमित/समाप्त तथ्यों को नरमी से पदावनत करता है (गैर-हानिकारक — कभी छिपाया नहीं गया) और प्रत्येक परिणाम की मुद्रा + एक as_of एंकर की व्याख्या करता है, ताकि वर्तमान तथ्य जीते और एजेंट समय के साथ तर्क कर सके। (शिप किया गया)
    • बड़े-वॉल्ट पुनर्प्राप्ति विलंबता के लिए इन-मेमोरी HNSW।
  • v2 — ◐ Obsidian प्लगइन (agentcairn-obsidian) — Obsidian में आपकी स्मृति को पढ़ने/नेविगेट करने के लिए एक वॉल्ट-मूल मेमोरी दृश्य (सूची + उद्गम + मुद्रा + ग्राफ); (MVP शिप किया गया; सिमैंटिक स्मरण CLI/MCP में रहता है)। MotherDuck क्लाउड सिंक, वैकल्पिक LLM सत्ता निष्कर्षण अभी भी लंबित।

विकास

agentcairn निर्भरता प्रबंधन और टूलिंग के लिए विशेष रूप से uv का उपयोग करता है।

pip, poetry, या वैश्विक आभासी वातावरण का उपयोग न करें।

# First-time setup
uv sync                         # create .venv and install all deps (including dev)
uv run pre-commit install       # install git hooks (ruff + pytest run on every commit)

# Daily use
uv run pytest                   # run the test suite
uv run cairn --help             # run the CLI
uvx agentcairn                  # run the installed tool ephemerally (as the MCP server does)

# Formatting and linting
uv run ruff format .            # format all Python files
uv run ruff check --fix .       # lint with auto-fix
uv run pre-commit run --all-files

# Benchmarks (offline retrieval metrics need no API key)
uv run pytest benchmarks/tests/                                      # offline synthetic-fixture suite
PYTHONPATH=benchmarks uv run --group bench python -m cairn_bench.run --dataset locomo

MCP सर्वर uvx agentcairn के माध्यम से लॉन्च किया जाता है — किसी वैश्विक इंस्टॉल की आवश्यकता नहीं।

लाइसेंस

Apache License 2.0 — अनुमोदक, एक स्पष्ट पेटेंट अनुदान के साथ। कॉपीराइट © 2026 Charles C. Figueiredo।

Footnotes

  1. The Codex प्लगइन इंस्टॉल होता है और इसका बंडल MCP सर्वर (स्मरण/खोज/remember) Codex में लाइव सत्यापित है। परिवेशी सत्र हुक (आरंभ पर स्मरण, अंत पर कैप्चर) प्लगइन में शिप होते हैं और Codex के प्रलेखित हुक स्कीमा का उपयोग करते हैं, लेकिन उनका Codex पर व्यवहार अभी तक एंड-टू-एंड पुष्टि नहीं हुआ है; कैप्चर वैसे भी cairn sweep के माध्यम से आउट-ऑफ-बैंड होता है।

  2. Cursor में कोई प्लगइन हुक नहीं हैं, इसलिए परिवेशी कैप्चर cairn sweep (स्रोत: Cursor का वैश्विक globalStorage/state.vscdb SQLite डेटाबेस, cursorDiskKV तालिका, उपयोगकर्ता "bubbles") के माध्यम से आउट-ऑफ-बैंड है। Cursor आउटपुट के लिए एक MCP होस्ट बना रहता है (cairn install cursor~/.cursor/mcp.json); कोई Cursor प्लगइन नहीं है। cairn install cursor using-agentcairn-memory कौशल (स्मरण/याद रखने का मार्गदर्शन) को ~/.cursor/skills/using-agentcairn-memory/SKILL.md में भी इंस्टॉल करता है।

  3. Gemini CLI (उपभोक्ता) प्रतिलेख अंतर्ग्रहण समर्थित नहीं है — Google Gemini CLI (उपभोक्ता कटऑफ 2026-06-18) को Antigravity CLI के पक्ष में बंद कर रहा है, जिसे agentcairn इसके बजाय ग्रहण करता है। cairn install gemini (MCP सर्वर वायरिंग) किसी भी Gemini-आधारित होस्ट के लिए मान्य रहता है जो MCP बोलता है।

  4. The Antigravity प्लगइन MCP सर्वर + स्मृति कौशल बंडल करता है; cairn install antigravity --source <dir> इसे agy plugin install के माध्यम से इंस्टॉल करता है और ~/.gemini/config/mcp_config.json से किसी भी बासी mcpServers.agentcairn प्रविष्टि को हटाता है। नोट: agy plugin install एक स्थानीय निर्देशिका या एक पंजीकृत मार्केटप्लेस लेता है (गिट रेपो नहीं), इसलिए अभी के लिए --source को एक क्लोन किए गए चेकआउट की plugin/ dir पर इंगित करें। Antigravity में कोई मान्यता प्राप्त प्लगइन हुक नहीं हैं, इसलिए परिवेशी कैप्चर cairn sweep (पथ: ~/.gemini/antigravity-cli/brain/<uuid>/.system_generated/logs/transcript.jsonl) के माध्यम से आउट-ऑफ-बैंड है।