agentcairn

ทางการ

หน่วยความจำเอเจนต์แบบ Local-first: คลัง Obsidian ในรูปแบบ Markdown ธรรมดาเป็นแหล่งข้อมูลหลัก พร้อมดัชนี DuckDB ที่สามารถสร้างใหม่ได้สำหรับการเรียกค้นแบบผสมผสาน BM25 + เวกเตอร์ + กราฟ

คุณทำอะไรได้บ้างด้วย Agentcairn MCP?

  • Recall relevant context across agents — สั่งให้ AI ของคุณดึงข้อเท็จจริงที่คงทนจากคลัง Markdown ที่ใช้ร่วมกันโดยใช้ recall หรือคำสั่ง /agentcairn:recall
  • Save durable memories — สั่งให้ AI ของคุณเขียนข้อเท็จจริงเป็นบันทึก Markdown พร้อมแหล่งที่มาผ่าน remember หรือ /agentcairn:remember เพื่อให้สามารถเรียกคืนได้ทันที
  • Import Claude Code memory — เริ่มต้นคลังที่ใช้ร่วมกันจาก MEMORY.md ที่มีอยู่โดยไม่เปลี่ยนแปลงไฟล์ต้นฉบับ โดยใช้ cairn import claude-memory
  • Capture session history out-of-band — รัน cairn sweep เพื่อแก้ไข ลดความซ้ำซ้อน และกลั่นกรองพื้นที่จัดเก็บบันทึกการสนทนาที่รองรับลงในคลังเพื่อเป็นข้อมูลสำรอง
  • Inspect memory in Obsidian — เปิดคลัง Markdown เดียวกันในปลั๊กอินคู่หูเพื่อเรียกดูบันทึกพร้อมข้อมูลแหล่งที่มา ความสำคัญ และข้อมูลการแทนที่

เอกสาร

agentcairn — one memory across your coding agents, stored as Markdown you control

CI status Security scan status Latest PyPI version Supported Python versions Apache-2.0 license

หนึ่งหน่วยความจำที่คงทนสำหรับเอเจนต์เขียนโค้ดที่รองรับ
คลัง Markdown ของคุณคือข้อมูลหลัก DuckDB คือแคชสำหรับการค้นคืนที่สามารถแทนที่ได้

เว็บไซต์ · PyPI · ส่วนเสริม Obsidian · การวัดประสิทธิภาพ

กองหินนำทางทำเครื่องหมายเส้นทางสำหรับผู้ที่ตามมาทีหลัง agentcairn ทำหน้าที่นั้นให้กับเอเจนต์เขียนโค้ด: มันจับบริบทที่คงทนจากเครื่องมือที่คุณใช้, จัดเก็บเป็น Markdown ที่ตรวจสอบได้พร้อมที่มา, และเรียกคืนเฉพาะส่วนที่เกี่ยวข้องที่สุดเมื่อเอเจนต์อื่นต้องการ

หลักฐานที่คุณตรวจสอบได้

หน่วยความจำไม่ได้ถูกซ่อนอยู่หลังคอนโซลผู้ดูแลหรือฐานข้อมูลที่โฮสต์ ส่วนเสริม agentcairn-obsidian ที่แยกต่างหากอ่านไฟล์ Markdown เดียวกับเอเจนต์และเปิดเผยที่มา, ความทันสมัย, ความสำคัญ, การแทนที่, และลิงก์ related:

The agentcairn Memory view in Obsidian showing real Markdown memories with project, harness, date, importance, and supersession metadata

คลัง agentcairn จริงใน Obsidian รายการคือมุมมองเหนือไฟล์—ไม่ใช่ที่เก็บหน่วยความจำที่สอง

ภาพรวมการใช้งานจริง · 2026-07-15. จากการเรียกคืนในเครื่อง 417 ครั้ง คลังของผู้ดูแลส่งคืนบริบทเกี่ยวกับ 262× smaller มากกว่าการโหลดคลังทั้งหมดในแต่ละครั้ง—ประมาณ 136.6M tokens of full-vault context avoided โดยรวม จำนวนโทเค็นใช้ประมาณสี่ตัวอักษรต่อโทเค็น นี่ไม่ใช่การประหยัดโทเค็นที่เรียกเก็บเงิน และ agentcairn ไม่ส่งข้อมูลทางไกล

