
HarnessRouter یک لایه زیرساخت متنباز برای اجرای Harnessهای ایجنتی مانند Codex، Claude Code و Hermes از پشت یک رابط مشترک است. بهجای اینکه برای هر ابزار چرخه Session، Stream، فایل خروجی و خطا را جدا پیاده کنید، یک Gateway دارید که درخواست را به Harness انتخابی میفرستد و نتیجه را با قرارداد یکسان برمیگرداند.
این ابزار خودش مدل هوش مصنوعی نیست. برای کارکردن به کلید یک ارائهدهنده مدل نیاز دارد. اگر پرداخت تومانی، مدلهای متنوع و کنترل مصرف هر کلید برایتان مهم است، میتوانید سازگاری Provider سفارشی آن را با API هوش مصنوعی پاستا آزمایش کنید. پاستا مدل را فراهم میکند و HarnessRouter اجرای ایجنت، Session و Artifactها را مدیریت میکند؛ این دو جای یکدیگر را نمیگیرند.
HarnessRouter دقیقاً چه مسئلهای را حل میکند؟
هر Harness روش خودش را برای شروع کار، ادامه Session، گزارش پیشرفت و تحویل فایل دارد. اگر محصولی میسازید که باید میان چند Harness جابهجا شود، اتصال مستقیم به همه آنها خیلی زود به کدهای وابسته و دشوار برای نگهداری تبدیل میشود. HarnessRouter قرارداد Unified Harness Protocol و یک API سازگار با ساختار Responses ارائه میکند تا برنامه شما با یک ورودی ثابت، Harness را انتخاب کند.
طبق مستندات رسمی پروژه، نسخه Community Edition در یک کانتینر Docker سه بخش Console، Gateway و Runner را اجرا میکند. دادههای پایدار شامل دیتابیس، فایلها، Secretها و Workspaceها در Volume مسیر /data میمانند. درخواستهای مدل همچنان به Provider انتخابی شما ارسال میشوند.
پیشنیازهای نصب
- Docker و حدود ۴ گیگابایت فضای آزاد برای Image، ابزارها و Workspaceها؛
- یک Volume پایدار برای جلوگیری از حذف Sessionها و تنظیمات هنگام ساخت مجدد کانتینر؛
- کلید API مدل، جدا از کلیدی که بعداً برای اتصال برنامه به HarnessRouter میسازید؛
- دامنه و HTTPS برای دسترسی بیرونی، بههمراه محدودیت شبکه و رمز مدیریتی قوی.
نسخه و Image را در محیط واقعی ثابت کنید و پیش از ارتقا از Volume پشتیبان بگیرید. پروژه تازه و فعال است؛ گزینههای رابط و قراردادها ممکن است تغییر کنند.
آموزش نصب HarnessRouter با Docker
برای آزمایش محلی، فرمان پیشنهادی مستندات رسمی را اجرا کنید:
docker run -d --name harnessrouter \
-p 127.0.0.1:3000:3000 \
-v harnessrouter:/data \
harnessrouter/harnessrouter
اتصال پورت به 127.0.0.1 عمدی است. تا وقتی رمز پیشفرض را عوض نکردهاید، Console را روی اینترنت منتشر نکنید. برای دیدن وضعیت شروع میتوانید لاگ محدود بگیرید:
docker logs --tail 200 harnessrouter
وقتی پیام آمادهبودن سرویس را دیدید، http://localhost:3000 را باز کنید. نام کاربری و رمز اولیه در راهنمای رسمی آمدهاند؛ بلافاصله رمز را از Profile تغییر دهید. این اطلاعات فقط ورود به Console هستند و با کلید Provider یا کلید API محصول فرق دارند.