尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證Manhaj: Arabic objection-diagnosis dataset and reviewer workbench (private)
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
تشخيص بنية الشبهة قبل بناء مسار المعالجة. مستودع بيانات ومراجعة عربية؛ لا ينشر إجابات دينية ولا يصدر فتاوى ولا يحكم على إيمان الأشخاص.檢視完整 README ↗
تشخيص بنية الشبهة قبل بناء مسار المعالجة. موقع عربي لمراجعة الشبهات وتحليلها وفق منهج كتاب «تربية الملكة على كشف الشبهة» للشيخ وليد بن راشد السعيدان، وأصله: «الشريعة لا تفرّق بين المتماثلات، ولا تجمع بين المختلفات». لا ينشر إجابات دينية معتمدة، ولا يصدر فتاوى، ولا يحكم على إيمان الأشخاص؛ كل ما يكتبه النموذج اقتراح يراجعه مختص.
النسخة المستضافة: https://manhaj-three.vercel.app (Vercel مع Supabase وOpenAI). دليل الوكلاء البرمجيين: AGENTS.md.
شبهة → تحرير الدعوى → الكيانات والأدلة → التحقق من المصادر → جمع النصوص → التحليل اللغوي
→ المقارنة الدلالية → القاعدتان الحاكمتان → الفرضيات واختبارها → خريطة الاستدلال
→ المراجع الناقد → الجواب الموثّق → مراجعة بشرية
SIGNUP_ENABLED=1) فيصبح مراجعًا يحلّل ويراجع ويعتمد. المسؤول هو صاحب رمز تشغيل من scripts/create_reviewer.py أو حساب بريده في ADMIN_EMAILS، وله وحده ملف التدريب ومجموعات الاختبار والتقييم وتوثيق المراحل وإعادة الفهرسة. الزائر بلا حساب لا يرى إلا الصفحة العامة (إلا إذا فُعّل PUBLIC_ACCESS=1، وهو مغلق في الإنتاج). لكل حساب ملف شخصي (الاسم والبريد وكلمة المرور والصورة).المصدر الوحيد في المرحلة الأولى كتاب وليد: «تربية الملكة على رد الشبهة» (العنوان كما في صفحة الكتاب الأولى؛ والموقع يكتب «كشف الشبهة»، ولم يُحسم الفرق بعد)، من PDF المستخدم: 152 صفحة PDF، و253 مقطعًا، و103 شبهات مرشحة، و14 قاعدة مرشحة. أضيفت إلى 20 مثالًا مقترحات تحليلية منظمة لا تُعد مراجعات بشرية، واقتُرحت مجموعات مرشحة للشبهات المتشابهة. جميع السجلات needs_review، وعدد السجلات المعتمدة صفر حتى يراجعها الخبراء؛ لا اعتماد آليًا ولا اعتماد بشريًا مفترضًا. القواعد قد تتداخل وتحتاج تحرير حدودها، وأرقام بعض الفروع مكررة في الكتاب؛ المعرفات مستقلة عن أرقام العناوين.
ليست هذه نسخة إنتاجية معتمدة علميًا بعد: يلزم اعتماد الخبراء، ثم قياس الدقة على حالات معتمدة. الاستخراج الأول محافظ يعتمد عناوين الفروع ومؤشرات نصية، ولا يدعي اكتشاف كل قضية ضمنية.
المصدر والبيانات المشتقة منه (PDF، وقواعد البيانات، وملفات data/، وصور الصفحات) محفوظة خارج Git ولا تُرفع مع النشر. لا تتضمن رخصة الكود ترخيصًا للكتاب. الأسرار في .env محليًا وفي متغيرات Vercel فقط.
مع LLM_PROVIDER=openai يُرسل إلى OpenAI نص الشبهة والقواعد والأمثلة المسترجعة ومقتطفات المكتبة الشاملة (store=False)، ويبحث النموذج في مواقع محددة (الشاملة، وتراث، والدرر السنية، وsunnah.com، وإسلام ويب، وquran.com). وتُرسل الألفاظ المقتبسة في الشبهة إلى واجهة تراث (Turath) للبحث في المكتبة الشاملة، وأرقام الآيات والأحاديث إلى alquran.cloud ومجموعة hadith-api للتحقق منها. دون مزود نماذج لا يُرسل الكتاب إلى أي خدمة. التفاصيل في حوكمة البيانات.
نفّذ الأوامر من جذر manhaj-objection-dataset:
python -m venv .venv
.venv\Scripts\Activate.ps1
python -m pip install -e ".[test,tools]"
Copy-Item .env.example .env
python scripts/create_reviewer.py reviewer-01
python -m src.cli init-db
uvicorn src.asgi:app --host 127.0.0.1 --port 8000
أو شغّل scripts/start_local.ps1 الذي ينفذ الخطوات نفسها. افتح http://127.0.0.1:8000، وأنشئ حسابًا من الصفحة العامة ثم ادخل به. رمز التشغيل الذي يطبعه create_reviewer.py مرة واحدة شرط لتشغيل الخادم، ويُستعمل للأوامر وواجهة API (Authorization: Bearer)، لا لشاشة الدخول؛ احفظه في مدير كلمات مرور. يُخزن تجزئة الرمز فقط. لتكون مسؤولًا محليًا أضف بريد حسابك إلى ADMIN_EMAILS في .env وأعد تشغيل الخادم.
Linux/macOS: استخدم source .venv/bin/activate وcp .env.example .env. إذا كانت .env موجودة فلا تستبدلها. انتبه: إن كان DATABASE_URL في .env يشير إلى قاعدة الإنتاج، فالموقع المحلي يعمل للقراءة فقط تلقائيًا، أما أوامر سطر الأوامر فتكتب فيها فعلًا. لإعادة البناء استخدم قاعدة SQLite جديدة بدل محو سجل المراجعة.
python scripts/seed_book.py work/book.pdf
python scripts/verify_dataset.py
python scripts/render_source_pages.py SRC-e209f0cca8a26244 # صور الصفحات لعارض الكتاب
انسخ PDF إلى work/ أولًا، ولا تمرر مسار النسخة المحفوظة في data/source نفسه. يعمل الإدخال بتجزئة SHA-256 لمنع تكرار الملف، ويعمل الاستخراج بمعرفات مشتقة من مواضع المصدر. لا تعتمد الأوامر أي سجل. أرقام الصفحات PDF 1-based؛ printed_page_number=null حتى التحقق، ولا يُستنتج رقم مطبوع.
لملف آخر:
python scripts/ingest_book.py book.pdf --title "اسم المصدر" --author "كما ورد في المصدر"
python -m src.cli extract SRC-identifier
استخدم --profile rtl_visual فقط إذا أظهر الفحص أن الملف يخزن الحروف بصريًا بصورة معكوسة. كتاب وليد يحتاج ذلك؛ ويحتفظ النظام بالنص الخام وبالنص المرتب منفصلين. نصوص OCR تبقى غير معتمدة. مسار OCR المحلي الاختياري في وثيقة الإدخال.
needs_review.هدف المرحلة الأولى البشري (من 10 إلى 30 مثالًا منهجيًا، ومن 20 إلى 50 شبهة مراجعة، ومن 5 إلى 10 قواعد محررة) لا يكتمل آليًا. السجلات المرشحة قائمة عمل لتحديد هذه المجموعة، وليست بيانات تدريب معتمدة. التفاصيل في خطوات المراجعة.
POST /api/diagnose/stream)، وتُطابق الآيات والأحاديث بمصادرها آليًا.الأسئلة بعد التحليل: POST /api/diagnoses/{id}/ask، تُجاب من التحليل وحده، بحد 20 سؤالًا لكل تحليل وASK_DAILY_LIMIT لكل حساب في اليوم. شرح الخطوات في المنهج.
الاسترجاع يجمع BM25 مع تشابه المتجهات، ثم RRF وترتيبًا ثانيًا بتغطية كلمات السؤال. التضمين مستقل لنص الشبهة والدعوى والقاعدة والمقتطف وملخص العائلة. دون EMBEDDING_MODEL يكون البحث لفظيًا فقط، ولا يُسمى بحثًا دلاليًا. إعداد النسخة المستضافة:
LLM_PROVIDER=openai
OPENAI_API_KEY=<from your OpenAI project>
DIAGNOSIS_MODEL=gpt-6.1-sol
DIAGNOSIS_REASONING_EFFORT=low
CRITIC_MODEL= # step 10; defaults to DIAGNOSIS_MODEL
FOLLOWUP_MODEL= # follow-up questions; defaults to DIAGNOSIS_MODEL
EMBEDDING_PROVIDER=openai
EMBEDDING_MODEL=text-embedding-3-small
EMBEDDING_DIM=768
أو محليًا عبر Ollama: LLM_PROVIDER=ollama وEMBEDDING_PROVIDER=ollama وOLLAMA_URL (دون بث الخطوات ودون أسئلة المتابعة، فهي لـOpenAI وحده).
python -m src.cli embeddings --include-drafts # incremental; unchanged fields are skipped
python scripts/find_duplicates.py
python scripts/create_families.py
يمكن استخدام EMBEDDING_PROVIDER=sentence_transformers بعد pip install -e '.[semantic]'. يجب أن تطابق أبعاد المتجهات عمود vector(768)، أو تُطبق هجرة جديدة قبل تغييرها. لا توجد متجهات عشوائية بديلة. عند غياب قواعد مناسبة أو نموذج مضبوط يمتنع التحليل ويذكر السبب. النتيجة دائمًا اقتراح يحتاج مراجعة.
research_common_objections(topic, limit) في src/research/pipeline.py. يبحث في صفحات عامة ضمن قائمة روابط معتمدة في config/external_sources.json، وهي فارغة افتراضيًا. لا ينفذ بحثًا واسعًا غير مقيد، ولا يعتمد على ذاكرة النموذج.
لا يبدأ قبل إنهاء كل مرشحات المرحلة الأولى وتوثيق تغطية المصدر بواسطة المسؤول. أي تعديل لاحق يبطل بوابة المرحلة الثانية. يلزم لكل مصدر تصريح وصول آلي، وتوثيق شروطه وأساس استخدامه واسم من راجع الحقوق. يفحص robots.txt، ويحترم تأخير الزحف، ويرفض التحويلات والعناوين الداخلية ويثبت عنوان الاتصال لمنع تبديل DNS. النتائج والتكرارات والعائلات كلها مرشحة للمراجعة. في النسخة المستضافة يعمل البحث من سطر الأوامر فقط.
# استبدل المعرفات بحالات معتمدة؛ صفحة التقييم توفر الإجراء نفسه للمسؤول
python scripts/build_benchmark.py --test-ids SHB-one SHB-two --validation-ids SHB-three
python scripts/run_baseline.py SPLIT-identifier
python scripts/export_training_jsonl.py SPLIT-identifier --output data/exports/train.jsonl
python -m src.cli snapshots
ملفات JSONL تستخدم assistant.content كسلسلة JSON صالحة. التصدير مقيد ببيان إصدارات ثابت ويستبعد الاختبار والتحقق وعائلاتهما، حتى عبر بيانات تقسيم أقدم. الحالات التي صُدّرت للتدريب لا تصبح اختبارًا مستقلًا لاحقًا. التقييم لا يسترجع أمثلة الاختبار كأمثلة few-shot. لا fine-tuning في V1.
التقسيم التلقائي التقريبي 70/15/15 متاح فقط عند 100 حالة معتمدة على الأقل و20 مجموعة مستقلة على الأقل. المقاييس التسعة موجودة؛ ما يحتاج تحكيمًا بشريًا يظهر null/not_measured قبل إدخال التحكيم، ولا تُختلق درجات. التفاصيل في التقييم.
npx supabase db push # يطبق supabase/migrations على المشروع المرتبط، قبل دمج الكود المعتمد عليها
المخطط في supabase/migrations: السجلات ونسخها، والمراجعات، والمتجهات، وبيانات التقسيم، وبوابات المراحل، والتحليلات، والحسابات والجلسات، مع RLS وحاوية خاصة للـPDF وصور الصفحات. SQLite للتطوير يستخدم طبقة التخزين نفسها. سجلات المراجعة والإصدارات غير قابلة للتعديل أو الحذف (مشغلات SQL). CI يطبق الهجرات نفسها على PostgreSQL + pgvector حقيقي.
لا تنقل قاعدة SQLite إلى PostgreSQL بمجرد تغيير الرابط؛ أعد إدخال المصدر في قاعدة جديدة (scripts/seed_book.py) أو اكتب ترحيلًا خاضعًا للتدقيق. نسخ المعاينة (Preview) تعمل على SQLite فارغة للقراءة فقط دون أسرار الإنتاج. خطوات النشر والمتغيرات كلها في دليل النشر.
pytest -q
python scripts/verify_dataset.py
الاختبارات (نحو 150) تستخدم أمثلة اصطناعية غير دينية خارج مجموعة المصدر، ولا تتصل بالشبكة. CI يشغلها على كل طلب دمج مع PostgreSQL/pgvector حقيقي، ثم يتحقق أن schemas/ وsupabase/migrations/ مولّدة من الكود. اختبار PostgreSQL يُتخطى محليًا إذا لم يحدد TEST_POSTGRES_URL. مطابقة الاقتباسات للنص المستخرج لا تغني عن مقابلة كل صفحة مصورة بشريًا.
src/api.py, asgi.py FastAPI app, roles, streams, static files (Vercel entrypoint: src.asgi:app)
src/auth.py, db.py accounts and sessions; one storage layer for SQLite and PostgreSQL
src/models.py records, review requests, the eleven-step MethodProposal, CriticReport
src/classification/ the analysis pipeline, Shamela library (Turath), verse/hadith checks, follow-up answers
src/retrieval/ BM25 + vector + reranking
src/ingestion/ PDF + provenance
src/parsing/, chunking/ Arabic normalization, source extraction, page-local chunks
src/duplicate_detection/ exact / paraphrase / underlying objection proposals
src/family_detection/ candidate families; no forced membership
src/research/ phase 2 gates + allowlisted source collection
src/evaluation/ frozen group splits + nine metrics
src/export/ approved-only JSON / JSONL
web/ Arabic RTL site: index.html, app.js, style.css (vanilla JS, no build step), img/, fonts/
schemas/ JSON Schema generated from src/models.py
supabase/migrations/ PostgreSQL + pgvector + audit constraints + RLS
scripts/ reproducible commands
tests/ unit, API, governance, database integration
data/ private inputs, candidates, approved data, benchmark (not in Git)
docs/ methodology, governance, review, evaluation, deployment, operations
رخصة MIT للكود فقط. راجع LICENSE قبل مشاركة المصادر أو البيانات المشتقة.