ติดตั้ง

เส้นทางที่สั้นที่สุดคือปลั๊กอินชั้นหนึ่ง มันรวมเซิร์ฟเวอร์ MCP, สกิลหน่วยความจำ, และ hooks สภาพแวดล้อมเฉพาะโฮสต์—ไม่ต้องติดตั้งแพ็คเกจ agentcairn แยกต่างหาก ปลั๊กอินเปิดใช้ผ่าน uvx ดังนั้นติดตั้ง uv ก่อนหาก uvx --version ยังไม่พร้อมใช้งาน

Claude Code

claude plugin marketplace add ccf/agentcairn
claude plugin install agentcairn@agentcairn

Claude Code ได้รับการเรียกคืนตามขอบเขตโปรเจกต์ต่อเทิร์น, การจับเซสชัน/การบีบอัด, และคำสั่ง /agentcairn:recall, /agentcairn:remember, /agentcairn:memory, /agentcairn:savings, และ /agentcairn:ingest

Codex

codex plugin marketplace add ccf/agentcairn
codex plugin add agentcairn@agentcairn

Codex ได้รับเครื่องมือ MCP และสกิลหน่วยความจำที่รวมมา, การเรียกคืน SessionStart ที่ตรวจสอบแบบสด, และการจับ SessionEnd โดยมี cairn sweep เป็นตัวสำรองนอกแบนด์

การตั้งค่าโดยมีเอเจนต์ช่วย

ใช้ skills.sh หรือเวิร์กโฟลว์ find-skills อยู่แล้ว? ติดตั้งผู้ช่วยตั้งค่าสาธารณะ:

npx skills add ccf/agentcairn --skill agentcairn-setup -g

จากนั้นถามเอเจนต์ของคุณ: Use $agentcairn-setup to preview, install, and verify AgentCairn for this coding agent.

นี่ติดตั้งเฉพาะคำแนะนำการตั้งค่า—ไม่ใช่รันไทม์ AgentCairn, เซิร์ฟเวอร์ MCP, ปลั๊กอิน, หรือ hooks ผู้ช่วยมอบหมายการเปลี่ยนแปลงเหล่านั้นให้กับตัวติดตั้งแบบเนทีฟที่แสดงตัวอย่างก่อนของ AgentCairn และตรวจสอบการผสานรวมที่ได้ผล คำสั่งปลั๊กอิน Claude Code และ Codex ด้านบนยังคงเป็นเส้นทางที่สั้นที่สุด

คลังเริ่มต้นคือ ~/agentcairn และถูกสร้างเมื่อใช้งานครั้งแรก คลังใหม่ที่ว่างเปล่ายังไม่มีอะไรที่มีประโยชน์ให้เรียกคืน ดังนั้นพิสูจน์วงจรทั้งหมดอย่างชัดเจน:

You   → Remember this durable fact: staging deploys use blue-green.
Agent → written and indexed
You   → Recall the staging deploy strategy.
Agent → staging deploys use blue-green.  ↳ <memory permalink>

remember เขียนโน้ต Markdown และรายการดัชนีพร้อมกัน ดังนั้นการเรียกคืนทันทีจึงเป็นส่วนหนึ่งของสัญญา การรันในเครื่องครั้งแรกอาจดาวน์โหลดและอุ่นเครื่องโมเดล embedding/reranking ที่กำหนดค่าไว้

สัญญา

