Skip to content

Latest commit

 

History

History
328 lines (227 loc) · 31.5 KB

File metadata and controls

328 lines (227 loc) · 31.5 KB

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

এটি একটি কমিউনিটি অনুবাদ। ইংরেজি README.md সত্যের উৎস এবং এটি আরও হালনাগাদ হতে পারে।

Magic Context

সীমাহীন প্রসঙ্গ। নিজে নিজে পরিচালিত স্মৃতি। একটি সেশন, সারাজীবনের জন্য।
কোডিং এজেন্টদের জন্য হিপোক্যাম্পাস, CortexKit-এর অংশ।

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

আপনি একজন ডেভেলপারকে একটি কাজের জন্য নিয়োগ করে কাজ শেষ হলেই বরখাস্ত করেন না।
আপনার এজেন্টের সঙ্গেও তা করা বন্ধ করুন।

Magic Context কী? · দ্রুত শুরু · CortexKit · প্রসঙ্গ · ধরা · সংহতি · স্মরণ · Docs · Configuration · Dashboard · 💬 Discord


Magic Context কী?

আপনি একজন ডেভেলপারকে একটি bug ঠিক করার জন্য নিয়োগ করে প্রকাশের মুহূর্তে তাকে বরখাস্ত করেন না। ভালোদের আপনি রাখেন। তারা codebase শেখে, কেন সিদ্ধান্ত নেওয়া হয়েছিল তা মনে রাখে, এবং প্রতি সপ্তাহে আরও ধারালো হয়।

কোডিং এজেন্টরা উল্টোভাবে কাজ করে। প্রতিটি কাজ আপনার প্রকল্প সম্পর্কে কোনো স্মৃতি না থাকা নতুন নিয়োগের মতো, এবং প্রতিটি সেশনের শেষে আপনি তাকে বরখাস্ত করে শূন্য থেকে শুরু করেন। কাজের মাঝেও তারা "compaction" বিরতিতে আঘাত পায়, যা প্রবাহ ভেঙে দেয় এবং তারা যা জানত তা নীরবে হারায়। এটি anterograde amnesia, হিপোক্যাম্পাস ক্ষতিগ্রস্ত হলে যা ঘটে তার মতো।

Magic Context তাদের একটি দেয়। এটি কোডিং এজেন্টদের জন্য হিপোক্যাম্পাস, মস্তিষ্কের সেই অংশ যা স্মৃতি গঠন করে, সেগুলো সংহত করে এবং ফিরিয়ে আনে, সম্পূর্ণভাবে পটভূমিতে। একটি সেশন আর একবার ব্যবহারযোগ্য ঠিকাদার থাকে না, বরং পুরো প্রকল্পে থাকা দীর্ঘমেয়াদি সহকর্মী হয়:

  • ধরা। historian যখন আপনার ইতিহাস কমপ্রেস করে, তখন স্থায়ী জ্ঞান (সিদ্ধান্ত, সীমাবদ্ধতা, রীতি) প্রকল্প স্মৃতিতে তুলে আনে। আপনি যে কাজ ইতিমধ্যে করছেন, সেখান থেকেই বিনা খরচে একটি স্মৃতি ব্যবস্থা পান।
  • সংহতি। রাতের বেলায় dreamer এজেন্টরা ঘুম আপনার জন্য যা করে তা করে: codebase-এর সঙ্গে স্মৃতি যাচাই করে, ডুপ্লিকেট ও পুরনো এন্ট্রি সাজায়, এবং যা বারবার ফিরে আসে তা উন্নীত করে।
  • স্মরণ। ঠিক স্মৃতিগুলো প্রতিটি টার্নে স্বয়ংক্রিয়ভাবে উঠে আসে, এবং এজেন্ট প্রয়োজনে স্মৃতি, পুরোনো কথোপকথন ও git ইতিহাসে খুঁজতে পারে। সেশন জুড়ে, এবং OpenCode ও Pi জুড়ে।

দুটি প্রতিশ্রুতি: আপনার এজেন্ট প্রসঙ্গ পরিচালনার জন্য কখনও থামে না (compaction বিরতি নেই, ভাঙা প্রবাহ নেই) এবং কখনও ভুলে যায় না

প্রতি প্রকল্পে একটি সেশন চালান এবং সপ্তাহ, মাস বা বছর ধরে চালু রাখুন। এটি আপনারা একসঙ্গে যা বানিয়েছেন সব মনে রাখবে।


দ্রুত শুরু

ইন্টারঅ্যাকটিভ সেটআপ উইজার্ড চালান। এটি আপনার মডেল শনাক্ত করে, সবকিছু কনফিগার করে এবং সামঞ্জস্য সামলায়।

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

