ما يأتي افتراضياً
تأتي هذه القدرات ضمن مساحة العمل الافتراضية عند إنشاء وولفيش لمجلد~/.wolffish/workspace/ عند التشغيل الأول. كل قدرة تتواجد في مجلدها الخاص تحت brain/cerebellum/.
tool-discovery وintrospect وfilesystem وshell وask وutilities وweb-search وsecrets وsystem وvideo، ومُحمِّل operating-manual وأدلّة pdf-design وweb-design وdataviz، إضافةً إلى قدرتَي سير العمل والقنوات عند نشاطهما. أما كل ما عداها (GitHub وGoogle والمتصفحات والوسائط والمستندات وخوادم MCP) فيُحمَّل عند الطلب عبر tool_search / tool_activate ويصبح قابلاً للاستدعاء في الدور نفسه. راجع نظرة عامة على القدرات لكيفية عمل هذا العرض.الإدارة الذاتية
يستطيع وولفيش قراءة قدراته وإدارتها وكتابتها أثناء التشغيل — دون تعديل في الشيفرة ودون إعادة تشغيل. هذا جوهر ما يجعله قابلًا للتوسّع: أيّ سير عمل تكرّره كثيرًا يمكن أن يصير أداة دائمة بمجرّد أن تطلب.skills — إدارة قدراته وتأليفها بنفسه
skills — إدارة قدراته وتأليفها بنفسه
skill_list— يسرد كل مهارة: الاسم والوصف وحالة التفعيل/الرسمية وعدد الأدواتskill_search— يبحث في المهارات بالكلمات المفتاحية عبر الاسم والوصف والمحفزات وأسماء الأدواتskill_read_source— يقرأ ملف SKILL.md وشيفرة الإضافة لمهارة قبل تعديلها أو التعلّم منهاskill_enable/skill_disable— يفعّل أيّ مهارة أو يعطّلها (قابل للتراجع؛ القدرات الأساسية التي لا غنى عنها لا تُعطَّل — انظر تخصيص القدرات)skill_delete— يحذف نهائيًا مهارةً أنشأتَها (المهارات الرسمية/المدمجة محميّة)skill_create— يؤلّف مهارة نقية أو قدرة بإضافة من الصفرskill_reload— يعيد فحص مساحة العمل لتأخذ التغييرات مفعولها
automations — إدارة مهامه المجدولة على النبض
automations — إدارة مهامه المجدولة على النبض
In (15m) / Once (2026-...)) تعمل مرة ثم تحذف نفسها.الأدوات:automation_list— يسرد كل مهمة: جدولها، توقيتها بلغة واضحة، تعليمتها، وهل هي صالحة/قيد التشغيلautomation_create— ينشئ مهمة (متكررة أو لمرة واحدة) من جدول + تعليمة، معmodeاختياري (فردي أو سير عمل) وiconاختياري — رمز تعبيري يختاره وولفيش ليلائم المهمة (📧 لجولة البريد، 📰 لموجز الأخبار)، يظهر على بطاقتها ويُختَم على محادثات تشغيلاتهاautomation_edit— يغيّر جدول مهمة و/أو تعليمتها و/أو وضعهاautomation_delete— يزيل مهمة نهائياً (يطلب تأكيدك)automation_check— حالة التشغيل: ما الذي يعمل الآن وكيف جرت آخر التشغيلاتautomation_run— يُشغّل مهمة فوراً لتجربتها
mode: وicon: وproject: التي تربط المهمة بمشروع فتنال تشغيلاتها سياق المشروع. الأدوات تحفظ هذه العلامات تلقائياً.مهام النبض تعمل بموافقة تلقائية على الأدوات، لذا يؤكّد معك أي شيء متكرر أو ذي أثر قبل جدولته. ضغط الذاكرة يُعدّ في الإعدادات بشكل منفصل، لا هنا.procedures — إدارة الأوامر المحفوظة التي تشغّلها عند الطلب
procedures — إدارة الأوامر المحفوظة التي تشغّلها عند الطلب
procedure_list— يسرد كل إجراء محفوظ: رقمه وعنوانه ومعاينة سطرٍ واحد من الأمرprocedure_view— يعرض عنوان إجراءٍ واحد وأمره الكاملprocedure_create— يحفظ إجراءً جديداً (عنوان + أمر مكتفٍ بذاته، مع وضع فردي/سير عمل اختياري)procedure_edit— يغيّر عنوان إجراء و/أو أمره و/أو وضعهprocedure_delete— يزيل إجراءً نهائياًprocedure_run— يشغّل إجراءً الآن في محادثة خلفية جديدة
projects — إدارة المشاريع: تعليمات دائمة وملفات
projects — إدارة المشاريع: تعليمات دائمة وملفات
project_list— كل مشروع: رقمه ورمزه وعنوانه وعدد ملفاته وآخر تعديلproject_view— مشروع واحد كاملاً: الرمز والعنوان والتعليمات الكاملة وقائمة الملفات مع وجود كل ملف وحجمهproject_create— ينشئ مشروعاً (عنوان، رمز تعبيري اختياري، تعليمات اختيارية)project_update— يغيّر عنوان مشروع و/أو رمزه و/أو تعليماتهproject_add_files— يرفق ملفات بمسارها؛ كل مصدر يُنسَخ إلى مجلد المشروع الخاص (uploads/project-<id>/)، فلا يتعلّق المشروع أبداً بأصلٍ نُقل أو حُذفproject_remove_file— يفصل ملفاً (تُحذف نسخة المشروع؛ الأصول خارج مساحة العمل لا تُمَسّ أبداً)project_conversations— يسرد كل محادثة تابعة لمشروع: عنوانها وعدد رسائلها وآخر نشاطهاproject_delete— يزيل مشروعاً نهائياً؛ محادثاته السابقة تبقى في السجل وتفقد سياق المشروع في الأدوار المقبلة فحسب
workflow — تصميم تشغيلة متعددة الوكلاء يقودها النموذج وقيادتها
workflow — تصميم تشغيلة متعددة الوكلاء يقودها النموذج وقيادتها
workflow_plan— يعلن مراحل التشغيلة (أو يراجعها)؛ تضيء على بطاقة سير العمل مع عمل وكلائها واكتمالهمagent_spawn— يُطلق وكيلاً حياً في الخلفية على مهمة مكتفية بذاتها، معmodelاختياري لكل وكيل (provider/model-id) وجهد تفكيرeffortومرحلةphaseagent_send— يرسل متابعة إلى وكيل خامل؛ فيعمل من جديد وسياقه السابق كاملagents_await— ينتظر حتى يصل الوكيل التالي ويعيد تقريره الكامل (أول الواصلين، لا كلهم)agent_cancel— يلغي وكيلاً فوراً، مع إجهاض استدعاء الأداة الجاري لديه
mcp — إدارة اتصالاته بخوادم MCP
mcp — إدارة اتصالاته بخوادم MCP
mcp_list— كل خادم مهيّأ: اسمه، محلي/بعيد، حالته الحية، عدد أدواتهmcp_add— يضيف خادماً ويربطه فوراً (أمر للمحلي، رابط http(s) للبعيد؛ مع اسم ومتغيرات بيئة اختيارية)mcp_test— يتحقق من خادم الآن؛ ويدفع المنقطع لإعادة الاتصالmcp_enable/mcp_disable— يوقف خادماً أو يستأنفه دون حذفmcp_remove— يزيل خادماً نهائياً مع تسجيل دخوله المخزّن (يطلب تأكيدك)mcp_authorize— يبدأ تدفق تسجيل الدخول عبر المتصفح لخادم بعيد يتطلبه
كيف تطلب من وولفيش أن يبني مهارة لنفسه
لا تكتب أيّ شيفرة — تصف القدرة بلغة طبيعية ويتولّى وولفيش تأليفها لك. وأوضح الطلبات هي ما يشير إلى حاجة متكرّرة:- «من الآن فصاعدًا، كلّما أرسلت لك ملف CSV، نظّفه وردّ بجدول ملخّص.»
- «اصنع لنفسك مهارة تنشر تقرير وقوف يومي في قناة Slack.»
- «أنت تكرّر يدويًا عملية تغيير الحجم وإضافة العلامة المائية — حوّلها إلى أداة قابلة لإعادة الاستخدام.»
- «علّم نفسك تتبّع الطرود انطلاقًا من رقم التتبّع.»
- اختيار نوع المهارة — مهارة نقية (إجراء مكتوب يتّبعه بأدوات يملكها أصلًا)، أو مهارة بإضافة (أداة جديدة فعلية مدعومة بـ JavaScript)، أو إضافة باعتمادات npm — مختارًا الأصغر الذي يفي بالغرض.
- كتابة الملفات عبر
skill_create— ملفSKILL.md(الاسم والوصف والمحفّزات) إضافةً إلىplugin/index.mjsوملفpackage.jsonفقط عند الحاجة إلى أداة جديدة فعلية. - تحميلها واختبارها مباشرةً، ثم تصبح متاحة من رسالتك التالية — مدرجةً في فهرس القدرات ويعثر عليها
tool_searchكلّما طابقت صياغتُك محفّزاتها.
النظام الأساسي
tool-discovery — العثور على الأدوات وتحميلها عند الطلب
tool-discovery — العثور على الأدوات وتحميلها عند الطلب
tool_search— يبحث في كل قدرة مثبَّتة (بما فيها خوادم MCP) بحسب ما تحتاج إلى فعله. يطابق أسماء القدرات وأوصافها وكلماتها المحفِّزة وأسماء أدواتها؛ وتُحمَّل أفضل نتيجة تلقائيًا وتصبح أدواتها قابلة للاستدعاء في الدور نفسه.tool_activate— يحمّل قدرة بعينها باسمها الدقيق، مأخوذًا من فهرس القدرات أو من نتيجةtool_search.
shell — تنفيذ أوامر الشل
shell — تنفيذ أوامر الشل
child_process في Node.js لتنفيذ أوامر الشل. الأداة المحورية التي تعتمد عليها العديد من القدرات الأخرى.الأدوات:shell_exec— تشغيل أمر مع مسار عمل ومهلة اختياريين. الأوامر تعمل حتى تنتهي طبيعيًا. مرّرtimeoutفقط عندما تريد فشلًا سريعًا (مثلًا 5000 مللي ثانية لفحصwhichسريع). احذفه لعمليات التثبيت والبناء أو أي شيء بمدة غير متوقعة.shell_jobs— سرد مهام الخلفية التي بدأتها هذه المحادثة: ما الذي يعمل، ومنذ متىshell_stop— إيقاف مهمة خلفية واحدة، أو إيقافها كلّها
npm test وgit status داخل المشروع دون أن يُدَلّا عليه. وتعود المخرجات بلا رموز ألوان ANSI (NO_COLOR=1 وPAGER=cat)، والمخرجات الطويلة تحتفظ بآخر 2000 سطر أو 50 كيلوبايت — وهي نهاية السجلّ حيث يُبلَّغ عن الإخفاق — مع كتابة النصّ الكامل في ملفٍّ تحت <workspace>/tool-output/ يسمّيه الناتج، فلا يضيع شيء ويستطيع الوكيل البحث في السجلّ بدل إعادة البناء كلّه. أمّا الأمر الذي يشبه خادم تطوير أو مراقبًا فيُرفَض في المقدّمة بدل تعليق الدور: يُبدَأ في الخلفية بدلًا من ذلك، يسرده shell_jobs ويُنهيه shell_stop قبل انتهاء الدور.الأمان:- حظر:
mkfs،dd if=(تدمير على مستوى القرص) - مدمر:
rm -rf،sudo(يتطلب موافقة) - تأكيد: تثبيت الحزم، عمليات docker
sudo / doas) تتوثّق عبر جلسة المدير المحفوظة في التطبيق: تكتب كلمة سرّك في حوار نظامي واحد على الأكثر لكل تشغيلة للتطبيق، والأوامر المميّزة اللاحقة تعيد استخدام الجلسة المحفوظة في الذاكرة — دون حاجة إلى TTY. والجلسة على مستوى التطبيق كله، فوكلاء سير العمل والتشغيلات المجدولة يترقّون عبر الجلسة نفسها التي تخدم المحادثة.وضع الخلفية (background: true) يفصل العملية ويعيد رقم PID فورًا — استخدمه لخوادم التطوير والمراقبين والعمليات طويلة التشغيل.filesystem — قراءة وكتابة وتعديل الملفات
filesystem — قراءة وكتابة وتعديل الملفات
fs في Node.js لعمليات الملفات الدقيقة دون الحاجة للشل.الأدوات:file_read— قراءة ملف أو سرد مجلّد. تعود الأسطر مرقّمةN: text(والرقم ليس جزءًا من المحتوى قطّ)؛ والقراءة تُبَثّ بثًّا، فسحب شريحة من سجلٍّ بحجم جيجابايت لا يكلّف إلا الشريحة. والمسار المفقود يُجاب عنه بأسماء قريبة بدل خطأ مجرّد.file_edit— منذ الإصدار 1.0.288. تعديلٌ جراحيّ بنصٍّ مطابقٍ تمامًا: يمسّ النصّ المطابَق وحده، ويُبقي كلّ ما لم تلمسه مطابقًا بايتًا ببايت، ويرفض التطابق الملتبس بدل أن يخمّن، ويعيد فرقًا حقيقيًّا. هذه هي أداة تغيير ملفٍّ قائم.file_write— إنشاء أو استبدال ملفٍّ كاملًا (يدعم وضع الإلحاق). للملفات الجديدة وللاستبدال الكامل المقصود.file_grep— منذ الإصدار 1.0.288. البحث في محتوى الملفات بـ ripgrep عبر قاعدة شيفرة بأيّ حجم، مع احترام.gitignore.file_glob— منذ الإصدار 1.0.288. إيجاد الملفات بنمط الاسم (**/*.test.ts،src/**/*.tsx)، مع احترام.gitignore. يعيد حتى 100 مسار مطلق.file_patch— متقاعدة، وتبقى اسمًا بديلًا لـfile_editمعreplaceAll. تستبدل كلّ تطابقات نصٍّ حرفيّ.image_view— يعيد بكسلات الصورة الفعلية لنموذج رؤية عند الطلب — الطريقة التي يقودها النموذج للنظر في صورة بدل حقنها تلقائيًا. منذ الإصدار 1.0.254 النموذجُ هو من يختار المشهد: منطقة قصّ لقراءة جزء واحد بحدّته الأصلية (والقصّ أرخص أيضًا — فالسعر يتبع البكسلات المُرسلة فعلًا)، ودقّة حين يحتاج نصٌّ صغير إلى استبانة، وPNG بلا فقدان للقطات الشاشة والواجهات والمخططات حيث تؤذي لطخاتُ JPEG. والمشهد الأكبر من أن يُرسَل يُصغَّر تلقائيًا، ومنذ الإصدار 1.0.253 تصل البكسلات حقًّا إلى كل نموذج قادر على الرؤية — بما فيها Grok وKimi وQwen وStepFun وGLM ومتغيّرات-VLمن MiniMax/Mimo وdeepseek-v4-flash-vision-expمن DeepSeek، لا Claude وGPT وحدهما
shell_exec لعمليات الملفات — فهي أسرع وأكثر أمانًا وتنتج سجلات تدقيق أنظف. وابحث ولا تخمّن: file_grep حين تعرف ما يحتويه الملف، وfile_glob حين تعرف تقريبًا ما اسمه. وكلّ file_edit وfile_write تُلتقَط لقطتُه قبل أوّل تغيير في الدور، وهي ما تستعيد منه changes_revert — وفي التطبيق والطرفية والهاتف يُرسَم التعديل فرقًا موحّدًا حقيقيًّا لا بطاقةَ أداةٍ عامّة.changes — التراجع عن تعديلات دورٍ على الملفات
changes — التراجع عن تعديلات دورٍ على الملفات
changes_list— سرد تغييرات الملفات المسجّلة في هذه المحادثة، الأحدث أوّلًا: أيّ ملفات عدّلها أو أنشأها كلّ دورchanges_revert— إعادة الملفات إلى حالتها قبل دورٍ ما. الملفات المعدَّلة تستعيد بايتاتها الأصلية، والملفات التي أنشأها الدور تُحذَف. الافتراضيّ آخر دور؛ ومرِّر معرّف دورٍ منchanges_list، وpathللتراجع عن ملفٍّ واحدٍ منه.
todo — قائمة مهامّ النموذج
todo — قائمة مهامّ النموذج
todo_write— كتابة قائمة المهام للعمل متعدّد الخطوات: العناصر، وأيّها قيد التنفيذ
wait — حجب الدور لمدةٍ مختارة
wait — حجب الدور لمدةٍ مختارة
sleep في الصدفة لا تراه ولا تقاطعه، أو استدعاءُ الأداة نفسها مراراً في حلقة استقصاء، أو تسليمُ العمل والبدء من الصفر.الأدوات:wait— حجبُ الدور لمدّةseconds، معreasonمطلوبٍ بكلمات المستخدم نفسه
elapsed (انتهى المؤقّت)، و**interrupted** (وصلت رسالة — ونصُّها لا يُستهلك هنا، بل يبقى في صندوق منتصف الدور ويصل كرسالة المستخدم التالية)، و**canceled** (أُوقف الدور). والثلاثُ تمرّ عبر settle() واحدةٍ محروسة، فلا يعيش مؤقّتٌ أو سجلٌّ أطول من انتظاره.وثلاثُ أدواتٍ تبدو متشابهة وليست كذلك: wait يُبقي هذا الدور وكلَّ ما فيه؛ و**countdown** لفعلٍ يجب أن يقع بعد إرسال الردّ؛ و**automation_create** بجدولٍ لمرّةٍ واحدة يبدأ دوراً جديداً بعد ساعاتٍ أو أيّام من ما كُتب في تعليمته فقط. انظر الانتظار.close-turn — إنهاء دورٍ لم يبقَ له ما يقوله
close-turn — إنهاء دورٍ لم يبقَ له ما يقوله
(no output) أو [Empty response] أو [(empty — nothing further)]) ويرسله إليك. والوصيّةُ كانت مستحيلة، والحلُّ المؤقّت هو العطل.الأدوات:close_turn— إنهاءُ الدور حين يكون كلُّ شيءٍ قد قيل وسُلِّم
The build ran clean (no output) وBlockers: (none) لا يُشكَّك فيهما أبداً. والحارسُ يرصد ويُخبر؛ ولا يحرّر.countdown — تسليح إجراءٍ ليعمل بعد الردّ
countdown — تسليح إجراءٍ ليعمل بعد الردّ
countdown_start— تسليح أيّ استدعاء أداةٍ ليعمل بعد ثوانٍ من انتهاء الردّ، على تلك البطاقة
system_power التشغيل ويُطفئ ويخرج من الحساب (انظر system)، وعلى قناة محادثة يُحبطها /cancel.package-manager — تثبيت الحزم عبر المنصات
package-manager — تثبيت الحزم عبر المنصات
pkg_check— فحص مدير الحزم المتاحpkg_install_manager— تثبيت Homebrew على macOS إن لم يكن موجودًا (لا يفعل شيئًا في غيره)pkg_install— تثبيت حزمة مع حل الاسم المناسب لكل منصة
packages في SKILL.md — ومدير الحزم يحل الاسم الصحيح لكل منصة.node — بيئة تشغيل Node.js
node — بيئة تشغيل Node.js
node_check— التحقق من تثبيت Node.js والحصول على الإصدارnode_install— تثبيت Node.js عبر مدير حزم النظام
shell_exec لأوامر node وnpm وnpx.تسليم الملفات
utilities — تسليم الملفات وبطاقات المواضع القابلة للفتح
utilities — تسليم الملفات وبطاقات المواضع القابلة للفتح
send_file— يسلّمك أيّ ملفّ، بأيّ نوعٍ وأيّ حجم، مرفقًا في المحادثة التي أنت فيها. يظهر كبطاقة ملف في تطبيق سطح المكتب ويُرفع رفعًا أصيلًا على Telegram وWhatsApp. ولا تفرض محادثةُ التطبيق ولا الطرفيّةُ حدًّا للحجم من عندها؛ أمّا Telegram وWhatsApp فيفرضان سقوف الرفع الخاصّة بهما ويقولان ذلك حين يكون الملفّ أكبر من أن يُرسَل هناك.show_path— يدفع بطاقة موضعٍ قابلة للفتح إلى محادثة التطبيق: للمجلد زر فتح (مباشرة إلى مدير ملفات نظامك)، وللملف زر إظهار (يفتح مجلده والملف محدَّد). هكذا يُسلَّم المكان — مجلد هيّأه وولفيش أو رتّبه، دفعة مخرجات، ملف تُرك عمدًا حيث طلبت. لا شيء يُستخرَج من النثر: البطاقة توجد فقط عند استدعاء الأداة، والمسار يجب أن يكون موجودًا فعلًا. داخل التطبيق فقط — وعلى Telegram وWhatsApp يُذكر المسار نثرًا بدلًا منها.
pdf_create ولا ffmpeg ولا المتصفح ولا سكربت شل. يعامل وولفيش التسليم جزءًا من المهمة: لحظة انتهاء أي مهمة تُنتج ملفًا، يكون send_file هو الاستدعاء الأخير — حتى للملفات النصية الصغيرة، وحتى عندما عُرض المحتوى أيضًا في المحادثة. إنهاء الرد بعبارة «حُفظ في ~/path» ليس تسليمًا. وإن طلبت صراحةً أن يُحفظ ملف في مكان ما فحسب، فطلبك يُحترم — وحين يكون وولفيش غير متأكد فعلًا، يسأل بدل أن يحجب الملف بصمت. ويسرد نظام التشغيل الملفات المُرسلة في هذا الدور، فلا يصلك الملف نفسه مرتين أبدًا.المسارات يمكن أن تكون مطلقة أو نسبيةً إلى ~/ أو إلى مساحة العمل؛ والملفات خارج مساحة العمل تُنسخ إلى files/ ليستطيع العارض داخل التطبيق تحميلها.الويب والبحث
web-search — البحث في الويب وقراءة الصفحات
web-search — البحث في الويب وقراءة الصفحات
web_search— البحث في الويب. يُعيد العناوين والمقتطفات والروابط — لا صفحةً أبداً. الافتراضي 5 نتائج، دون حد أقصى مفروض. وكلّ استعلامٍ ينفق مالاً حقيقيّاً، فهو لحسم معلومةٍ واحدة أو معرفة أيّ رابطٍ يُفتَح.web_fetch— طلب GET واحد بسيط لرابط، يعود نصّاً. فوريّ ومجّاني، لكنّه لا يرى إلا ما يعطيه الخادم لطلبٍ عارٍ: فالصفحات المُصيَّرة بـ JS تعود فارغة، وتهزمه جدرانُ الدفع وتسجيلُ الدخول وجدرانُ الموافقة وفحوصُ الروبوتات.
browser — أتمتة المتصفح بدون واجهة
browser — أتمتة المتصفح بدون واجهة
timeout_ms صراحةً.الأدوات:browser_launch— بدء جلسة متصفح (مع واجهة/بدون واجهة، مقاس العرض، اللغة)browser_navigate— الانتقال إلى رابطbrowser_click— النقر على عنصر بمحدد CSSbrowser_type— كتابة نص في حقل إدخالbrowser_screenshot— التقاط الصفحة الحاليةbrowser_evaluate— تنفيذ JavaScript في سياق الصفحةbrowser_close— إنهاء الجلسة
web_fetch للصفحات الثابتة — استخدم المتصفح فقط عندما تحتاج للتفاعل.المستندات والوسائط
document — مستندات Word والنصوص المنسقة
document — مستندات Word والنصوص المنسقة
document_read— استخراج المحتوى كنص أو HTML أو Markdown من أي مستندdocument_create— إنشاء ملف .docx مع عناوين وفقرات وجداول وصور وقوائم ورؤوس/تذييلاتdocument_modify— تعديل المستندات الموجودةdocument_convert— التحويل بين الصيغdocument_merge— دمج مستندات متعددة
pdf — إنشاء ومعالجة ملفات بي دي اف
pdf — إنشاء ومعالجة ملفات بي دي اف
pdf_info— حقائق ملف PDF دون قراءته: عدد الصفحات والبيانات الوصفية والحجم — الاستدعاء الأول على أي مستند كبيرpdf_search— بحث نصّي كامل داخل PDF يعيد الصفحات المطابقة مع مقتطفات — هكذا يُتنقَّل في كتاب من 3,000 صفحةpdf_read— استخراج النص بنطاق صفحات (كسول ومخزَّن، فتبقى القراءات المتتابعة من مستند ضخم سريعة)pdf_create— إنشاء ملفات بي دي اف مع عناوين وفقرات وصور وجداول (يدعم RTL مع خطوط مخصصة)pdf_modify— تعديل ملف PDF قائم (صفحات ومحتوى)pdf_form— قراءة حقول نماذج PDF وتعبئتهاpdf_render_pages— تصيير صفحات كاملة إلى PNG/JPEG — هكذا يُعرَض شكلٌ أو رسمٌ بيانيّ أو خوارزميّة أو جدول، إذ يلتقط الصفحة كما طُبِعتpdf_extract_images— حفظ الصور والأشكال النقطيّة المضمّنة في صفحات مسمّاة كملفّات صورpdf_merge— دمج عدة ملفات بي دي افpdf_split— استخراج نطاقات صفحات في ملفات منفصلةpdf_secure— تشفير/فك تشفير بكلمات مرورpdf_compress— تقليل حجم الملف
pdf_render_pages (الذي يلتقط الصفحة كما طُبِعت ويعمل دائماً)، بينما pdf_extract_images للأصول التي يخزّنها الـ PDF حقّاً: صورة فوتوغرافية، أو لوحة ممسوحة، أو رسمٌ تريده وحده. وكلاهما يأخذ تحديد pages ويعمل بنطاق الصفحات، فلا يحتاج أيٌّ منهما إلى تقسيم المستند أوّلاً — والاستخراج على كتابٍ بأكمله ليس الخيار الصائب أبداً، إذ يخزّن المرجع الكبير عشرات الآلاف من الشظايا دون الكيلوبايت. والشظايا دون 80 بكسل تُتخطّى افتراضيّاً.أما إرشادات تصميم المستندات المؤلَّفة فتقيم في دليل pdf-design أدناه — يحمّله الوكيل قبل إنشاء أي شيء منسَّق؛ وتبقى pdf_create الخيارَ الاحتياطي البسيط غير المنسَّق.pdf-design — دليل تصميم المستندات (أساسي)
pdf-design — دليل تصميم المستندات (أساسي)
pdf_design تحمّل دليل تصميم المستندات إلى السياق، وعقد التشغيل يُلزم الوكيل بندائها قبل تأليف أي PDF أو مستند منسَّق ستقرؤه. كانت المستندات المولَّدة تتأرجح بين الجيّد حقاً والمعطوب ظاهراً لأنّ وصفة التصميم كانت تقيم حيث نادراً ما يقرؤها النموذج؛ صار الدليل تلك الوصفةَ في موضع واحد — خطوةُ تخطيطٍ للصفحات كي لا تخرج صفحةٌ نصفُها فارغ، وبنيةُ أوراقٍ ثابتة بتذييلٍ جارٍ ورقمِ صفحةٍ حقيقيّ، وسلّمُ خطوطٍ واحد، ولونُ تمييزٍ واحد مع صفحاتِ متنٍ فاتحةٍ دائماً، وعُدّةُ مكوّنات (غلاف، وفهرس، وفواتح أقسام، وبطاقات أرقام، وجداول بخطوط شعرية، وتنبيهات، وأختام مصدر)، وقواعدُ العربية والاتجاه من اليمين إلى اليسار، ودمجُ الرسوم البيانية، وفحصُ تحقّق إلزاميّ: يصيّر الوكيل صفحاتٍ عيّنةً صوراً عبر pdf_render_pages وينظر إليها قبل أن يسلّم شيئاً.الأدوات:pdf_design— تحميل دليل تصميم المستندات (متن الدليل لا يكلّف شيئاً حتى يُنادى — فالدائم هو سطر المخطط وحده)
dataviz — رسومٌ تستحق مكانها (أساسي)
dataviz — رسومٌ تستحق مكانها (أساسي)
dataviz دليل تصوير البيانات الذي يستشيره الوكيل قبل عرض الأرقام — متى يستحق الرسم مكانه (ومتى يكون الرقم أو الجدول هو الجواب الأمين)، وأيّ شكلٍ يلائم أيّ بيانات، وكيف يوسِمه ويرتّبه ويسنده إلى مصدره. ويغطي مسارَي الإخراج معاً:- بطاقات رسوم تفاعلية في محادثة التطبيق. يكتب الوكيل ملف مواصفات ينتهي بـ
.chart.jsonويسلّمه عبرsend_file؛ فيعرضه التطبيق بطاقةَ رسمٍ حيّةً منسَّقةً على سمة التطبيق فاتحِها وداكنِها. أحد عشر نوعاً — أعمدة وأشرطة وخطية ومساحية ودائرية وحلقية وانتثارية وخرائط حرارة ورادار وعدّادات وأقماع — مع تلميحات ووسائل إيضاح، وعرضٍ موسَّع يملأ الشاشة بمبدّل رسم ⇄ بيانات، وحفظٍ كصورة. والمواصفة غير الصالحة أو التي تتجاوز 1 ميغابايت تنحدر إلى بطاقة ملف عادية تبقى قابلة للتنزيل. - رسومٌ داخل ملفات PDF المولَّدة، تُرسَم على النظام البصري نفسه بهندسة دقيقة للطباعة ولوحة ألوانٍ ثابتة من ثماني خانات مُتحقَّقٍ من أمانها لعمى الألوان وتُسنَد بالترتيب.
.chart.json مرفقَ مستندٍ عاديّاً، لذا يُعلَّم الوكيل أن يفضّل جدولاً نصياً هناك.الأدوات:dataviz— تحميل دليل تصوير البيانات
web-design — دليل تصميم الويب (أساسي)
web-design — دليل تصميم الويب (أساسي)
web_design دليل تصميم الويب إلى السياق، ويلزم عقدُ التشغيل الوكيلَ باستدعائها قبل أن يكتب سطر HTML واحداً لأيّ شيءٍ يفتحه إنسانٌ في متصفّح — تماماً كما تعمل pdf-design مع المستندات.ويحمل الدليل:- معايرة المعالجة وخريطة الأقسام — خطوة تخطيطٍ قبل أيّ ترميز، فتُقرَّر هيئة الصفحة بدل أن تُكتشَف.
- بنية عمودٍ وشريط تبقى متجاوبة من سطح المكتب إلى عرض الهاتف.
- سمتَي فاتحٍ وداكن — تفضيل النظام مع مفتاح تجاوز — مبنيّتين على طقم رموزٍ واحد.
- أصوات محرفيّة من أطقم خطوط النظام، وطقم مكوّنات: لوحة غلاف، وشريط فهرس، وملاحظات، ولوحات أشكال، وجداول رفيعة الحدود، وأقراص، وشبكات بطاقات، وأسئلة وأجوبة، وخطوات، وقوائم تحقّق.
- قواعد أشكال SVG المرسومة باليد، مصبوغةً بألوان الصفحة لا مُنزَلةً صوراً جاهزة.
- JavaScript تحسينٌ لا أساس — فالصفحة يجب أن تُقرأ كاملةً والنصوص البرمجيّة مطفأة، وتصل ملفّاً واحداً قائماً بذاته.
- قواعد العربيّة والاتّجاه من اليمين إلى اليسار، بالانضباط نفسه الذي يطبّقه دليل المستندات.
- تمريرة تحقّقٍ إلزاميّة: يلتقط الوكيل صورة الصفحة المنتهية بـ
browser_screenshotوينظر إليها عبرimage_view— في السمتَين معاً، بعرض سطح المكتب وعرض الهاتف — قبل أن يسلّمها.
web_design— تحميل دليل تصميم الويب (ومتن الدليل لا يكلّف شيئاً حتى يُستدعى — فالحضور الدائم مجرّد سطر مخطّط). يقبل وسيطpageاختياريّاً يسمّي ما أنت بصدد تصميمه؛ وذكرُه التزامٌ بالدليل.
spreadsheet — ملفات Excel و CSV
spreadsheet — ملفات Excel و CSV
spreadsheet_read— قراءة xlsx/csv/tsv مع اختيار ورقة ونطاق خلايا اختياريspreadsheet_create— إنشاء جداول بيانات جديدة مع أوراق وأعمدة وصفوف وأنماط متعددةspreadsheet_modify— تعديل الملفات الموجودة (إضافة صفوف، تحديث خلايا، إضافة أوراق)spreadsheet_analyze— حساب الإحصائيات والملخصات والأعمدة المشتقة
#DIV/0!، #REF!، #VALUE!) فيُصلَح قبل أن يصل الملفّ إليك. والرسومُ البيانيّةُ مخطّطات Excel أصليّة ترسمها Excel وNumbers وLibreOffice وتستطيع إعادةَ تنسيقها — بسبعة أنواع — بدل صورٍ ملصقة.ويعمل وولفيش إلى معيارٍ معلَنٍ لما يجعل المصنَّف جيّداً: صيغاً بدل أرقامٍ حسبها بنفسه، وكلَّ افتراضٍ في خليّته الموسومة، واصطلاحَ المحلّل في اللون — أزرقُ للمُدخَلات وأسودُ للصيغ — في النماذج الماليّة.وملفُّ .xlsx في المحادثة يُرسَم شبكةً حفظت تنسيق الملفّ — تعبئاتُه ومحارفُه وحدودُه وتنسيقاتُ أرقامه وخلاياه المدمَجة ولوحاته المجمَّدة وأعراضُ أعمدته وتبويباتُ أوراقه — منذ الإصدار 1.0.301. انظر مستندات أوفيس في التغذية.presentation — عروض PowerPoint
presentation — عروض PowerPoint
.pptx / .potx وأنشئها وعدّلها وتحقّق منها.الأدوات:deck_design— حمّل مرجع تصميم العرض قبل بناء أيّ شيء: خطوةُ تخطيط خريطة الشرائح (فكرةٌ واحدة لكلّ شريحة، وعناوينُ تدّعي دعوى ولا تسمّي موضوعاً)، وجدولُ الثيمات، وكلُّ تخطيطٍ يقدّمه المحرّك وحقوله، وقواعدُ كتابة الشرائح، وإرشادُ الرسوم البيانيّة. مطلوبٌ قبل التأليف.presentation_read— اقرأ عرض أيّ كان: نصُّ كلّ شريحةٍ وملاحظاتُ المتحدّث بها، بالترتيب. وتحريرُ عرضٍ لغيرك يبدأ من هنا، لا من تخمينٍ في الصياغة.presentation_create— ابنِ عرضاً بتخطيطٍ لكلّ شريحة. وهو محرّكُ تخطيطٍ لا واضعُ أشكال: أنت تقول ما تكونه كلُّ شريحة — عنوان، فاصلُ قسم، نقاط، عمودان، بطاقات، إحصاءات، خطوات، جدول، رسمٌ بيانيّ، صورة، اقتباس، خِتام — والمحرّكُ يملك الهندسةَ ومقياسَ المحارف واللوحة. وثيماتُ الألوان هي اللوحاتُ الثماني المُختبَرة نفسها التي تستخدمها مستندات PDF، فيبدو العرضُ وتقريرُه من موضعٍ واحد.presentation_modify— استبدالُ نصٍّ بتطابقٍ تامّ يترك بنيةَ PowerPoint نفسها دون مساس، لأنّ إعادةَ الكتابة العامّة هي ما يجعل PowerPoint يرفض ملفّاً.presentation_validate— فحصٌ بنيويّ. إلزاميٌّ على النتيجة: يلتقط العيوبَ التي تجعل PowerPoint يُعلن ملفّاً معطوباً بينما يفتحه كلُّ برنامجٍ آخر بسرور.presentation_render— صيّر الشرائح ثمّ انظر إليها:presentation_render←pdf_render_pages←image_viewهي كيف تُرى الصفحاتُ فعلاً قبل الإرسال.
archive — أرشيفات zip، بلا طرفية
archive — أرشيفات zip، بلا طرفية
.zip، تعمل داخل العملية نفسها — لا تحتاج برنامج unzip ولا zip، وسلوكها واحد على macOS وويندوز. و.zip مرفقٌ من الدرجة الأولى أيضًا (حتى 512 م.ب)، فيصل الأرشيف إلى حيث تبلغه الأدوات.الأدوات:archive_list— يسرد ما في الداخل دون فكّ الضغط: مسارات المدخلات وأحجامها وتواريخها، والبنية العليا، والمجاميع، وأيّ المدخلات مشفَّر. يقرأ فهرس الأرشيف وحده، فهو سريع مهما كبر الحجم. يدعم الصفحات (offset/limit) والترشيح بالأنماط — ولا يقتطع بصمت أبدًا.archive_read— يقرأ ملفًا نصيًا واحدًا من داخل الأرشيف مباشرة، دون كتابة شيء على القرص. يدعمstart_line/end_line؛ والمدخل الثنائي يعيد حجمه والأداة المناسبة لفتحه، لا بايتات مشوّهة.archive_extract— يفكّ الضغط كلّه، أو المدخلات التي تسمّيها وحدها. وبلا وجهةٍ محدّدة ينشئ مجلدًا جديدًا بجوار الأرشيف (والأرشيف المرفوع يُفكّ في مجلدfiles/في مساحة العمل)، ولا يطمس مجلدًا قائمًا أبدًا.archive_create— يحزم ملفات ومجلدات في.zipجديد. والمجلد يحتفظ باسمه جذرًا للأرشيف، فيُنتج فكُّ الضغط مجلدًا لا ملفات متناثرة. وينبّهك إن دخلnode_modulesأو.gitأوvenvلتعيد التنفيذ معexclude.
src/ وpublic/ وpackage.json، مع فيديو بحجم 40 م.ب في assets/»)، ثم تُسأل عمّا تريد فعله به. أمّا الطلب الذي يجيب عن السؤال أصلًا («فكّ ضغط هذا»، «ماذا يقول README») فيُنفَّذ مباشرة.الأمان: المدخلات التي قد تكتب خارج الوجهة تُرفض رفضًا قاطعًا، ومدخلات الروابط الرمزية تُخزَّن ملفاتٍ عادية، و__MACOSX/ و.DS_Store وThumbs.db تُتخطّى مع الإبلاغ عن عددها. والأرشيف المشفَّر يُسرد رغم ذلك (فالفهرس غير مشفَّر)؛ وarchive_read وarchive_extract يقبلان كلمة سرّ.zip فقط — ويُفحص توقيع الملف نفسه لا امتداده. فـ .tar.gz أو .7z أو .rar يُرفض مع الأمر الطرفيّ الذي يعالجه بالضبط. وملفات Office (.docx و.xlsx و.pptx و.epub) هي أرشيفات zip وتُفتح هنا، لكن ذلك تحرٍّ لا طريقٌ معتاد: استعمل أدوات المستندات لتلك الصيغ.ffmpeg — معالجة الصوت والفيديو
ffmpeg — معالجة الصوت والفيديو
ffmpeg_check— التحقق من تثبيت ffmpegffmpeg_install— التثبيت عبر مدير الحزمffmpeg_run— تشغيل أي أمر ffmpeg (مرّر الوسائط بعدffmpeg)
video — توليد الفيديو بـ MiniMax H3
video — توليد الفيديو بـ MiniMax H3
video_check— يتحقّق أنّ الخدمة مهيّأة وأنّ المفتاح يعمل. مجانيّ ولا ينفق أرصدة.video_generate— يبدأ المعالجة؛ يعيد معرّف مهمّةٍ فورًا ويرفع بطاقة مهمّة حيّة في المحادثةvideo_await— يقف حتى تحطّ المهمّة ويعيد المسار المطلق لملفّ mp4 المحفوظvideo_status— لقطة غير حاجزة لمهامّ الفيديو في هذه المحادثةvideo_cancel— يلغي مهمّةً في الطابور أو جارية على الخادم
send_file (أو telegram_send_video / whatsapp_send_video). والمعالجة التي تتجاوز عمر الدور يكملها التطبيق نفسه — يستعلم ويحفظ ويسلّم إلى القناة التي جاءت منها. ويعمل على مفتاحه الخاص تحت الإعدادات ← الخدمات ← توليد الفيديو، منفصلًا عن مزوّد محادثة MiniMax عن قصد.الصوت
speech-to-text — تحويل الكلام إلى نص مع faster-whisper
speech-to-text — تحويل الكلام إلى نص مع faster-whisper
stt_transcribe— نسخ ملف صوتي من مسار محددstt_transcribe_upload— نسخ ملف تم رفعه في المحادثة الحاليةstt_transcribe_voice_memo— نسخ مذكرة صوتية وَلّدها تحويل النص إلى كلامstt_detect_language— كشف لغة الكلام دون نسخٍ كامل
text-to-speech — إنشاء مذكرات صوتية
text-to-speech — إنشاء مذكرات صوتية
voice_generate— تحويل النص إلى MP3 (يُعيد مسار الملف)voice_respond— الرد بالكامل كمذكرة صوتية (الصوت هو الرد)voice_list— عرض جميع ملفات المذكرات الصوتية في مساحة العمل
af_/am_، مثل الافتراضي af_bella) وبريطانية (bf_/bm_). يُختار الصوت وسرعة الكلام من الإعدادات ← الخدمات ← تحويل النص إلى كلام ويُطبَّقان تلقائيًا، ويُثبَّت النموذج في بيئة بايثون مُدارة عند أول استخدام (أو عند الطلب من الإعدادات، مع شريط تقدّمٍ حيّ ومعاينةٍ حقيقية داخل التطبيق).التحكم بالإصدارات والبرمجة
git — عمليات Git (مهارة نقية)
git — عمليات Git (مهارة نقية)
shell_exec لعمليات Git وفق تفضيلات المستخدم. التعليمات تشمل:- تشغيل
git statusدائمًا قبل إجراء تغييرات - استخدام تنسيق Conventional Commits:
type(scope): subject - عرض التغييرات ورسائل الالتزام المقترحة قبل التنفيذ
- تسمية الفروع: بادئات
feature/،fix/،chore/مع kebab-case
github — تكامل GitHub API
github — تكامل GitHub API
per_page. لمجموعات نتائج أكبر، انتقل بين الصفحات عبر عدة استدعاءات.راجع تكامل GitHub للإعداد والاستخدام الكامل.الخدمات الخارجية
google — Google Workspace
google — Google Workspace
notion — صفحات وقواعد بيانات Notion
notion — صفحات وقواعد بيانات Notion
cloudflared — كشف الخدمات المحلية
cloudflared — كشف الخدمات المحلية
cloudflared_check— فحص تثبيت cloudflaredcloudflared_install— التثبيت عبر مدير الحزمcloudflared_tunnel— إنشاء نفق لمنفذ محلي (يُعيد رابطًا عامًا)
أتمتة سطح المكتب
computer-use — التفاعل مع الشاشة
computer-use — التفاعل مع الشاشة
لا تأخذ مؤشّرك
كانت كلُّ نقرةٍ تحرّك مؤشّرك أنت، وكلُّ ضغطة مفتاحٍ تذهب إلى ما عليه التركيز، ودفعةٌ للفأرة في منتصف الإجراء ترسل النقرة إلى مكانٍ آخر. وصارت النقرات والكتابة والاختصارات والتمرير والسحب تُرسَل مباشرةً إلى النافذة الهدف في الخلفية، عبر مشغّلٍ أصليّ على macOS وويندوز ولينكس (X11، وWayland حيث يسمح المؤلِّف): مؤشّرك لا يتحرّك، والنافذة لا تُرفَع، وتبقى تعمل إلى جانبها.وحين يعجز تطبيقٌ حقّاً عن تلقّي إدخال الخلفية، ينزل وولفيش درجةً واحدة عن قصد — تسليمٌ وجيزٌ في المقدّمة مع إعادة المؤشّر إلى موضعه — ويقول أيُّ درجةٍ جرت، في الناتج، بدل أن يخفق بصمت. وcomputer_hover هي الأداة الوحيدة التي تحرّك المؤشّر الحقيقيّ عن قصد، لأنّ التلميحات وقوائم التمرير تحتاجه.طريقان إلى إيجاد الشيء
- بالبكسلات — لقطة ← تكبير ← تصويب ← نقر. فكلُّ صورةٍ تعيدها أداةٌ تصير الإطار الحاليّ، ويقرأ النموذج الإحداثيّات منها مباشرةً؛ والإضافة تتولّى الترجمة كلَّها (التصغير، والكثافة العالية، وإزاحات الشاشات المتعدّدة، وبكسلات النافذة المحلّيّة). وكلُّ لقطةٍ تحمل خطّي تصويبٍ يمرّان ببكسل المؤشّر بعينه، والهدفُ الصغير أو المزدحم يُكبَّر قبل أن يُنقَر أصلاً، والتكبيرُ ينبّه حين تكون المنطقة أوسع من أن تُكبَّر حقّاً.
- بالاسم —
computer_findتقرأ شجرة الوصوليّة للتطبيق، البنيةَ نفسَها التي يقرؤها قارئُ الشاشة، فتجد زرّاً أو حقلاً أو مربّع اختيارٍ أو عنصر قائمةٍ باسمه؛ ثمّ تنقرهcomputer_click_elementبمرجعه، بلا تصويبٍ بالبكسلات البتّة. ومساراتُ القوائم مثل File › Save As… تُستدعى مباشرةً لا تُصوَّب إليها. والتطبيقات الأصليّة تعرض أشجاراً غنيّة؛ أمّا محتوى الويب في المتصفّحات وتطبيقات Electron فلا يعرض عادةً إلّا إطار النافذة — والناتج يقول ذلك بصراحة بدل أن يترك النموذج يخمّن.
دليلٌ على كلّ إجراء
يعيد كلُّ إجراءٍ سطرَ دليلٍ واحداً: كيف سُلّم، وحكمُ المشغّل على وقوع الأثر (confirmed أو partial أو unverifiable أو suspected noop أو refused)، ومقارنةٌ موضوعيّة للبكسلات قبل وبعد، والعنصرُ تحت النقطة، و — في التسليم النادر في المقدّمة — هل تحرّكت فأرتك في أثنائه، فإن تحرّكت رفض وولفيش إعادةَ أيّ شيءٍ له أثرٌ جانبيّ. وذلك الدليل يركب إلى الخطوة التالية مع ما قال النموذج إنّه يتوقّعه، فـيتحقّق النموذج قبل أن يخطّط. والنموذج ممنوعٌ صراحةً كذلك من إعادة نقر زرّ إرسالٍ اعتماداً على التقرير وحده.مؤشّر الشاشة، ومؤشّرٌ ظلّيّ
وبينما يقود وولفيش، تلبس الشاشةُ توهّجاً أزرق حول حوافّها الأربع مع تنبيهٍ شفّافٍ صغير في وسطها — «وولفيش يلتقط شاشتك»، بلغة تطبيقك — غير مرئيٍّ في لقطاته هو. ومنذ الإصدار 1.0.298 يسافران مع مؤشّرٍ ظلّيّ: سهمٌ ينزلق إلى النقطة بعينها قبل كلّ إجراء، وينبض عند الضغط، ويركن هناك بعلامةٍ صغيرة تسمّي الهدف. وهو رسمٌ على طبقة المؤشّر، فـلا يمسّ مؤشّرك الحقيقيّ أبداً ولا يظهر في لقطات وولفيش. وإن أسقط النظامُ نافذةَ المؤشّر — شاشةٌ فُصلت، أو إسبات — أعاده الإجراءُ التالي إلى شاشةٍ موجودة، فـ«مشتعل» تعني مشتعلاً على مرأى دائماً.ووولفيش نفسه يشعل المؤشّر قبل أوّل نظرةٍ إلى شاشتك ويطفئه فعلاً أخيراً، فالإشعالُ يعني مراقَبةً والإطفاءُ يعني لا مراقَبة.الأدوات (31):computer_wait_for تحلّ محلّ المهل المخمَّنة — انتظر حتى تستقرّ الشاشة، أو حتى تظهر نافذةٌ بعنوانٍ معيّن، أو حتى يظهر عنصرٌ أو يختفي. وcomputer_window_screenshot تلتقط نافذةً حتى وهي مغطّاة. وcomputer_batch تشغّل تسلسلاً أنت واثقٌ منه في استدعاءٍ واحد وتتوقّف عند أوّل إخفاق.الأذونات، تُطلَب مقدّماً
تقولcomputer_check_access لوولفيش — ولك — ما الذي يسمح به هذا الجهاز بالضبط قبل أن تبدأ الجلسة: الوصوليّةُ وتسجيلُ الشاشة على macOS مع لوحة الإعدادات التي تُفتَح، ونوعُ الجلسة والمؤلِّفُ على لينكس، وحدودُ الترقية على ويندوز، وهل حُمِّل مشغّل الخلفية. وإشعالُ المؤشّر يجري الفحصَ نفسه، فـيُسمّى الإذنُ الناقص عند الخطوة الأولى ومعه علاجُه، لا يُكتشَف خطأً مبهماً في منتصف الطريق. وصفحةُ إعدادات Computer Use تعرض زرّ فتح إعدادات النظام بجوار أيّ إذنٍ ناقص، ولا شيء بجوار الحاضر.جودة الالتقاط وكلفته
منذ الإصدار 1.0.280 صار الوكيل يختار دقّة كلّ لقطة وصيغتها، لقطةً لقطة، بدل إعدادين تضبطهما مرّةً وتعيش معهما. فالبحث العاديّ عن زرّ يبقى صغيراً سريعاً؛ أمّا قراءة صفحة شيفرة، أو الحكم على التباعد واللون، أو تسليمك لقطةً تحتفظ بها فترتفع إلى 2560 بكسلاً وPNG بلا فقدان. واطلب لقطةً أحدّ في أثناء المحادثة فيلتقطها ببساطة. ومن ثَمّ اختفى الصفّان من سطح المكتب والطرفية والهاتف. (ويحتفظ امتداد المتصفّح بإعدادات لقطاته الخاصة.) واللقطاتُ الأقدم تُحال عن سياق النموذج كلّما وصلت أحدثُ منها، فتبقى الجلساتُ الطويلة مستندةً إلى الشاشة الحاليّة — وميسورةً.يجب تفعيله في الإعدادات ← الخدمات ← Computer Use — وهو يحتاج إلى دماغ قادر على الرؤية: فإن عجز النموذج الفعّال عن قبول الصور جرّدت بيئةُ التشغيل اللقطاتِ وقالت الأدواتُ للنموذج أن يتوقّف ويطلب منك تبديل النموذج، واللوحةُ تقول ذلك بصراحة بدل أن تدع نموذجاً أعمى ينقر بالتخيّل. ومنذ الإصدار 1.0.287 صارdeepseek-flash مؤهَّلاً، فلم يعد DeepSeek مزوّداً يلزم تركه لقيادة الشاشة.وبطاقاتُ الموافقة على إجراءات الشاشة تسمّي التطبيق والنافذة التي يذهب إليها الإجراء، و**«اسمح في هذه المحادثة» يسمح لذلك التطبيق** لا لاسم أداةٍ واحدة.الجلسات والرفض (الإصدار 1.0.299)
كانت جلسةُ مشغّل الشاشة تنتهي بعد خمس دقائق من الخمول، وكان استدعاءُ واجهةٍ صامتٌ واحد يكفي لتجاوز ذلك الحدّ — وبعده يرفض كلُّ إجراء شاشةٍ بقيّةَ الدور. وصارت الجلسة تبقى حيّةً ما دام المؤشّر قائماً، وإن انقضت أعاد الإجراءُ التالي الاتّصالَ وكرّر نفسَه دون أن ترى إخفاقاً.وحالاتُ الرفض التي لا تتغيّر بمحاولةٍ أخرى — نقطةٌ خارج الصورة الحاليّة، أو اسمُ مفتاحٍ لا يعرفه المشغّل، أو إجراءٌ قبل إشعال المؤشّر — صارت تعود فوراً ومعها العلاج، بدل إحراق ثلاث محاولاتٍ متطابقة. وأسماءُ المفاتيح مثلperiod وcomma وslash مفهومةٌ الآن، والنصُّ الطويل يُكتَب في استدعاءٍ واحد مع الإبلاغ بعدد المحارف، فالفقرةُ التي وصلت ناقصةً ظاهرةٌ لا صامتة.system — التطبيقات والمسارات وطاقة الجهاز
system — التطبيقات والمسارات وطاقة الجهاز
app_open— تشغيل تطبيقapp_quit— إنهاء تطبيقٍ يعملapp_list— سرد التطبيقات العاملةopen_path— فتح ملفّ أو مجلّد بالمعالج الافتراضيّ في النظامsystem_power— إعادة التشغيل، أو الإطفاء، أو الإسبات، أو القفل، أو الخروج من الحساب
restart وshutdown وlogout بالاستدعاء نفسه أبدًا. فمنذ الإصدار 1.0.294 تُسلَّح على عدٍّ تنازليّ عند نهاية الدور — ينهي الوكيل جوابه، وتُحفَظ المحادثة، وتعدّ بطاقةٌ فيها زرّ إحباط تنازليًّا في المحادثة قبل أن يُنفَّذ الأمر. وقبل ذلك كان الوكيل يسلّم المهمّة إلى مؤقّتٍ منفصلٍ خفيّ لا سبيل إلى إلغائه على ماك أو لينكس، وكان المؤقّت الذي يعجز عن البدء يُبلَّغ عنه إليك نجاحًا. أمّا sleep وlock فلا يقطعان ردًّا، فما زالا يُنفَّذان مباشرةً.mobile-simulators — تشغيل تطبيقات iOS وAndroid وقيادتها
mobile-simulators — تشغيل تطبيقات iOS وAndroid وقيادتها
mobile_، وiOS على macOS وأندرويد في كلّ مكان. فصار سؤال «هل تبدو الشاشة الجديدة صحيحة؟» سؤالاً يجيب عنه الوكيل بتشغيل التطبيق والنظر إليه ولمسه، لا بقراءة الشيفرة والتخمين.اللمساتُ تذهب إلى مرجعٍ لا إلى تخمين
لا تذهب اللمسة أبداً إلى إحداثيٍّ مقروءٍ من لقطةٍ قديمة. فوولفيش يقرأ شجرة الوصوليّة للتطبيق —mobile_snapshot تعيد كلّ زرٍّ وحقلٍ وخليّة بمرجعٍ خاصّ بها — وmobile_tap تلمس المرجع.وكلُّ لمسةٍ تعيد برهاناً: رقعةً مقرَّبة للموضع بعينه وعليها خطّا تصويب، وحكماً موضوعيّاً على ما إذا كانت الشاشة قد تغيّرت فعلاً. و**«لم تتغيّر» تعني أعِد التصويب من نظرةٍ جديدة، لا اضغط ثانية.**والكتابةُ تدخل ضغطاتِ مفاتيح للنصّ الصريح، وعبر الحافظة للعربية وسائر الكتابات والرموز التعبيرية، فيصل ما طلبتَه كما طلبتَه.ترى الجهاز وهو يُقاد
محاكٍ يتحرّك وحده أمرٌ مقلق إن لم تعرف السبب. فكلّما كان وولفيش ينظر إلى جهازٍ أو يلمسه، يقوم إطارٌ أزرق حول نافذة ذلك الجهاز بقرصٍ يقرأ «وولفيش يقود iPhone 16 Pro»، وتظهر تموّجةٌ حيث تحطّ كلّ لمسة — وخطٌّ مرسومٌ عبر الشاشة للسحب. ويتبع النافذةَ إن سحبتها أو غيّرت حجمها، والنقراتُ تنفذ من خلاله فلا يعترض طريقك أبداً، والأدوات التي ترى الجهاز أو تلمسه ترفض العمل حتى يكون قائماً (أمّا أدوات البناء ودورة الحياة والسجلّ فلا تحتاجه). وينزل فعلاً أخيراً في الدور، وإن انتهى دورٌ وهو ما يزال مشتعلاً — منتهياً أو مستسلماً أو مخفقاً — أنزله التطبيق بنفسه، فالإطارُ على شاشتك يعني دائماً ما يقوله.الأدوات (37):mobile_doctor تبلّغ بما ينقص.xcode — بناء مشروع Xcode واختباره وتشغيله
xcode — بناء مشروع Xcode واختباره وتشغيله
xcode_discover— إيجاد المشاريع ومساحات العمل والأُطر في مجلّد، وكيف يُشغَّل كلٌّ منهاxcode_schemes— سرد مخطّطات المشروعxcode_bundle_id— استخراج معرّف حزمة مخطّطxcode_defaults— ضبطُ المخطّط والمشروع والتهيئة والجهاز مرّةً واحدة للمحادثة، فتُترَك خارج كلّ استدعاءٍ بعدهاxcode_build— البناء، ويعيد مسار حزمة.appالتي تأخذهاmobile_installxcode_test— تشغيل اختبارات المشروعxcode_run— البناء والتثبيت على المحاكي والتشغيل مع انسياب السجلّات، في استدعاءٍ واحد
xcodebuild. وأيّاً كان الإطار، تُغلَق الحلقةُ بالطريقة نفسها: شغّل التطبيق، ثمّ اقرأه والمسه على الجهاز بدل التخمين من الشيفرة.التفاعل
ask — اسأل المستخدم ببطاقات اختيار من متعدد
ask — اسأل المستخدم ببطاقات اختيار من متعدد
ask_user— يطرح سؤالًا أو أكثر من أسئلة الاختيار من متعدد وينتظر الإجابات. كل سؤال يحمل خيارَين إلى خمسة خيارات مرقّمة بأوصاف مختصرة، و(ما لم يُعطَّل) صندوق نصّ حرّ لتعليماتك الخاصة. يعيد كل الإجابات دفعة واحدة.
الذاكرة والوعي الذاتي
introspect — استرجاع الذاكرة والوعي الذاتي
introspect — استرجاع الذاكرة والوعي الذاتي
memory_search— بحث نصي كامل مرتَّب عبر جميع مصادر الذاكرة، قابل للترشيح بالمصدر والمدى الزمني. يعيد مقتطفات مع مراجع (refs) للمتابعة.memory_get— يجلب المحتوى المخزَّن الكامل خلف مرجع؛ ومراجعfile:تعيد الملف الفعلي (محصورة في مساحة العمل)conversation_list— يعدّد المحادثات السابقة: المعرّف والعنوان والقناة والتواريخ وعدد الرسائل — مع ترتيب اختياري باستعلام محتوىconversation_read— يقرأ محادثة سابقة بعينها مع تقسيم الصفحات، شاملًا استدعاءات الأدوات ونتائجها. ويستعيد أيضًا أدوار المحادثة الحالية التي لُخِّصت خارج السياق.memory_save— يحفظ حقيقة واحدة مكتفية بذاتها حفظًا دائمًا في المعرفة طويلة الأمد (مع إزالة التكرار)، مصنَّفةً كمشاريع أو أشخاص أو تفضيلات أو تقنية أو قراراتusage_report— إنفاق وولفيش نفسه على نماذج اللغة: الطلبات والرموز والتكلفة، إجمالًا ولكل نموذج، لفترة تختارهاwolffish_recall— استرجاع بالكلمات المفتاحية والتواريخ، أُبقي عليه اسمًا بديلًا ثابتًا ويُخدَم الآن من الفهرس
wolffish_status— وقت التشغيل، المزود النشط، القدرات المحمَّلة، وصحة النظامchannel_status— ما إذا كانت كل قناة مراسلة (Telegram، WhatsApp، داخل التطبيق) متصلة، والخطوات الدقيقة لإعادة وصل ما انقطع منهاwolffish_performance— معدلات نجاح المهام، الأدوات الأكثر استخدامًا، معدلات الأخطاءwolffish_memory— مواضيع المحادثات الأخيرة ومجالات المعرفة في لمحةwolffish_list_files— شجرة ملفات منظَّمة لمساحة العمل (ومساحة العمل وحدها)
memory_save. يستخدم وولفيش هذه الأدوات دون أن يُطلب منه: الإشارة المحددة («خطة الرحلة»، «ذلك الملف») تُطلق بحثًا قبل الإجابة، ويجرّب بحثين بصياغتين مختلفتين قبل أن يدّعي يومًا أنه لا يتذكر — فإخفاق البحث لا يُعامل أبدًا دليلًا على أن شيئًا لم يحدث. ويتحقّق أيضًا من channel_status قبل أن يراسلك خارج السياق — فـ Telegram وWhatsApp قنوات متّصلة يُوصَل إليها عبر أدواتها، لا تطبيقات سطح مكتب تُشغَّل.المرح
memes — إنشاء والبحث عن ميمز
memes — إنشاء والبحث عن ميمز
meme_generate— إنشاء ميم من قالب (drake, fry, buzz, distracted-boyfriend, this-is-fine, إلخ)meme_templates— عرض القوالب المتاحةgif_search— البحث عن صور GIF للردودgif_trending— الحصول على الصور الرائجةadd_to_chat— إدراج الميم/GIF في المحادثة
add_to_chat — التوليد وحده لا يسلّمه.تنفيذ المهام (Motor Runtime)
تنفّذ القشرة الحركية جميع استدعاءات الأدوات بالإعدادات الافتراضية التالية:- مخزن المخرجات: 100 كيلوبايت لكل نتيجة أداة — يرى نموذج اللغة مخرجات كبيرة دون اقتطاع. ومخرجات الشل استثناءٌ منذ الإصدار 1.0.288: تحتفظ بـآخر 2000 سطر أو 50 كيلوبايت لا بأوّلها، لأنّ الإخفاق يُبلَّغ عنه في نهاية السجلّ، ويُكتَب النصّ الكامل في ملفٍّ يسمّيه الناتج.
- إعادة المحاولة: حتى 10 محاولات للأخطاء القابلة لإعادة المحاولة (شبكة، انتهاء مهلة). الأخطاء غير القابلة لإعادة المحاولة (صلاحيات، تحقق، غير موجود) تنسحب فورًا. التراجع التصاعدي يصل إلى 60 ثانية بين المحاولات.
- لا توجد مهلة عامة: الأدوات تعمل حتى تكتمل أو يوقفها المستخدم
تخصيص القدرات
القدرات المضمَّنة تُدار وتُحدَّث بواسطة وولفيش — لا تعدّلها مباشرة، فتغييراتك ستُكتب فوقها عند التحديث التالي. بدلاً من ذلك:- عطّل قدرة مضمَّنة من الإعدادات إن لم تحتجها (أما القدرات الأساسية التي لا غنى عنها فمحميّة — انظر أدناه)
- انسخها — انسخ المجلد باسم جديد، ثم عدّل النسخة كما تشاء
- أنشئ قدرتك الخاصة من الصفر باتباع نفس البنية
skills، والمشاريع، والأتمتة، والإجراءات، وintrospect، وknowledge، وقائمة المهامّ todo، وآلية التسليح countdown، وoperating-manual، وأدلّة pdf-design وdataviz وweb-design، وأدوات تسليم الملفات المشتركة التي يتّكئ عليها سائرها. في الإعدادات ← القدرات تحمل هذه شارة «أساسي»، وتستقرّ في أسفل القائمة، وتُظهر مؤشّر «مُفعّل دائماً» مقفلاً حيث كان مفتاحها — فلا تقدر نقرةٌ طائشة أن تسحب الأرض من تحت ميزة تعتمد عليها. وكلّ ما استوردته بنفسك يبقى قابلاً للتبديل بالكامل.