حافظهٔ CogX

AiraCode چطور پروژه‌ها رو به‌خاطر می‌سپاره، فایل‌های حافظه کجا ذخیره می‌شن، و حافظهٔ راه‌دور CogX چطور کار می‌کنه.

AiraCode حافظهٔ خودکارِ پایدار داره. حافظه‌های مرتبط رو توی پرامپت بارگذاری می‌کنه، بعد از هر نشست می‌تونه حافظه رو به‌روز کنه، و /memoryرو برای ادیت فایل‌های حافظه توی رابط تعاملی ترمینال در اختیارت می‌ذاره.

حافظه کجا ذخیره می‌شه

حافظهٔ خودکار محلی زیر پوشهٔ کانفیگ AiraCode ذخیره می‌شه. به‌صورت پیش‌فرض این ~/.airaـه؛ AIRA_CONFIG_DIR می‌تونه اون رو override کنه. مسیر حافظهٔ پروژه اینه:

~/.aira/projects/<sanitized-git-root>/memory/MEMORY.md

MEMORY.md یک ایندکسه. هر حافظهٔ جداگانه کنارش به‌شکل فایل‌های موضوعی نگه‌داری می‌شه. AiraCode مقدار قدیمیCLAUDE_CONFIG_DIR رو هم قبول می‌کنه و در اولین استفاده، در صورت امکان وضعیت قدیمی ~/.claude رو مهاجرت می‌ده.

نوع‌های حافظه

حافظه‌ها از یک سیستم نوع‌بندی کوچک استفاده می‌کنن. استخراج‌گر پس‌زمینه و لایهٔ sync CogX هر حافظه رو توی این دسته‌ها طبقه‌بندی می‌کنن:

نوعکاربرد
userحقایق پایدار دربارهٔ خودت، تیمت، یا ترجیحات بلندمدتت.
feedbackقاعده‌ها و اصلاح‌ها، مثل فرمان‌های تست ترجیحی یا سبک ریویو.
projectتصمیم‌های خاص پروژه، incident‌ها، حقایق deploy، و یادداشت‌های معماری.
referenceاشاره به سیستم‌های بیرونی، داشبوردها، runbook‌ها، و فایل‌های منبع حقیقت.

فرمان‌ها

  • /memory ادیتور تعاملی فایل حافظه رو باز می‌کنه. توی حالت print در دسترس نیست.
  • /context فایل‌های حافظهٔ بارگذاری‌شده رو به‌عنوان بخشی از گزارش context فعلی نشون می‌ده.
  • /compact وقتی نشست بزرگ می‌شه یک خلاصه رو توی context نگه می‌داره.
  • اسکیل داخلی /remember حافظهٔ خودکار رو مرور می‌کنه و پاک‌سازی یا ارتقا به راهنمای پروژه رو پیشنهاد می‌ده.
# Interactive only
aira
/memory

# Print-mode context inspection
aira -p "/context"

حافظهٔ راه‌دور CogX

حافظهٔ راه‌دور از توکن حساب آیراچت استفاده می‌کنه که از aira loginیا AIRA_API_KEY میاد. درخواست‌ها بر اساس slug پروژه scope می‌شن که از نام پایهٔ ریشهٔ git گرفته می‌شه، مگه اینکه AIRA_PROJECT_SLUGست شده باشه.

# Force a stable project slug for memory scoping
export AIRA_PROJECT_SLUG=my-app

# Explicitly disable remote CogX memory and use local filesystem memory only
export AIRA_REMOTE_MEMORY=0

مقادیری که حافظهٔ راه‌دور رو خاموش می‌کنن: 0، false،off، no، یا مقدار خالی. هر مقدار دیگه، یا ست‌نکردن AIRA_REMOTE_MEMORY، حافظهٔ راه‌دور رو روشن نگه می‌داره.

API

backend راه‌دور، endpoint‌های حافظهٔ آیراچت رو زیر/api/airacode/memories صدا می‌زنه. فقط وقتی داری دور حافظهٔ AiraCode اتوماسیون می‌سازی مستقیم ازشون استفاده کن.

لیست حافظه‌ها

curl -H "Authorization: Bearer $AIRA_API_KEY" \
  "https://app.airachat.ir/api/airacode/memories?project=my-app"

افزودن حافظه

curl -X POST \
  -H "Authorization: Bearer $AIRA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "project": "my-app",
    "content": "Use pnpm --filter @airachat/web test for web changes.",
    "frontmatter": {
      "name": "web-test-command",
      "description": "Preferred test command for web changes",
      "type": "feedback"
    }
  }' \
  https://app.airachat.ir/api/airacode/memories

Recall

curl -X POST \
  -H "Authorization: Bearer $AIRA_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "project": "my-app",
    "query": "Why did the production migration fail last time?",
    "limit": 5
  }' \
  https://app.airachat.ir/api/airacode/memories/recall

خاموش کردن حافظه

  • AIRA_CODE_DISABLE_AUTO_MEMORY=1 حافظهٔ خودکار رو کاملاً خاموش می‌کنه.
  • --bare برای یک اجرای hermetic، حافظهٔ خودکار، hook‌ها، LSP، sync پلاگین، و خوندن keychain رو خاموش می‌کنه.
  • autoMemoryEnabled: false توی تنظیمات trusted، حافظهٔ خودکار رو برای اون scope خاموش می‌کنه.
  • AIRA_REMOTE_MEMORY=0 حافظهٔ خودکار رو محلی نگه می‌داره ولی خوندن و نوشتن راه‌دور CogX رو خاموش می‌کنه.