حين يكثر الوكلاء الفرعيون والمهارات في Claude Code، يختار النموذج من ينفّذ المهمة بقراءة أوصافها النثرية، فقد يختلف اختياره لطلبين متشابهين دون أثر تراجعه. تنقل claude-wayfinder هذا القرار إلى مطابِق يقيّم سياقًا بصيغة JSON، فيه جملة المهمة ومسارات ملفاتها وأسماء الوكلاء والأدوات، مقابل كتالوج محلي يُبنى من حقول triggers، ويعيد قرارًا مع درجة ثقة بين 0 و1 وسبب مكتوب وبدائل. ويؤكد مؤلفها أن السياق والكتالوج نفسيهما يعطيان الجواب نفسه. وهي إضافة لـ Claude Code، لا لـ claude.ai أو Codex.
القرارات السبعة
- delegate: وكيل واحد بدرجة 0.85 فأكثر، متقدم على التالي بفارق 0.2 فأكثر.
- self_handle: لا وكيل غالب، ومهارة بلغت 0.5 يعمل بها Claude بنفسه.
- advisory: وكيل مقترح بدرجة 0.5 فأكثر لم يبلغ شرط delegate.
- mixed_content: وكيلان أو أكثر بدرجة تقارب 1، لكل منهما ملفات مختلفة من المهمة.
- needs_more_detail: السياق يملأ أقل من بُعدين، فلا يبدأ التقييم.
- self_handle_unaided: لا وكيل ولا مهارة فوق الحد.
- ask_user: محجوز، ولا يصدره المطابق حاليًا.
خمس مهارات وتسعة خطافات
/dispatch: يشغّل المطابق على كتالوجك، أو على عيّنات مرفقة مع--demo. وإن غاب الكتالوج أظهر[CATALOG ERROR]ولم يلجأ إلى العيّنات./setup-wayfinder: يبحث عن Python 3.11 أو أحدث، وينشئ venv خاصًا بالإضافة، ويثبّت فيه إصدارها المطابق من PyPI./refresh-catalog: يعيد بناء الكتالوج يدويًا حين لا يلتقط الخطاف التلقائي تعديلك./router-health: تقرير للقراءة فقط عن معدل استدعاء التوجيه وتجاوزه وحالة الكتالوج، ويحلّل كل مؤشر فاشل.- dispatch-authoring: مرجع لكتابة ملف triggers الجانبي لكل مهارة أو وكيل: كلمات مفتاحية بأوزان 0.25 و0.5 و1.0، وأنماط مسارات، وأسباب إخفاق المطابقة.
- hooks.json: تسعة أوامر Node على ستة أحداث، تفحص الكتالوج عند بدء الجلسة، وتعيد بناءه إن تقادم، وتسجّل استدعاءات الوكلاء والمهارات، وترصد الانحراف (drift).
مثال: فرع delegate في العيّنات
في عيّنات /dispatch --demo مهمة «implement the authentication module» مع الملف src/auth.py. ويحسب المؤلف في ملف العيّنات درجة الوكيل code-writer: 0.5 للكلمة implement بوزن 1.0، و0.4 لنمط المسار **/*.py، فالمجموع 0.9 والقرار delegate، مع سبب يسمّي implement.
من التثبيت إلى التوجيه
- فكّ الضغط في مجلد ثابت وشغّل
claude --plugin-dir "PATH/TO/EXTRACTED/plugin"لتحميلها في الجلسة، أو ثبّتها دائمًا من سوق المؤلف:/plugin marketplace add glitchwerks/claude-wayfinderثم/plugin install claude-wayfinder@glitchwerks. - شغّل
/setup-wayfinderمرة واحدة حين يظهر تنبيه الإعداد، ثم افتح جلسة جديدة وجرّب/dispatch --demo. - للتوجيه الحقيقي أضف triggers إلى مهاراتك ووكلائك، وابنِ الكتالوج بـ
/refresh-catalog، وأضف الأداة Skill إلى وكيل التوجيه لديك مع مقطع التعليمات فيdocs/integration.md.
قبل الاعتماد عليها
- تحتاج Python 3.11 أو أحدث، وNode.js 20 أو أحدث، واتصالًا بـ PyPI أثناء الإعداد.
- لا تضم الحزمة وكيل توجيه (router agent)، بل تفترض أن لديك وكيلًا يكتب سياق المهمة ويستدعي /dispatch.
- يكتب /refresh-catalog الكتالوج إلى
~/.claude/dispatch-catalog.jsonما لم تضبطDISPATCH_CATALOG_PATH، بينما يقرأ /dispatch افتراضيًا من~/.claude/state/dispatch-catalog.json، فوحّدهما بهذا المتغير. - يحفظ خطاف PostToolUse مقتطفًا من نص المهمة في
~/.claude/state/dispatch-log.jsonl، ولا يوقفه متغير بيئة؛ لإيقافه احذف مدخلlog-dispatch-decision.jsمنhooks/hooks.json. - الملفات بالإنجليزية كما كتبها مؤلفها في الإصدار 2.0.0، وأرفقتُ دليلًا عربيًا.
الترخيص
claude-wayfinder من تأليف Christopher Beaulieu، بترخيص MIT المرفق نصه في الحزمة، ومصدرها glitchwerks/claude-wayfinder.