অথবা সরাসরি চালান (যেকোনো OS):

npx @cortexkit/magic-context@latest setup

উইজার্ড স্বয়ংক্রিয়ভাবে দেখে আপনার কোন harnesses আছে (OpenCode, Pi, অথবা দুটিই), plugin যোগ করে, built-in compaction বন্ধ করে, historian, dreamer ও sidekick-এর জন্য মডেল বাছতে সাহায্য করে, এবং অন্য context-management plugins-এর সংঘাত মেটায়। নির্দিষ্ট harness লক্ষ্য করতে --harness opencode বা --harness pi ব্যবহার করুন।

built-in compaction কেন বন্ধ করবেন? Magic Context নিজেই প্রসঙ্গ পরিচালনা করে। host-এর compaction তার cache-aware deferred operations-এ বাধা দেবে এবং দ্বিগুণ কমপ্রেস করবে।

ম্যানুয়াল সেটআপ (OpenCode): opencode.json-এ plugin যোগ করুন ও compaction বন্ধ করুন, তারপর <project>/.cortexkit/-এ magic-context.jsonc রাখুন (অথবা user-wide defaults-এর জন্য ~/.config/cortexkit/)। configuration reference দেখুন।

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

Pi: npx @cortexkit/magic-context@latest setup --harness pi (Pi >= 0.74.0 দরকার)। Pi extension OpenCode-এর একই database শেয়ার করে; project memories এবং embeddings দুটির মধ্যে একত্র হয়।

সমস্যা সমাধান: npx @cortexkit/magic-context@latest doctor আপনার harnesses শনাক্ত করে, সংঘাত (compaction, OMO hooks, DCP) পরীক্ষা করে, plugin ও TUI sidebar যাচাই করে, database integrity check চালায় এবং যা পারে ঠিক করে। পাঠানোর জন্য প্রস্তুত bug report বানাতে --issue যোগ করুন।

নতুন বা দীর্ঘদিন চলা প্রকল্পে একইভাবে কাজ করে: ইনস্টল করুন, harness restart করুন, তারপর Magic Context সেই মুহূর্ত থেকে প্রসঙ্গ ধরে। ইনস্টলের আগের OpenCode বা Pi সেশন এটি backfill করে না।

অন্য context-management plugins-এর সঙ্গে সামঞ্জস্য

Magic Context প্রসঙ্গ ব্যবস্থাপনা শুরু থেকে শেষ পর্যন্ত নিজের হাতে রাখে, তাই অন্য plugin যদি সেই কাজ ইতিমধ্যে করে, এটি নিজেকে নিষ্ক্রিয় করে। একই সঙ্গে দুই context manager চালালে আপনার ইতিহাস দ্বিগুণ কমপ্রেস হবে এবং prompt cache নষ্ট হবে। startup-এ এটি নিচেরগুলো পরীক্ষা করে; setup এবং doctor প্রতিটি সমাধানে সাহায্য করে, আর সমাধান না হওয়া পর্যন্ত Magic Context বন্ধ থাকে (fail-safe) এবং কারণ জানায়:

  • OpenCode built-in compaction (compaction.auto / compaction.prune): Magic Context এটি প্রতিস্থাপন করে। Setup বন্ধ করে।
  • DCP (opencode-dcp): আলাদা context-pruning plugin। দুটো একসঙ্গে চলতে পারে না; plugin তালিকা থেকে সরান।
  • oh-my-opencode (OMO): setup তিনটি overlapping hooks বন্ধ করার প্রস্তাব দেয়:
    • preemptive-compaction: historian-এর সঙ্গে সংঘাত করা compaction চালায়।
    • context-window-monitor: Magic Context nudges-এর সঙ্গে মিলে যাওয়া usage warnings ঢোকায়।
    • anthropic-context-window-limit-recovery: historian এড়িয়ে emergency compaction চালায়।

যেকোনো সময় npx @cortexkit/magic-context@latest doctor চালিয়ে আবার পরীক্ষা ও auto-fix করুন।


CortexKit এর অংশ

মস্তিষ্ক একটিমাত্র অঙ্গ নয়। সক্ষম কোডিং এজেন্টও নয়।

CortexKit হলো plugins-এর পরিবার, প্রতিটি মস্তিষ্কের আলাদা অঞ্চলের আদলে তৈরি। একটি ইনস্টল করলে এজেন্ট আরও ধারালো হয়। তিনটি ইনস্টল করলে তার একটি মস্তিষ্ক হয়।

