इस प्रोजेक्ट के बारे में
# Iris
Iris एक LLM-प्रथम, स्रोत-अज्ञेय संदेश प्रणाली है जिसे कई प्लेटफार्मों—Telegram, SMS, Email, WhatsApp, Instagram और अन्य—से संदेशों को एकल, क्वेरी-योग्य API में एकीकृत करने के लिए डिज़ाइन किया गया है। यह स्व-होस्टेबल, MIT-लाइसेंस प्राप्त और Rust में निर्मित है।
## मुख्य विशेषताएँ
- **एकीकृत मॉडल**: सभी संदेशों को सुसंगत `Message`, `Thread` और `Contact` संरचनाओं में सामान्यीकृत करता है।
- **स्रोत-अज्ञेय क्वेरीज़**: उनके मूल को जाने बिना सभी स्रोतों में क्वेरी करें (जैसे, "सभी अपठित थ्रेड")।
- **LLM-प्रथम डिज़ाइन**: MCP समर्थन, संरचित JSON और क्षमता विज्ञापन के साथ एजेंट उपभोग के लिए अनुकूलित।
- **कोड जनरेशन**: CLI, HTTP और MCP सतहें एकल API परिभाषा से उत्पन्न होती हैं, जिससे स्थिरता सुनिश्चित होती है।
- **स्व-होस्टेबल**: कोई क्लाउड निर्भरता नहीं; जहाँ Rust चलता है वहाँ चलता है।
- **विस्तार योग्य**: नया प्रदाता जोड़ने के लिए एकल ट्रेट लागू करना आवश्यक है।
## त्वरित प्रारंभ
```bash
cargo build
cargo run -- threads
cargo run -- messages <thread-id>
cargo run -- contacts
cargo run -- serve
```
## Docker के साथ स्व-होस्टिंग
प्रकाशित इमेजें `ghcr.io/techgodhq/iris:<version>` (या `:latest`) पर उपलब्ध हैं। इंटरनेट-सुलभ तैनाती के लिए `IRIS_API_TOKEN` को उच्च-एन्ट्रॉपी गुप्त मान पर सेट करें; `GET /health` को छोड़कर सभी HTTP एंडपॉइंट्स को Bearer टोकन प्रमाणीकरण की आवश्यकता होती है। टोकन के बिना, सर्वर सार्वजनिक या वाइल्डकार्ड बाइंड पते को अस्वीकार कर देता है।
उदाहरण:
```bash
docker run --rm \
--name iris \
--publish 127.0.0.1:9876:9876 \
--volume iris-data:/data \
--env IRIS_ENABLED_PROVIDERS=telegram \
--env IRIS_TELEGRAM_BOT_TOKEN="${IRIS_TELEGRAM_BOT_TOKEN}" \
ghcr.io/techgodhq/iris:latest
```
## कॉन्फ़िगरेशन
Iris TOML फ़ाइलों, मूल पर्यावरण चर, या दोनों का समर्थन करता है। पर्यावरण मान TOML को ओवरराइड करते हैं, जो डिफ़ॉल्ट को ओवरराइड करता है। मुख्य चर में `IRIS_ENABLED_PROVIDERS`, `IRIS_TELEGRAM_BOT_TOKEN` और विभिन्न `IRIS_EMAIL_*` सेटिंग्स शामिल हैं।
प्रदाता प्रकार के कई उदाहरण समर्थित हैं (जैसे, `email.ops-codefold`), स्वतंत्र कॉन्फ़िगरेशन और पर्यावरण चर नामकरण परंपराओं के साथ।
## वास्तुकला
Iris क्रेट्स के साथ एक वर्कस्पेस के रूप में संरचित है:
- `iris-core`: डोमेन मॉडल और `MessageProvider` ट्रेट (शून्य I/O निर्भरताएँ)
- `iris-providers`: प्रदाता कार्यान्वयन (Telegram, SMS, Email, आदि)
- `iris-server`: Axum HTTP सर्वर (REST API)
- `iris-cli`: कमांड-लाइन इंटरफ़ेस (clap)
- `iris-mcp`: MCP सर्वर सतह
- `iris-codegen`: CLI/HTTP/MCP को सिंक में रखने के लिए कोड जनरेशन
## प्रदाता जोड़ना
1. `iris-providers/src/` में एक मॉड्यूल बनाएँ।
2. `MessageProvider` ट्रेट लागू करें।
3. इसे सर्वर/CLI स्टार्टअप में पंजीकृत करें।
## विकास
```bash
cargo build --all-targets
cargo test --all-targets
cargo clippy --all-targets -- -D warnings
cargo fmt --all -- --check
```
प्री-कमिट हुक lefthook के माध्यम से कॉन्फ़िगर किए गए हैं।
## लाइसेंस
MIT
Comments
0 Rating appears after 10 ratings
Sign in to join the discussion.