Omnara: پلتفرم اوپنسورس برای اجرای ایجنتهای هوش مصنوعی
خلاصهٔ کاملتر
Omnara یه پلتفرم اوپنسورس برای اجرای ایجنتهای هوش مصنوعیه که خودش رو جایگزین self-hostable برای Claude Managed Agents و Agents API اوپنایآی معرفی میکنه. اپ تو با یه REST API یا SDK تایپاسکریپتی (@omnara/sdk) به Omnara وصل میشه، و Omnara هر ایجنت رو با مدل، ابزارها و ماشینهایی که تو کانفیگش اومده اجرا میکنه. لایسنسش Apache 2.0 هست و نسخهٔ ابری هم داره.
کانفیگ هر ایجنت یه فایل agent.yaml هست. این نمونه از خود ریپو، یه ایجنت با مدل Claude از طریق OpenRouter میسازه که روی یه sandbox مدیریتشده اجرا میشه:
version: v1
instruction: |
You are an engineering assistant. Use your machine to run commands.
model:
provider_config: omnara-openrouter
name: anthropic/claude-fable-5.1
machine_sources:
- machine_pool_name: default-poolمعماریش چهار تیکه داره. API برای راهاندازی ایجنت، فرستادن پیام و جواب دادن به approvalها. Postgres که هر قدم هر ایجنت توش ذخیره میشه و همین میشه state ایجنت؛ یعنی اگه یه worker کرش کنه، یه worker دیگه از همونجا ادامه میده. Workerها پروسسهای stateless هستن که context مدل رو میسازن، مدل رو صدا میزنن و ابزارها رو اجرا میکنن. ماشینها هم daemonی به اسم omnarad اجرا میکنن که خودش به Omnara وصل میشه، پس لازم نیست هیچ پورت ورودیای باز کنی.
از نظر مدل، هر endpointی که با OpenAI Responses، OpenAI Chat Completions یا Anthropic Messages سازگار باشه کار میکنه؛ مثل OpenAI، Anthropic، OpenRouter، Amazon Bedrock، LiteLLM و Ollama. ایجنتها ابزارهای داخلی (شل، فایل، جستجوی وب)، سرورهای MCP، skillها، حافظهٔ ماندگار بین مکالمهها و subagent دارن. برای اجرا هم میتونی daemon رو روی لپتاپ، VM یا کانتینر macOS و لینوکسی نصب کنی یا از sandboxهای یازده تا ارائهدهنده مثل E2B، Daytona و Modal استفاده کنی.
برای کنترل، هر ابزار میتونه مستقیم اجرا بشه، اول از یه آدم اجازه بگیره یا کلاً بلاک باشه. خود پلتفرم این قانون رو اعمال میکنه و ایجنت منتظر تأیید میمونه. یکپارچگی با Slack، Discord و GitHub، زمانبندی با cron، وبهوک، RBAC و چند-مستأجری (یعنی یه نصب برای چندتا سازمان جدا) هم داره.
تیم Omnara میگه اگه فقط از مدلهای یه شرکت استفاده میکنی و میخوای همهچی رو همون شرکت برات بچرخونه، سرویسهای Anthropic یا OpenAI مناسبترن. ولی اگه میخوای مدل و ماشین رو خودت انتخاب کنی یا دادههای ایجنتها تو دیتابیس خودت بمونه، Omnara به دردت میخوره. نکته: پیشفرضهای نصب لوکال عمداً ناامنن و برای production باید راهنمای self-hosting رو دنبال کنی.
نکات کلیدی:
- لایسنس Apache 2.0، نصب رایگان با Docker Compose و نسخهٔ ابری بدون هزینهٔ پلتفرم
- سازگار با هر endpoint از نوع OpenAI Responses، Chat Completions یا Anthropic Messages
- state هر ایجنت تو Postgres ذخیره میشه و بعد از کرش یا ریاستارت ادامه پیدا میکنه
- daemon به اسم omnarad بدون پورت ورودی یا کلید SSH روی ماشینها کار میکنه
- پشتیبانی از sandboxهای یازده ارائهدهنده مثل E2B، Daytona و Modal
- CLI برای اجرا به Node.js 22 یا بالاتر نیاز داره