Plugin অঞ্চল কী করে
Magic Context (আপনি এখানে) হিপোক্যাম্পাস ও medial temporal lobe স্ব-পরিচালিত প্রসঙ্গ ও দীর্ঘমেয়াদি স্মৃতি। project knowledge গঠন, সংহত ও স্মরণ করার সময় compaction বিরতি ছাড়াই সেশন চালু রাখে।
AFT Sensorimotor cortex code structure উপলব্ধি করে এবং তাতে সুনির্দিষ্টভাবে কাজ করে। আপনার এজেন্টের জন্য যথাযথ IDE এবং OS।
Alfonso (শীঘ্রই আসছে) Prefrontal cortex নির্বাহী নিয়ন্ত্রণ। পরিকল্পনা করে, কাজ ভেঙে দেয়, এজেন্ট ও মডেল বেছে নেয়, এবং কখন জিজ্ঞেস, যাচাই ও commit করতে হবে সিদ্ধান্ত নেয়।

Magic Context হলো আপনার কখনও দরকার হবে এমন ৩টি plugin-এর ১টি। এটি মনে রাখে; AFT দেখে ও কাজ করে; Alfonso সিদ্ধান্ত নেয়। তারা একটি CortexKit store শেয়ার করে, তাই স্মৃতি harnesses ও tools জুড়ে জমা হয়।


⚡ প্রসঙ্গ ব্যবস্থাপনা

নিজে নিজে পরিচালিত সীমাহীন সেশন। কাজ করতে করতে context window ভরে যায়, আর সাধারণ সমাধান compaction এজেন্টকে থামিয়ে সবকিছু আবার পড়ায়। Magic Context পটভূমিতে ধারাবাহিকভাবে এটি সামলায়, তাই সেশন চলতেই থাকে।

  • Historian compartmentalization: পটভূমির historian পুরোনো raw history-কে tiered compartments-এ কমপ্রেস করে, পুরোনো messages-এর বদলে chronological summaries রাখে। প্রতিটির importance score আছে, ফলে live window ছোট থাকে কিন্তু সূত্র হারায় না। Summarizing মূল এজেন্টের coding muscle চায় না, তাই historian সস্তা বা সম্পূর্ণ local model-এ চলতে পারে, আর প্রধান agent থাকে top-tier।
  • Decay rendering: compartments মুহূর্ত অনুযায়ী সঠিক fidelity-তে render হয়, deterministic no-LLM rule দিয়ে যা model context window অনুযায়ী নিজে tune করে। পুরোনো history cliff থেকে পড়ে না, ধীরে ধীরে ফিকে হয়, এবং deterministic হওয়ায় একই history একইভাবে render হয়।
  • এজেন্ট বলে কী drop হবে, অথবা বলে না: agent-driven reduction চালু থাকলে agent ctx_reduce ডাকে পুরোনো tool outputs বা দীর্ঘ messages removal-এর জন্য mark করতে। Drops queued এবং cache-aware, শুধু cache-safe মুহূর্তে প্রয়োগ হয়, তাই reduction cache নষ্ট করে না। বন্ধ করলে agent context management থেকে পুরো বেরিয়ে যায়: পুরোনো output বয়স অনুযায়ী স্বয়ংক্রিয়ভাবে ঝরে, optional caveman compression দিয়ে সবচেয়ে পুরোনো text কমপ্রেস করা যায়।
  • Cache-stable layout: সবকিছু এমনভাবে সাজানো যাতে background work কখনও prompt-এর cached prefix invalid না করে। আপনার cache পুরো session টিকে থাকে।

ফলাফল: একটি session মাসের পর মাস চলে, compaction বিরতি নেই, এবং cache-priced providers-এ কম খরচ। OpenCode-এর TUI-তে এটি দেখা যায়, যেখানে live sidebar source অনুযায়ী context breakdown, historian status এবং memory counts দেখায়, প্রতিটি message-এর পর update হয়।

ঐচ্ছিক (default বন্ধ): caveman text compression agent-driven reduction বন্ধ থাকা দীর্ঘ session-এর জন্য deterministic age-tiered rule দিয়ে সবচেয়ে পুরোনো user ও assistant text ক্রমশ compress করে।


🧠 ধরা

স্মৃতি, বিনা খরচে। আপনার history কমপ্রেস করতে historian-কে সব পড়তে হয়। তাই একই pass-এ এটি চিরকাল রাখার মতো জ্ঞান, সিদ্ধান্ত, সীমাবদ্ধতা, রীতি, config values তুলে project memory-তে উন্নীত করে, categorize করে ভবিষ্যৎ প্রতিটি session-এ বহন করে। আপনার memory আপনি যে কাজ করছেন সেখান থেকেই নিজে তৈরি হয়।

