agentcairn
resmiMemori agen lokal-utama: vault Obsidian Markdown biasa adalah sumber kebenaran, dengan indeks DuckDB yang dapat dibangun ulang untuk pengingatan hibrida BM25 + vektor + graf.
Apa yang bisa Anda lakukan dengan Agentcairn MCP?
- Recall relevant context across agents — Minta AI Anda untuk mengambil fakta yang bertahan lama dari vault Markdown bersama menggunakan
recallatau perintah/agentcairn:recall. - Save durable memories — Perintahkan AI Anda untuk menulis fakta sebagai catatan Markdown dengan asal-usul melalui
rememberatau/agentcairn:remember, sehingga dapat langsung dipanggil kembali. - Import Claude Code memory — Isi vault bersama dari
MEMORY.mdyang sudah ada tanpa mengubah file sumber menggunakancairn import claude-memory. - Capture session history out-of-band — Jalankan
cairn sweepuntuk menyunting, menghapus duplikat, dan menyaring penyimpanan transkrip yang didukung ke dalam vault sebagai cadangan. - Inspect memory in Obsidian — Buka vault Markdown yang sama di plugin pendamping untuk menelusuri catatan dengan metadata asal-usul, tingkat kepentingan, dan penggantian.
Dokumentasi
Satu memori tahan lama di seluruh agen pengkodean yang didukung.
Vault Markdown Anda bersifat kanonis. DuckDB adalah cache pengambilan yang dapat diganti.
Situs Web · PyPI · Pendamping Obsidian · Tolok Ukur
Sebuah cairn menandai jejak bagi siapa pun yang datang berikutnya. agentcairn melakukan hal itu untuk agen pengkodean: ia menangkap konteks tahan lama dari alat yang Anda gunakan, menyimpannya sebagai Markdown yang dapat diperiksa dengan asal-usul, dan hanya mengingat kembali bagian yang paling relevan saat agen lain membutuhkannya.
Bukti yang dapat Anda periksa
Memori tidak disembunyikan di balik konsol admin atau basis data terhosting. Pendamping agentcairn-obsidian yang terpisah membaca file Markdown yang sama seperti agen dan mengekspos asal-usul, kekinian, kepentingan, penggantian, dan tautan related:.
Vault agentcairn nyata di Obsidian. Daftar ini adalah tampilan atas file—bukan penyimpanan memori kedua.
Cuplikan dogfood · 2026-07-15. Di seluruh 417 pemanggilan lokal, vault pengelola mengembalikan konteks sekitar
262× smallerdaripada memuat vault penuh setiap kali—diperkirakan136.6M tokens of full-vault context avoidedsecara agregat. Hitungan token menggunakan sekitar empat karakter per token. Ini bukan penghematan token yang ditagih, dan agentcairn tidak mengirim telemetri.
Instal
Jalur terpendek adalah plugin kelas satu. Ini menggabungkan server MCP, keterampilan memori, dan kait ambien spesifik host—tanpa instalasi paket agentcairn terpisah. Plugin diluncurkan melalui uvx, jadi instal uv terlebih dahulu jika uvx --version belum tersedia.
Claude Code
claude plugin marketplace add ccf/agentcairn
claude plugin install agentcairn@agentcairn
Claude Code mendapatkan pemanggilan per-giliran dengan cakupan proyek, penangkapan sesi/kompaksi, dan perintah /agentcairn:recall, /agentcairn:remember, /agentcairn:memory, /agentcairn:savings, dan /agentcairn:ingest.
Codex
codex plugin marketplace add ccf/agentcairn
codex plugin add agentcairn@agentcairn
Codex mendapatkan alat MCP dan keterampilan memori yang dibundel, pemanggilan SessionStart yang diverifikasi langsung, dan penangkapan SessionEnd dengan cairn sweep sebagai cadangan di luar jalur.
Penyiapan dengan bantuan agen
Sudah menggunakan skills.sh atau alur kerja find-skills? Instal asisten penyiapan publik:
npx skills add ccf/agentcairn --skill agentcairn-setup -g
Lalu tanyakan kepada agen Anda: Use $agentcairn-setup to preview, install, and verify AgentCairn for this coding agent.
Ini hanya menginstal panduan penyiapan—bukan runtime AgentCairn, server MCP, plugin, atau kait. Asisten mendelegasikan perubahan tersebut ke penginstal asli pratinjau-pertama AgentCairn dan memverifikasi integrasi yang dihasilkan. Perintah plugin Claude Code dan Codex di atas tetap menjadi jalur terpendek.
Vault default adalah ~/agentcairn dan dibuat saat pertama kali digunakan. Vault kosong baru belum memiliki hal berguna untuk diingat, jadi buktikan seluruh loop secara eksplisit:
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 menulis catatan Markdown dan entri indeks bersamaan, sehingga pemanggilan segera adalah bagian dari kontrak. Proses lokal pertama mungkin mengunduh dan menghangatkan model embedding/reranking yang dikonfigurasi.
Kontrak
| Janji | Artinya dalam praktik |
|---|---|
| Markdown bersifat kanonis | Catatan, frontmatter, dan [[wikilinks]] adalah memori tahan lama. Edit fakta secara manual; pembacaan yang direkonsiliasi berikutnya akan menghormatinya. |
| Indeks dapat dibuang | DuckDB adalah cache turunan. Menghapus atau membangunnya kembali tidak menghapus vault Markdown. |
| Satu vault melintasi agen | Host yang didukung berbagi vault terkonfigurasi yang sama alih-alih membangun memori terisolasi per alat. |
| Riwayat tidak menghilangkan data | Catatan turunan tidak secara diam-diam menghapus catatan tersimpan; fakta yang digantikan dan kedaluwarsa tetap dapat diperiksa dan diturunkan peringkatnya, bukan disembunyikan. |
| Setiap hasil memiliki konteks | Proyek, status validitas, dan tautan permanen menyertai pemanggilan sehingga agen dapat membedakan bukti lokal saat ini dari riwayat lintas proyek. |
Cara kerjanya
- Tangkap: kait host meningkatkan kesegeraan;
cairn sweepmembaca penyimpanan transkrip yang didukung di luar jalur sebagai cadangan tahan lama. AgentCairn menyunting kredensial yang dikenali, mendeduplikasi, memfilter berdasarkan kepentingan, dan menyaring sebelum penulisan teks biasa otomatisnya. - Rekonsiliasi: pembacaan pertama secara transaksional menyelaraskan indeks bercakupan vault dengan Markdown. Pembangunan ulang yang gagal mempertahankan cache baik terakhir dan file tahan lama tetap tidak tersentuh.
- Ingat kembali: BM25 dan vektor semantik digabungkan dengan Reciprocal Rank Fusion, lalu secara opsional di-rerank. Kegagalan model/penyedia secara kasat mata jatuh kembali ke BM25 dengan diagnostik alih-alih mengembalikan vektor yang tidak kompatibel.
- Ingat: alat MCP secara atomik menulis catatan Markdown dan memperbarui indeks di bawah satu kunci penulis, membuat penyimpanan yang berhasil segera dapat dipanggil kembali.
Dirancang untuk kepercayaan
- Lokal secara default. FastEmbed berjalan secara lokal, server MCP menggunakan stdio, tidak ada daemon atau basis data eksternal yang diperlukan, dan tidak ada telemetri.
- Batasan yang jelas. Vault yang disinkronkan berisi Markdown; secara default, indeks
.duckdbyang dapat dibangun ulang tetap berada di luarnya. Symlink vault yang keluar dari root yang dikonfigurasi ditolak. - Koreksi sadar waktu.
valid_from,valid_until, dansuperseded_bymenjaga bukti lama tetap terlihat sambil membuat fakta terkini mendapat peringkat pertama. - Graf deterministik.
[[wikilinks]]dan tetanggacairn linkopsional menciptakan graf asli Obsidian tanpa meminta LLM untuk menciptakan entitas. - Pemanggilan sadar proyek. Proyek saat ini didorong secara default; hasil lintas proyek tetap tersedia dan diberi label. Pemanggilan otomatis dibatasi pada cakupan proyek kecuali Anda secara eksplisit memilih semua proyek.
Agen yang didukung
Setiap host menyelesaikan vault terkonfigurasi yang sama. cairn install mempratinjau host yang terdeteksi tanpa menulis. Penulisan konfigurasi MCP mengutamakan pencadangan dan mempertahankan server yang tidak terkait; instalasi plugin-host mendelegasikan ke CLI host itu sendiri.
| Host | Integrasi | Siapkan dengan | Memori ambien |
|---|---|---|---|
| Claude Code | Plugin + MCP + skill | cairn install claude-code | ✅ per-giliran + pemanggilan SessionStart; penangkapan SessionEnd/PreCompact |
| Codex | Plugin + MCP + skill | cairn install codex | ✅ pemanggilan SessionStart; penangkapan SessionEnd + sapuan |
| Cursor | MCP + skill + ingest | cairn install cursor | ◐ sapuan di luar jalur |
| OpenCode | Plugin + MCP + ingest | cairn install opencode | ✅ pemanggilan per-giliran + penangkapan idle/compact |
| Hermes Agent | MemoryProvider asli | integrations/hermes/ | ✅ pemanggilan otomatis + penangkapan akhir sesi |
| Antigravity | Plugin + ingest | cairn install antigravity --source <dir> | ◐ sapuan di luar jalur |
| VS Code (Copilot) | Server MCP | cairn install vscode | — |
| Claude Desktop | Server MCP | cairn install claude-desktop | — |
| Host MCP lainnya | Server MCP portabel | uvx agentcairn | bergantung pada host |
SessionStart Codex diverifikasi langsung ujung-ke-ujung dengan agentcairn 0.24.2 / plugin 0.1.2. Pengiriman perintah SessionEnd yang terinstal dan sapuan terpisah lulus probe handler yang tepat; cairn sweep tetap menjadi cadangan penangkapan di luar jalur. Lihat integrasi OpenCode dan integrasi Hermes untuk detail siklus hidup asli mereka.
Menggunakannya secara langsung
Plugin adalah rute termudah, tetapi agentcairn juga merupakan CLI mandiri dan server MCP sesuai permintaan. Instalasi mandiri memerlukan 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
Bawa memori Claude Code bersama Anda
Memori otomatis Claude Code dapat mengisi vault bersama tanpa mengubah file sumbernya. Perintah hanya mempratinjau repositori saat ini secara default; tambahkan --apply untuk menulis catatan yang disunting dan menyegarkan indeks.
cairn import claude-memory # preview; writes nothing
cairn import claude-memory --apply # import this repository
cairn import claude-memory --project ../other --apply
Impor satu arah membaca MEMORY.md dan file Markdown topiknya—tidak pernah CLAUDE.md atau .claude/rules/. Catatan yang diimpor mempertahankan asal-usul Claude Code, proyek, dan file sumber. Ketika sumber berubah, versi sebelumnya tetap dapat diperiksa tetapi digantikan; ketika sumber menghilang, versi impornya kedaluwarsa. Registri .agentcairn/native-memory/ kecil mempertahankan siklus hidup itu tanpa mengindeks konten sumber dua kali. Gunakan --source <dir> untuk direktori memori Claude khusus, terkelola, atau yang ditimpa sesi, atau --no-reindex saat mengimpor secara batch.
Lebih suka proses sementara:
uvx agentcairn # MCP server
uvx --from agentcairn cairn recall "..." # CLI; plain `uvx cairn` is a different package
Pemeliharaan dan otomatisasi 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
Pada sistem operasi lain, jalankan cairn sweep dari penjadwal pilihan Anda.
Konfigurasi dan tingkatan cloud opsional
Pengaturan berada di ~/.agentcairn/config.toml; prioritasnya adalah flag CLI → lingkungan → file konfigurasi → default.
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
Embedding nomic-embed-text-v1.5 lokal adalah default. Voyage, embedding yang kompatibel dengan OpenAI, dan penilai ketahanan Anthropic bersifat opt-in. Dengan penyedia cloud diaktifkan, potongan catatan dan kueri yang tersisa dan telah disunting kredensialnya meninggalkan mesin; mengubah model embedding akan menanamkan ulang vault dan dapat menimbulkan latensi nyata atau biaya API.
Tolok ukur yang diukur
Repositori ini menyertakan harness LongMemEval-S + LoCoMo yang disematkan revisi dan dapat direproduksi. Defaultnya adalah nomic-embed-text-v1.5 lokal ditambah cross-encoder reranker.
| Dataset / granularitas | Metrik | Hanya BM25 | RRF Hibrida | Hibrida + reranker |
|---|---|---|---|---|
| LoCoMo · giliran | recall@5 | 0.527 | 0.562 | 0.662 |
| LongMemEval-S · sesi | recall@5 | 0.920 | 0.954 | 0.969 |
| LongMemEval-S · giliran | recall@5 | 0.680 | 0.640 | 0.788 |
Konteks yang dikembalikan pada k=10 default jauh lebih kecil daripada riwayat terindeks lengkap:
| Dataset | Rata-rata riwayat penuh | Rata-rata dipanggil | Pengurangan |
|---|---|---|---|
| LoCoMo (3 percakapan) | 25.646 token | 529 token | 51,1× |
| LongMemEval-S (500 penuh) | 136.552 token | 2.207 token | 64,7× |
Baca angka-angkanya dengan jujur:
- Recall pengambilan bukanlah akurasi QA. Tabel ini membandingkan lengan pengambilan terkontrol, bukan kualitas jawaban pengguna akhir atau skor papan peringkat produk lain.
- Hitungan token menggunakan heuristik sekitar empat karakter per token. Pengurangan membandingkan tumpukan jerami terindeks dengan potongan yang dikembalikan; ini bukan penghematan biaya yang ditagih.
- Dorongan graf tidak aktif pada korpora obrolan ini karena tidak mengandung graf
[[wikilink]]asli. Ini dirancang untuk vault yang saling tertaut secara nyata. - Penilai QA opsional menggunakan Anthropic daripada pengaturan GPT-4o di makalah, sehingga hasil QA tersebut berguna untuk ablasi relatif—bukan perbandingan papan peringkat yang dipublikasikan.
Metrik lengkap, sapuan embedding, pengukuran latensi, lisensi, perintah, dan peringatan terdapat di benchmarks/README.md.
Privasi dan batasan
- Vault dirancang sebagai teks biasa, bukan penyimpanan terenkripsi. AgentCairn menyunting pola kredensial yang dikenali sebelum penulisan otomatis isi/judul/tag; pola yang tidak dikenal dan suntingan manual tetap menjadi tanggung jawab Anda.
- Fitur cloud adalah egress eksplisit. Default tetap lokal. Memilih penyemat cloud atau juri LLM akan mengirim teks yang telah disunting ke penyedia tersebut.
- Proyek ini dalam tahap beta. Penggunaan mandiri memerlukan Python 3.11+, dan pemuatan model lokal pertama dapat memakan waktu. Bukti pengambilan yang dipublikasikan paling kuat untuk memori percakapan, bukan klaim pencarian kode universal.
- Perilaku ambient bervariasi menurut host. Matriks di atas disengaja: Cursor dan Antigravity mengandalkan tangkapan sapuan; host MCP generik mungkin mengekspos alat tanpa kait siklus hidup.
- Otomatisasi spesifik platform. Penjadwalan terkelola menargetkan launchd macOS dan crontab pengguna Linux; gunakan penjadwal Anda sendiri di tempat lain.
Pengembangan
agentcairn menggunakan uv secara eksklusif untuk manajemen dependensi dan perkakas.
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
Jalankan regresi tolok ukur luring tanpa kunci API:
uv run pytest benchmarks/tests/
Lisensi
Apache License 2.0 — permisif, dengan pemberian paten eksplisit. Hak Cipta © 2026 Charles C. Figueiredo.