# ‏Zed سريع. لكن الوكيل لا يزال مضطرًا إلى إيجاد الكود.

Canonical source: https://maguyva.ai/ar/for-zed

License: text under [CC BY 4.0](https://creativecommons.org/licenses/by/4.0/); code samples under [MIT-0](https://opensource.org/license/mit-0); the Maguyva name, logos, brand assets and other code are not covered. Details: [maguyva.ai/license](https://maguyva.ai/license).

يعمل وكيل Zed انطلاقًا من الملفات التي تفتحها والتعليمات التي تعطيه إياها. تفهرس Maguyva المستودع كله وتعيده عبر MCP، فيسأل الوكيل عن مكان الرمز بدل أن يخمّن.

> إدخال واحد في context_servers: رابط URL وترويسة Authorization.

## ما يجب معرفته عن Zed

أربع حقائق خاصة بـZed. لا شيء منها صعب.

### settings.json

توضع الخوادم البعيدة تحت `context_servers`. افتح الملف بالأمر `zed: open settings file`، أو أضف خادمًا من Settings → AI → MCP Servers.

### بعيد، عبر URL

يتصل Zed بنقطة النهاية البعيدة لـMaguyva عبر HTTP. لا عملية محلية، ولا Node.js.

### ترويسة حرفية

يضع هذا الدليل المفتاح مباشرة في ترويسة `Authorization`، لأن توسيع متغيرات البيئة في ترويسات Zed لم يُتحقَّق منه هنا. احتفظ به في إعدادات المستخدم، لا في ملف تودعه في Git.

### أذونات الأدوات

يطلب Zed افتراضيًا الموافقة قبل كل استدعاء أداة. اسمح بأدوات Maguyva واحدة تلو الأخرى تحت `agent.tool_permissions.tools`، بمفاتيح مثل `mcp:maguyva:find_symbol`.

## تعليمات المشروع اتفاق عمل. استخدمها.

```text
# .rules
- شغّل أمر اختبار المستودع قبل أن تعدّ التغيير منتهيًا.
- أبقِ التعديلات داخل الحزمة المطلوب تغييرها.
```

يحمّل Zed ملف تعليمات مشروع واحدًا: أول تطابق من قائمة ثابتة تبدأ بـ`.rules` وتشمل `AGENTS.md` و`CLAUDE.md`. أما التعليمات الشخصية فمكانها `~/.config/zed/AGENTS.md`. استخدمه لـ:

- أوامر البناء والاختبار والـlint.
- الأعراف التي يخطئ فيها الوكيل مرة بعد مرة.
- المجلدات التي يجب ألا يلمسها الوكيل.

ملف التعليمات يخبر الوكيل كيف يعمل. لكنه لا يستطيع أن يخبره أيّ ملفات من بين أربعة آلاف تستدعي الدالة التي يوشك على تغييرها.

## حين لا يكفي المخزن المفتوح

ثلاثة أشياء لا يستطيع وكيل Zed تعلّمها من الملفات التي أمامه.

### ‏// الملف المفتوح ليس المستودع

يرى الوكيل ما فتحته وما وجده بـgrep. دالة مساعدة بالاسم نفسه في حزمة أخرى تبدو مطابقة تمامًا إلى أن تُشحن النسخة الخاطئة.

### ‏// المستدعون ليسوا على الشاشة

“ما الذي سينكسر إن غيّرت هذا التوقيع؟” سؤال رسم بياني. من دون فهرس، يقرأ الوكيل الملفات واحدًا تلو الآخر حتى تنفد أدواره أو سياقه.

### ‏// للسياق ميزانية

كل ملف يفتحه الوكيل ليتوجّه يستهلك رموزًا (tokens) لا يمكنه إنفاقها على التغيير. إجابة واحدة مرتّبة مع file:line أرخص من عشر قراءات استكشافية.

## Maguyva كخادم سياق في Zed

إدخال واحد في context_servers يمنح وكيل Zed:

- **11 أداة على مستودعك المفهرس**: بحث دلالي وهيكلي (AST) وبالرسم البياني ونصي، إضافة إلى البحث عن الرموز والعناصر المعتمدة واسترجاع الملفات.
- **إجابات مع مسارات الملفات وأرقام الأسطر**: عبر أكثر من 285 لغة، فيفتح الوكيل الملف الصحيح من المرة الأولى.
- **قائمة أدوات تبقى محدّثة**: يعيد Zed تحميل أدوات الخادم حين يعلن الخادم عن تغيير، من دون إعادة تشغيل.

> ‏Zed يمنح الوكيل *محررًا سريعًا*.
> Maguyva تمنح الوكيل *خريطة للكود*.

## سيرا عمل

اسأل الخريطة أولًا، ثم عدّل.

### 01. اعثر على التنفيذ قبل أن يفتح الوكيل علامة تبويب

```text
zed agent> أين سياسة إعادة المحاولة لخطافات الويب الصادرة؟

find_symbol("retryPolicy")
  src/webhooks/dispatch.ts:41   retryPolicy()   ← التنفيذ
  src/webhooks/__mocks__/dispatch.ts:9   ← mock

→ يفتح الوكيل dispatch.ts:41، لا الـmock.
[exit 0]
```

بحث مرتّب واحد يحل محل جولة من grep. تعود الإجابة مسارًا وسطرًا يستطيع الوكيل فتحهما مباشرة.

### 02. افحص العناصر المعتمدة قبل تغيير التوقيع

```text
zed agent> أضف وسيط timeout إلى fetchInvoice

dependency_search("fetchInvoice", dependents)
  7 مستدعين عبر 4 حزم

→ يحدّث الوكيل مواقع الاستدعاء السبعة في مرور واحد.
[exit 0]
```

يظهر نطاق التأثير قبل التعديل الأول، لا بعد فشل البناء.

## الإعداد في Zed

ثلاث خطوات. خطة Free: 3 مستودعات, حتى 50 ألف سطر مُفهرَس من المستودع، بلا بطاقة.

### 01. افهرس مستودعًا على maguyva.ai

اختر واحدًا تعرفه جيدًا، لتتمكَّن من التحقق من الإجابات.

### 02. أضف Maguyva إلى context_servers في إعدادات Zed

`~/.config/zed/settings.json`

```json
{
  "context_servers": {
    "maguyva": {
      "url": "https://maguyva.tools/mcp",
      "headers": {
        "Authorization": "Bearer mgv_xxxx"
      }
    }
  }
}
```

### 03. استبدل العنصر النائب واطرح سؤالًا واحدًا

استبدل `mgv_xxxx` بمفتاح API الخاص بك واحفظ. اطرح على الوكيل سؤالًا واحدًا تعرف إجابته مسبقًا، ثم افتح الملف المُشار إليه.

تشرح [وثائق MCP](https://zed.dev/docs/ai/mcp) الخاصة بـZed خوادم السياق وملفات تعريف الوكيل وأذونات الأدوات.

## افهرس مستودعًا واحدًا تعرفه جيدًا.

اتصل بـZed عبر MCP، ثم اطرح سؤالًا واحدًا يمكنك التحقق منه.