คำมั่นสัญญาความหมายในทางปฏิบัติ
Markdown เป็นข้อมูลหลักโน้ต, frontmatter, และ [[wikilinks]] คือหน่วยความจำที่คงทน แก้ไขข้อเท็จจริงด้วยมือ; การอ่านที่ปรับให้สอดคล้องกันครั้งถัดไปจะยอมรับมัน
ดัชนีใช้แล้วทิ้งได้DuckDB เป็นแคชที่ได้มา การลบหรือสร้างใหม่จะไม่ลบคลัง Markdown
หนึ่งคลังข้ามเอเจนต์โฮสต์ที่รองรับใช้คลังที่กำหนดค่าเดียวกันแทนที่จะสร้างหน่วยความจำแยกสำหรับแต่ละเครื่องมือ
ประวัติไม่สูญหายโน้ตที่ได้มาจะไม่ลบโน้ตที่เก็บไว้อย่างเงียบๆ; ข้อเท็จจริงที่ถูกแทนที่และหมดอายุยังคงตรวจสอบได้และถูกลดระดับแทนที่จะซ่อน
ทุกผลลัพธ์มีบริบทโปรเจกต์, สถานะความถูกต้อง, และลิงก์ถาวรเดินทางไปกับการเรียกคืนเพื่อให้เอเจนต์สามารถแยกแยะหลักฐานท้องถิ่นปัจจุบันจากประวัติข้ามโปรเจกต์

วิธีการทำงาน

Supported coding agents feed redacted durable context into a canonical Markdown vault; a disposable DuckDB hybrid index powers cited MCP recall, while remember writes through to Markdown

  • การจับ: hooks โฮสต์ปรับปรุงความฉับไว; cairn sweep อ่านที่เก็บทรานสคริปต์ที่รองรับนอกแบนด์เป็นตัวสำรองที่คงทน AgentCairn ปกปิดข้อมูลรับรองที่รู้จัก, ขจัดรายการซ้ำ, กรองตามความสำคัญ, และกลั่นกรองก่อนการเขียนข้อความธรรมดาอัตโนมัติ
  • การปรับให้สอดคล้อง: การอ่านครั้งแรกนำดัชนีที่มีขอบเขตคลังให้ซิงค์กับ Markdown แบบทรานแซคชัน การสร้างใหม่ที่ล้มเหลวจะรักษาแคชที่ดีล่าสุดและไฟล์ที่คงทนยังคงไม่ถูกแตะต้อง
  • การเรียกคืน: BM25 และเวกเตอร์ความหมายถูกหลอมรวมด้วย Reciprocal Rank Fusion จากนั้นอาจถูกจัดอันดับใหม่ ความล้มเหลวของโมเดล/ผู้ให้บริการจะถอยกลับไปใช้ BM25 พร้อมการวินิจฉัยแทนที่จะส่งคืนเวกเตอร์ที่เข้ากันไม่ได้
  • การจดจำ: เครื่องมือ MCP เขียนโน้ต Markdown และอัปเดตดัชนีภายใต้การล็อกผู้เขียนหนึ่งราย ทำให้การบันทึกที่สำเร็จสามารถเรียกคืนได้ทันที

ออกแบบมาเพื่อความไว้วางใจ

  • โลคอลโดยค่าเริ่มต้น. FastEmbed รันในเครื่อง, เซิร์ฟเวอร์ MCP ใช้ stdio, ไม่มีดีมอนหรือฐานข้อมูลภายนอกที่จำเป็น, และไม่มีการส่งข้อมูลทางไกล
  • ขอบเขตที่ชัดเจน. คลังที่ซิงค์มี Markdown; โดยค่าเริ่มต้น, ดัชนี .duckdb ที่สร้างใหม่ได้จะอยู่นอกคลัง symlink ของคลังที่หลุดออกจากรูทที่กำหนดค่าจะถูกปฏิเสธ
  • การแก้ไขที่คำนึงถึงเวลา. valid_from, valid_until, และ superseded_by ทำให้หลักฐานเก่ายังคงมองเห็นได้ในขณะที่ทำให้ข้อเท็จจริงปัจจุบันอยู่ในอันดับแรก
  • กราฟที่กำหนดได้. [[wikilinks]] และเพื่อนบ้าน cairn link ที่เป็นตัวเลือกสร้างกราฟแบบเนทีฟของ Obsidian โดยไม่ต้องขอให้ LLM สร้างเอนทิตี
  • การเรียกคืนที่รับรู้โปรเจกต์. โปรเจกต์ปัจจุบันถูกเพิ่มน้ำหนักโดยค่าเริ่มต้น; ผลลัพธ์ข้ามโปรเจกต์ยังคงพร้อมใช้งานและถูกติดป้ายกำกับ การเรียกคืนอัตโนมัติมีขอบเขตโปรเจกต์เว้นแต่คุณจะเลือกใช้ทุกโปรเจกต์อย่างชัดเจน

