इस प्रोजेक्ट के बारे में
Fermix एक व्यक्तिगत, स्व-होस्टेड AI एजेंट प्लेटफ़ॉर्म है जो Elixir/OTP में लिखा गया है। यह आपकी अपनी मशीन पर पृष्ठभूमि डेमॉन के रूप में चलता है और आपके द्वारा पहले से उपयोग किए जाने वाले चैट ऐप्स के माध्यम से आप तक पहुंचता है। आप अपनी मॉडल प्रदाता कुंजी लाते हैं—कोई Fermix क्लाउड नहीं है, और आपका कॉन्फ़िगरेशन, इतिहास और लॉग `~/.fermix` के अंतर्गत रहते हैं।
**मुख्य विशेषताएं:**
- **एक रनटाइम:** सब कुछ एक ही BEAM VM में एक Elixir/OTP एप्लिकेशन है—कोई 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 की आवश्यकता है।
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.