MCPcopy Index your code
hub / github.com/cortexkit/magic-context

github.com/cortexkit/magic-context @v0.30.7

Chat with this repo
repository ↗ · DeepWiki ↗ · release v0.30.7 ↗ · + Follow
6,597 symbols 22,884 edges 943 files 479 documented · 7%
What it actually does AI analysis from the code graph — generated when you open this
loading…
README

English | 简体中文 | 繁體中文 | 한국어 | Deutsch | Español | Français | Italiano | Dansk | 日本語 | Polski | Русский | Bosanski | العربية | Norsk | Português (Brasil) | ไทย | Türkçe | Українська | বাংলা | Ελληνικά | Tiếng Việt

Bu bir topluluk çevirisidir. İngilizce README.md doğruluk kaynağıdır ve daha güncel olabilir.

Magic Context

Sınırsız bağlam. Kendini yöneten bellek. Ömür boyu süren tek oturum.

CortexKit'in parçası, kodlama ajanları için hipokampus.

npm @cortexkit/magic-context npm @cortexkit/opencode-magic-context npm @cortexkit/pi-magic-context Discord stars MIT License

Bir geliştiriciyi tek görev için işe alıp teslim edince kovmazsın.

Bunu ajanına yapmayı bırak.

Magic Context nedir? · Hızlı başlangıç · CortexKit · Bağlam · Yakalama · Pekiştirme · Hatırlama · Docs · Configuration · Dashboard · 💬 Discord


Magic Context nedir?

Bir geliştiriciyi tek bir bug düzeltmesi için işe alıp değişiklik yayınlandığı anda kovmazsın. İyi olanları tutarsın. Kod tabanını öğrenirler, kararların neden alındığını hatırlarlar ve her hafta daha keskin hale gelirler.

Kodlama ajanları tam tersine çalışır. Her görev, projen hakkında belleği olmayan yeni bir işe alımdır ve her oturumun sonunda onu kovup sıfırdan başlarsın. Görevin ortasında akışı bozan ve bildiklerini sessizce düşüren "compaction" duraklamalarına bile takılırlar. Bu, hipokampus zarar gördüğünde olanla aynı anterograd amnezidir.

Magic Context onlara bir hipokampus verir. Kodlama ajanları için hipokampustur, beynin anılar oluşturan, onları pekiştiren ve geri çağıran kısmıdır, tamamen arka planda çalışır. Bir oturum artık tek kullanımlık yüklenici olmaktan çıkar ve tüm proje boyunca orada olan uzun vadeli takım arkadaşına dönüşür:

  • Yakalama. historian geçmişini sıkıştırırken kalıcı bilgiyi (kararlar, kısıtlar, kurallar) proje belleğine taşır. Zaten yaptığın işten ücretsiz bir bellek sistemi elde edersin.
  • Pekiştirme. Gece boyunca dreamer ajanları uykunun senin için yaptığını yapar: anıları kod tabanına göre doğrular, yinelenen ve eski girdileri düzenler, tekrar edenleri yükseltir.
  • Hatırlama. Doğru anılar her turda otomatik olarak görünür, ajan da gerektiğinde anılar, geçmiş konuşmalar ve git geçmişi içinde arama yapabilir. Oturumlar arasında, OpenCode ve Pi arasında.

İki söz: ajanının bağlamını yönetmek için asla durmaz (compaction duraklaması yok, kırık akış yok) ve asla unutmaz.

Her proje için bir oturum çalıştır ve haftalar, aylar veya yıllar boyunca sürdür. Birlikte inşa ettiğiniz her şeyi hatırlar.


Hızlı başlangıç

Etkileşimli kurulum sihirbazını çalıştır. Modellerini algılar, her şeyi yapılandırır ve uyumluluğu ele alır.

macOS / Linux:

curl -fsSL https://raw.githubusercontent.com/cortexkit/magic-context/master/scripts/install.sh | bash

Windows (PowerShell):

irm https://raw.githubusercontent.com/cortexkit/magic-context/master/scripts/install.ps1 | iex

Ya da doğrudan çalıştır (her OS):

npx @cortexkit/magic-context@latest setup

Sihirbaz hangi harnesses bulunduğunu (OpenCode, Pi veya ikisi) otomatik algılar, plugin ekler, yerleşik compaction özelliğini kapatır, historian, dreamer ve sidekick için model seçmene yardım eder ve diğer bağlam yönetimi plugins ile çakışmaları çözer. Belirli bir harness hedeflemek için --harness opencode veya --harness pi kullan.

