opencode وكيل برمجة بالذكاء الاصطناعي مفتوح المصدر يشغّله المستخدمون من الطرفية على أجهزة Mac، وهو موضوع متكرر لعمليات بحث مثل «opencode security mac» و«is opencode safe» و«opencode network access». ويتحدث توثيقه بوضوح عن نموذج الأذونات وعن الميزة الوحيدة التي ترفع محادثةً إلى خادم. تعرض هذه المقالة تلك الحقائق الموثّقة، ثم تشرح كيف يراقب FireAI، وهو جدار حماية يعمل على الجهاز لنظام macOS طوّرته HisnLabs، الاتصالات التي يجريها البرنامج، وما لا يستطيع فعله.
ما هو opencode
يصف opencode نفسه بأنه «the open source AI coding agent». ويحمل مستودع GitHub، الذي انتقل من مؤسسة sst إلى anomalyco، ترخيص MIT. ويُوزَّع بوصفه واجهة طرفية، وتطبيقًا لسطح المكتب (موسومًا بأنه تجريبي في ملف README)، وامتدادًا لبيئة التطوير، ويتضمن وكيلين مدمجين: build، وهو وكيل بصلاحيات كاملة وهو الافتراضي، وplan، وهو وكيل للقراءة فقط يطلب الإذن [1]. ويربطه المستخدمون بمزوّدي النماذج عبر مفاتيح API؛ وتوصي المقدّمة بـ OpenCode Zen، وهي قائمة منتقاة من النماذج اختبرها فريق opencode [2].
كيف يعمل opencode على macOS
يسرد ملف README عدة طرق للتثبيت على macOS: البرنامج النصي curl -fsSL https://opencode.ai/install | bash، وnpm أو bun أو pnpm أو yarn، وHomebrew، وملف DMG لتطبيق سطح المكتب. وفي التثبيت عبر سطر الأوامر، يحمل البرنامج الذي تشغّله اسم opencode، وبهذا الاسم تظهر العملية للنظام.
ما الذي يمكنه الوصول إليه وكيف يُضبط
لنظام الأذونات ثلاث حالات: allow وask وdeny. ويمكن ضبط القواعد على المستوى العام أو لكل أداة، ويمكن أن تطابق أنماطًا من مدخلات الأداة، وتكون الغلبة لآخر قاعدة مطابقة. وينص التوثيق على أن معظم الأذونات تكون allow افتراضيًا؛ أما doom_loop وexternal_directory فافتراضيهما ask، وملفات .env محظورة افتراضيًا. ويوافق الخيار --auto على الطلبات تلقائيًا ما لم تنطبق قاعدة deny صريحة [3].
يحكم إذن external_directory المسارات الواقعة خارج مساحة عمل المشروع. وتحكم هذه الأذونات ما يفعله الوكيل بالأدوات، مثل القراءة والتعديل وتشغيل الأوامر. ولا توصف بأنها قائمة سماح شبكية.
إلى أين يتصل
توثّق صفحة المشاركة الميزة الوحيدة التي ترسل محادثةً إلى خوادم opencode. فالأمر /share ينشئ عنوان URL عامًا ويزامن معها سجل المحادثة والرسائل والردود وبيانات الجلسة الوصفية. والمشاركة يدوية افتراضيًا، فلا يُرسل شيء من دون ذلك الأمر؛ ويمكن تعطيلها بـ "share": "disabled" في opencode.json، وتبقى الجلسات المشتركة متاحة إلى أن يُستخدم /unshare [4]. ولا تسرد الصفحات التي رُوجعت لهذه المقالة نطاقات أخرى، فما عدا مزوّد النموذج وكل ما تتصل به أداة ما، تُعدّ الوجهات الأخرى غير موثّقة هنا.
مراقبة opencode باستخدام FireAI
FireAI جدار حماية لنظام macOS يعمل على جهاز Mac. وتتعرّف ميزته Agent profile على 19 وكيلًا للذكاء الاصطناعي، وتتعلّم أين يتصل كل منها عادةً، وتنبّه إلى ما هو جديد. وتدرج صفحة Agent profile في FireAI أداة opencode ضمن وكلاء سطر الأوامر الذين يُتعرَّف عليهم من اسم برنامجهم. ولذلك تُنسب إلى opencode الاتصالات التي يجريها برنامج اسمه opencode، وعملياته الفرعية مثل الصدفة أو git.
- خلال الأيام الثلاثة الأولى يتعلّم FireAI الوجهات التي يتصل بها الوكيل عادةً، مجمّعةً بحسب النطاق، فيصبح api.anthropic.com هو anthropic.com. ولا يُنبَّه إلى شيء خلال هذه الفترة.
- بعد ذلك، تُعلَّم أول وجهة تظهر خارج خط الأساس للمراجعة في الاقتراحات، وفي بطاقة AI agents، وفي المراجعة السريعة (Quick Review). اسحب يسارًا للحظر، أو يمينًا لاختيار «It’s fine».
- وتُعلَّم أيضًا طفرة الرفع: ساعة رفع فيها الوكيل ما لا يقل عن 4 أضعاف أكثر ساعاته نشاطًا حتى الآن، وما لا يقل عن 25 MB في كل الأحوال.
- لا يستخدم FireAI إلا البيانات الوصفية، أي أسماء المضيفين وأعداد البايتات. ولا يقرأ أبدًا حمولة الاتصال.
إعداد FireAI لـ opencode
- ثبّت FireAI واستخدم الوكيل كعادتك. تبدأ فترة التعلّم البالغة 3 أيام من تلقاء نفسها ولا تُعلِّم شيئًا.
- افتح الاقتراحات وابحث عن بطاقة AI agents. بعد فترة التعلّم يظهر تنبيه الوكيل هناك وفي المراجعة السريعة.
- راجع كل تنبيه. اختر Block لإنشاء قاعدة للعملية التي أجرت الاتصال، أو «It’s fine» لإضافة الوجهة إلى خط الأساس الخاص بالوكيل.
- لإبقاء الوكيل ضمن الأماكن التي يستخدمها أصلًا، اختر Agent profile في قائمة أوضاع الأمان، بجانب المنزل والمقهى والحذر الشديد وتحت الهجوم. تُطبَّق قواعدك كما في وضع المنزل، ويُحظر الاتصال بوجهة خارج خط الأساس بدلًا من الاكتفاء بالتنبيه إليه بمجرد أن ينهي الوكيل فترة التعلّم.
- تظهر الوجهة المحظورة في بطاقة AI agents مع الخيارين Allow وKeep blocked. يضيفها Allow إلى خط الأساس فيصل إليها الوكيل فورًا. وينشئ Keep blocked قاعدة حظر تسري في كل الأوضاع.
تظل الغلبة لقاعدة سماح كتبتها لموقع ويب أو نطاق أو عنوان، ولا يُحظر DNS ولا شبكتك المحلية أبدًا. وللوكيل الذي لا يدرجه FireAI، اكتب قاعدة لبرنامجه يدويًا في القواعد لكل تطبيق. ويحتاج وضع Agent profile إلى FireAI 1.0.3 أو أحدث، ويحتاج التعرّف على opencode إلى 1.0.4.
القيود
- تقرر قواعد الأذونات في opencode أي استدعاءات الأدوات يُوافَق عليها، وفي وضع
--autoتوافق على معظمها. أما FireAI فيعمل على طبقة الاتصال، فيكمّل كل منهما الآخر بدلًا من أن يتداخلا. - يُتعرَّف على opencode من اسم برنامجه، ما يعني أنه يُوسَم ولا يُتحقَّق منه: فلا يُفحص مقابل توقيع المطوّر إلا Claude Code وClaude وCursor.
- لا يوقف FireAI حقن التعليمات (prompt injection). بل يحدّ من الضرر بالتنبيه إلى المسار الذي قد تسلكه البيانات خارج جهاز Mac، وبإتاحة حظره لك.
- لا يستطيع FireAI رؤية التعليمات المُدخلة، ولا محتوى أدوات MCP، ولا الوصول إلى الملفات، ولا المهارات (skills). فبروتوكول TLS يخفي الحمولة، وFireAI ليس داخل الوكيل.
- قد تفوت العمليات الفرعية التي تنتهي بسرعة كبيرة، ويُطابَق بينها بحسب المسار لا بحسب التوقيع.
- لا يُنبَّه إلى شيء خلال فترة التعلّم البالغة 3 أيام، وتُعلَّم طفرات الرفع ولا تُحظر.
- في وضع Agent profile، يُطابَق الاتصال الموجّه إلى عنوان IP مجرد بلا اسم مضيف بحسب عنوانه، فيُحظر العنوان الجديد لخدمة يستخدمها الوكيل عادةً إلى أن تسمح به.
وكلاء آخرون
ينطبق النهج نفسه على كل وكيل يتعرّف عليه FireAI. راجع الأدلة الأخرى: Claude Code، وتطبيق Claude لسطح المكتب، وCursor، وتطبيق ChatGPT لجهاز Mac، وOpenAI Codex CLI، وOpenClaw، وHermes Agent، وGemini CLI، وGitHub Copilot CLI، وAmp، وQwen Code، وAider، وGoose، وCrush، وWindsurf، وKiro، وTrae، وMuse من Meta، وأي وكيل ذكاء اصطناعي آخر تشغّله Python أو Node. والوصف الكامل للميزة متاح في صفحة توثيق Agent profile التي تنشرها HisnLabs.
دور FireAI وHisnLabs
يتعلّم FireAI أين يتصل opencode عادةً على جهاز Mac الخاص بك، وينبّه إلى أول وجهة جديدة أو إلى طفرة رفع، من دون قراءة بياناتك.
FireAI هو منتج HisnLabs نفسها: جدار حماية بذكاء اصطناعي يعمل على جهاز Mac مباشرة. يعرض بلغة واضحة كل اتصال تجريه تطبيقاتك، ويترك لك القرار فيما يخرج من جهازك — ذكاؤه الاصطناعي يعمل محليًا، فلا يُرسَل ترافيكك إلينا ولا إلى أي جهة أخرى أبدًا. فريق أبحاث الأمن في HisnLabs هو من يحافظ على دقة هذه القرارات: يصنّف النطاقات بين قياس عن بُعد عادي وخدمة حقيقية، ويتتبّع بلد وشبكة كل اتصال، ويدرّب النموذج المحلي (ميزة FireAI Pilot) على حركة اتصال حقيقية، دون أن يغادر أي شيء جهاز Mac.
يمكنك الاطلاع على القرارات التقنية وراء ذلك، أو تجربة FireAI لمدة 17 يومًا، على FireAI من HisnLabs.
