
نظام تشغيل آمن وخاص للوكيل الذكي مع تخزين مشفر محلي، ومصادقة OAuth/SSO، والتحكم في الوصول القائم على السياسات، وإطار عمل قابل للتوسع لبناء الأدوات للنشر الشخصي والإنتاجي.
مساعدك الشخصي الآمن للذكاء الاصطناعي، دائمًا إلى جانبك
English | 简体中文 | Русский | 日本語 | 한국어
بداية سريعة لـ Reborn • الفلسفة • الميزات • التثبيت • الإعدادات • الأمان • المعمارية
إن إعادة ولادة IronClaw (IronClaw Reborn) هي بيئة التشغيل المستقلة على الفرع reborn-integration. إنها تستخدم الثنائي المنفصل ironclaw-reborn من الحزمة ironclaw_reborn_cli وجذر حالة منفصل لـ Reborn. إنها لا تستخدم دليل الحالة القديم ironclaw كجذر التكوين.
بالنسبة للثنائي الأقدم ironclaw، انظر التثبيت و استخدام IronClaw القديم.
من جذر المستودع:```bash cargo run -q -p ironclaw_reborn_cli --bin ironclaw-reborn -- --help
أو قم ببنائه أولاً:```bash
cargo build -p ironclaw_reborn_cli --bin ironclaw-reborn
./target/debug/ironclaw-reborn --help
المنزل الافتراضي لـ Reborn هو $HOME/.ironclaw/reborn. قم بتجاوزه بمسار مطلق عندما تريد حالة معزولة:```bash
export IRONCLAW_REBORN_HOME="$PWD/.reborn-home"
cargo run -q -p ironclaw_reborn_cli --bin ironclaw-reborn -- config path
`config path` و `doctor` هما تشخيصان آمنان؛ يبلغان عن المسار الرئيسي المُحلّ، والملف الشخصي، و `config.toml`، و `providers.json`، و `v1_state: not-used`.
لا يقومان بإنشاء حالة Reborn أو ملفات تهيئة أولية.
### تكوين مسار النموذج
الطريقة الأصلية لسطر الأوامر لتكوين مسار النموذج الافتراضي لـ Reborn هي:```bash
export IRONCLAW_REBORN_HOME="$PWD/.reborn-home"
cargo run -q -p ironclaw_reborn_cli --bin ironclaw-reborn -- models set-provider openai --model gpt-5-mini
يؤدي ذلك إلى كتابة $IRONCLAW_REBORN_HOME/config.toml مع [llm.default] واسم متغير البيئة الخاص ببيانات اعتماد المزوّد. تحقق منه باستخدام:```bash
cargo run -q -p ironclaw_reborn_cli --bin ironclaw-reborn -- models status
cargo run -q -p ironclaw_reborn_cli --bin ironclaw-reborn -- models list openai
بالنسبة لـ OpenAI، قم بتعيين القيمة السرية في البيئة قبل البدء:```bash
export OPENAI_API_KEY="sk-..."
cargo run -q -p ironclaw_reborn_cli --bin ironclaw-reborn -- run --message "hello"
احذف --message أو استخدم repl لجلسة stdin تفاعلية:```bash
cargo run -q -p ironclaw_reborn_cli --bin ironclaw-reborn -- repl
### `config.toml` شكل
`config init` ينشئ ملفات بداية قابلة للتعديل:```bash
cargo run -q -p ironclaw_reborn_cli --bin ironclaw-reborn -- config init
يكتب:
$IRONCLAW_REBORN_HOME/config.toml$IRONCLAW_REBORN_HOME/providers.jsonيبدو نموذج توجيه تم تكوينه بشكل أدنى كالتالي:```toml [llm.default] provider_id = "openai" model = "gpt-5-mini" api_key_env = "OPENAI_API_KEY"
`config.toml` may also include optional sections such as `[boot]`,
`[identity]`, `[runner]`, and `[skills]`; `config init` writes commented
guidance for the supported fields.
If `config.toml` is missing, the first stateful runtime start through `run`,
`repl`, or `serve` seeds a sparse file with `api_version` and the safe
`local-dev` boot profile. Read-only commands and `run --dry-run` stay
side-effect-free. One-off environment selections such as
`IRONCLAW_REBORN_PROFILE=local-dev-yolo` are not persisted into the seeded
file.
Important: `api_key_env` is the name of an environment variable, not the secret
itself. Reborn rejects inline secret-shaped values in `config.toml` and
`providers.json`.
Production storage uses the same env-only pattern. A production Reborn config
may name the PostgreSQL URL variable, but must not contain the raw URL:```toml
[storage]
backend = "postgres"
url_env = "IRONCLAW_REBORN_POSTGRES_URL"
secret_master_key_env = "IRONCLAW_REBORN_SECRET_MASTER_KEY"
# Optional; defaults to 2. Keep below the PostgreSQL server or managed
# session-pool cap after reserving capacity for restarts and operator sessions.
pool_max_size = 2
[policy]
deployment_mode = "hosted_multi_tenant"
default_profile = "secure_default"
قم بتعيين IRONCLAW_REBORN_POSTGRES_URL في بيئة العملية، وقم بتعيين IRONCLAW_REBORN_SECRET_MASTER_KEY إلى مادة مفتاح تشفير مستقلة.
يجب على مزودي PostgreSQL المُدار عن بُعد استخدام TLS، على سبيل المثال بإضافة sslmode=require.
يتطلب تشغيل run في الإنتاج أيضًا قسم [policy] صريح. تدعم شريحة الإطلاق الأولى في الإنتاج سياسات وقت التشغيل التي لا تتطلب ربط عملية بحاوية المستأجر (tenant-sandbox).
بمجرد وجود [llm.default]، يختار هذا الإعداد المزود. LLM_BACKEND هو مجرد fallback للبيئة عندما لا يتم تكوين فتحة LLM افتراضية. لتبديل المزودين بعد كتابة الإعدادات، استخدم models set-provider <provider> أو حرّر [llm.default].provider_id.
إذا كان $IRONCLAW_REBORN_HOME/config.toml غير موجود أو لا يحتوي على [llm.default]، يمكن لـ Reborn حل LLM من متغيرات البيئة. لا يتضمن الإعداد الأولي المزروع (seeded config) [llm.default]، لذلك يستمر اختيار النموذج باستخدام البيئة فقط في العمل:```bash
export IRONCLAW_REBORN_HOME="$PWD/.reborn-env-only"
export LLM_BACKEND=openai
export OPENAI_API_KEY="sk-..."
cargo run -q -p ironclaw_reborn_cli --bin ironclaw-reborn -- run --message "hello"
متغيرات البيئة الشائعة للمزوّد:
| المزوّد | المحدّد | البيئة المطلوبة |
| --- | --- | --- |
| OpenAI | `LLM_BACKEND=openai` | `OPENAI_API_KEY`؛ اختياري `OPENAI_MODEL`، `OPENAI_BASE_URL` |
| Anthropic | `LLM_BACKEND=anthropic` | `ANTHROPIC_API_KEY`؛ اختياري `ANTHROPIC_MODEL`، `ANTHROPIC_BASE_URL` |
| متوافق مع OpenAI | `LLM_BACKEND=openai_compatible` | `LLM_BASE_URL`؛ اختياري `LLM_API_KEY`، `LLM_MODEL` |
| OpenRouter | `LLM_BACKEND=openrouter` | `OPENROUTER_API_KEY`؛ اختياري `OPENROUTER_MODEL` |
| Ollama | `LLM_BACKEND=ollama` | لا يوجد مفتاح؛ اختياري `OLLAMA_BASE_URL`، `OLLAMA_MODEL` |
| Codex auth | `LLM_BACKEND=openai_codex` | `LLM_USE_CODEX_AUTH=true` أو `CODEX_AUTH_PATH`؛ اختياري `OPENAI_CODEX_MODEL` |
استخدم `models list <provider>` لرؤية بيانات المزوّد الدقيقة المجمّعة في
الفرع الحالي.
### متغيرات بدء التشغيل
| المتغير | الغرض |
| --- | --- |
| `IRONCLAW_REBORN_HOME` | جذر حالة Reborn المطلق. القيمة الافتراضية هي `$HOME/.ironclaw/reborn`. يرفض الموزّع المسارات غير الآمنة وأسماء مستعارة لجذر حالة الإصدار الأول مثل `$HOME/.ironclaw`. |
| `IRONCLAW_REBORN_PROFILE` | محدد ملف تعريف التشغيل. القيم المدعومة: `local-dev`، `local-dev-yolo`، `hosted-single-tenant`، `hosted-single-tenant-volume`، `production`، `migration-dry-run`. |
| `IRONCLAW_REBORN_POSTGRES_URL` | عنوان URL لتخزين PostgreSQL في الإنتاج عندما يكون `[storage].backend = "postgres"` و `[storage].url_env` يسمي هذا المتغير. احتفظ به خارج `config.toml`؛ يجب أن تستخدم المزوّدات البعيدة TLS. |
| `IRONCLAW_REBORN_POSTGRES_POOL_MAX_SIZE` | تجاوز اختياري لحجم مجموعة عملاء PostgreSQL في Reborn. استخدمه عندما يفرض مزوّد مُدار حدًا صغيرًا لتجميع الجلسات. |
| `IRONCLAW_FILESYSTEM_POSTGRES_MIGRATION_CONNECT_MAX_WAIT_SECS` | نافذة انتظار بدء تشغيل اختيارية لمحاولات إعادة اتصال ترحيل PostgreSQL لنظام الملفات. القيمة الافتراضية هي 300 ثانية. |
| `IRONCLAW_REBORN_SECRET_MASTER_KEY` | مفتاح رئيسي سري لـ Reborn في الإنتاج عندما يسمي `[storage].secret_master_key_env` هذا المتغير. احتفظ به مستقلاً عن عنوان URL لقاعدة البيانات وخارج `config.toml`. |
| `IRONCLAW_REBORN_LOG` | عامل تصفية التتبّع لملف Reborn الثنائي، على سبيل المثال `debug,ironclaw_runner=trace`. |
يدعم `run` و `repl` حاليًا التكوين المحلي لوقت التشغيل من خلال
`local-dev` و `local-dev-yolo` و `hosted-single-tenant-volume`.
يستخدم `hosted-single-tenant-volume` الطبقة الأساسية libSQL المحلية لوقت التشغيل تحت
`$IRONCLAW_REBORN_HOME/hosted-single-tenant-volume`، ويحل
سياسة وقت التشغيل الآمنة الافتراضية المستضافة، ويعطل الأدوات المدعومة بالعمليات مثل shell.
وهو مخصص لنشر أولي لمستأجر واحد على وحدة تخزين دائمة،
وليس كتركيبة إنتاج كاملة لـ PostgreSQL.
يمنح `local-dev-yolo` وصولاً موثوقًا لمضيف الكمبيوتر المحمول ويجب تأكيده
صراحةً:```bash
export IRONCLAW_REBORN_PROFILE=local-dev-yolo
cargo run -q -p ironclaw_reborn_cli --bin ironclaw-reborn -- repl --confirm-host-access
يتم تجميع واجهة WebUI المُعاد تصميمها (Reborn WebUI) خلف ميزة Cargo المسماة webui-v2-beta. تتطلب الإصدارات المبنية بهذه الميزة Node.js 22 مع Corepack/pnpm حتى يتمكن Cargo من إنشاء ودمج حزمة SPA. قم ببناء أو تشغيل الثنائي (binary) مع تلك الميزة لتفعيل الأمر serve:```bash
cargo run -q -p ironclaw_reborn_cli --features webui-v2-beta --bin ironclaw-reborn -- serve --help
cargo build -p ironclaw_reborn_cli --features webui-v2-beta --bin ironclaw-reborn
مستمع WebUI يبدأ افتراضياً على `127.0.0.1:3000`. تتطلب الخدمة رمز env-bearer و معرف مستخدم عند بدء التشغيل. كما تحتاج إلى مسار النموذج من القسم السابق، بما في ذلك متغير البيئة الخاص ببيانات اعتماد ذلك المزود:```bash
export IRONCLAW_REBORN_HOME="$PWD/.reborn-home"
export OPENAI_API_KEY="sk-..." # or the required env var for your configured provider
export IRONCLAW_REBORN_WEBUI_TOKEN="$(openssl rand -hex 32)"
export IRONCLAW_REBORN_WEBUI_USER_ID="reborn-cli"
cargo run -q -p ironclaw_reborn_cli --features webui-v2-beta --bin ironclaw-reborn -- serve
تكوين المستمع config.toml المكافئ:```toml
[webui]
listen_host = "127.0.0.1"
listen_port = 3000
env_token_var = "IRONCLAW_REBORN_WEBUI_TOKEN"
env_user_id_var = "IRONCLAW_REBORN_WEBUI_USER_ID"
allowed_origins = ["http://127.0.0.1:3000", "http://localhost:3000"]
canonical_host = "127.0.0.1:3000"
`env_token_var` و `env_user_id_var` هما اسمان لمتغيرات البيئة. احتفظ بالرمز المميز الفعلي ومعرف المستخدم في البيئة.
متغيرات البيئة المطلوبة لواجهة مستخدم WebUI:
| متغير | الغرض |
| --- | --- |
| `IRONCLAW_REBORN_WEBUI_TOKEN` | رمز مميز من نوع Bearer لطلبات واجهة WebUI. إذا كان SSO ممكّناً، فإنه يوقّع الجلسات أيضاً ويجب أن يكون بطول 32 بايت على الأقل. |
| `IRONCLAW_REBORN_WEBUI_USER_ID` | معرّف مالك/مستخدم Reborn لطلبات Bearer البيئية. إذا تم تكوين `[identity].default_owner`، فيجب أن تتطابق هذه القيمة. |
متغيرات البيئة الاختيارية لـ OAuth بواجهة WebUI:
| متغير | الغرض |
| --- | --- |
| `IRONCLAW_REBORN_WEBUI_BASE_URL` | عنوان URL الأساسي العام المستخدم لتسجيل الدخول إلى WebUI واسترجاع ردود OAuth لمصادقة المنتج. يجب أن تستخدم النشرات غير الحلقية `https://`. |
| `IRONCLAW_REBORN_WEBUI_GOOGLE_CLIENT_ID` | يمكّن Google SSO عند التعيين. |
| `IRONCLAW_REBORN_WEBUI_GOOGLE_CLIENT_SECRET` | مطلوب عند تمكين Google SSO. |
| `IRONCLAW_REBORN_WEBUI_GOOGLE_ALLOWED_HD` | تقييد اختياري لنطاق Google المُستضاف. |
| `IRONCLAW_REBORN_WEBUI_GITHUB_CLIENT_ID` | يمكّن GitHub SSO عند التعيين. |
| `IRONCLAW_REBORN_WEBUI_GITHUB_CLIENT_SECRET` | مطلوب عند تمكين GitHub SSO. |
| `IRONCLAW_REBORN_WEBUI_ALLOWED_EMAIL_DOMAINS` | مطلوب عند تمكين أي مزود SSO. نطاقات البريد الإلكتروني المُحققة، مفصولة بفواصل. |
| `IRONCLAW_REBORN_WEBUI_OAUTH_HTTP_TIMEOUT_SECS` | تجاوز اختياري لمهلة HTTP الخاصة بـ OAuth. |
بالنسبة لـ Google SSO، قم بإنشاء عميل ويب OAuth من Google وسجّل رابط إعادة التوجيه الخاص بـ Reborn WebUI على النحو التالي:```text
{IRONCLAW_REBORN_WEBUI_BASE_URL}/auth/callback/google
على سبيل المثال، مع IRONCLAW_REBORN_WEBUI_BASE_URL=https://ironclaw.example.com،
يكون رابط إعادة التوجيه المخوَّل في Google Cloud هو:```text
https://ironclaw.example.com/auth/callback/google
تستخدم عمليات إعداد OAuth لـ Notion MCP وغيرها من product-auth نفس عنوان URL الأساسي لواجهة WebUI العامة عند تسجيل عناوين URL لرد الاتصال بالمزود. لا تقم بتضمين شرطة مائلة زائدة في `IRONCLAW_REBORN_WEBUI_BASE_URL`؛ يقوم Reborn بقصها قبل بناء عناوين URL لرد الاتصال. إذا تم حذف عنوان URL الأساسي، يستخدم Reborn عنوان المستمع الفعلي، مثل `http://127.0.0.1:3000`، وهو مناسب فقط لاختبار OAuth المحلي loopback. يجب على عمليات نشر OAuth العامة أو غير المحلية non-loopback تعيين عنوان URL أساسي `https://`. بيئة بدء تشغيل Google SSO الكاملة:```bash
export IRONCLAW_REBORN_HOME="/var/lib/ironclaw-reborn"
export IRONCLAW_REBORN_PROFILE=local-dev
export OPENAI_API_KEY="sk-..." # or the required env var for your configured provider
export IRONCLAW_REBORN_WEBUI_TOKEN="$(openssl rand -hex 32)"
export IRONCLAW_REBORN_WEBUI_USER_ID="reborn-cli"
export IRONCLAW_REBORN_WEBUI_BASE_URL="https://ironclaw.example.com"
export IRONCLAW_REBORN_WEBUI_ALLOWED_EMAIL_DOMAINS="example.com,team.example.com"
export IRONCLAW_REBORN_WEBUI_GOOGLE_CLIENT_ID="..."
export IRONCLAW_REBORN_WEBUI_GOOGLE_CLIENT_SECRET="..."
cargo run -q -p ironclaw_reborn_cli --features webui-v2-beta --bin ironclaw-reborn -- serve --host 0.0.0.0 --port 3000
IRONCLAW_REBORN_WEBUI_ALLOWED_EMAIL_DOMAINS هي قائمة السماح الفعلية للقبول. hd من Google هو مجرد تلميح اختياري من جانب المزود لنطاق مستضاف؛ لا تعتمد عليه بدلاً من قائمة النطاقات المسموح بها في Reborn. IRONCLAW_REBORN_HOME يختار جذر الحالة/التكوين لهذه الخدمة. IRONCLAW_REBORN_PROFILE الافتراضي هو local-dev؛ local-dev-yolo يمنح الوصول لمضيف الكمبيوتر المحمول الموثوق ولا يمكن تقديمه على مضيف غير loopback.
استخدم serve --host <ip> --port <port> لتجاوز المستمع من سطر الأوامر. الربط بمضيف غير loopback حساس للإنتاج. وضع الخدمة local-dev-yolo يتطلب أيضًا --confirm-host-access ويرفض المضيفين غير loopback.
دعم Slack يُجمّع خلف ميزة Cargo slack-v2-host-beta. تلك الميزة تتضمن webui-v2-beta، لذلك يعمل Slack على نفس أمر serve:```bash
export IRONCLAW_REBORN_HOME="$PWD/.reborn-home"
export OPENAI_API_KEY="sk-..." # or the required env var for your configured provider
export IRONCLAW_REBORN_WEBUI_TOKEN="$(openssl rand -hex 32)"
export IRONCLAW_REBORN_WEBUI_USER_ID="reborn-cli"
export IRONCLAW_REBORN_SLACK_ENABLED="true"
cargo run -q -p ironclaw_reborn_cli --features slack-v2-host-beta --bin ironclaw-reborn -- serve
قم بتمكين Slack عن طريق تعيين `IRONCLAW_REBORN_SLACK_ENABLED=true`، أو عن طريق إضافة قسم `[slack]` إلى `config.toml`:```toml
[slack]
enabled = true
متغير البيئة يتجاوز فقط بوابة تمكين مسار Slack: true/1 يركب Slack، بينما false/0 يعمل كمفتاح إيقاف للنشر. بعد بدء الخادم، قم بتكوين معرفات تطبيق Slack، رمز البوت، السر الموقع، وخرائط القنوات من إعداد قنوات WebUI.
إعدادات Slack المطلوبة:
| الاسم | الغرض |
|---|---|
[slack].enabled = true أو IRONCLAW_REBORN_SLACK_ENABLED=true | يركب مسار Slack أثناء serve. |
| إعداد مساحة عمل Slack في WebUI | يخزن معرفات تثبيت Slack، خرائط القنوات، وأسرار Slack البوتية/التوقيع. |
ملاحظات أكثر تفصيلاً حول إعداد Slack موجودة في
docs/reborn/setup-slack-for-reborn-binary.md.
تم بناء IronClaw على مبدأ بسيط: يجب أن يعمل مساعدك الذكي من أجلك، وليس ضدك.
في عالم أصبحت فيه أنظمة الذكاء الاصطناعي غامضة بشكل متزايد فيما يتعلق بمعالجة البيانات ومتوافقة مع المصالح المؤسسية، تتبع IronClaw نهجًا مختلفًا:
IronClaw هو مساعد الذكاء الاصطناعي الذي يمكنك الوثوق به فعليًا في حياتك الشخصية والمهنية.
webui-v2-betalibclang وسلسلة أدوات C عاملة إذا كنت تبني مسار الصوت/SILK الخاص بـ WeChat من المصدرقم بزيارة صفحة الإصدارات لمشاهدة آخر التحديثات.
قم بتنزيل مثبت Windows وشغّله.
قم بتثبيته باستخدام cargo، فقط تأكد من أن لديك Rust مثبتًا على جهاز الكمبيوتر الخاص بك.```bash
git clone https://github.com/nearai/ironclaw.git cd ironclaw
cargo build --release
cargo test
للإصدار الكامل (بعد تعديل مصادر القنوات)، قم بتشغيل `./scripts/build-all.sh` لإعادة بناء القنوات أولاً.
> **اختياري:** ملاحظات صوتية من WeChat (`audio/silk`) تتطلب الأداة المساعدة المستقلة
> `ironclaw-silk-decoder` لتكون قابلة للنسخ. وهي مستبعدة من بناء مساحة العمل الافتراضية
> لأن `silk-codec` يسحب `bindgen`/`libclang`.
> قم ببنائها بشكل منفصل باستخدام `./crates/ironclaw_silk_decoder/build.sh` (يحتاج
> إلى libclang + سلسلة أدوات C) وضع الملف الثنائي الناتج على `$PATH`، بجانب
> الملف الثنائي `ironclaw`، أو المشار إليه بواسطة `IRONCLAW_SILK_DECODER`. بدونها
> تظل الرسائل الصوتية تُسلم — ولكنها blobs خام من `audio/silk`.
</details>
### إعداد قاعدة البيانات```bash
# Create database
createdb ironclaw
# Enable pgvector
psql ironclaw -c "CREATE EXTENSION IF NOT EXISTS vector;"
قم بتشغيل معالج الإعداد لتكوين IronClaw:```bash ironclaw onboard
يقوم المعالج بإدارة اتصال قاعدة البيانات، ومصادقة NEAR AI (عبر OAuth في المتصفح)، وتشفير الأسرار (باستخدام سلسلة المفاتيح الخاصة بنظامك). يتم حفظ الإعدادات في قاعدة البيانات المتصلة؛ تتم كتابة متغيرات التمهيد (مثل `DATABASE_URL`، `LLM_BACKEND`) إلى `~/.ironclaw/.env` بحيث تكون متاحة قبل اتصال قاعدة البيانات.
### مزودو LLM البديلون
يستخدم IronClaw NEAR AI افتراضيًا ولكنه يدعم العديد من مزودي LLM بشكل جاهز. يشمل المزودون المدمجون **Anthropic** و**OpenAI** و**GitHub Copilot** و**Google Gemini** و**MiniMax** و**Mistral** و**Ollama** (محليًا). كما أن الخدمات المتوافقة مع OpenAI مثل **OpenRouter** (أكثر من 300 نموذج) و**Together AI** و**Fireworks AI** والخوادم المستضافة ذاتيًا (**vLLM**، **LiteLLM**) مدعومة أيضًا.
حدد مزودك في المعالج، أو قم بتعيين متغيرات البيئة مباشرةً:```env
# Example: MiniMax (built-in, 204K context)
LLM_BACKEND=minimax
MINIMAX_API_KEY=...
# Example: OpenAI-compatible endpoint
LLM_BACKEND=openai_compatible
LLM_BASE_URL=https://openrouter.ai/api/v1
LLM_API_KEY=sk-or-...
LLM_MODEL=anthropic/claude-sonnet-4
انظر docs/capabilities/llm-providers.md لدليل كامل عن المزوّدين.
يطبق IronClaw دفاعاً متعدد الطبقات لحماية بياناتك ومنع سوء الاستخدام.
جميع الأدوات غير الموثوقة تعمل في حاويات WebAssembly معزولة.
### الدفاع ضد حقن التعليمات
يمر المحتوى الخارجي عبر طبقات أمنية متعددة:
- الكشف القائم على الأنماط لمحاولات الحقن
- تنقية المحتوى وتطهيره
- قواعد السياسات بمستويات خطورة (حظر/تحذير/مراجعة/تنقية)
- تغليف مخرجات الأداة لحقن سياق LLM الآمن
### حماية البيانات
- جميع البيانات مخزنة محليًا في قاعدة بيانات PostgreSQL الخاصة بك
- الأسرار المشفرة باستخدام AES-256-GCM
- لا يوجد تتبع عن بعد، أو تحليلات، أو مشاركة بيانات
- سجل تدقيق كامل لجميع عمليات تنفيذ الأدوات
## الهندسة المعمارية```
┌────────────────────────────────────────────────────────────────┐
│ Channels │
│ ┌──────┐ ┌──────┐ ┌─────────────┐ ┌─────────────┐ │
│ │ REPL │ │ HTTP │ │WASM Channels│ │ Web Gateway │ │
│ └──┬───┘ └──┬───┘ └──────┬──────┘ │ (SSE + WS) │ │
│ │ │ │ └──────┬──────┘ │
│ └─────────┴──────────────┴────────────────┘ │
│ │ │
│ ┌─────────▼─────────┐ │
│ │ Agent Loop │ Intent routing │
│ └────┬──────────┬───┘ │
│ │ │ │
│ ┌──────────▼────┐ ┌──▼───────────────┐ │
│ │ Scheduler │ │ Routines Engine │ │
│ │(parallel jobs)│ │(cron, event, wh) │ │
│ └──────┬────────┘ └────────┬─────────┘ │
│ │ │ │
│ ┌─────────────┼────────────────────┘ │
│ │ │ │
│ ┌───▼─────┐ ┌────▼────────────────┐ │
│ │ Local │ │ Orchestrator │ │
│ │Workers │ │ ┌───────────────┐ │ │
│ │(in-proc)│ │ │ Docker Sandbox│ │ │
│ └───┬─────┘ │ │ Containers │ │ │
│ │ │ │ ┌───────────┐ │ │ │
│ │ │ │ │Worker / CC│ │ │ │
│ │ │ │ └───────────┘ │ │ │
│ │ │ └───────────────┘ │ │
│ │ └─────────┬───────────┘ │
│ └──────────────────┤ │
│ │ │
│ ┌───────────▼──────────┐ │
│ │ Tool Registry │ │
│ │ Built-in, MCP, WASM │ │
│ └──────────────────────┘ │
└────────────────────────────────────────────────────────────────┘
| Component | الغرض |
|---|---|
| Agent Loop | معالجة الرسائل الرئيسية وتنسيق المهام |
| Router | يصنف نية المستخدم (أمر، استعلام، مهمة) |
| Scheduler | يدير تنفيذ المهام المتوازية مع الأولويات |
| Worker | ينفذ المهام باستخدام التفكير LLM واستدعاءات الأدوات |
| Orchestrator | دورة حياة الحاوية، بروكسي LLM، مصادقة لكل مهمة |
| Web Gateway | واجهة مستخدم متصفح مع دردشة، ذاكرة، مهام، سجلات، إضافات، روتينات |
| Routines Engine | مهام خلفية مجدولة (cron) وتفاعلية (حدث، webhook) |
| Workspace | ذاكرة دائمة مع بحث هجين |
| Safety Layer | الدفاع عن حقن التعليمات وتنقية المحتوى |
ironclaw onboard
cargo run
RUST_LOG=ironclaw=debug cargo run
## التطوير```bash
# Format code
cargo fmt
# Lint
cargo clippy --all --benches --tests --examples --all-features
# Run tests
createdb ironclaw_test
cargo test
# Run specific test
cargo test test_name
./channels-src/telegram/build.sh قبل cargo build ليتم تضمين WASM المُحدَّث.IronClaw هي إعادة تنفيذ بلغة Rust مستوحاة من OpenClaw. راجع FEATURE_PARITY.md لمصفوفة التتبع الكاملة.
الاختلافات الرئيسية:
مرخص بموجب أحد الخيارين التاليين:
حسب اختيارك.