منصوبے کے بارے میں

Fermix ایک ذاتی، خود میزبان AI ایجنٹ پلیٹ فارم ہے جو Elixir/OTP میں لکھا گیا ہے۔ یہ آپ کی اپنی مشین پر بیک گراؤنڈ ڈیمن کے طور پر چلتا ہے اور آپ تک ان چیٹ ایپس کے ذریعے پہنچتا ہے جو آپ پہلے سے استعمال کرتے ہیں۔ آپ اپنی ماڈل فراہم کنندہ کی کلید خود لاتے ہیں—کوئی Fermix کلاؤڈ نہیں ہے، اور آپ کی کنفیگریشن، تاریخ، اور لاگز `~/.fermix` کے تحت رہتے ہیں۔ **اہم خصوصیات:** - **ایک رن ٹائم:** سب کچھ ایک ہی Elixir/OTP ایپلیکیشن ہے جو ایک BEAM VM میں ہے—کوئی HTTP برجز، بیرونی ورکر پولز، یا میسج بروکرز نہیں۔ مستقل ایجنٹ، بیک وقت گفتگو، اور ان-پروسیس ذیلی ایجنٹ سب اس ڈیزائن سے نکلتے ہیں۔ - **آپ تک ہر جگہ پہنچتا ہے:** Telegram، WhatsApp، Slack، Discord، Signal، اور ایک مقامی CLI سب ایک ہی ایجنٹ لوپ میں ختم ہوتے ہیں۔ ایک فرسٹ پارٹی iPhone کمپینئن (موبائل چینل) بنیاد ہے، جو کنفیگ فلیگ کے پیچھے غیر فعال ہے جب تک ایپ ریلیز ہو جائے۔ - **اپنا ماڈل لائیں:** سات فراہم کنندگان—OpenAI، OpenAI Codex، Anthropic، SpaceXAI، OpenRouter، Mistral، اور ایک کلید کے بغیر مقامی Ollama—ایک پرائمری کے طور پر منتخب کیا جاتا ہے جس میں خودکار فال بیک چین ہوتی ہے۔ ذیلی ایجنٹ اور طے شدہ ملازمتیں اپنے سستے ماڈل پر پن کیے جا سکتے ہیں۔ - **ہمیشہ آن:** طے شدہ ملازمتیں ڈائجسٹ، واچرز، یاد دہانیاں، اور چیک چلاتی ہیں—ہر ایک الگ تھلگ، محدود، مستقل طور پر محفوظ، اور آپ کے چینلز کے ذریعے واپس پہنچایا جاتا ہے۔ کام ریبوٹس سے بچ جاتا ہے۔ - **خود مکمل:** ہر پلیٹ فارم کے لیے ایک خود نکالنے والا بائنری کے طور پر بھیجتا ہے اور پہلی بار چلنے پر OS سروس یونٹ انسٹال کرتا ہے۔ **فوری آغاز:** ```bash brew install tezra-io/tap/fermix fermix setup ``` `fermix setup` بیک گراؤنڈ سروس انسٹال اور شروع کرتا ہے، پھر سیٹ اپ URL پرنٹ کرتا ہے اور کنفیگریشن مکمل کرنے کے لیے آپ کے براؤزر میں `http://127.0.0.1:4030/setup` کھولتا ہے۔ ہیڈ لیس ہوسٹ پر یہ اس کے بجائے ٹرمینل وزرڈ چلاتا ہے (`--cli` اسے مجبور کرتا ہے)؛ `--no-service` سروس انسٹال کیے بغیر کنفیگر کرتا ہے، اور `--no-browser` ایک کھولنے کے بجائے URL پرنٹ کرتا ہے۔ **انسٹالیشن:** - Homebrew (macOS، Linux): `brew install tezra-io/tap/fermix` (پلگ ان تصدیق کے لیے `cosign` درکار ہے) - سورس سے بنائیں: Elixir ≥ 1.17، Erlang/OTP 28، اور Zig 0.15.2 درکار ہے۔ کلون کریں، `mix deps.get`، اثاثے مرتب کریں، Burrito کے ساتھ پیک کریں، بائنری انسٹال کریں، پھر `fermix setup`۔ **کنفیگریشن:** `fermix setup` پہلی بار کنفیگریشن کے لیے واحد داخلہ نقطہ ہے۔ یہ `~/.fermix/config.toml` میں ایک ٹائپ شدہ سنیپ شاٹ لکھتا ہے اور ورک اسپیس روٹس بناتا ہے (`skills`، `journals`، `realtime`، `traces`، `logs`، `auth.json`)۔ فراہم کنندہ تصدیقی طریقے (API کلید بمقابلہ OAuth)، چینل سیٹ اپ، اور شیڈولنگ README میں شامل ہیں۔ رن ٹائم ترجیح: کمپائل ٹائم ڈیفالٹس → مستقل سیٹ اپ اسٹیٹ → ماحولیاتی متغیر اوور رائڈز۔ طے شدہ ملازمت کی ترسیل ایک واضح فی ملازمت ہدف یا `config.toml` میں کرون مخصوص ڈیفالٹ چینل ہدف کو نشانہ بنا سکتی ہے۔ وائس نوٹس کی نقل قابل پلگ ان ہے (OpenAI، SpaceXAI، Deepgram)۔ **ماحولیاتی متغیرات:** اگر آپ `fermix setup` استعمال کرتے ہیں تو اسناد کے متغیرات اختیاری ہیں (جو آپ کے OS کیچین میں راز ذخیرہ کرتا ہے)۔ ہیڈ لیس/کنٹینر تعیناتیوں کے لیے، `OPENAI_API_KEY`، `ANTHROPIC_API_KEY`، `XAI_API_KEY`، `OPENROUTER_API_KEY`، `MISTRAL_API_KEY`، علاوہ چینل ٹوکنز (WhatsApp، Discord، Slack، Signal) اور آپریشنل نوبس جیسے `FERMIX_HOME`، `FERMIX_TRACE_DIR`، `FERMIX_LOG_FILE`، `FERMIX_HTTP_BIND`، اور Realtime وائس سیٹنگز سیٹ کریں۔ **استعمال:** - ڈیمن کنٹرول: `fermix service install`، `start`، `status`، `ask`، `logs`، `stop`، `restart`، `service uninstall` - مقامی وائس کمپینئن (FermixPet): اختیاری مقامی macOS ایپ جو Unix ساکٹ پر ڈیمن سے بات کرتی ہے؛ سیٹ اپ صفحہ کے ذریعے فعال کریں، `fermix voice status` سے چیک کریں - چینلز: Telegram (لانگ پول)، WhatsApp (ویب ہک)، Slack (Events API)، Discord (Gateway)، Signal (`signal-cli`)، CLI، اور موبائل (غیر فعال) - HTTP اینڈ پوائنٹس: `/health/live`، `/health/ready`، `/health`، `/setup`، WhatsApp/Slack ویب ہکس **CLI حوالہ:** شامل ہیں `setup`، `auth login`، `run`، `service install/uninstall`، `start/stop/restart`، `status`، `health`، `voice status`، `pair`، `devices list/revoke`، `ask`/`chat`، `sandbox explain`، `grant path`، `revoke path`، `agents`، `capabilities`، `skills`، `plugins`، `memory`، `logs`، `upgrade`، `doctor`، `version`، `help`۔ **چینل کمانڈز:** `/compact`، `/new`، `/clear`، `/help`، `/whoami`، `/background`، `/tasks`، `/stop`، `/ultra`، `/sandbox`، `/soul`—سب مشترکہ ڈسپیچر کے ذریعے چینلز پر کام کرتی ہیں۔ **آرکیٹیکچر:** چھتری پروجیکٹ چار ایپس کے ساتھ: `fermix_core` (ایجنٹ، فراہم کنندگان، ٹولز، میموری، سیٹ اپ، CLI، تصدیق، ٹریسنگ)، `fermix_channels` (Telegram، WhatsApp، Slack، Discord، Signal، CLI)، `fermix_web` (Phoenix: سیٹ اپ LiveView، ہیلتھ، ویب ہک انگریس)، اور `fermix_nif` (پروسیس گروپ سگنل شیم کے لیے C NIF)۔ ڈیٹا فلو: چینل اڈاپٹر → Dispatcher → MainAgent → صلاحیت پر عملدرآمد → فراہم کنندہ → LLM → جواب۔ بلٹ ان ٹولز میں شامل ہیں `shell`، `file_read`، `file_write`، `file_edit`، `glob_search`، `content_search`، `git_read`، `git_write`، `web_fetch`، `web_search`، `place_search`، اور `subagents`۔ اسکلز الگ، صارف کے انسٹال کردہ صلاحیتیں ہیں جن کی اپنی ہدایات اور اجازت یافتہ ٹول حدود ہیں۔ Fermix الفا (پری-1.0) حیثیت میں ہے، MIT-لائسنس یافتہ ہے، اور Elixir ≥ 1.17 اور Erlang/OTP ≥ 28 درکار ہے۔