یکی از بزرگترین چالشها در استفاده از ایجنتهای هوش مصنوعی کدنویسی نظیر Claude Code، Gemini CLI و Codex CLI، نداشتن حافظه بلندمدت (Stateless بودن) است. با شروع هر نشست (Session) جدید، ایجنت تمام تصمیمهای قبلی، معماری پروژه، سوابق باگها و اهداف شما را فراموش میکند.
پروژه Obsidian Mind (توسعهیافته توسط breferrari) دقیقاً برای حل همین مشکل طراحی شده است. این پروژه یک الگوی ولت (Vault Template) هوشمند برای نرمافزار Obsidian است که به ایجنتهای شما یک «حافظه دائمی» (Persistent Memory) میدهد تا تمام دانش پروژه را ذخیره و بین نشستهای مختلف بازیابی کنند.
🔴 مشکلی که Obsidian Mind حل میکند
در فرایند توسعه نرمافزار با هوش مصنوعی، معمولاً با سه مشکل مواجه میشویم:
- فراموشی بافت (Context Loss): ایجنتها نمیدانند دیروز چه کارهایی انجام شده یا دلایل تصمیمگیریهای قبلی چه بوده است.
- پراکندهبودن مستندات: تصمیمات معماری، سوابق جلسات و کارهای انجامشده در متون چت گم میشوند.
- بار ذهنی توسعهدهنده: مجبورید در شروع هر جلسه، وضعیت پروژه را دوباره برای هوش مصنوعی توضیح دهید.
پروژه Obsidian Mind با ترکیب ساختار فولدربندی منظم، هوکهای خودکار (Hooks)، سرور MCP اختصاصی و یک موتور جستجوی معنایی محلی، یک «مغز دوم» برای ایجنت شما ایجاد میکند.
🗺️ دو روش اصلی استفاده از Obsidian Mind
یکی از مهمترین نکات درباره Obsidian Mind، درک تفکیک بین دو روش استفاده از آن است:
| ویژگی | 🏢 روش اول: حافظه تیمی (داخل پروژه) | 👤 روش دوم: حافظه شخصی (Cross-Repo / MCP) |
|---|---|---|
| محل قرارگیری | مستقیم داخل پوشه اصلی پروژه کدنویسی | یک پوشه مجزا در سیستم (مثلاً ~/obsidian-mind) |
| ذخیرهسازی در Git | همراه کد پروژه Commit و Push میشود | جدا از کد پروژه (در Git شخصی یا محلی) |
| اشتراکگذاری با تیم | بله؛ هر کس پروژه را Clone کند حافظه را دارد | خیر؛ فقط روی سیستم خودتان باقی میماند |
| نحوه راهاندازی | نصب مستقیم الگوی Obsidian Mind در ریشه پروژه | راهاندازی یک بارِ ولت + اتصال پروژهها با سرور MCP |
| بهترین کاربرد | پروژههای شخصی، متنباز، یا تیمهای همسو | پروژههای شرکتی، چندپروژهای بودن، و حفظ حریم خصوصی |
🚀 نحوه راهاندازی و نصب گامبهگام
فاز اول: ساخت مرکز حافظه (یک بار برای همیشه)
روش ۱: استفاده از ShardMind (توصیهشده)
ابزار ShardMind مدیریت پکیج الگوهای Obsidian است و یک ویزارد تعاملی ارائه میدهد:
# ۱. نصب پکیج ShardMind بهصورت سراسری
npm install -g shardmind
# ۲. ساخت پوشه ولت و ورود به آن
mkdir ~/obsidian-mind && cd ~/obsidian-mind
# ۳. نصب الگوی Obsidian Mind
shardmind install github:breferrari/obsidian-mind
روش ۲: کلون مستقیم با Git
git clone https://github.com/breferrari/obsidian-mind.git ~/obsidian-mind
مراحل تکمیلی:
- پوشه
~/obsidian-mindرا در نرمافزار Obsidian به عنوان یک Vault جدید باز کنید. - در تنظیمات Obsidian به مسیر
Settings ➔ Generalرفته و گزینه Obsidian CLI را فعال کنید (نیازمند Obsidian v1.12+). - فایل
brain/North Star.mdرا باز کرده و اهداف کلی پروژه خود را تنظیم کنید.
فاز دوم: متصل کردن پروژهها به مرکز حافظه (روش Cross-Repo با MCP)
اگر روی پروژه دیگری (مثلاً my-web-app) کار میکنید و میخواهید ایجنت به ولت مرکزی دسترسی داشته باشد:
۱. ثبت سرور MCP در ایجنت:
# برای Claude Code
claude mcp add obsidian-mind node /path/to/obsidian-mind/.claude/scripts/om-mcp.mjs
یا اضافه کردن به فایل .mcp.json در پروژه جدید:
{
"mcpServers": {
"obsidian-mind": {
"command": "node",
"args": ["/absolute/path/to/obsidian-mind/.claude/scripts/om-mcp.mjs"]
}
}
}
۲. اعطای مجوز دسترسی در پروژه جدید:
در پوشه پروژه جدید، فایل AGENTS.md یا CLAUDE.md را ویرایش کرده و خطوط زیر را اضافه کنید:
## Obsidian Mind Vault Access
You have access to the Obsidian Mind vault via the `obsidian-mind` MCP tools.
When working on complex tasks, decisions, or architecture:
1. Search the vault for existing project patterns, decisions, or memories.
2. Record durable decisions, architecture notes, or new lessons learned back into the vault.
🔍 موتور جستجوی معنایی QMD چیست و چگونه کار میکند؟
یکی از قابلیتهای کلیدی Obsidian Mind، ادغام با موتور جستجوی QMD (Query Markup Documents) است.
چرا به QMD نیاز داریم؟
بدون QMD، ایجنت برای جستجو در یادداشتها از دستورات کلمهبهکلمه نظیر grep استفاده میکند. اما QMD مفاهیم را متوجه میشود. برای مثال اگر عبارت “سیستم کشینگ” را جستجو کنید، یادداشت Redis Migration را پیدا میکند، حتی اگر کلمه Caching دقیقاً در آن به کار نرفته باشد.
معماری ۳ لایهای QMD:
- جستجوی کلیدواژهای (BM25): پیدا کردن دقیق اسامی خاص و عبارات کلیدی.
- جستجوی برداری (Vector Search): درک مفهومی سوال و متون.
- بازرتبهبندی با هوش مصنوعی (AI Reranking): رتبهبندی هوشمند نتایج بر اساس مرتبطترین پاسخ.
مدلهای هوش مصنوعی محلی (بدون نیاز به API Key):
embeddinggemma-300M(~328MB): تبدیل متون به بردارهای عددی.qmd-query-expansion(~1.28GB): بازنویسی و گسترش سوال.Qwen3-Reranker-0.6B(~640MB): رتبهبندی نهایی نتایج.
نیازمندیهای سختافزاری QMD:
- حداقل سیستم: پردازنده ۴ هستهای، ۸ گیگابایت RAM و ۵ گیگابایت SSD (اجرا روی CPU).
- سیستم پیشنهادی: مک با تراشههای Apple Silicon (M1/M2/M3/M4) یا سیستم ویندوز/لینوکس با GPU انویدیا (۴ گیگابایت VRAM به بالا) و ۱۶ گیگابایت RAM.
نحوه نصب QMD:
# نصب سراسری
npm install -g @tobilu/qmd
# راهاندازی و اندیسگذاری اولیه در پوشه ولت
node --experimental-strip-types .scripts/qmd-bootstrap.ts
# بررسی سلامت اجرا
qmd doctor
⚡ اتوماسیون با هوکها (Hooks) و دستورات اسلش
Obsidian Mind از سیستم هوکهای بومی ایجنتها استفاده میکند تا در زمان شروع نشست (SessionStart) اندیسها و اهداف را بارگذاری کند و در زمان پایان نشست (SessionEnd)، پیوندها و دستاوردها را بهروز رساند.
دستورات اسلش اصلی (Slash Commands):
/om-standup: شروع روز کاری و مرور اهداف، پروژهها و کارهای باقیمانده./om-dump: ثبت سریع خلاصهی افکار، جلسات یا تصمیمات./om-incident-capture [URL]: تحلیل علت ریشهای (RCA) و ثبت گزارش حوادث از لینکهای گفتگو (مثل Slack)./om-adr: ایجاد قالب استاندارد برای اسناد تصمیمگیری معماری در پوشهbases/adr/./om-brag-spotter: استخراج خودکار دستاوردها و ثبت درperf/Brag Doc.mdبرای ارزیابی عملکرد.wrap up: بررسی لینکهای شکسته و بستن نشست کاری.
💡 جمعبندی
پروژه Obsidian Mind ابزاری ارزشمند برای تمام توسعهدهندگانی است که از ایجنتهای کدنویسی هوش مصنوعی استفاده میکنند. با تبدیل Obsidian به مرکز حافظه، میتوانید با خیال راحت روی مسائل اصلی کدنویسی تمرکز کنید و نگران از دست رفتن بافت پروژه و تصمیمات معماری نباشید.
برای مشاهده کد منبع و جزئیات بیشتر میتوانید به ریپازیتوری رسمی breferrari/obsidian-mind در گیتهاب مراجعه کنید.
2 پاسخ