Yerleşik compaction neden kapatılır? Magic Context bağlamı kendisi yönetir. Host compaction, cache-aware ertelenmiş işlemlerine karışır ve iki kez sıkıştırır.

Elle kurulum (OpenCode): opencode.json içinde plugin ekle ve compaction kapat, sonra <project>/.cortexkit/ içine bir magic-context.jsonc bırak (kullanıcı geneli varsayılanlar için ~/.config/cortexkit/). Yapılandırma başvurusuna bak.

{
  "plugin": ["@cortexkit/opencode-magic-context"],
  "compaction": { "auto": false, "prune": false }
}

Pi: npx @cortexkit/magic-context@latest setup --harness pi (Pi >= 0.74.0 gerektirir). Pi uzantısı OpenCode ile aynı veritabanını paylaşır; proje anıları ve embeddings ikisi arasında toplanır.

Sorun giderme: npx @cortexkit/magic-context@latest doctor harnesses algılar, çakışmaları (compaction, OMO hooks, DCP) kontrol eder, plugin ve TUI kenar çubuğunu doğrular, veritabanında bütünlük kontrolü çalıştırır ve yapabildiklerini düzeltir. Gönderime hazır bug raporu oluşturmak için --issue ekle.

Yeni veya uzun süredir devam eden projede aynı şekilde çalışır: kur, harness'i yeniden başlat ve Magic Context o noktadan itibaren bağlamı yakalar. Kurulumdan önceki OpenCode veya Pi oturumlarını geriye dönük doldurmaz.

Diğer bağlam yönetimi plugins ile uyumluluk

Magic Context bağlam yönetimini uçtan uca sahiplenir, bu yüzden başka bir plugin zaten bu işi yapıyorsa kendini devre dışı bırakır. İki bağlam yöneticisini aynı anda çalıştırmak geçmişini iki kez sıkıştırır ve prompt cache'i sarsar. Başlangıçta şunları kontrol eder; setup ve doctor her birini çözmene yardım eder, çözülene kadar Magic Context kapalı kalır (fail-safe) ve nedenini söyler:

  • OpenCode built-in compaction (compaction.auto / compaction.prune): Magic Context onun yerini alır. Setup kapatır.
  • DCP (opencode-dcp): ayrı bir bağlam budama pluginidir. İkisi birlikte çalışamaz; plugin listenden kaldır.
  • oh-my-opencode (OMO): setup örtüşen üç hooks'u devre dışı bırakmayı önerir:
  • preemptive-compaction: historian ile çakışan compaction tetikler.
  • context-window-monitor: Magic Context nudges ile örtüşen kullanım uyarıları ekler.
  • anthropic-context-window-limit-recovery: historian'ı atlayan acil compaction tetikler.

Yeniden kontrol ve otomatik düzeltme için istediğin zaman npx @cortexkit/magic-context@latest doctor çalıştır.


CortexKit parçası

Beyin tek bir organ değildir. Yetenekli bir kodlama ajanı da değildir.

CortexKit bir plugin ailesidir; her biri beynin farklı bir bölgesine göre modellenmiştir. Birini kur, ajan daha keskin olur. Üçünü de kur, bir beyni olur.

Plugin Bölge Ne yapar
Magic Context (buradasın) Hipokampus ve medial temporal lob Kendini yöneten bağlam ve uzun vadeli bellek. Proje bilgisini oturumlar arasında oluştururken, pekiştirirken ve hatırlarken oturumları compaction duraklaması olmadan sürdürür.
AFT Duyumotor korteks Kod yapısını algılar ve ona hassas davranır. Ajanın için gerçek bir IDE ve OS.
Alfonso (yakında) Prefrontal korteks Yürütücü kontrol. Planlar, işi parçalar, ajanları ve modelleri seçer, ne zaman soracağını, doğrulayacağını ve commit edeceğini belirler.

Magic Context ihtiyacın olacak 3 plugin'den 1'idir. O hatırlar; AFT algılar ve davranır; Alfonso karar verir. Tek bir CortexKit store paylaşırlar, böylece bellek harnesses ve araçlar arasında toplanır.


⚡ Bağlam yönetimi

