أداة baton تنقل الجلسة بين 5 وكلاء ذكاء اصطناعي في سطر الأوامر دون فقدان السياق
طوّر مؤلف أداة baton المكتوبة بلغة Go آلية تتيح لوكلاء سطر الأوامر Claude Code وCodex وAntigravity CLI وPi وHermes أن يتابع كلٌّ منهم جلسة الآخر عندما تنفد حصة الخمس ساعات لدى أحدهم. تقرأ الأداة السجلات المخزّنة على القرص ولا تطلب من النموذج إعادة سرد التاريخ، ولذلك لا تستهلك رموز الإخراج المرتفعة الكلفة، وتحتفظ بأرقام الأسطر والفرضيات المرفوضة. يتلقى الوكيل الجديد ملخصًا يبدأ من آخر أمر /compact، بينما يُحفظ التفريغ الكامل في مجلد مؤقت. • لقطة مشفّرة لجهاز آخر: AES-256-GCM، والمفتاح لا يصل إلى الخادم • مهارة SKILL.md بدلًا من خادم MCP: سطر وصف واحد فقط في السياق • الكود مبني على المكتبة القياسية لـ Go، بترخيص MIT، والبناء بثلاثة أوامر
معالج بواسطة الذكاء الاصطناعي من Habr AI؛ بتحرير Hamidun News
غالبًا ما تنتهي حصص الخمس ساعات على الباقات التي يبلغ سعرها $20 في منتصف عملية تصحيح الأخطاء، ولا يوجد جسر رسمي بين Claude Code وCodex وAntigravity CLI (agy) وPi وHermes. كتب مؤلف أداة baton بلغة Go أداة لسطر الأوامر تأخذ الجلسة من السجلات المحلية لأحد الوكلاء وتسلّمها إلى وكيل آخر، سواء على الجهاز نفسه أو عبر الشبكة إلى حاسوب آخر. الشيفرة المصدرية متاحة على GitHub بترخيص MIT.
لماذا لا يحل HANDOFF.md المشكلة
النصيحة المعتادة هي أن تطلب من الوكيل قبل مغادرته تدوين حالة المهمة وخطواتها وخطته في ملف HANDOFF.md. يحدد المؤلف ثلاث مشكلات. الأولى: عندما يُستنفد الحد، يتوقف الوكيل عن الرد، ولا يبقى من يدوّن الخلاصة. الثانية: حتى لو التقط المستخدم اللحظة مبكرًا، فإن النموذج يعيد سرد تاريخه من الذاكرة. تتسع نافذة السياق من 200 ألف إلى مليون رمز، بينما يقتصر طول الرد الواحد على بضع عشرات الآلاف، فيأتي السرد مضغوطًا حتمًا. وتضيع وسائط الأوامر الدقيقة وأرقام الأسطر والفرضيات المرفوضة والتعديلات الصغيرة. الثالثة: رموز الإخراج لدى المزوّدين أغلى من رموز الإدخال بنحو خمس مرات، وتستنزف ما تبقى من الحصة أسرع.
أما في Claude Code مع عدة حسابات فيوجد الخيار --resume، لكن عند تغيير الحساب يُمسح ذاكرة التخزين المؤقت للمطالبات على الخادم، وتستهلك إعادة تحميل التاريخ الطويل جزءًا ملحوظًا من الحصة الجديدة. ولا يمكن بهذا الخيار الانتقال إلى وكيل من مورّد آخر.
كيف يبني baton الملخص من السجلات
كل وكيل يكتب أصلًا سجلًا مفصلًا على القرص. يخزّن Claude Code ملفات JSONL في ~/.claude/projects، ويخزّن Codex ملفات rollout في ~/.codex/sessions، ويحفظ agy الملف transcript.jsonl ولقطات Protobuf في ~/.gemini/antigravity-cli، ويعتمد Pi صيغة JSONL v3 الشجرية بالحقلين id وparentId، بينما يستخدم Hermes قاعدة SQLite باسم state.db. الأمر /compact لا يمحو شيئًا: السجلات تعمل بالإلحاق، ويُضاف إلى التدفق سجل يحتوي ملخص المحادثة السابقة.
يمر baton على السجل من أول إدخال (في Pi عبر الفرع النشط من الشجرة، وفي Hermes عبر سلسلة parent_session_id)، ويجمع قائمة الملفات المعدّلة والأوامر المنفّذة، وعند علامة الضغط يفرّغ مخزن الردود القديمة. يتضمن الملخص التشغيلي نص آخر ضغط وجميع الرسائل اللاحقة كاملة. أما التاريخ الكامل ومخرجات الأوامر الطويلة فتُحفظ في /tmp/baton-handoff/<id-сессии>/ (وعلى Windows في %TEMP%)؛ وتُحذف المجلدات التي مضى عليها أكثر من يوم، فتبقى شجرة العمل نظيفة بالنسبة إلى git status. ويعرض الأمر في المحادثة البيانات الوصفية وحالة المستودع والملفات المتأثرة وآخر الأوامر ومسارات التفريغ. ويستخرج الوكيل التفصيل المطلوب من full_dialogue.md أو بالأمر baton turn.
يقوم العمل على زوج الأمرين save وload. تُسمّى الجلسة بالأمر المدمج في الوكيل أو عبر baton save، ثم يكتب المستخدم في وكيل آخر «تابع جلسة auth-refactor» أو «التقط آخر جلسة». وإذا لم يُحدَّد اسم، يعرض baton list مرشحين مرقّمين مع مجلد العمل ووقت التعديل وأول طلب.
تخلّى المؤلف عن خادم MCP عن قصد. فمثل هذا الخادم يبدأ مع كل جلسة ويبقى في الذاكرة، وتدخل أوصاف وظائفه في موجّه النظام وتستهلك رموز الإدخال حتى لو لم تُنقل الجلسات أسابيع. أما مهارة SKILL.md فتُبقي سطرًا واحدًا في السياق، وتُشغَّل الأداة مرة واحدة ثم تنتهي فورًا. وجميع الوكلاء الخمسة قادرون على تحميل المهارات عند الطلب.
النقل إلى حاسوب محمول آخر دون عمليات commit
السيناريو الثاني هو مغادرة الحاسوب المنزلي ومتابعة العمل على حاسوب محمول دون رفع الكود الخام إلى فرع مشترك. يحزم الأمر baton push في أرشيف tar.gz تاريخ الجلسة، والملفات المعدّلة والجديدة غير المتتبَّعة (بحسب سجل كتابة الوكيل وحالة Git أو Fossil أو SVN)، وملفات القواعد المحلية — CLAUDE.md وAGENTS.md وGEMINI.md و.cursorrules و.agents/rules/ — ونسخة من التعليمات العامة.
يُشفَّر الأرشيف على جانب العميل بخوارزمية AES-256-GCM بمفتاح عشوائي طوله 256 بت، ويُرفع إلى paste.rs (حتى 10 MiB)، وعند الإخفاق إلى dpaste.org، ثم إلى termbin.com:9999. وهناك أيضًا خيار المجلد المحلي للمزامنة: Dropbox أو Nextcloud أو Syncthing. المفتاح — وهو ذيل الرمز بعد علامة # — لا يصل إلى خادم الوسيط، ومن دونه تبدو الحزمة ضجيجًا عشوائيًا.
على الحاسوب الثاني يكفي لصق المطالبة الصادرة في أي وكيل: يقرأ INSTALL.md، ويبني الأداة، ويستعيد الجلسة. وإذا اختلف ملف محلي عن الملف المراد استبداله، تُنشأ بجواره نسخة بامتداد .baton.bak. وتُفكّ القواعد العامة في دليل مؤقت ولا تمسّ إعدادات النظام على الجهاز الثاني.
التثبيت والتحديث والقيود
يتم البناء بثلاثة أوامر: git clone وgo build -ldflags="-s -w" وbaton install. لا توجد تبعيات خارجية، بل المكتبة القياسية لـ Go فقط. ينسخ baton install الملف SKILL.md إلى أدلة المهارات لدى الوكلاء الخمسة جميعًا ويضيف أمر الشرطة المائلة /baton. ينصح المؤلف بالبناء من الشيفرة المصدرية لا باستخدام الإصدارات الجاهزة. ويجري فحص التحديثات في عملية خلفية مرة واحدة في اليوم على الأكثر؛ ويعيد baton update بناء الأداة عبر go install مع التحقق من sum.golang.org، أو ينزّل الملف التنفيذي من GitHub Releases ويتحقق من SHA-256.
وثمة قيود أيضًا. فمواقع pastebin العامة تبقى بنية تحتية تخص جهات أخرى، ورمز النقل سرّ في الواقع لأنه يحتوي مفتاح فك التشفير. وصيغ السجلات داخلية وقد تتغير مع تحديث أي من الوكلاء. أما السرعة «في جزء من الثانية» فهي تقدير المؤلف، ولا توجد قياسات مستقلة. ويقرّ المؤلف نفسه بأن أداة مشابهة يمكن بناؤها في يوم واحد، ويقترح اعتبار القيمة الأساسية في صيغ تخزين الجلسات التي جرى تحليلها.
- 1 نوفمبر 2026النماذج المحلية خسرت أمام Opus وCodex: 0,21 نقطة على MacBook مقابل 1,00 لـ Codex
- 1 نوفمبر 2026Kimi تحصد 96,2% في اختبار التحليلات على قاعدة 1С وتتحول إلى خيار احتياطي في حال حظر Claude
- 1 نوفمبر 2026OpenAI تعيد كتابة قواعد سلوك GPT: خمس قيم وسلسلة أولويات
- 1 نوفمبر 2026Google تقرّ: وضع AI Mode يخفض إيرادات البحث، وأسهمها تهبط 15%
أسئلة وأجوبة حول الخبر
ما أبرز التفاصيل حول لماذا لا يحل HANDOFF.md المشكلة؟
النصيحة المعتادة هي أن تطلب من الوكيل قبل مغادرته تدوين حالة المهمة وخطواتها وخطته في ملف HANDOFF.md. يحدد المؤلف ثلاث مشكلات. الأولى: عندما يُستنفد الحد، يتوقف الوكيل عن الرد، ولا يبقى من يدوّن الخلاصة. الثانية: حتى لو التقط المستخدم اللحظة مبكرًا، فإن النموذج يعيد سرد تاريخه من الذاكرة. تتسع نافذة السياق من 200 ألف إلى مليون رمز، بينما يقتصر طول الرد الواحد على بضع عشرات الآلاف، فيأتي السرد مضغوطًا حتمًا. وتضيع وسائط الأوامر الدقيقة وأرقام الأسطر والفرضيات المرفوضة والتعديلات الصغيرة. الثالثة: رموز الإخراج لدى المزوّدين أغلى من رموز الإدخال بنحو خمس مرات، وتستنزف ما تبقى
ما أبرز التفاصيل حول كيف يبني baton الملخص من السجلات؟
كل وكيل يكتب أصلًا سجلًا مفصلًا على القرص. يخزّن Claude Code ملفات JSONL في ~/.claude/projects، ويخزّن Codex ملفات rollout في ~/.codex/sessions، ويحفظ agy الملف transcript.jsonl ولقطات Protobuf في ~/.gemini/antigravity-cli، ويعتمد Pi صيغة JSONL v3 الشجرية بالحقلين id وparentId، بينما يستخدم Hermes قاعدة SQLite باسم state.db. الأمر /compact لا يمحو شيئًا: السجلات تعمل بالإلحاق، ويُضاف إلى التدفق سجل يحتوي ملخص المحادثة السابقة. يمر baton على السجل من أول إدخال (في Pi عبر الفرع النشط من الشجرة، وفي Hermes عبر سلسلة parent_session_id)، ويجمع قائمة الملفات المعدّلة والأوامر الم
ما أبرز التفاصيل حول النقل إلى حاسوب محمول آخر دون عمليات commit؟
السيناريو الثاني هو مغادرة الحاسوب المنزلي ومتابعة العمل على حاسوب محمول دون رفع الكود الخام إلى فرع مشترك. يحزم الأمر baton push في أرشيف tar.gz تاريخ الجلسة، والملفات المعدّلة والجديدة غير المتتبَّعة (بحسب سجل كتابة الوكيل وحالة Git أو Fossil أو SVN)، وملفات القواعد المحلية — CLAUDE.md وAGENTS.md وGEMINI.md و.cursorrules و.agents/rules/ — ونسخة من التعليمات العامة. يُشفَّر الأرشيف على جانب العميل بخوارزمية AES-256-GCM بمفتاح عشوائي طوله 256 بت، ويُرفع إلى paste.rs (حتى 10 MiB)، وعند الإخفاق إلى dpaste.org، ثم إلى termbin.com:9999. وهناك أيضًا خيار المجلد المحلي للمزامنة:
Build & Ship Production AI Agents Without Boilerplate Code
Start your free 72-hour trial at Hamidun Academy (academy.hamidun.com) — interactive lessons on Claude Code & Cursor, live Tech Radar, and production agent templates.
أهم ما في عالم الذكاء الاصطناعي — مرة كل أسبوع
سبع قصص مهمة فعلاً هذا الأسبوع، مختارة بعناية. بلا ضجيج ولا بيانات صحفية.
تم! تحقق من بريدك للتأكيد.