এজেন্ট স্মৃতি স্পষ্টভাবেও লিখতে পারে, যদিও বেশিরভাগই স্বয়ংক্রিয়ভাবে ধরা হয়:

  • ctx_memory: ছোট category taxonomy (PROJECT_RULES, ARCHITECTURE, CONSTRAINTS, CONFIG_VALUES, NAMING) ব্যবহার করে cross-session knowledge সরাসরি write বা delete করুন।
ctx_memory(action="write", category="ARCHITECTURE", content="Event sourcing for orders.")

Temporal awareness (default চালু) messages-এর মধ্যে +2h 15m ধরনের gap markers এবং dated compartments দিয়ে agent-কে সময়বোধ দেয়, যাতে কতক্ষণ আগে কিছু ঘটেছে সে বুঝতে পারে। বন্ধ করতে temporal_awareness: false সেট করুন।


🌙 সংহতি

ঘুম স্মৃতির জন্য যা করে। ঐচ্ছিক dreamer agent রাতে চলে memory quality উঁচু রাখতে, প্রতিটি কাজের জন্য ephemeral child sessions চালু করে:

  • Verify: বর্তমান codebase (paths, configs, patterns) অনুযায়ী memories incrementally পরীক্ষা করে stale facts ঠিক বা সরায়।
  • Curate: পুরো memory pool scan করে duplicates merge করে, wording tightened করে, low-value বা redundant entries archive করে।
  • Classify: live prompt cache না নাড়িয়ে প্রতিটি memory-র importance, scope এবং safe shareability score করে।
  • Maintain docs: codebase changes থেকে ARCHITECTURE.md এবং STRUCTURE.md current রাখে।
  • User memories: আপনি কীভাবে কাজ করেন (communication style, review focus, working patterns) সে সম্পর্কে recurring observations <user-profile>-এ promote করে, যা প্রতিটি session-এর সঙ্গে যায়।
  • Smart notes: যেসব deferred notes-এর surface_condition সত্য হয়েছে সেগুলো evaluate করে ready notes surface করে।

এটি idle time-এ চলে বলে dreamer local models-এর সঙ্গে ভালো কাজ করে, ধীর হলেও। কেউ অপেক্ষা করে না। যেকোনো সময় /ctx-dream দিয়ে run trigger করুন।


🔎 স্মরণ

সঠিক সময়ে সঠিক স্মৃতি। প্রতিটি turn-এ active project memories এবং compacted session history স্বয়ংক্রিয়ভাবে ও cache-stably inject হয়। চাহিদামতো agent ব্যবহার করে:

  • ctx_search: এক query-তে তিন স্তর: project memories, raw conversation history, এবং indexed git commits। full-text fallback সহ semantic embeddings।

    ctx_search(query="why did we pick event sourcing for orders")
    
  • ctx_expand: agent exact details চাইলে compressed history range ফিরিয়ে original U:/A: transcript করে।

  • ctx_note: deferred intentions-এর scratchpad। Notes natural boundaries-এ (commits-এর পর, historian runs-এর পর, todos শেষ হলে) আবার surface করে। Smart notes একটি open-ended condition বহন করে যা dreamer দেখে।

স্মরণ sessions জুড়ে কাজ করে (নতুন session সব inherit করে) এবং harnesses জুড়ে কাজ করে (OpenCode-এ memory লিখুন, Pi-তে retrieve করুন)।

Auto search hints (default চালু) প্রতিটি turn-এ background ctx_search চালায় এবং relevant কিছু থাকলে "vague recall" ফিসফিস করে, যেন নেওয়া কোনো note প্রায় মনে পড়ছে। এটি শুধু compact fragments যোগ করে, full content কখনও নয়; বন্ধ করতে memory.auto_search.enabled: false সেট করুন। Git commit indexing (opt-in) আপনার project history-কে চতুর্থ ctx_search source হিসেবে semantically searchable করে, memory.git_commit_indexing.enabled: true দিয়ে চালু করুন।

এক নজরে agent tools

Tool Section কী করে
ctx_reduce প্রসঙ্গ stale tagged content removal-এর জন্য queue করে, cache-aware
ctx_memory ধরা durable cross-session memories write বা delete করে
ctx_search স্মরণ memories, conversation history এবং git commits খোঁজে
ctx_expand স্মরণ history range decompress করে transcript-এ ফেরায়
ctx_note স্মরণ deferred intentions এবং dreamer-evaluated smart notes

কমান্ড

