# Read

يُحمِّل محتويات ملف واحد من نظام الملفات المحلي. يدعم النصوص العادية والشفرة المصدرية والصور وملفات PDF ودفاتر Jupyter، ويُعيد النتائج بأرقام أسطر تبدأ من 1 بأسلوب `cat -n`.

## متى يُستخدم

- قراءة ملف مصدر في مسار معروف قبل التعديل أو التحليل
- فحص ملفات الإعدادات أو ملفات القفل أو السجلات أو العناصر المُولَّدة
- عرض لقطات الشاشة أو المخططات التي لصقها المستخدم في المحادثة
- استخراج نطاق صفحات محدد من دليل PDF طويل
- فتح دفتر `.ipynb` لمراجعة خلايا الشفرة وmarkdown ومخرجات الخلايا معاً

## المعاملات

- `file_path` (سلسلة، مطلوب): المسار المطلق للملف المستهدف. تُرفض المسارات النسبية.
- `offset` (عدد صحيح، اختياري): رقم سطر يبدأ من 1 للقراءة منه. مفيد للملفات الكبيرة عند الاقتران بـ `limit`.
- `limit` (عدد صحيح، اختياري): الحد الأقصى لعدد الأسطر المُعادة ابتداءً من `offset`. الافتراضي 2000 سطر من أعلى الملف عند الحذف.
- `pages` (سلسلة، اختياري): نطاق الصفحات لملفات PDF، مثل `"1-5"` أو `"3"` أو `"10-20"`. مطلوب لملفات PDF الأطول من 10 صفحات؛ الحد الأقصى 20 صفحة لكل طلب.

## أمثلة

### مثال 1: قراءة ملف صغير بأكمله
استدعِ `Read` بـ `file_path` فقط مضبوطاً على `/Users/me/project/src/index.ts`. تُعاد حتى 2000 سطر بأرقام الأسطر، وهو عادة كافٍ لسياق التعديل.

### مثال 2: التصفح عبر سجل طويل
استخدم `offset: 5001` و`limit: 500` على ملف سجل بآلاف الأسطر لاسترجاع نافذة ضيقة دون إهدار رموز السياق.

### مثال 3: استخراج صفحات PDF محددة
لملف PDF من 120 صفحة في `/tmp/spec.pdf`، اضبط `pages: "8-15"` لسحب الفصل الذي تحتاجه فقط. حذف `pages` في PDF كبير يُنتج خطأً.

### مثال 4: عرض صورة
مرر المسار المطلق للقطة شاشة PNG أو JPG. تُعرض الصورة بصرياً حتى يستطيع Claude Code التفكير فيها مباشرة.

## ملاحظات

- فضِّل دائماً المسارات المطلقة. إذا قدم المستخدم واحداً، فثق به كما هو.
- تُقطع الأسطر الأطول من 2000 حرف؛ تعامل مع المحتوى المُعاد على أنه قد يكون مقتطعاً للبيانات العريضة جداً.
- قراءة عدة ملفات مستقلة؟ أصدر عدة استدعاءات `Read` في الاستجابة نفسها حتى تعمل بالتوازي.
- لا يستطيع `Read` سرد الأدلة. استخدم استدعاء `Bash` `ls` أو أداة `Glob` بدلاً منه.
- قراءة ملف موجود لكنه فارغ تُعيد تذكيراً من النظام بدلاً من بايتات الملف، لذا عالج هذه الإشارة صراحةً.
- `Read` ناجح مطلوب قبل أن تتمكن من استخدام `Edit` على الملف نفسه في الجلسة الحالية.
