
quill-router — Updated!
مستودع TrustedRouter.com للتمرير الآمن عبر البروكسي لنماذج LLM
TrustedRouter
نماذج لغوية كبيرة مشفّرة من الطرف إلى الطرف. واجهة برمجية واحدة. خصوصية مع إثبات.
توقف عن القلق بشأن من يمكنه رؤية مطالباتك. أخبر وكيل البرمجة الخاص بك بنقل مشروعك، واختر مستوى الخصوصية الذي تريده، واختر نموذجًا، وأدخل مفتاحًا — وانتهى الأمر. نفس الواجهة البرمجية، أكثر من 30 نموذجًا، مفتاح واحد. تعمل البوابة داخل بيئات معزولة على مستوى العتاد، ويمكنك التحقق تشفيريًا من أنها لا تسجّل بياناتك أبدًا.
انقل مشروعك في مطالبة واحدة
الصق هذا في Codex أو Claude Code أو Cursor — وسيقوم بالترحيل نيابةً عنك:```text Migrate this project to TrustedRouter, a privacy-first LLM router (https://trustedrouter.com). Repoint my LLM client to base_url "https://api.trustedrouter.com/v1" (or "https://api.trustedrouter.com" for the Anthropic SDK), read the key from the TRUSTEDROUTER_API_KEY env var, and keep all my existing calls working.
For a hard provider-side confidential-compute and end-to-end-encryption requirement, add {"provider": {"min_privacy": "confidential"}}. TrustedRouter fails closed when the selected model or provider cannot satisfy both controls.
Then tell me to sign up at trustedrouter.com, add a card, and paste my sk-tr key into TRUSTEDROUTER_API_KEY.
ثم:
1. **اختر مستوى الخصوصية أو المنطقة** — استخدم
`{"provider": {"min_privacy": "zdr"}}` لحد أدنى صارم من عدم الاحتفاظ، أو
`{"provider": {"min_privacy": "confidential"}}` لحد أقوى من الحوسبة السرية الصارمة + التشفير من الطرف إلى الطرف. تُحدِّد الأسماء المستعارة الملائمة `trustedrouter/zdr` و
`trustedrouter/e2e` (`trustedrouter/confidential`) تلك المجموعات. استخدم `trustedrouter/eu` مع
`https://api-europe-west4.quillrouter.com/v1` للتوجيه المركّز على الاتحاد الأوروبي.
2. **اختر نموذجًا** — أي واحد من المئات، أو `trustedrouter/auto` للتبديل التلقائي
عندما يكون اتساع مزوّدي الخدمة أهم من مرشّح الخصوصية الأكثر صرامة.
3. **سجّل، أضف بطاقة، واحصل على مفتاحك** على https://trustedrouter.com.
4. **أطلق** — تعمل الآن مطالباتك عبر مسار يمكنك التحقق منه.
<details>
<summary>تفضّل ربطه يدويًا؟</summary>```bash
# Codex
export OPENAI_BASE_URL="https://api.trustedrouter.com/v1"
export OPENAI_API_KEY="sk-tr-v1-..."
# Claude Code
export ANTHROPIC_BASE_URL="https://api.trustedrouter.com"
export ANTHROPIC_API_KEY="sk-tr-v1-..."
# Any OpenAI SDK
client = OpenAI(base_url="https://api.trustedrouter.com/v1", api_key="sk-tr-v1-...")
- احصل على مفتاح / خذ أموالي: https://trustedrouter.com
- جرّبه أولاً (بدون تسجيل): https://trustedrouter.com/chat
- التفاصيل التقنية (للمهووسين): https://trustedrouter.com/security
- توليد الصور: docs/image-generation.md
- توليد الفيديو: docs/video-generation.md
- لماذا بنيناه: https://jperla.com/blog/attestation-is-all-you-need
للمهووسين: كيف تكون الخصوصية قابلة للإثبات
تعمل بوابة TrustedRouter داخل GCP Confidential Space. توقّع المنصة قياسًا للبرنامج الثنائي قيد التشغيل؛ يمكنك مقارنة ذلك التجزئة بهذا المستودع. إذا تطابقتا، فأنت تعلم — لا تفترض — أن الكود الذي يتعامل مع مطالباتك هو الكود الذي يمكنك قراءته هنا، وأنه لا يكتب مطالباتك على القرص أبدًا.
تحقق بنفسك في 60 ثانية، بدون حساب:```bash NONCE=$(openssl rand -hex 16) curl -s "https://api.trustedrouter.com/attestation?nonce=$NONCE" | jq .
eat_nonce your nonce (replay-protected)
image_digest SHA-256 of the running container
pcrs boot-time platform measurements
Compare image_digest to the published artifact at
https://trustedrouter.com/security — match = the running code is this repo.
| | نموذج الثقة |
|---|---|
| OpenRouter، المزوّدون المستضافون | "نحن لا نسجّل." سياسة لا يمكنك التحقق منها. |
| Portkey، Cloudflare AI Gateway | تسجيل كل شيء لأغراض المراقبة. |
| LiteLLM | استضافة ذاتية، لكن الوكيل العامل غير موثّق. |
| **TrustedRouter** | **مفتوح المصدر + إثبات العتاد. تحقّق من مسار الكود؛ فهو لا يسجّل شيئًا.** |
النطاق الصادق: يُثبت الإثبات أن الملف التنفيذي العامل هو الملف التنفيذي المنشور على
عتاد يمكنك تحدّيه بـ nonce. وهو لا يتغلّب على دولة ذات قدرات متقدمة تملك وصولًا ماديًا
إلى المضيف، ولا يُثبت أن الملف التنفيذي مفتوح المصدر خالٍ من الأخطاء.
مرتكز الثقة هو سلسلة الإثبات المدعومة بالعتاد من Google Confidential Computing. يتعامل المزوّدون
الأعلى في السلسلة مع المطالبات وفقًا
لسياساتهم الخاصة — ويُنشر موقف كل مزوّد على صفحات النماذج.
</details>
---
## تخطيط المستودع
ينفّذ هذا المستودع عقد مستوى التحكّم: تغطية التوجيه، وإدارة المصادقة/المفاتيح،
ودلالات دفتر الفوترة، وبيانات الاستخدام الوصفية، ومحظورات تسجيل المطالبات/المخرجات،
ومُنقّيات Sentry، وتجريدات المزوّدين. يوجد تنفيذ البوابة الموثّقة في `quill-cloud-proxy`.
حدود الثقة: `api.trustedrouter.com` هو مسار المطالبات الموثّق ويجب
أن يُنهي TLS داخل Confidential Space. أما `trustedrouter.com` فهو مستوى
التحكّم ويجب ألا يقدّم أبدًا مسارًا احتياطيًا للاستدلال في الإنتاج.
يبقى `api.quillrouter.com` اسمًا مستعارًا دائمًا وعاملًا (نفس البوابة
الموثّقة والشهادة)، لذا تستمر التكاملات القائمة في العمل دون أي ترحيل.
## محلي```bash
uv sync
uv run pytest
uv run uvicorn trusted_router.main:app --reload
اختبار دخاني شامل من طرف إلى طرف مقابل نسخة قيد التشغيل:```bash TR_SMOKE_BASE_URL=http://127.0.0.1:18080/v1 uv run python scripts/smoke_e2e.py
للإنتاج، اضبط `TR_SMOKE_BASE_URL=https://api.trustedrouter.com/v1` و
`TR_SMOKE_INTERNAL_TOKEN` إذا كانت مسارات البوابة الداخلية محمية برمز مميز.
اضبط مفاتيح المشغّل/المزوّد المحلية في:```text
/Users/jperla/claude/.quill_cloud_keys.private
هذا الملف لا يتم إيداعه أبدًا. من المتوقع أن يكون بأسلوب dotenv:```text ANTHROPIC_API_KEY=... OPENAI_API_KEY=... GEMINI_API_KEY=... CEREBRAS_API_KEY=... DEEPSEEK_API_KEY=... MISTRAL_API_KEY=... STRIPE_SECRET_KEY=... STRIPE_WEBHOOK_SECRET=... SENTRY_DSN=...
يقبل سكربت النشر أيضًا أسماء مستعارة محلية مستخدمة بالفعل في بعض ملفات
المشغّل: `CLAUDE_API_KEY` لـ Anthropic، و`CHATGPT_API_KEY` لـ OpenAI،
و`STRIPE_KEY` لـ `STRIPE_SECRET_KEY`.
يختلف Vertex عن منصات المزوّدين الأخرى: تستخدم عمليات نشر GCP الإنتاجية
حساب خدمة Cloud Run أو Confidential Space ورموز وصول Google قصيرة الأجل من
metadata/ADC. لا تضع مفتاح Vertex طويل الأجل في هذا الملف لمسار Vertex
المدفوع مسبقًا من الطرف الأول؛ امنح حساب خدمة وقت التشغيل أذونات Vertex
بدلاً من ذلك.
## الترخيص