Command Description
/ctx-status Debug view: tags, pending drops, cache TTL, nudge state, historian progress, compartment coverage, history budget
/ctx-flush Queue করা সব operations সঙ্গে সঙ্গে force করে, cache TTL bypass করে
/ctx-recomp raw history থেকে compartments rebuild করে (start-end range নেয়)। stored state ভুল মনে হলে ব্যবহার করুন
/ctx-session-upgrade এই session-কে latest history format-এ upgrade করে: compartments rebuild এবং project memories migrate করে
/ctx-aug prompt-এ sidekick augmentation চালায়: আলাদা model দিয়ে relevant memories আনে
/ctx-dream on demand dreamer maintenance চালায়: memory, docs, smart notes এবং user-profile review maintain করে

ডেস্কটপ অ্যাপ

টার্মিনালের বাইরে Magic Context state দেখা ও পরিচালনার companion desktop app।

⬇️ Download for macOS · Windows · Linux

  • Memory browser: category ও project অনুযায়ী project memories search, filter ও edit করে।
  • Session history: timeline navigation দিয়ে যেকোনো session-এর compartments ও notes browse করে।
  • Cache diagnostics: real-time cache hit/miss timeline এবং bust-cause detection।
  • Dreamer management: dream-run history দেখুন, runs trigger করুন, task results inspect করুন।
  • Configuration editor: model fallback chains সহ প্রতিটি setting form-based edit করে।
  • Log viewer: search সহ live-tailing logs।

এটি Magic Context-এর SQLite database থেকে সরাসরি পড়ে। অতিরিক্ত server নেই, API নেই। Auto-updates built in।


কনফিগারেশন

Settings থাকে magic-context.jsonc-এ। সবকিছুর sensible defaults আছে; project config user-wide settings-এর ওপর merge হয়। পূর্ণ reference, cache TTL tuning, per-model execute thresholds, historian ও dreamer model selection, embedding providers এবং memory settings-এর জন্য CONFIGURATION.md অথবা docs.cortexkit.io-এর configuration reference দেখুন।

Config locations (একটি shared CortexKit location, project user-কে override করে):

  1. <project-root>/.cortexkit/magic-context.jsonc
  2. ~/.config/cortexkit/magic-context.jsonc

পুরোনো version থেকে upgrade করছেন? existing config first run-এ এখানে move হয় (পুরোনো path-এ .MOVED_READPLEASE breadcrumb থাকে)।


স্টোরেজ

সব durable state shared CortexKit store-এর local SQLite database-এ থাকে (~/.local/share/cortexkit/magic-context/context.db, Windows-এ XDG-equivalent; legacy OpenCode-folder databases first boot-এ migrate হয়)। database খোলা না গেলে Magic Context নিজেকে disable করে এবং আপনাকে জানায়। memories repo থেকে derived stable project identity-তে keyed, তাই directory path-এ বাঁধা না থেকে worktrees, clones, forks জুড়ে project অনুসরণ করে।

Magic Context আরও কয়েকটি স্থানে লেখে:

Path What Persistence
~/.local/share/cortexkit/magic-context/context.db SQLite database, tags, compartments, memories, সব durable state (Windows-এ XDG-equivalent) Persist করতেই হবে। হারালে memory/history হারায়।
~/.local/share/cortexkit/magic-context/models/ Local embedding model cache (~90 MB Xenova/all-MiniLM-L6-v2 ONNX), local embeddings enabled হলে first use-এ downloaded Persist করা উচিত, না হলে প্রতিবার run-এ re-downloaded। memory.enabled: false বা openai_compatible/ollama embedding backend configured হলে used নয়।
${TMPDIR}/opencode/magic-context/magic-context.log (pi/ for Pi) Diagnostic log Disposable।

Sandboxed / ephemeral environments (Docker, CI, disposable containers): ~/.local/share/cortexkit/magic-context/ directory persistent volume-এ mount করুন যাতে database ও model cache runs-এর মধ্যে থাকে। শুধু model cache ephemeral হলে model আবার downloaded হবে; database ephemeral হলে memory ও history জমবে না। ~90 MB model download পুরো এড়াতে memory.enabled: false সেট করুন বা embedding remote openai_compatible/ollama backend-এ point করুন।


Star History

Star History Chart

ডেভেলপমেন্ট

প্রয়োজনীয়তা: 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 execution-এর জন্য live OpenCode server দরকার (dreamer ephemeral child sessions তৈরি করে)। on-demand maintenance-এর জন্য OpenCode-এর ভিতরে /ctx-dream ব্যবহার করুন।


অবদান

Bug reports এবং pull requests স্বাগত। বড় পরিবর্তনের জন্য আগে issue খুলে পদ্ধতি আলোচনা করুন। submit করার আগে bun run format চালান; CI unformatted code reject করে।


লাইসেন্স

MIT