تصور کنید هفتههاست روی یک ویژگی پیچیده کار میکنید و حالا باید دقیقاً همان راهکاری را پیدا کنید که دو هفته پیش با یک عامل هوش مصنوعی در ترمینال به آن رسیدید، اما نمیدانید در کدام ابزار بود. مدیریت دهها جلسه پراکنده در ابزارهای مختلف، یکی از بزرگترین موانع بهرهوری در توسعهی مدرن است.
Wallfacer که در ۶ اوت ۲۰۲۶ منتشر شد، این آشفتگی را با ایجاد یک مدیریت متمرکز برای جلسات ترمینال حل میکند. این ابزار تاریخچهی گفتگوهای چندین عامل (Agent) — شبیه به یک دستیار هوشمند که میتواند مستقیماً کد بنویسد و اجرا کند — را در یک پایگاهداده SQLite متمرکز و قابل جستوجو میکند.
توسعهدهندگان امروزی مدام بین ابزارهای تخصصی جابهجا میشوند. همانطور که در تحلیل قبلی ما دربارهی چرخش برنامهنویسان از ابزارهای تکمیل خودکار به سمت Claude اشاره کردیم، گذار به سمت کدنویسی عاملمحور (Agentic) مشکل جدیدی به نام «پراکندگی جلسات» ایجاد کرده است. هر ابزار تاریخچه را به شکل متفاوتی ذخیره میکند؛ برخی در فایلهای JSONL بدون نام و برخی در پوشههایی با نامهای هششده، که یافتن یک گفتگوی خاص از دو هفته پیش را تقریباً غیرممکن میکند.
بحران پراکندگی جلسات
طبق مستندات این پروژه، سازوکارهای ذخیرهسازی در ابزارهای مختلف کاملاً متفاوت و گاهی متناقض است. Claude Code هر گفتگو را به صورت یک فایل JSONL بدون عنوان در مسیر ~/.claude/projects/ ذخیره میکند که بر اساس دایرکتوری جاری شما کلیدگذاری شده است. این ساختار ذخیرهسازی، پیشنیاز ابزارهایی است که مدیریت نشستها را در Claude Code تسهیل میکنند تا از فراموشی جلسات جلوگیری شود. Kiro CLI از یک پوشهی تخت و ساده در مسیر ~/.kiro/sessions/cli/ استفاده میکند. Cursor CLI چتها را در پوشههایی با نامهای هششده (Hash-named) در مسیر ~/.cursor/chats/ دفن میکند، در حالی که Codex فایلهای خروجی خود را بر اساس تاریخ در مسیر ~/.codex/sessions/ دستهبندی میکند.
پس از چند هفته، یک توسعهدهنده با دهها متن گفتگو در چهار عامل مختلف مواجه میشود. بدون یک شاخص مرکزی، هیچ راهی برای تفکیک این جلسات یا بازیابی سریع یک راهکار خاص وجود ندارد.
Wallfacer به عنوان یک لایهی خواندنی (Read-only overlay) عمل میکند. این ابزار پوشههای محلی Claude Code، Cursor CLI، Kiro CLI و Codex را اسکن کرده و مسیرهای کاری، برچسبهای زمانی و نخستین پرامپتها را فهرست میکند. چون این ابزار هرگز فایلهای اصلی عاملها را تغییر نمیدهد، برای مدیریت پروژههای حساس و کدبیسهای استراتژیک کاملاً امن است.
سازماندهی متمرکز و جستوجوی پیشرفته
این ابزار دو رابط کاربری اصلی ارائه میدهد: یک رابط گرافیکی ترمینالی (TUI) برای تعامل انسانی و یک رابط خط فرمان (CLI) برای استفاده در اسکریپتها. کاربران میتوانند تاریخچهی خود را از طریق سازوکارهای زیر مدیریت کنند:
- نامگذاری و برچسبزنی: تغییر نام جلسات بدون عنوان و افزودن برچسبهای سفارشی برای گروهبندی وظایف مرتبط.
- دستهبندی پروژهای: اختصاص جلسات به پروژههای خاص برای تفکیک کارهای مربوط به مخازن (Repositories) مختلف. این رویکرد با استفاده از ساختارهای دایرکتوریمحور برای اتوماسیون کد همراستا است تا جریان کاری توسعهدهنده سازمانیافتهتر شود.
- جستوجوی سراسری: جستوجوی همزمان در عناوین، نخستین پرامپتها، مسیرهای دایرکتوری و برچسبها.
- فیلتر چند-عاملی: مشاهدهی جلسات تمام عاملها در کنار هم یا فیلتر کردن بر اساس یک عامل خاص با استفاده از زیررشتههای غیرحساس به حروف بزرگ و کوچک (مثلاً جستوجوی "kiro" یا "cursor").

