* Add server beta runtime foundation * Address server beta review findings * Resolve server beta review comments * Tighten server beta review follow-ups * Harden server beta auth and search * Avoid unnecessary FTS rebuilds * Block scoped keys from creating projects * Release BullMQ claims best effort on close * Address server beta review blockers * Reset BullMQ claims best effort * Add Postgres observation storage foundation * feat(server-beta): add independent runtime service Introduce src/server/runtime/ as a self-contained server-beta runtime that owns its lifecycle, Postgres bootstrap, and HTTP boundary without depending on WorkerService. ServerBetaService wraps the existing Server class, exposes /healthz and /v1/info with runtime="server-beta", and persists state to dedicated paths (.server-beta.pid|.port|.runtime.json). The four boundary managers (queue, generation worker, provider registry, event broadcaster) are intentionally disabled in this phase and report their status through /v1/info; later phases activate them. Adds plans/2026-05-07-finish-bullmq-branch-ship-plan.md to track the remaining work for this branch. Phase 2 of plans/2026-05-07-server-beta-independent-bullmq-observation-runtime.md. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * feat(server-beta): route CLI lifecycle and bundle separate runtime scripts/build-hooks.js now produces plugin/scripts/server-beta-service.cjs as a separate Node CJS bundle, alongside the existing worker-service bundle. The server-beta runtime is now installable independently. src/npx-cli/commands/server.ts routes start|stop|restart|status to the server-beta lifecycle instead of the legacy worker. The worker keeps its own start|stop|restart|status under the worker namespace; the two runtimes can be operated independently. src/services/worker-service.ts adds a server-* command parser branch that delegates to the sibling server-beta-service.cjs bundle so direct worker-service invocations still route to the right runtime. tests/npx-cli-server-namespace.test.ts updated to expect server-beta lifecycle routing. Includes rebuilt plugin/scripts/*.cjs bundles produced by build-and-sync. Phase 2 of plans/2026-05-07-server-beta-independent-bullmq-observation-runtime.md. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * feat(server-beta): add BullMQ job queue primitives Introduce src/server/jobs/ as the queue-side primitives that Phase 3 of the server-beta runtime needs to operate. types.ts defines a discriminated union over the four job kinds (event, event-batch, summary, reindex) and maps each to a per-kind BullMQ queue name and deterministic-ID prefix. job-id.ts builds deterministic, colon-free BullMQ jobIds from (kind, team, project, source). The colon ban exists because BullMQ uses ':' as a Redis key separator internally; embedding ':' in jobIds breaks scan and state lookups. ServerJobQueue.ts is a thin wrapper over BullMQ Queue + Worker that enforces autorun:false, default concurrency 1, and an attached error listener — all per BullMQ docs requirements. Test seams accept queue and worker factories so unit tests do not need Redis. outbox.ts publishes through the Postgres ObservationGenerationJob repository as canonical history. enqueueOutbox writes the row first, then publishes to BullMQ; if BullMQ throws, the row is transitioned to failed and a failed event is appended. reconcileOnStartup re-enqueues queued + processing rows after a restart, replacing terminal BullMQ jobs that may still be holding the deterministic ID slot. markCompleted and markFailed wrap transitionStatus and append the matching event row. Includes 20 unit tests covering deterministic ID stability, colon-free output, queue lifecycle, error-listener attachment, double-start refusal, idempotent enqueue, BullMQ failure rollback, startup reconciliation, max-attempts skipping, and completion / failure / retry transitions. Phase 3 commit 1 of plans/2026-05-07-server-beta-independent-bullmq-observation-runtime.md. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * feat(server-beta): activate queue boundary in runtime service Wire ActiveServerBetaQueueManager into the server-beta runtime graph. The active manager owns one ServerJobQueue per generation kind (event, event-batch, summary, reindex) and surfaces lane metadata through boundary health. Selection is opt-in and fail-fast: if CLAUDE_MEM_QUEUE_ENGINE is set to bullmq the active manager is constructed (and any Redis/config error throws — no silent fallback to SQLite, per Phase 3 anti-pattern guard). For any other engine the disabled boundary remains so worker-era and test setups stay compatible. Widens ServerBetaBoundaryHealth.status to a discriminated union ('disabled' | 'active' | 'errored') with optional details. The disabled adapter still emits status='disabled', which keeps the existing server-beta-service test green. ServerBetaService receives the manager through a new optional queueManager field on CreateServerBetaServiceOptions so test graphs and Phase 4 wiring can inject custom managers. Adds tests/server/runtime/active-queue-manager.test.ts covering bullmq guard, active health shape, per-kind queue access, close behavior, and post-close errored health. Phase 3 commit 2 of plans/2026-05-07-server-beta-independent-bullmq-observation-runtime.md. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> * fix(server-beta): cap /v1/events/batch at 500 events Prevents unbounded array DoS surface flagged in PR review. Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com> --------- Co-authored-by: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
16 KiB
🇨🇳 中文 • 🇯🇵 日本語 • 🇧🇷 Português • 🇰🇷 한국어 • 🇪🇸 Español • 🇩🇪 Deutsch • 🇫🇷 Français 🇮🇱 עברית • 🇸🇦 العربية • 🇷🇺 Русский • 🇵🇱 Polski • 🇨🇿 Čeština • 🇳🇱 Nederlands • 🇹🇷 Türkçe • 🇺🇦 Українська • 🇻🇳 Tiếng Việt • 🇮🇩 Indonesia • 🇹🇭 ไทย • 🇮🇳 हिन्दी • 🇧🇩 বাংলা • 🇵🇰 اردو • 🇷🇴 Română • 🇸🇪 Svenska • 🇮🇹 Italiano • 🇬🇷 Ελληνικά • 🇭🇺 Magyar • 🇫🇮 Suomi • 🇩🇰 Dansk • 🇳🇴 Norsk
Claude Code کے لیے بنایا گیا مستقل میموری کمپریشن سسٹم۔
تیز رفتار شروعات • یہ کیسے کام کرتا ہے • تلاش کے اوزار • دستاویزات • ترتیبات • مسائل کی تشخیص • لائسنس
Claude-Mem خودکار طور پر ٹول کے استعمال کے بعد کے مشاہدات کو ریکارڈ کرتا ہے، سیمانٹک خلاصے تیار کرتا ہے اور انہیں مستقبل کے سیشنز میں دستیاب کرتا ہے تاکہ آپ سیشن میں براہ راست تناسب محفوظ رہے۔ یہ Claude کو سیشن ختم ہونے یا دوبارہ جڑنے کے بعد بھی منصوبے کے بارے میں معلومات کی مسلسلیت برقرار رکھنے کے قابل بناتا ہے۔
تیز رفتار شروعات
ٹرمنل میں نیا Claude Code سیشن شروع کریں اور ہیں کمانڈز درج کریں:
> /plugin marketplace add thedotmack/claude-mem
> /plugin install claude-mem
Claude Code کو دوبارہ شروع کریں۔ سابقہ سیشن کا تناسب خودکار طور پر نئے سیشن میں موجود ہوگا۔
اہم خصوصیات:
- 🧠 مستقل میموری - تناسب سیشن کے دوران برقرار رہتا ہے
- 📊 بتدریج ظہور - لیئرڈ میموری کی بازیافت ٹوکن کی لاگت کی نمائندگی کے ساتھ
- 🔍 کمکردہ تلاش - mem-search مہارت کے ساتھ اپنے منصوبے کی تاریخ میں تلاش کریں
- 🖥️ ویب ویور یو آئی - http://localhost:37777 پر حقیقی وقت میموری اسٹریم
- 💻 Claude Desktop مہارت - Claude Desktop بات چیت سے میموری تلاش کریں
- 🔒 رازداری کے کنٹرولز - حساس مواد کو ذخیرہ سے خارج کرنے کے لیے
<private>ٹیگ استعمال کریں - ⚙️ تناسب کی ترتیبات - کون سا تناسب انجیکٹ کیا جائے اس پر باریک کنٹرول
- 🤖 خودکار آپریشن - کسی دستی مداخلت کی ضرورت نہیں
- 🔗 حوالہ - ID کے ذریعے سابقہ مشاہدات کا حوالہ دیں (http://localhost:37777/api/observation/{id} کے ذریعے رسائی حاصل کریں یا تمام کو http://localhost:37777 پر ویب ویور میں دیکھیں)
- 🧪 بیٹا چینل - ورژن تبدیل کرنے کے ذریعے Endless Mode جیسی تجرباتی خصوصیات آزمائیں
دستاویزات
📚 مکمل دستاویزات دیکھیں - GitHub پر markdown ڈاکس کو براؤز کریں
شروعات کرنا
- انسٹالیشن گائیڈ - تیز رفتار شروعات اور اعلیٰ درجے کی انسٹالیشن
- استعمال گائیڈ - Claude-Mem خودکار طور پر کیسے کام کرتا ہے
- تلاش کے اوزار - قدرتی زبان کے ساتھ اپنے منصوبے کی تاریخ میں تلاش کریں
- بیٹا خصوصیات - Endless Mode جیسی تجرباتی خصوصیات آزمائیں
بہترین طریقہ کار
- تناسب انجینیئرنگ - AI ایجنٹ کے تناسب کی اہمیت کے اصول
- بتدریج ظہور - Claude-Mem کے تناسب کی تیاری کی حکمت عملی کے پیچھے فلسفہ
تعمیر
- جائزہ - نظام کے اجزاء اور ڈیٹا کے بہاؤ
- تعمیر کا ارتقاء - v3 سے v5 تک کا سفر
- ہکس تعمیر - Claude-Mem لائف سائیکل ہکس کا استعمال کیسے کرتا ہے
- ہکس حوالہ - 7 ہک اسکرپٹس کی تشریح
- ورکر سروس - HTTP API اور Bun انتظام
- ڈیٹا بیس - SQLite اسکیما اور FTS5 تلاش
- تلاش تعمیر - Chroma ویکٹر ڈیٹا بیس کے ساتھ ہائبرڈ تلاش
ترتیبات اور ترقی
- ترتیبات - ماحول کے متغیرات اور سیٹنگز
- ترقی - تعمیر، جانچ، حصہ داری
- مسائل کی تشخیص - عام مسائل اور حل
یہ کیسے کام کرتا ہے
اہم اجزاء:
- 5 لائف سائیکل ہکس - SessionStart، UserPromptSubmit، PostToolUse، Stop، SessionEnd (6 ہک اسکرپٹس)
- سمارٹ انسٹالیشن - کیش شدہ منحصرات چیکر (پری ہک اسکرپٹ، لائف سائیکل ہک نہیں)
- ورکر سروس - ویب ویور UI اور 10 تلاش کے endpoints کے ساتھ پورٹ 37777 پر HTTP API، Bun کے ذریعے برتاؤ
- SQLite ڈیٹا بیس - سیشنز، مشاہدات، خلاصہ ذخیرہ کرتا ہے
- mem-search مہارت - بتدریج ظہور کے ساتھ قدرتی زبان کے سوالات
- Chroma ویکٹر ڈیٹا بیس - ہائبرڈ سیمانٹک + کلیدی لفظ تلاش ذہین تناسب کی بازیافت کے لیے
تفصیلات کے لیے تعمیر کا جائزہ دیکھیں۔
MCP تلاش کے اوزار
Claude-Mem ٹوکن-موثر 3-لیئر ورک فلو پیٹرن کی پیروی کرتے ہوئے 4 MCP اوزار کے ذریعے ذہین میموری تلاش فراہم کرتا ہے:
3-لیئر ورک فلو:
search- IDs کے ساتھ کمپیکٹ انڈیکس حاصل کریں (~50-100 ٹوکن/نتیجہ)timeline- دلچسپ نتائج کے ارد گرد زمانی تناسب حاصل کریںget_observations- فلٹر شدہ IDs کے لیے صرف مکمل تفصیلات حاصل کریں (~500-1,000 ٹوکن/نتیجہ)
یہ کیسے کام کرتا ہے:
- Claude آپ کی میموری میں تلاش کے لیے MCP اوزار استعمال کرتا ہے
- نتائج کا انڈیکس حاصل کرنے کے لیے
searchسے شروع کریں - مخصوص مشاہدات کے ارد گرد کیا ہو رہا تھا دیکھنے کے لیے
timelineاستعمال کریں - متعلقہ IDs کے لیے مکمل تفصیلات حاصل کرنے کے لیے
get_observationsاستعمال کریں - تفصیلات حاصل کرنے سے پہلے فلٹرنگ کے ذریعے ~10x ٹوکن کی بچت
دستیاب MCP اوزار:
search- مکمل متن کی تلاش کے سوالات کے ساتھ میموری انڈیکس تلاش کریں، قسم/تاریخ/منصوبے کے لحاظ سے فلٹر کریںtimeline- مخصوص مشاہدہ یا سوال کے ارد گرد زمانی تناسب حاصل کریںget_observations- IDs کے ذریعے مکمل مشاہدہ تفصیلات حاصل کریں (ہمیشہ متعدد IDs کو بیچ کریں)__IMPORTANT- ورک فلو دستاویزات (ہمیشہ Claude کو نظر آتی ہے)
استعمال کی مثال:
// مرحلہ 1: انڈیکس کے لیے تلاش کریں
search(query="authentication bug", type="bugfix", limit=10)
// مرحلہ 2: انڈیکس کا جائزہ لیں، متعلقہ IDs کی شناخت کریں (مثلاً، #123, #456)
// مرحلہ 3: مکمل تفصیلات حاصل کریں
get_observations(ids=[123, 456])
تفصیلی مثالوں کے لیے تلاش کے اوزار گائیڈ دیکھیں۔
بیٹا خصوصیات
Claude-Mem ایک بیٹا چینل فراہم کرتا ہے جس میں Endless Mode جیسی تجرباتی خصوصیات ہیں (بڑھی ہوئی سیشنز کے لیے حیاتی نقل میموری کی تعمیر)۔ http://localhost:37777 → Settings میں ویب ویور UI سے مستحکم اور بیٹا ورژن کے درمیان سوئچ کریں۔
Endless Mode اور اسے کیسے آزمائیں اس کے بارے میں تفصیلات کے لیے بیٹا خصوصیات دستاویزات دیکھیں۔
نظام کی ضروریات
- Node.js: 18.0.0 یا اس سے اوپر
- Claude Code: پلگ ان سپورٹ کے ساتھ جدید ترین ورژن
- Bun: JavaScript رن ٹائم اور پروسیس مینیجر (غیر موجود ہو تو خودکار طور پر انسٹال ہوگا)
- uv: ویکٹر تلاش کے لیے Python پیکج مینیجر (غیر موجود ہو تو خودکار طور پر انسٹال ہوگا)
- SQLite 3: مستقل اسٹوریج کے لیے (بنڈل شدہ)
ترتیبات
سیٹنگز ~/.claude-mem/settings.json میں منظم ہیں (پہلی رن میں ڈیفالٹ کے ساتھ خودکار طور پر بنائی جاتی ہے)۔ AI ماڈل، ورکر پورٹ، ڈیٹا ڈائریکٹری، لاگ لیول اور تناسب انجیکشن سیٹنگز کو ترتیب دیں۔
تمام دستیاب سیٹنگز اور مثالوں کے لیے ترتیبات گائیڈ دیکھیں۔
ترقی
تعمیر کی ہدایات، جانچ اور حصہ داری کے کام کے بہاؤ کے لیے ترقی گائیڈ دیکھیں۔
مسائل کی تشخیص
اگر مسائل کا سامنا ہو تو Claude کو مسئلہ بتائیں اور troubleshoot مہارت خودکار طور پر تشخیص دے گی اور حل فراہم کرے گی۔
عام مسائل اور حل کے لیے مسائل کی تشخیص گائیڈ دیکھیں۔
خرابی کی رپورٹ
خودکار جنریٹر کے ساتھ تفصیلی خرابی کی رپورٹ تیار کریں:
cd ~/.claude/plugins/marketplaces/thedotmack
npm run bug-report
حصہ داری
حصہ داری کا خیر مقدم ہے! براہ کرم:
- رپوزیٹری کو فورک کریں
- ایک خصوصیت کی برانچ بنائیں
- ٹیسٹ کے ساتھ اپنی تبدیلیاں کریں
- دستاویزات کو اپڈیٹ کریں
- ایک Pull Request جمع کریں
حصہ داری کے کام کے بہاؤ کے لیے ترقی گائیڈ دیکھیں۔
License
This project is licensed under the Apache License 2.0 (Apache-2.0).
Copyright (C) 2025 Alex Newman (@thedotmack). All rights reserved.
See the LICENSE file for full details.
Apache-2.0 allows broad use, modification, distribution, and commercial use, subject to its terms.
Ragtime note: The ragtime/ directory is licensed under the Apache License 2.0. See ragtime/LICENSE for details.
معاونت
- دستاویزات: docs/
- مسائل: GitHub Issues
- رپوزیٹری: github.com/thedotmack/claude-mem
- مصنف: Alex Newman (@thedotmack)
Claude Agent SDK کے ساتھ بنایا گیا | Claude Code کے ذریعے طاقت ور | TypeScript کے ساتھ بنایا گیا