whip؛ هارنس ایجنت کدنویسی نوشتهشده با Go
خلاصهٔ کاملتر
whip یه هارنس ایجنت کدنویسیه که context-labs اونو با Go نوشته: یه حلقهٔ tool-use برای مدل (با ابزارهای bash، read، write، edit و task)، یه سشن تعاملی روی bubbletea و امکان روت کردن درخواست بین providerهای مختلف. همهش هم یه باینریه، بدون رانتایم جداگانه، و به گفتهٔ خودشون کانفیگی داره که آدم میتونه بخونش.
استدلال اصلی تیم اینه که هارنس ایجنت باید تا حد ممکن سریع باشه و Go رو دقیقاً بهخاطر همین انتخاب کردن: فراخوانی موازی ابزارها، استریم کردن همهچیز و هیچی جز یه حلقه بین تو و مدل. میگن چون کار هارنس عمدتاً شبکهست، channelهای Go جای promiseهای دستسازی میشینن که طراحیهای مشابه تو TypeScript دارن، و چیزی مثل قفل فایل بهازای هر مسیر یا subagent پسزمینه تبدیل به primitiveهایی میشه که کامپایلر چکشون میکنه.
نویسندهها صراحتاً میگن دیفالت بقیهٔ هارنسها خوب نیست و whip بهترین ایدههای pi و opencode و codex و exo رو یهجا جمع کرده؛ تو roadmap هم برای هر فیچر منبعش ذکر شده. جهتگیری پروژه هم سمت مدلهای اپنسورسه: کاتالوگ هر provider زنده خونده میشه، مدلهای تازه تو picker ظاهر میشن و یه مدل پیشفرض سریع همیشه نزدیک به بهترینهای روز نگه داشته میشه.
برای شروع، باینریهای آمادهٔ checksumدار برای Linux و macOS (روی x64 و arm64) هست یا میشه با go install از سورس ساختش، که به Go نسخهٔ ۱.۲۷ به بالا نیاز داره. دیفالتش مدلهای inference.netه ولی هر endpoint سازگار با OpenAI کار میکنه، و یه دستور whip auth openrouter کل کاتالوگ OpenRouter رو وصل میکنه بدون کانفیگ جدا برای هر مدل. اگه یه فایل .mcp.json تو ریپو بذاری، سرورهای MCP خودشون ظاهر میشن. چندتا دستور داخل سشن هم ارزش امتحان دارن:
/context-doctor audit what a fresh session injects, in tokens
/goal work until done
/model pick a model, type to filterنکات کلیدی:
- نوشتهشده با Go، یه باینری بدون رانتایم، با حلقهٔ tool-use شامل bash و read و write و edit و task
- سرعت، تصمیم معماری اصلیه: فراخوانی موازی ابزارها و استریم کردن همهچیز، با سشن تعاملی روی bubbletea
- ایدهها از pi و opencode و codex و exo وام گرفته شده و منبع هر فیچر تو roadmap ذکر شده
- ساخت از سورس با go install، نیازمند Go نسخهٔ ۱.۲۷ به بالا
- دیفالت روی inference.net، کار با هر endpoint سازگار با OpenAI، و پشتیبانی از MCP فقط با گذاشتن .mcp.json