เอเจนต์ที่รองรับ

ทุกโฮสต์แก้ไขคลังที่กำหนดค่าเดียวกัน cairn install แสดงตัวอย่างโฮสต์ที่ตรวจพบโดยไม่ต้องเขียน การเขียนการกำหนดค่า MCP สำรองข้อมูลก่อนและรักษาเซิร์ฟเวอร์ที่ไม่เกี่ยวข้อง; การติดตั้งปลั๊กอินโฮสต์มอบหมายให้ CLI ของโฮสต์เอง

โฮสต์การผสานรวมตั้งค่าด้วยหน่วยความจำแวดล้อม
Claude Codeปลั๊กอิน + MCP + สกิลcairn install claude-code✅ ต่อเทิร์น + การเรียกคืน SessionStart; การจับ SessionEnd/PreCompact
Codexปลั๊กอิน + MCP + สกิลcairn install codex✅ การเรียกคืน SessionStart; การจับ SessionEnd + การกวาด
CursorMCP + สกิล + การนำเข้าcairn install cursor◐ การกวาดนอกแบนด์
OpenCodeปลั๊กอิน + MCP + การนำเข้าcairn install opencode✅ การเรียกคืนต่อเทิร์น + การจับเมื่อว่าง/บีบอัด
Hermes AgentMemoryProvider แบบเนทีฟintegrations/hermes/✅ การเรียกคืนอัตโนมัติ + การจับสิ้นสุดเซสชัน
Antigravityปลั๊กอิน + การนำเข้าcairn install antigravity --source <dir>◐ การกวาดนอกแบนด์
VS Code (Copilot)เซิร์ฟเวอร์ MCPcairn install vscode
Claude Desktopเซิร์ฟเวอร์ MCPcairn install claude-desktop
โฮสต์ MCP อื่นๆเซิร์ฟเวอร์ MCP แบบพกพาuvx agentcairnขึ้นอยู่กับโฮสต์

SessionStart ของ Codex ได้รับการตรวจสอบแบบสดตั้งแต่ต้นจนจบด้วย agentcairn 0.24.2 / ปลั๊กอิน 0.1.2 การส่งคำสั่ง SessionEnd ที่ติดตั้งและการกวาดแยกส่วนผ่านการตรวจสอบ handler ที่แน่นอน; cairn sweep ยังคงเป็นตัวสำรองการจับนอกแบนด์ ดู การผสานรวม OpenCode และ การผสานรวม Hermes สำหรับรายละเอียดวงจรชีวิตแบบเนทีฟของพวกมัน

การใช้งานโดยตรง

ปลั๊กอินเป็นเส้นทางที่ง่ายที่สุด แต่ agentcairn ยังเป็น CLI แบบสแตนด์อโลนและเซิร์ฟเวอร์ MCP ตามต้องการ การติดตั้งแบบสแตนด์อโลนต้องการ Python 3.11+

uv tool install agentcairn

cairn init ~/agentcairn
cairn sweep --vault ~/agentcairn
cairn recall "how did we fix the auth bug?" --vault ~/agentcairn
cairn doctor --vault ~/agentcairn

นำหน่วยความจำของ Claude Code ติดตัวไปด้วย

หน่วยความจำอัตโนมัติของ Claude Code สามารถเพาะคลังที่ใช้ร่วมกันได้โดยไม่ต้องเปลี่ยนไฟล์ต้นฉบับ คำสั่งแสดงตัวอย่างเฉพาะที่เก็บปัจจุบันตามค่าเริ่มต้น; เพิ่ม --apply เพื่อเขียนโน้ตที่ปกปิดข้อมูลและรีเฟรชดัชนี

cairn import claude-memory                         # preview; writes nothing
cairn import claude-memory --apply                 # import this repository
cairn import claude-memory --project ../other --apply

