Mantic.sh؛ موتور جستوجوی کد برای ایجنتهای AI
خلاصهٔ کاملتر
Mantic.sh یه موتور جستوجوی کده که فلسفهش یه چیزه: ربط مهمتر از سرعت خامه. به گفتهٔ سازنده، برخلاف grep و ripgrep که فقط رشتهٔ متن رو مچ میکنن، Mantic تلاش میکنه بفهمه دنبال چی میگردی و مرتبطترین فایل رو بالای نتایج بیاره.
نویسنده صریح میگه این ابزار قبل از هر چیز برای ایجنتهای هوش مصنوعی ساخته شده. ایده اینه که بهجای اینکه ایجنت با brute-force محتوای کلی فایل رو بخونه، Mantic از ساختار پوشهها و متادیتا نیت رو استنباط میکنه. مزیتی که روش تأکید میشه اینه که مصرف توکن رو تا حدود ۶۳٪ کم میکنه، چون فایلهای بیربط رو قبل از خوندهشدن کنار میذاره. کل کار هم محلی انجام میشه و هیچ دادهای بیرون نمیره.
قلب فنیش رتبهبندی ساختاریه. مثلاً برای کوئری router server تو Next.js، دقیقاً فایل router-server.ts رو پیدا میکنه، در حالی که ripgrep کلی مثبت کاذب برمیگردونه. تشخیص CamelCase هم داره: کوئری ScriptController رو به script controller میشکنه و فایل درست رو پیدا میکنه بدون اینکه خودت رجکس بنویسی. مچ کردن مسیرهای چندکلمهای و اولویتدادن به دایرکتوریهای مرتبط هم از همین دست کارهاست.
تو نسخهٔ ۱.۰.۲۵ چند چیز اضافه شده. یه بازرتبهبندی «سمنتیک» با امبدینگ محلی که کد «مفهوماً مرتبط» رو حتی بدون تطابق دقیق کلیدواژه پیدا میکنه. یه لایهٔ هوش کد مبتنی بر Tree-sitter هم داره که goto (رفتن به تعریف یه سمبل) و references (پیداکردن همهٔ استفادهها) رو در کل مونوریپو انجام میده:
mantic "verify user" --semantic
mantic goto UserService
mantic references handleLoginطبیعتاً یه تریدآف هم هست: خودِ سازنده میگه Mantic رو سرعت خام از ripgrep و fzf کندتره (مثلاً روی کدبیس Chromium با ۴۸۱ هزار فایل، زیر ۲ ثانیه، در برابر کسری از ثانیهٔ ripgrep). برای جستوجوهای سریع متنی یا مچ رشتهٔ دقیق، همون ripgrep بهتره؛ Mantic اونجا میدرخشه که پای فهم نیت و رتبهبندی وسطه. از طریق MCP هم به Cursor و Claude وصل میشه و لایسنسش دوگانهست (AGPL-3.0 برای استفادهٔ داخلی و اپنسورس، تجاری برای امبد در محصولات اختصاصی).
نکات کلیدی:
- موتور جستوجوی کد context-آگاه که ربط رو به سرعت خام ترجیح میده
- مخصوص ایجنتهای AI؛ ادعای کاهش مصرف توکن تا ۶۳٪ و اجرای کاملاً محلی
- رتبهبندی ساختاری، تشخیص CamelCase و مچ مسیرهای چندکلمهای
- بازرتبهبندی سمنتیک با امبدینگ محلی، و goto/references با Tree-sitter
- تریدآف: رو سرعت خام از ripgrep/fzf کندتره؛ اتصال به Cursor/Claude از طریق MCP