کنترلها و ناوبری در TUI
با اجرای دستور سادهی wallfacer در ترمینال، یک مرورگر تمامصفحه باز میشود که در سمت چپ فهرستی از جلسات و در سمت راست پنل جزئیات جلسه انتخابشده را نمایش میدهد. این پنل جزئیات دقیقاً همان اطلاعاتی را نشان میدهد که دستور wallfacer show چاپ میکند. اگر عرض پنجره کمتر از ۱۰۰ ستون باشد، پنل جزئیات برای بهینهسازی فضا مخفی شده و لیست تمام عرض را در اختیار میگیرد.
تعاملات کلیدی در این محیط شامل موارد زیر است:
- جابهجایی: استفاده از کلیدهای
↑/↓یاj/kبرای حرکت و فیلتر کردن سریع (Fuzzy Filter) در میان عناوین، پروژهها، دایرکتوریها، برچسبها و نام عاملها. - فیلترینگ: کلیدهای
P،TوAبرای چرخش بین فیلترهای پروژه، برچسب و عامل؛ و کلیدxبرای پاکسازی تمام فیلترهای فعال. - مدیریت: کلید
nبرای شروع جلسه جدید (که از کاربر نام عامل، دایرکتوری، عنوان، پروژه و برچسبها را میپرسد)، در حالی که کلیدهایr،tوpامکان تغییر نام، ویرایش برچسبها و تعیین پروژه را فراهم میکنند. - اجرا: با فشردن کلید
enterجلسه از سر گرفته شده و کنترل ترمینال به عامل تحویل داده میشود. پس از خروج از جلسه عامل، کاربر مجدداً به مرورگر Wallfacer بازمیگردد.
معماری فنی و امنیت دادهها
Wallfacer با زبان Go (نسخه ۱.۲۲ به بالا) نوشته شده و متادادهها را در یک پایگاهداده محلی SQLite در مسیر ~/.local/share/wallfacer/ ذخیره میکند. فرآیند همگامسازی به صورت افزایشی (Incremental) طراحی شده است تا سرعت ابزار حتی با وجود صدها جلسه فهرستشده کاهش نیابد. دستور wallfacer sync دیسک را مجدداً اسکن میکند، هرچند این عملیات پیش از اجرای هر دستور به صورت خودکار انجام میشود.
امنیت در فرآیند حذف دادهها به طور ساختاری لحاظ شده است. وقتی کاربر جلسهای را با دستور rm حذف میکند، Wallfacer فایلها را به جای پاکشدن کامل، به یک پوشهی زباله (Trash) منتقل میکند. تنها در صورتی که پرچم --purge استفاده شود، حذف دائمی رخ میدهد.
برای عاملهای پیچیدهای که یک جلسه را در چندین فایل پخش میکنند، Wallfacer تضمین میکند که تمام مجموعه به صورت یکپارچه جابهجا شوند:
- Kiro CLI: انتقال همزمان متن گفتگو، فایل متاداده (sidecar)، تاریخچهی پرامپت و پوشهی موقت (scratch directory).
- Cursor CLI: جابهجایی همزمان پوشهی چت و متن ثبتشده تحت عنوان پروژه.
این رویکرد مانع از آن میشود که جلسات حذفشده در انتخابگر داخلی خودِ عاملها باقی بمانند.