การนำเข้าทางเดียวอ่าน MEMORY.md และไฟล์ Markdown หัวข้อของมัน—ไม่เคยอ่าน CLAUDE.md หรือ .claude/rules/ โน้ตที่นำเข้ายังคงรักษาที่มา Claude Code, โปรเจกต์, และไฟล์ต้นฉบับ เมื่อแหล่งที่มาเปลี่ยน, เวอร์ชันก่อนหน้ายังคงตรวจสอบได้แต่ถูกแทนที่; เมื่อแหล่งหนึ่งหายไป, เวอร์ชันที่นำเข้าจะหมดอายุ รีจิสทรี .agentcairn/native-memory/ ขนาดเล็กรักษาวงจรชีวิตนั้นโดยไม่ต้องทำดัชนีเนื้อหาต้นฉบับซ้ำ ใช้ --source <dir> สำหรับไดเรกทอรีหน่วยความจำ Claude แบบกำหนดเอง, ที่มีการจัดการ, หรือถูกแทนที่ด้วยเซสชัน, หรือ --no-reindex เมื่อนำเข้าเป็นชุด

เลือกใช้กระบวนการชั่วคราว:

uvx agentcairn                             # MCP server
uvx --from agentcairn cairn recall "..."  # CLI; plain `uvx cairn` is a different package
การบำรุงรักษา CLI และการทำงานอัตโนมัติ
cairn schedule install --vault ~/agentcairn  # launchd on macOS / user crontab on Linux
cairn schedule status
cairn link --vault ~/agentcairn              # write deterministic related: neighbors
cairn reindex ~/agentcairn                   # rebuild the disposable cache
cairn savings                                # local context-efficiency estimate
cairn index-status --vault ~/agentcairn

บนระบบปฏิบัติการอื่น, รัน cairn sweep จากตัวจัดตารางงานที่คุณเลือก

การกำหนดค่าและระดับคลาวด์เสริม

การตั้งค่าอยู่ใน ~/.agentcairn/config.toml; ลำดับความสำคัญคือ แฟล็ก CLI → ตัวแปรสภาพแวดล้อม → ไฟล์กำหนดค่า → ค่าเริ่มต้น

cairn config --init
cairn config
auto_recall = true
auto_recall_k = 3
auto_recall_scope = "project"  # use "all" only as an explicit cross-project opt-in

การฝัง nomic-embed-text-v1.5 ในเครื่องเป็นค่าเริ่มต้น Voyage, การฝังที่เข้ากันได้กับ OpenAI, และผู้ตัดสินความคงทนของ Anthropic เป็นการเลือกใช้ เมื่อเปิดใช้งานผู้ให้บริการคลาวด์, ชิ้นส่วนโน้ตที่ปกปิดข้อมูลลับที่เหลือและคำค้นหาจะออกจากเครื่อง; การเปลี่ยนโมเดลการฝังจะฝังคลังใหม่และอาจทำให้เกิดเวลาแฝงจริงหรือค่าใช้จ่าย API

การวัดประสิทธิภาพที่วัดได้

ที่เก็บมาพร้อมกับ ชุดทดสอบ LongMemEval-S + LoCoMo ที่ปักหมุดรุ่นและทำซ้ำได้ ค่าเริ่มต้นคือ nomic-embed-text-v1.5 ในเครื่องพร้อมกับตัวจัดอันดับใหม่แบบข้ามตัวเข้ารหัส

ชุดข้อมูล / ความละเอียดเมตริกBM25 เท่านั้นHybrid RRFHybrid + ตัวจัดอันดับใหม่
LoCoMo · เทิร์นrecall@50.5270.5620.662
LongMemEval-S · เซสชันrecall@50.9200.9540.969
LongMemEval-S · เทิร์นrecall@50.6800.6400.788

บริบทที่ส่งคืนที่ k=10 เริ่มต้นนั้นเล็กกว่าประวัติที่ทำดัชนีทั้งหมดมาก:

ชุดข้อมูลประวัติทั้งหมดเฉลี่ยเรียกคืนเฉลี่ยการลดลง
LoCoMo (3 การสนทนา)25,646 โทเค็น529 โทเค็น51.1×
LongMemEval-S (เต็ม 500)136,552 โทเค็น2,207 โทเค็น64.7×