Kendini yöneten sınırsız bir oturum. Çalışırken bağlam penceresi dolar ve alışılmış çözüm olan compaction, ajanı durdurup her şeyi yeniden okutur. Magic Context bunu arka planda sürekli işler, bu yüzden oturum devam eder.

  • Historian bölmelendirmesi: arka plan historian eski ham geçmişi katmanlı bölmelere sıkıştırır, eski mesajların yerine geçen kronolojik özetler oluşturur. Her birinin önem puanı vardır, canlı pencere ipi kaybetmeden küçük kalır. Özetleme ana ajanının kodlama gücünü gerektirmez, bu yüzden historian'ı ucuz veya tamamen local bir modelde çalıştırırken ana ajanı üst seviyede tutabilirsin.
  • Decay rendering: bölmeler o an için doğru ayrıntı düzeyinde, modelin bağlam penceresine kendini ayarlayan deterministik ve no-LLM bir kuralla render edilir. Eski geçmiş uçurumdan düşmek yerine zarifçe solar ve deterministik olduğu için aynı geçmiş her zaman aynı şekilde render edilir.
  • Ajan neyin atılacağını söyler, ya da söylemez: agent-driven reduction açıkken ajan ctx_reduce çağırarak eski tool outputs veya uzun mesajları kaldırma için işaretler. Drops kuyruğa alınır ve cache-aware olur, yalnızca cache-safe anlarda uygulanır, bu yüzden azaltma cache'i bozmaz. Kapatırsan ajan bağlam yönetiminden tamamen çıkar: eski output yaşa göre otomatik atılır, en eski metin için isteğe bağlı caveman sıkıştırması vardır.
  • Cache-stabil düzen: tüm bunlar arka plan çalışmasının prompt'un cache'lenmiş prefix'ini asla geçersiz kılmayacağı şekilde yapılandırılır. Cache'in tüm oturum boyunca hayatta kalır.

Sonuç: tek bir oturum aylarca çalışır, compaction duraklaması olmaz ve cache fiyatlı sağlayıcılarda düşük maliyetlidir. Bunu OpenCode TUI içinde görebilirsin; canlı kenar çubuğu kaynağa göre bağlam dökümünü, historian durumunu ve bellek sayılarını gösterir, her mesajdan sonra güncellenir.

İsteğe bağlı (varsayılan kapalı): caveman text compression agent-driven reduction kapalı çalışan oturumlarda, en eski user ve assistant metnini deterministik yaş katmanı kuralıyla kademeli sıkıştırır.


🧠 Yakalama

Bedava bellek. Geçmişini sıkıştırmak için historian tamamını okumak zorundadır. Aynı geçişte sonsuza dek saklanmaya değer bilgiyi, kararları, kısıtları, kuralları ve yapılandırma değerlerini çıkarır, bunları proje belleğine yükseltir, kategorize eder ve gelecekteki her oturuma taşır. Belleğin zaten yaptığın işten kendi kendini kurar.

Ajan ayrıca anıları açıkça kaydedebilir, ancak çoğu onun için otomatik yakalanır:

  • ctx_memory: küçük bir kategori taksonomisinde (PROJECT_RULES, ARCHITECTURE, CONSTRAINTS, CONFIG_VALUES, NAMING) oturumlar arası bilgiyi doğrudan yaz veya sil.
ctx_memory(action="write", category="ARCHITECTURE", content="Event sourcing for orders.")

Zaman farkındalığı (varsayılan açık) mesajlar arasındaki +2h 15m gibi boşluk işaretleri ve tarihli bölmelerle ajana zaman hissi verir, böylece bir şeyin ne kadar önce olduğunu akıl yürütebilir. Kapatmak için temporal_awareness: false ayarla.


🌙 Pekiştirme

Uykunun bellek için yaptığı şey. İsteğe bağlı dreamer ajanı bellek kalitesini yüksek tutmak için gece çalışır ve her görev için geçici child sessions başlatır:

  • Doğrula: anıları mevcut codebase'e (paths, configs, patterns) göre artımlı kontrol et ve eski gerçekleri düzelt veya kaldır.
  • Düzenle: tüm bellek havuzunu tara, yinelenenleri birleştir, ifadeleri sıkılaştır, düşük değerli veya gereksiz girdileri arşivle.
  • Sınıflandır: canlı prompt cache'i bozmadan her anının önemini, kapsamını ve güvenli paylaşılabilirliğini puanla.
  • Docs bakımı: codebase değişikliklerinden ARCHITECTURE.md ve STRUCTURE.md güncel tut.
  • Kullanıcı anıları: nasıl çalıştığına dair tekrar eden gözlemleri (iletişim tarzı, review odağı, çalışma kalıpları) her oturumla taşınan bir <user-profile> içine yükselt.
  • Smart notes: surface_condition gerçekleşmiş ertelenmiş notları değerlendir ve hazır olanları göster.