یکپارچهسازی با گردش کار
توسعهدهندگان میتوانند جلسات جدید را مستقیماً از طریق wallfacer new [dir] آغاز کنند که در آن ابتدا باید عامل مورد نظر انتخاب شود. به طور پیشفرض Claude Code انتخاب شده است و اگر تنها یک آداپتور ثبت شده باشد، مرحلهی انتخاب عامل نادیده گرفته میشود. برای بازگشت به جلسات قدیمی، دستور wallfacer resume <ref> کاربرد دارد؛ در اینجا مرجع (ref) میتواند یک پیشوند کوتاه از شناسه (مثلاً resume 5f2) یا عنوان دقیق جلسه (مثلاً resume "smoke test") باشد.
برای اتوماسیون، CLI از پرچم --json پشتیبانی میکند تا توسعهدهندگان بتوانند لیست جلسات خود را به اسکریپتهای دیگر پاس دهند. همچنین یک سیستم بررسی بهروزرسانی کششده وجود دارد که روزانه یک بار گیتهاب را برای اطلاع از نسخههای جدید چک میکند. این عملیات توسط مرورگر مدیریت میشود تا از مسدود شدن ترمینال به دلیل تأخیرهای شبکه جلوگیری شود؛ زیر-دستورها صرفاً پاسخ کششده را از دایرکتوری دادهها میخوانند. کاربران میتوانند این قابلیت را با تنظیم متغیر محیطی WALLFACER_NO_UPDATE_CHECK=1 کاملاً غیرفعال کنند.
چشمانداز مدیریت جلسات هوش مصنوعی
این پروژه به گونهای طراحی شده که از طریق آداپتورهای قابل تعویض (Pluggable Adapters) گسترش یابد. نقشه راه آینده شامل موارد زیر است:
- آداپتورهای جدید: افزودن پشتیبانی از opencode.
- جستوجوی پیشرفته: پیادهسازی جستوجوی تماممتن (Full-text search) در محتوای جلسات با استفاده از SQLite FTS5.
- ابزارهای CLI: افزودن دستور
wallfacer restoreبرای بازیابی جلسات از زبالهدان و قابلیت خروجی گرفتن از متن گفتگوها به فرمت Markdown. این قابلیت در کنار استفاده از فایلهای مارکدان محلی برای سازماندهی تیمهای AI، امکان مستندسازی دقیقتر تعاملات را فراهم میکند. - تحلیل دادهها: ارائه آمارهای مربوط به تعداد جلسات به تفکیک پروژه/هفته و میزان اشغال فضای دیسک.
- اپلیکیشن دسکتاپ: ساخت یک GUI با استفاده از Wails و xterm.js، شامل سایدبار جلسات، ترمینال داخلی و تبهای متعدد.
این تغییر رویکرد نشاندهنده تحولی گستردهتر در تجربه توسعهدهندگان است. ما از دنیای «تعاملات تک-پرامپتی» به سمت «همکاریهای بلندمدت عاملمحور» حرکت میکنیم. وقتی یک برنامهنویس هفتهها با یک هوش مصنوعی روی یک ویژگی پیچیده همکاری میکند، تاریخچه جلسه به یک قطعه اصلی از مستندات پروژه تبدیل میشود.
با تبدیل متن گفتگوها به یک پایگاهداده قابل جستوجو به جای مجموعهای از فایلهای لاگ پنهان، Wallfacer چتهای زودگذر را به یک پایگاه دانش ساختاریافته تبدیل میکند و بار شناختی برای یادآوری این موضوع که «کدام باگ را با کدام عامل حل کردم» را به شدت کاهش میدهد.
برای شروع، کاربران macOS و لینوکس میتوانند از Homebrew استفاده کنند:brew tap pradipta/wallfacer https://github.com/pradipta/wallfacerbrew install pradipta/wallfacer/wallfacer
یا از طریق Go نصب کنند: go install github.com/pradipta/wallfacer@latest.
گام بعدی شما
- اگر از چندین CLI مختلف برای کدنویسی استفاده میکنید، Wallfacer را نصب کنید تا از گم شدن راهکارهای قدیمی جلوگیری کنید.
- جلسات فعلی خود را با برچسبهای موضوعی (مثلاً #refactor یا #bugfix) سازماندهی کنید تا جستوجوی آینده سریعتر شود.
- در صورت استفاده از اسکریپتهای اتوماسیون، خروجی JSON ابزار را برای تحلیل الگوهای تعامل با مدلها به کار ببرید.
اما داستان سختافزاری این تحول حتی شگفتانگیزتر است — به تحلیل ما دربارهی تراشههای Blackwell مراجعه کنید.




گفتگو