English | 简体中文 | 繁體中文 | 한국어 | Deutsch | Español | Français | Italiano | Dansk | 日本語 | Polski | Русский | Bosanski | العربية | Norsk | Português (Brasil) | ไทย | Türkçe | Українська | বাংলা | Ελληνικά | Tiếng Việt
Αυτή είναι μια κοινοτική μετάφραση. Το αγγλικό README.md είναι η πηγή αλήθειας και μπορεί να είναι πιο ενημερωμένο.
Απεριόριστο πλαίσιο. Μνήμη που διαχειρίζεται τον εαυτό της. Μία συνεδρία, για μια ζωή.
Ο ιππόκαμπος για coding agents, μέρος του CortexKit.
Δεν προσλαμβάνεις έναν προγραμματιστή για μία εργασία και τον απολύεις όταν παραδώσει.
Σταμάτα να το κάνεις στον agent σου.
Τι είναι το Magic Context; · Γρήγορη εκκίνηση · CortexKit · Πλαίσιο · Σύλληψη · Εδραίωση · Ανάκληση · Docs · Configuration · Dashboard · 💬 Discord
Δεν προσλαμβάνεις έναν προγραμματιστή για να διορθώσει ένα bug και τον απολύεις τη στιγμή που αυτό κυκλοφορεί. Τους καλούς τους κρατάς. Μαθαίνουν το codebase, θυμούνται γιατί πάρθηκαν αποφάσεις και γίνονται πιο εύστοχοι κάθε εβδομάδα.
Οι coding agents λειτουργούν ανάποδα. Κάθε εργασία είναι μια νέα πρόσληψη χωρίς μνήμη του έργου σου, και στο τέλος κάθε συνεδρίας την απολύεις και ξεκινάς από το μηδέν. Στη μέση της εργασίας συναντούν ακόμη και παύσεις "compaction" που σπάνε τη ροή και χάνουν σιωπηλά όσα ήξεραν. Είναι προχωρητική αμνησία, το ίδιο που συμβαίνει όταν ο ιππόκαμπος έχει βλάβη.
Το Magic Context τους δίνει έναν. Είναι ο ιππόκαμπος για coding agents, το μέρος του εγκεφάλου που σχηματίζει μνήμες, τις εδραιώνει και τις ανακαλεί, εξ ολοκλήρου στο παρασκήνιο. Μία συνεδρία παύει να είναι αναλώσιμος εργολάβος και γίνεται μακροχρόνιος συμπαίκτης που ήταν εκεί για όλο το έργο:
- Σύλληψη. Όταν ο historian συμπιέζει το ιστορικό σου, σηκώνει τη διαρκή γνώση (αποφάσεις, περιορισμούς, συμβάσεις) στη μνήμη του έργου. Παίρνεις σύστημα μνήμης δωρεάν, από δουλειά που ήδη κάνεις.
- Εδραίωση. Τη νύχτα, οι dreamer agents κάνουν ό,τι κάνει ο ύπνος για σένα: ελέγχουν μνήμες απέναντι στο codebase, επιμελούνται διπλότυπα και παλιές εγγραφές, και προωθούν ό,τι επαναλαμβάνεται.
- Ανάκληση. Οι σωστές μνήμες εμφανίζονται αυτόματα σε κάθε γύρο, και ο agent μπορεί να αναζητά σε μνήμες, παλιές συνομιλίες και ιστορικό git κατά απαίτηση. Μεταξύ συνεδριών, και μεταξύ OpenCode και Pi.
Δύο υποσχέσεις: ο agent σου δεν σταματά ποτέ για να διαχειριστεί το πλαίσιο του (χωρίς παύσεις compaction, χωρίς σπασμένη ροή) και δεν ξεχνά ποτέ.
Τρέξε μία συνεδρία ανά έργο και κράτησέ την για εβδομάδες, μήνες ή χρόνια. Θα θυμάται όλα όσα χτίσατε μαζί.
Τρέξε τον διαδραστικό οδηγό εγκατάστασης. Ανιχνεύει τα μοντέλα σου, ρυθμίζει τα πάντα και χειρίζεται τη συμβατότητα.
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/cortexkit/magic-context/master/scripts/install.sh | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/cortexkit/magic-context/master/scripts/install.ps1 | iexΉ τρέξε απευθείας (οποιοδήποτε OS):
npx @cortexkit/magic-context@latest setupΟ οδηγός ανιχνεύει αυτόματα ποια harnesses έχεις (OpenCode, Pi ή και τα δύο), προσθέτει το plugin, απενεργοποιεί το ενσωματωμένο compaction, σε βοηθά να διαλέξεις μοντέλα για historian, dreamer και sidekick, και λύνει συγκρούσεις με άλλα plugins διαχείρισης πλαισίου. Στόχευσε συγκεκριμένο harness με --harness opencode ή --harness pi.
Γιατί να απενεργοποιηθεί το ενσωματωμένο compaction; Το Magic Context διαχειρίζεται το πλαίσιο μόνο του. Το compaction του host θα παρενέβαινε στις cache-aware αναβαλλόμενες λειτουργίες του και θα συμπίεζε δύο φορές.
Χειροκίνητη ρύθμιση (OpenCode): πρόσθεσε το plugin και κλείσε το compaction στο opencode.json, έπειτα βάλε ένα magic-context.jsonc στο <project>/.cortexkit/ (ή στο ~/.config/cortexkit/ για προεπιλογές χρήστη). Δες την αναφορά ρυθμίσεων.
Pi: npx @cortexkit/magic-context@latest setup --harness pi (απαιτεί Pi >= 0.74.0). Η επέκταση Pi μοιράζεται την ίδια βάση δεδομένων με το OpenCode· μνήμες έργου και embeddings συγκεντρώνονται και στα δύο.
Αντιμετώπιση προβλημάτων: npx @cortexkit/magic-context@latest doctor ανιχνεύει αυτόματα τα harnesses, ελέγχει συγκρούσεις (compaction, OMO hooks, DCP), επαληθεύει το plugin και το TUI sidebar, τρέχει έλεγχο ακεραιότητας στη βάση δεδομένων και διορθώνει ό,τι μπορεί. Πρόσθεσε --issue για έτοιμη αναφορά bug.
Δουλεύει το ίδιο σε ολοκαίνουργιο ή μακρόχρονο έργο: εγκατάσταση, επανεκκίνηση του harness, και το Magic Context συλλαμβάνει πλαίσιο από εκεί και μετά. Δεν συμπληρώνει παλιές συνεδρίες OpenCode ή Pi πριν εγκατασταθεί.
Συμβατότητα με άλλα plugins διαχείρισης πλαισίου
Το Magic Context κατέχει τη διαχείριση πλαισίου από άκρη σε άκρη, άρα απενεργοποιείται αν άλλο plugin κάνει ήδη αυτή τη δουλειά. Δύο διαχειριστές πλαισίου μαζί θα συμπίεζαν διπλά το ιστορικό και θα ταλαιπωρούσαν το prompt cache. Στην εκκίνηση ελέγχει τα εξής· setup και doctor σε βοηθούν να λύσεις το καθένα, και μέχρι να λυθούν το Magic Context μένει κλειστό (fail-safe) και λέει γιατί:
- OpenCode built-in compaction (
compaction.auto/compaction.prune): Το Magic Context το αντικαθιστά. Το Setup το κλείνει. - DCP (
opencode-dcp): ξεχωριστό plugin pruning πλαισίου. Τα δύο δεν τρέχουν μαζί· αφαίρεσέ το από τη λίσταplugin. - oh-my-opencode (OMO): το setup προσφέρει να απενεργοποιήσει τα τρία hooks που επικαλύπτονται:
preemptive-compaction: ενεργοποιεί compaction που συγκρούεται με τον historian.context-window-monitor: εισάγει προειδοποιήσεις χρήσης που επικαλύπτονται με τα nudges του Magic Context.anthropic-context-window-limit-recovery: ενεργοποιεί emergency compaction που παρακάμπτει τον historian.
Τρέξε npx @cortexkit/magic-context@latest doctor οποτεδήποτε για επανέλεγχο και αυτόματη διόρθωση.
Ο εγκέφαλος δεν είναι ένα όργανο. Ούτε ένας ικανός coding agent.
CortexKit είναι οικογένεια plugins, καθένα βασισμένο σε διαφορετική περιοχή του εγκεφάλου. Εγκατέστησε ένα και ο agent γίνεται πιο οξύς. Εγκατέστησε και τα τρία και έχει εγκέφαλο.
| Plugin | Περιοχή | Τι κάνει |
|---|---|---|
| Magic Context (είσαι εδώ) | Ιππόκαμπος και έσω κροταφικός λοβός | Αυτοδιαχειριζόμενο πλαίσιο και μακροπρόθεσμη μνήμη. Κρατά συνεδρίες να τρέχουν χωρίς παύσεις compaction ενώ σχηματίζει, εδραιώνει και ανακαλεί γνώση έργου ανάμεσά τους. |
| AFT | Αισθητικοκινητικός φλοιός | Αντιλαμβάνεται τη δομή κώδικα και ενεργεί με ακρίβεια. Ένα σωστό IDE και OS για τον agent σου. |
| Alfonso (έρχεται σύντομα) | Προμετωπιαίος φλοιός | Εκτελεστικός έλεγχος. Σχεδιάζει, διασπά εργασία, επιλέγει agents και μοντέλα, και αποφασίζει πότε να ρωτήσει, να επαληθεύσει και να commit. |
Το Magic Context είναι 1 από τα 3 plugins που θα χρειαστείς ποτέ. Θυμάται· το AFT αντιλαμβάνεται και δρα· το Alfonso αποφασίζει. Μοιράζονται ένα CortexKit store, άρα η μνήμη συγκεντρώνεται μεταξύ harnesses και εργαλείων.
Μια απεριόριστη συνεδρία που διαχειρίζεται τον εαυτό της. Το παράθυρο πλαισίου γεμίζει καθώς δουλεύεις, και η συνήθης λύση, compaction, σταματά τον agent για να ξαναδιαβάσει τα πάντα. Το Magic Context το χειρίζεται συνεχώς στο παρασκήνιο, ώστε η συνεδρία απλώς συνεχίζει.
- Διαμερισματοποίηση historian: ένας historian στο παρασκήνιο συμπιέζει παλιό raw history σε κλιμακωτά διαμερίσματα, χρονολογικές περιλήψεις που αντικαθιστούν παλιότερα μηνύματα. Κάθε ένα έχει βαθμό σημασίας, ώστε το live παράθυρο να μένει μικρό χωρίς να χάνεται το νήμα. Η περίληψη δεν χρειάζεται την προγραμματιστική δύναμη του κύριου agent, οπότε ο historian μπορεί να τρέχει σε φθηνό ή πλήρως local μοντέλο ενώ ο κύριος agent μένει top-tier.
- Decay rendering: τα διαμερίσματα αποδίδονται με τη σωστή πιστότητα για τη στιγμή, μέσω ντετερμινιστικού no-LLM κανόνα που αυτορυθμίζεται στο context window του μοντέλου. Το παλιό ιστορικό ξεθωριάζει ομαλά αντί να πέφτει από γκρεμό, και επειδή είναι ντετερμινιστικό, το ίδιο ιστορικό αποδίδεται πάντα με τον ίδιο τρόπο.
- Ο agent υποδεικνύει τι να πέσει, ή όχι: με agent-driven reduction ενεργό, ο agent καλεί
ctx_reduceγια να σημάνει παλιά tool outputs ή μεγάλα μηνύματα για αφαίρεση. Τα drops είναι queued και cache-aware, εφαρμόζονται μόνο σε cache-safe στιγμές, ώστε η μείωση να μη χτυπά ποτέ το cache. Κλείσ' το και ο agent μένει εντελώς έξω από τη διαχείριση πλαισίου: παλιό output αφαιρείται αυτόματα με βάση την ηλικία, με προαιρετική caveman συμπίεση του παλιότερου κειμένου. - Cache-stable διάταξη: όλα είναι δομημένα ώστε η δουλειά στο παρασκήνιο να μην ακυρώνει ποτέ το cached prefix του prompt. Το cache επιβιώνει όλη τη συνεδρία.
Το αποτέλεσμα: μία συνεδρία τρέχει για μήνες, χωρίς παύσεις compaction και με χαμηλό κόστος σε cache-priced providers. Μπορείς να το δεις στο TUI του OpenCode, όπου ένα live sidebar δείχνει ανάλυση πλαισίου ανά πηγή, κατάσταση historian και μετρήσεις μνήμης, ενημερωμένο μετά από κάθε μήνυμα.
Προαιρετικό (κλειστό από προεπιλογή): caveman text compression συμπιέζει σταδιακά το παλιότερο user και assistant κείμενο με ντετερμινιστικό κανόνα ηλικιακών βαθμίδων, για συνεδρίες με agent-driven reduction κλειστό.
Μνήμη, δωρεάν. Για να συμπιέσει το ιστορικό σου, ο historian πρέπει να το διαβάσει όλο. Στο ίδιο πέρασμα σηκώνει τη γνώση που αξίζει να διατηρηθεί για πάντα, αποφάσεις, περιορισμούς, συμβάσεις, τιμές config, και την προωθεί σε μνήμη έργου, κατηγοριοποιημένη και μεταφερόμενη σε κάθε μελλοντική συνεδρία. Η μνήμη σου χτίζεται μόνη της από τη δουλειά που ήδη κάνεις.
Ο agent μπορεί επίσης να καταγράφει μνήμες ρητά, αν και οι περισσότερες συλλαμβάνονται αυτόματα για αυτόν:
ctx_memory: γράψε ή διέγραψε γνώση μεταξύ συνεδριών άμεσα, σε μικρή ταξινομία κατηγοριών (PROJECT_RULES,ARCHITECTURE,CONSTRAINTS,CONFIG_VALUES,NAMING).
ctx_memory(action="write", category="ARCHITECTURE", content="Event sourcing for orders.")
Χρονική επίγνωση (ενεργή από προεπιλογή) δίνει στον agent αίσθηση χρόνου, με δείκτες κενού όπως
+2h 15mμεταξύ μηνυμάτων και χρονολογημένα διαμερίσματα, ώστε να συλλογίζεται πόσο καιρό πριν συνέβη κάτι. Θέσεtemporal_awareness: falseγια απενεργοποίηση.
Ό,τι κάνει ο ύπνος για τη μνήμη. Ένας προαιρετικός dreamer agent τρέχει τη νύχτα για να κρατά υψηλή την ποιότητα μνήμης, εκκινώντας εφήμερες child sessions για κάθε εργασία:
- Επαλήθευση: σταδιακός έλεγχος μνημών απέναντι στο τρέχον codebase (paths, configs, patterns) και διόρθωση ή αφαίρεση παλιών γεγονότων.
- Επιμέλεια: σάρωση ολόκληρου του memory pool για συγχώνευση διπλοτύπων, σύσφιξη διατύπωσης και αρχειοθέτηση χαμηλής αξίας ή πλεοναζόντων εγγραφών.
- Ταξινόμηση: βαθμολόγηση σημασίας, εμβέλειας και ασφαλούς διαμοιρασμού κάθε μνήμης χωρίς διατάραξη του live prompt cache.
- Συντήρηση docs: κράτα τα
ARCHITECTURE.mdκαιSTRUCTURE.mdενημερωμένα από αλλαγές στο codebase. - Μνήμες χρήστη: προώθηση επαναλαμβανόμενων παρατηρήσεων για τον τρόπο που δουλεύεις (στυλ επικοινωνίας, εστίαση review, μοτίβα εργασίας) σε
<user-profile>που ταξιδεύει με κάθε συνεδρία. - Smart notes: αξιολόγηση αναβαλλόμενων σημειώσεων των οποίων το
surface_conditionέγινε αληθές και εμφάνιση των έτοιμων.
Επειδή τρέχει σε idle χρόνο, ο dreamer ταιριάζει καλά με local μοντέλα, ακόμη και αργά. Κανείς δεν περιμένει. Ξεκίνα run οποτεδήποτε με /ctx-dream.
Η σωστή μνήμη τη σωστή στιγμή. Σε κάθε γύρο, ενεργές μνήμες έργου και συμπιεσμένο ιστορικό συνεδρίας εγχέονται αυτόματα και cache-stably. Κατά απαίτηση, ο agent χρησιμοποιεί:
-
ctx_search: ένα ερώτημα σε τρία επίπεδα ταυτόχρονα: project memories, raw conversation history και indexed git commits. Semantic embeddings με full-text fallback.ctx_search(query="why did we pick event sourcing for orders") -
ctx_expand: φέρνει ένα συμπιεσμένο εύρος ιστορικού πίσω στο αρχικόU:/A:transcript όταν ο agent χρειάζεται ακριβείς λεπτομέρειες. -
ctx_note: scratchpad για αναβαλλόμενες προθέσεις. Οι σημειώσεις επανεμφανίζονται σε φυσικά όρια (μετά από commits, μετά από historian runs, όταν ολοκληρώνονται todos). Smart notes φέρουν ανοιχτή συνθήκη που παρακολουθεί ο dreamer.
Η ανάκληση λειτουργεί μεταξύ συνεδριών (νέα συνεδρία κληρονομεί τα πάντα) και μεταξύ harnesses (γράψε μνήμη στο OpenCode, ανάκτησέ την στο Pi).
Αυτόματες υποδείξεις αναζήτησης (ενεργές από προεπιλογή) τρέχουν
ctx_searchστο παρασκήνιο κάθε γύρο και ψιθυρίζουν μια "ασαφή ανάκληση" όταν υπάρχει κάτι σχετικό, σαν να σχεδόν θυμάσαι μια σημείωση. Προσθέτει μόνο συμπαγή fragments, ποτέ πλήρες περιεχόμενο· θέσεmemory.auto_search.enabled: falseγια απενεργοποίηση. Git commit indexing (opt-in) κάνει το ιστορικό έργου σημασιολογικά searchable ως τέταρτη πηγήctx_search, ενεργοποίηση μεmemory.git_commit_indexing.enabled: true.
| Εργαλείο | Ενότητα | Τι κάνει |
|---|---|---|
ctx_reduce |
Πλαίσιο | Βάζει παλιό tagged content σε ουρά αφαίρεσης, cache-aware |
ctx_memory |
Σύλληψη | Γράφει ή διαγράφει διαρκείς μνήμες μεταξύ συνεδριών |
ctx_search |
Ανάκληση | Αναζητά μνήμες, ιστορικό συνομιλίας και git commits |
ctx_expand |
Ανάκληση | Αποσυμπιέζει εύρος ιστορικού πίσω σε transcript |
ctx_note |
Ανάκληση | Αναβαλλόμενες προθέσεις και smart notes αξιολογημένες από dreamer |
| Εντολή | Περιγραφή |
|---|---|
/ctx-status |
Προβολή debug: tags, pending drops, cache TTL, nudge state, πρόοδος historian, κάλυψη διαμερισμάτων, budget ιστορικού |
/ctx-flush |
Αναγκαστική άμεση εκτέλεση όλων των queued operations, παρακάμπτοντας cache TTL |
/ctx-recomp |
Αναδόμηση διαμερισμάτων από raw history (δέχεται εύρος start-end). Χρήση όταν η αποθηκευμένη κατάσταση φαίνεται λάθος |
/ctx-session-upgrade |
Αναβάθμιση της συνεδρίας στο πιο πρόσφατο history format: rebuild compartments και migrate project memories |
/ctx-aug |
Εκτέλεση sidekick augmentation σε prompt: ανάκτηση σχετικών μνημών μέσω ξεχωριστού μοντέλου |
/ctx-dream |
Εκτέλεση dreamer maintenance κατά απαίτηση: memory, docs, smart notes και user-profile review |
Συνοδευτική desktop app για περιήγηση και διαχείριση της κατάστασης Magic Context έξω από το terminal.
⬇️ Download for macOS · Windows · Linux
- Memory browser: αναζήτηση, φιλτράρισμα και επεξεργασία project memories ανά κατηγορία και έργο.
- Session history: περιήγηση σε compartments και notes οποιασδήποτε συνεδρίας με timeline navigation.
- Cache diagnostics: real-time cache hit/miss timeline και bust-cause detection.
- Dreamer management: προβολή dream-run history, ενεργοποίηση runs, έλεγχος task results.
- Configuration editor: form-based επεξεργασία κάθε setting, συμπεριλαμβανομένων model fallback chains.
- Log viewer: live-tailing logs με αναζήτηση.
Διαβάζει απευθείας από τη SQLite βάση του Magic Context. Κανένας επιπλέον server, κανένα API. Ενσωματωμένες αυτόματες ενημερώσεις.
Οι ρυθμίσεις ζουν στο magic-context.jsonc. Όλα έχουν λογικές προεπιλογές· η ρύθμιση έργου συγχωνεύεται πάνω από τις ρυθμίσεις χρήστη. Για την πλήρη αναφορά, cache TTL tuning, per-model execute thresholds, επιλογή μοντέλων historian και dreamer, embedding providers και memory settings, δες CONFIGURATION.md ή την αναφορά ρύθμισης στο docs.cortexkit.io.
Τοποθεσίες ρύθμισης (μία κοινή CortexKit τοποθεσία, το έργο υπερισχύει του χρήστη):
<project-root>/.cortexkit/magic-context.jsonc~/.config/cortexkit/magic-context.jsonc
Αναβαθμίζεις από παλιότερη έκδοση; Η υπάρχουσα ρύθμιση μετακινείται εδώ αυτόματα στην πρώτη εκτέλεση (ένα breadcrumb .MOVED_READPLEASE μένει στην παλιά διαδρομή).
Όλη η διαρκής κατάσταση ζει σε τοπική SQLite βάση κάτω από το κοινό CortexKit store (~/.local/share/cortexkit/magic-context/context.db, XDG-equivalent σε Windows· παλιές βάσεις σε OpenCode folders μεταναστεύουν στο πρώτο boot). Αν η βάση δεν μπορεί να ανοίξει, το Magic Context απενεργοποιείται και σε ειδοποιεί. Οι μνήμες συνδέονται με σταθερή ταυτότητα έργου που παράγεται από το repo, οπότε ακολουθούν το έργο μεταξύ worktrees, clones και forks αντί να δένονται σε διαδρομή φακέλου.
Το Magic Context γράφει επίσης σε λίγες άλλες τοποθεσίες:
| Διαδρομή | Τι | Διατήρηση |
|---|---|---|
~/.local/share/cortexkit/magic-context/context.db |
SQLite βάση, tags, compartments, memories, όλη η διαρκής κατάσταση (XDG-equivalent σε Windows) | Πρέπει να διατηρείται. Αν χαθεί, χάνεις memory/history. |
~/.local/share/cortexkit/magic-context/models/ |
Local embedding model cache (~90 MB Xenova/all-MiniLM-L6-v2 ONNX), κατεβαίνει στην πρώτη χρήση όταν τα local embeddings είναι ενεργά |
Πρέπει να διατηρείται, αλλιώς ξανακατεβαίνει σε κάθε run. Δεν χρησιμοποιείται όταν memory.enabled: false ή έχει ρυθμιστεί openai_compatible/ollama embedding backend. |
${TMPDIR}/opencode/magic-context/magic-context.log (pi/ for Pi) |
Diagnostic log | Αναλώσιμο. |
Sandboxed / ephemeral environments (Docker, CI, disposable containers): κάνε mount τον φάκελο ~/.local/share/cortexkit/magic-context/ σε persistent volume ώστε βάση και model cache να επιβιώνουν μεταξύ runs. Αν μόνο το model cache είναι ephemeral, το μοντέλο απλώς ξανακατεβαίνει· αν η βάση είναι ephemeral, memory και history δεν συσσωρεύονται. Για να αποφύγεις τελείως το download ~90 MB μοντέλου, θέσε memory.enabled: false ή δείξε το embedding σε απομακρυσμένο openai_compatible/ollama backend.
Απαιτήσεις: Bun ≥ 1.0
bun install # Install dependencies
bun run build # Build the plugin
bun run typecheck # Type-check without emitting
bun test # Run tests
bun run lint # Lint (Biome)
bun run format # Format (Biome)Η εκτέλεση Dream απαιτεί ζωντανό OpenCode server (ο dreamer δημιουργεί εφήμερες child sessions). Χρησιμοποίησε /ctx-dream μέσα στο OpenCode για maintenance κατά απαίτηση.
Bug reports και pull requests είναι ευπρόσδεκτα. Για μεγαλύτερες αλλαγές, άνοιξε πρώτα issue για να συζητηθεί η προσέγγιση. Τρέξε bun run format πριν την υποβολή· το CI απορρίπτει μη μορφοποιημένο κώδικα.
{ "plugin": ["@cortexkit/opencode-magic-context"], "compaction": { "auto": false, "prune": false } }