Boş zamanda çalıştığı için dreamer yerel modellerle, yavaş olanlarla bile iyi eşleşir. Kimse beklemez. İstediğin zaman /ctx-dream ile run tetikle.


🔎 Hatırlama

Doğru anda doğru bellek. Her turda aktif proje anıları ve sıkıştırılmış oturum geçmişi otomatik ve cache-stabil biçimde enjekte edilir. İstek üzerine ajan şunlara başvurur:

  • ctx_search: aynı anda üç katmanda tek sorgu: proje memories, ham conversation geçmişi ve indekslenmiş git commits. Full-text fallback ile semantic embeddings.

ctx_search(query="why did we pick event sourcing for orders")

  • **`ctx_exp

Extension points exported contracts — how you extend this code

EmbeddingProvider (Interface)
(no doc) [8 implementers]
packages/plugin/src/features/magic-context/memory/embedding-provider.ts
PromptIO (Interface)
(no doc) [4 implementers]
packages/cli/src/lib/prompts.ts
NoWindowExt (Interface)
Apply `CREATE_NO_WINDOW` to a `std::process::Command` on Windows. [1 implementers]
packages/dashboard/src-tauri/src/process_ext.rs
SessionMetaRow (Interface)
* Pi context-overflow detection and pressure correction. * * Pi shares the same provider-agnostic overflow matcher and
packages/e2e-tests/tests/pi-overflow-recovery.test.ts
PiInvocation (Interface)
How to spawn a Pi child: the binary plus any fixed leading args. Always * spawned without a shell (see {@link resolveP
packages/pi-plugin/src/subagent-runner.ts
RetrospectiveRawProvider (Interface)
(no doc) [4 implementers]
packages/plugin/src/features/magic-context/dreamer/retrospective-raw-provider.ts
HarnessAdapter (Interface)
(no doc) [4 implementers]
packages/cli/src/adapters/types.ts
NoWindowExtTokio (Interface)
Apply `CREATE_NO_WINDOW` to a `tokio::process::Command` on Windows. [1 implementers]
packages/dashboard/src-tauri/src/process_ext.rs

Core symbols most depended-on inside this repo

get
called by 1551
packages/plugin/src/shared/bounded-session-map.ts
prepare
called by 1470
packages/plugin/src/shared/sqlite.ts
run
called by 778
packages/plugin/src/shared/subagent-runner.ts
set
called by 480
packages/plugin/src/shared/bounded-session-map.ts
closeQuietly
called by 450
packages/plugin/src/shared/sqlite-helpers.ts
sessionLog
called by 438
packages/plugin/src/shared/logger.ts
has
called by 419
packages/plugin/src/shared/bounded-session-map.ts
openDatabase
called by 381
packages/plugin/src/features/magic-context/storage-db.ts

Shape

Function 5,238
Interface 844
Method 329
Class 180
Enum 6

Languages

TypeScript88%
Rust12%

Modules by API surface

packages/dashboard/src-tauri/src/db.rs264 symbols
packages/plugin/src/features/magic-context/storage-meta-persisted.ts125 symbols
packages/dashboard/src-tauri/src/commands.rs114 symbols
packages/plugin/src/features/magic-context/storage-tags.ts91 symbols
packages/plugin/src/hooks/magic-context/inject-compartments.ts84 symbols
packages/dashboard/src/lib/api.ts77 symbols
packages/pi-plugin/src/context-handler.ts75 symbols
packages/dashboard/src-tauri/src/serve/mod.rs73 symbols
packages/plugin/src/features/magic-context/memory/storage-memory.ts64 symbols
packages/pi-plugin/src/inject-compartments-pi.ts63 symbols
packages/dashboard/src/components/ConfigEditor/ConfigEditor.tsx60 symbols
packages/dashboard/src-tauri/src/embedding_probe.rs56 symbols

For agents

$ claude mcp add magic-context \
  -- python -m otcore.mcp_server <graph>

⬇ download graph artifact