بازگشت به پروژهها
انتشار محلی، نه یک وبسایت: نسخه ۰.۲.۰ با cargo build --release نصب میشود و روی دسکتاپ لینوکس اجرا میشود؛ سورس فعلا خصوصی است.
03
پروژه شخصی · آزمایشگاه ایجنتهای AI با Rust
Eden Hub
یک اپ دسکتاپ و یک اپ ترمینال که تیمی از ایجنتهای کدنویس AI را روی سیستم خودت اجرا میکنند: همه builderها کار میکنند، criticها خروجی ترکیبی را مرور میکنند و فقط یک leader با یک جواب تمیز به تو حرف میزند. بدون سرور و بدون کلاود، فقط CLIهای خودت؛ حدود ۶هزار خط Rust، دو باینری، ۴۶ تست و یک سیستم طراحی.
نقش
طراح و توسعهدهنده سیستم
فناوری
- Rust · ~6,000 LOC, two binaries
- eframe / egui · Desktop GUI, glow + accesskit
- ratatui / crossterm · tmux-like terminal UI
- Threads + mpsc · Parallel fan-out, live streaming
- GitHub Actions · Both suites, clippy -D warnings
●localhost · self-hosted
2026نقش AI در این پروژه با همراهی AI
ممیزیها و پرامپتهای رفع باگ را برای ایجنتها نوشتم و آنها اجرا کردند؛ معماری، توکنهای طراحی و همه تصمیمهای نهایی مال خودم است.
معماری سطح بالا
YOU
EDEN HUB
BUILDERS
CRITICS
LEADER
AGENT CLIS
03 · Eden Hub · © 2026
مساله
- یک ایجنت یک نظر میدهد؛ اگر دستی چند مدل را اجرا کنی، خودت باید پنج جواب نصفه را بخوانی و با هم جمع کنی.
- هر هاب آمادهای که امتحان کردم سرور، اکانت یا کلید ابری میخواست، ولی من مدلهایی را میخواستم که همین حالا روی سیستمم نصباند.
رویکرد
- هر builder اجرا میشود، بعد criticها خروجی ترکیبی را مرور میکنند و در آخر یک leader جواب را مینویسد؛ انتخاب leader دست توست و اگر شکست بخورد، بهترین builder جواب میدهد و صادقانه برچسب میخورد.
- هر دو رابط یک فایل کانفیگ را مشترک میگیرند: در گرافیک کار تیم در کارتهای بازشونده جمع میشود، در ترمینال پنجرههای tmux-مانند و یک کلید برای پریدن وسط ایجنت زنده اضافه شده است.
معماری
- کامپوزر ← زمانبند fan-out ← CLIهای ایجنت روی سیستم ← بافر خروجی مشترک ← criticها ← leader ← تایملاین گفتوگو.
- پروسهها هر ۶۰ میلیثانیه بررسی میشوند و stdout/stderr روی threadهای جدا و detached خوانده میشوند، پس Stop حتی وقتی یک پروسه نوه هنوز pipe را باز نگه داشته معطل نمیماند.
فناوری
- Rust
- eframe / egui (glow, accesskit)
- ratatui / crossterm
- threadها و کانال mpsc
- GitHub Actions
چالشها
- کشتن درختی از CLIهای اجراشده بدون گیر کردن سر pipeهای بهمیراثرسیده؛ در مسیر kill عمدا readerها join نمیشوند.
- ممیزی اول نشان داد حدود ۹۰٪ رابط گرافیکی هرگز روی صفحه نمیآید، چون هر صفحه در یک ردیف افقی بینهایت چیده میشد؛ رفعش یک خط بود و حالا یک layout probe بدون نمایشگر همان را نگهبانی میکند.
نتیجه
- نسخه ۰.۲.۰ با هر دو اپ منتشر شده: ۴۶ تست پاسشده، CI تمیز با clippy و یک سیستم طراحی دارک-گرم مستند که توکنهایش WCAG AA را پاس میکنند.
- هر روز روی سیستم خودم اجرا میشود: یک bench برای هر پروژه، تاریخچه نشستی که از رستارت رد میشود و ده builder که با یک صدا جواب میدهند.