প্রকল্প সম্পর্কে
# Iris
Iris একটি LLM-প্রথম, উৎস-নিরপেক্ষ মেসেজিং সিস্টেম যা একাধিক প্ল্যাটফর্ম—টেলিগ্রাম, এসএমএস, ইমেইল, হোয়াটসঅ্যাপ, ইনস্টাগ্রাম এবং অন্যান্য—থেকে বার্তাগুলিকে একটি একক, কোয়েরিযোগ্য 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`: প্রদানকারী বাস্তবায়ন (টেলিগ্রাম, এসএমএস, ইমেইল, ইত্যাদি)
- `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.