อ่านตัวเลขอย่างตรงไปตรงมา:

  • การเรียกคืนของการค้นคืนไม่ใช่ความแม่นยำของ QA ตารางเหล่านี้เปรียบเทียบ arms การค้นคืนที่ควบคุม ไม่ใช่คุณภาพคำตอบของผู้ใช้ปลายทางหรือคะแนนลีดเดอร์บอร์ดของผลิตภัณฑ์อื่น
  • จำนวนโทเค็นใช้ฮิวริสติกประมาณสี่ตัวอักษรต่อโทเค็น การลดลงเปรียบเทียบกองหญ้าที่ทำดัชนีกับชิ้นส่วนที่ส่งคืน; มันไม่ใช่การประหยัดค่าใช้จ่ายที่เรียกเก็บ
  • การเพิ่มน้ำหนักกราฟไม่มีผลกับคลังข้อมูลแชทเหล่านี้เพราะไม่มีกราฟ [[wikilink]] แบบเนทีฟ มันถูกออกแบบมาสำหรับคลังที่เชื่อมโยงกันจริง
  • ผู้ตัดสิน QA เสริมใช้ Anthropic แทนการตั้งค่า GPT-4o ของเอกสาร ดังนั้นผลลัพธ์ QA เหล่านั้นมีประโยชน์สำหรับการเปรียบเทียบเชิงสัมพัทธ์—ไม่ใช่การเปรียบเทียบกับลีดเดอร์บอร์ดที่เผยแพร่

เมตริกเต็ม, การกวาดการฝัง, การวัดเวลาแฝง, ใบอนุญาต, คำสั่ง, และข้อควรระวังอยู่ใน benchmarks/README.md

ความเป็นส่วนตัวและข้อจำกัด

  • คลังข้อมูลถูกออกแบบให้เป็นข้อความธรรมดา ไม่ใช่ที่เก็บข้อมูลแบบเข้ารหัส AgentCairn จะปกปิดรูปแบบข้อมูลประจำตัวที่รู้จักก่อนที่จะเขียนเนื้อหา/ชื่อเรื่อง/แท็กโดยอัตโนมัติ รูปแบบที่ไม่รู้จักและการแก้ไขด้วยมือยังคงเป็นความรับผิดชอบของคุณ
  • ฟีเจอร์คลาวด์เป็นการส่งออกข้อมูลอย่างชัดเจน ค่าเริ่มต้นจะทำงานเฉพาะในเครื่อง การเลือกใช้ตัวฝังข้อมูลบนคลาวด์หรือผู้ตัดสิน LLM จะส่งข้อความที่ผ่านการปกปิดที่เหลือไปยังผู้ให้บริการนั้น
  • โปรเจกต์นี้อยู่ในช่วงเบต้า การใช้งานแบบสแตนด์อโลนต้องใช้ Python 3.11+ และการโหลดโมเดลภายในเครื่องครั้งแรกอาจใช้เวลา หลักฐานการค้นคืนที่เผยแพร่นั้นแข็งแกร่งที่สุดสำหรับหน่วยความจำเชิงสนทนา ไม่ใช่การอ้างว่าเป็นการค้นหาโค้ดแบบสากล
  • พฤติกรรมแวดล้อมจะแตกต่างกันไปตามโฮสต์ เมทริกซ์ด้านบนเป็นไปตามความตั้งใจ: Cursor และ Antigravity อาศัยการจับภาพแบบกวาด โฮสต์ MCP ทั่วไปอาจเปิดเผยเครื่องมือโดยไม่มี hooks วงจรชีวิต
  • การทำงานอัตโนมัติจะจำเพาะกับแพลตฟอร์ม การจัดตารางงานที่มีการจัดการจะกำหนดเป้าหมายไปที่ macOS launchd และ Linux user crontab ใช้ตัวจัดตารางงานของคุณเองในที่อื่น

การพัฒนา

agentcairn ใช้ uv เฉพาะสำหรับการจัดการ dependencies และเครื่องมือ

uv sync
uv run pre-commit install

uv run pytest
uv run ruff format .
uv run ruff check --fix .
uv run pre-commit run --all-files

รันการทดสอบเปรียบเทียบแบบออฟไลน์โดยไม่ใช้ API keys:

uv run pytest benchmarks/tests/

ใบอนุญาต

Apache License 2.0 — แบบอนุญาต โดยมีการให้สิทธิ์สิทธิบัตรอย่างชัดเจน ลิขสิทธิ์ © 2026 Charles C. Figueiredo