سولارک؛ اول معماری، بعد کد
خلاصهٔ کاملتر
تو معرفی این پروژه اومده که بیشتر ابزارهای هوش مصنوعی اول کد تولید میکنن و امیدوارن معماری هم خودش رو باهاش تطبیق بده؛ سولارک این ترتیب رو برعکس میکنه. اول گراف معماری ساخته میشه و بعد از روی همون گراف کد در میاد. کل سیستم هم روی یه بوم واحد نشون داده میشه، با ۲۱ خانوادهٔ نود مثل کنترلر، سرویس، ریپازیتوری، جدول و صف، و ۱۶ نوع یال معنایی که رابطهٔ بینشون رو مشخص میکنن.
قلب ماجرا یه موتور قوانین قطعیه: ۴۰ قانون مجاز، ۷ ضدالگو و ۳ بررسی شرطی. یعنی فرانتاند نمیتونه مستقیم با جدول حرف بزنه و کنترلر هم به ریپازیتوری دسترسی نداره. هر تغییری که عامل هوش مصنوعی پیشنهاد میده باید از این دروازه رد شه؛ اگه رد بشه، متن خطا برمیگرده به خود عامل و اون بازنویسی میکنه تا گراف تمیز شه، یا درخواست بدون هیچ ثبتی تموم میشه.
بخش هوش مصنوعیش روی GraphRAG سواره: قبل از هر پیشنهاد، الگوهای متعارف از یه کتابخونهٔ ایندکسشده با بردار بیرون کشیده میشن تا عامل هیچوقت از صفر و بدون زمینه نقشه نکشه. بردارها و گراف هر دو تو خود Neo4j نگهداری میشن و امبدینگها هم محلی و ۳۸۴ بُعدیان، پس خبری از یه پایگاه دادهٔ برداری جداگانه نیست.
از روی گراف، اسکلت کد NestJS به شکل قطعی تولید میشه و بدنهٔ متدها اختیاری با هوش مصنوعی پر میشه. تیم سازنده صادقانه میگه این دروازه ساختاریه نه معنایی: درستی منطق کسبوکار رو تضمین نمیکنه و بدنهٔ متدها فقط با کامپایل شدن با tsc و اجرای تستها سنجیده میشن. قرارداد API هم با Zod و OpenAPI و openapi-fetch تا خود فرانت تایپسیف میمونه.
برای امتحان کردن، نسخهٔ میزبانیشده بدون نصب در دسترسه و همین مخزن هم نسخهٔ سلفهاست کامله که با داکر بالا میاد و کلید LLM خودت رو میگیره. فقط حواست به لایسنسش باشه: PolyForm Noncommercial از نظر رسمی متنباز حساب نمیشه؛ برای استفادهٔ شخصی، پژوهشی، آموزشی و غیرانتفاعی آزاده ولی استفادهٔ تجاری لایسنس جدا میخواد.
نکات کلیدی:
- اول معماری تولید میشه و بعد کد، نه برعکس
- موتور قوانین با ۴۰ قانون مجاز، ۷ ضدالگو و ۳ بررسی شرطی جلوی یالهای غیرمجاز رو میگیره
- حلقهٔ خوداصلاحی: خطای قوانین برمیگرده به عامل تا گراف تمیز شه
- GraphRAG روی Neo4j با امبدینگ محلی، بدون پایگاه دادهٔ برداری جداگانه
- کدجن NestJS با گیت tsc و تست؛ بیش از ۸۰۰ تست سمت سرور
- لایسنس PolyForm Noncommercial؛ استفادهٔ تجاری لایسنس جدا میخواد




