يسجّل Meeting.ai اجتماعات فريقك، ويكتب ملاحظاتها، ويحفظ تفريغها النصي كاملاً. اربطه بـ Codex فيقرأ ما قرره فريقك في مكالمة تخطيط ويبني عليه داخل مستودعك، دون أن يعيد أحد كتابة شيء.
يشمل ذلك الاجتماعات التي سجّلها Meeting.ai: المكالمات التي انضم إليها Meeting Bot (مدوّن الملاحظات في Meeting.ai)، والاجتماعات التي تسجّلها أو ترفعها بنفسك.
الإعداد أمر واحد وتسجيل دخول في المتصفح. لا مفتاح API ولا token تحفظه.
codex mcp add meeting-ai --url https://mcp.meeting.ai/mcpيمنح الاتصال Codex 20 أداة. سبع منها للقراءة فقط: البحث في الاجتماعات، وقراءة الملاحظات، وقراءة التفريغات النصية والبحث فيها، والبحث في جهات الاتصال وDrive، وعرض مساحات العمل. والبقية أدوات كتابة، وأنت من يقرر إن كان Codex سيستخدمها. وفي قسم الإعداد تجد مقطع config.toml الذي يحصره في القراءة.
اجتماع التخطيط أمس هو المواصفات. اتفق الفريق شفهياً على قواعد إعادة محاولة إرسال الـ webhook، ولم يكتب أحد تذكرة. في المستودع تكتب:
ابحث في Meeting.ai عن اجتماع التخطيط أمس حول إعادة محاولة إرسال الـ webhook. اقرأ الملاحظات، ثم ابحث في التفريغ النصي عن القواعد التي اتفقنا عليها بنصّها. طبّقها في هذا المستودع مع اختبار لكل قاعدة. وما بقي معلّقاً في الاجتماع اذكره ولا تخمّن.
يجري Codex التغيير ويعرض القواعد التي اعتمدها:
من «تخطيط إعادة محاولة إرسال الـ webhook» (13 أكتوبر):
1. أعد محاولة التسليم الفاشل 5 مرات، بانتظار يتزايد أسّياً (exponential backoff) من 30 ثانية.
2. لا تُعد المحاولة عند استجابة 4xx، باستثناء 429.
3. بعد آخر فشل، ضع على نقطة النهاية (endpoint) علامة «متعطلة» وأوقف الإرسال.
ما بقي معلّقاً في الاجتماع:
- هل نراسل العميل بالبريد حين توضع على نقطة نهاية علامة «متعطلة»؟
لم يُحسم. تُرك TODO مع اختبار معطَّل (skipped).
ما تغيّر: internal/webhooks/retry.go، internal/webhooks/retry_test.go
(أُضيفت 3 اختبارات)المخرجات في هذا المقال أمثلة توضيحية كُتبت لاجتماعات متخيَّلة. اقرأ قائمة «ما بقي معلّقاً» أولاً. فالقاعدة التي لم يحسمها أحد تعود إلى الفريق سؤالاً.
طابِق الفرع مع ما قيل في المراجعة قبل أن يراجعه إنسان. مراجعة الـ API يوم الخميس الماضي غيّرت تصميم ترقيم الصفحات (pagination)، وفرعك أقدم منها.
ارجع في Meeting.ai إلى مراجعة الـ API يوم الخميس، وقارن الـ diff في هذا الفرع بما اتفقنا عليه فيها بشأن الـ pagination. اذكر كل موضع يخالف فيه الكود الاتفاق، واقتبس من التفريغ النصي السطر المقابل لكل موضع.
يصلك كل اختلاف وبجانبه الجملة التي حسمته. اختير في المراجعة الترقيم بالمؤشر (cursor pagination)، والفرع ما زال يقبل offset. وحجم الصفحة المتفق عليه 50، والكود يقول 100.
اسأل عن مكالمة ما زالت جارية. بدأت مراجعة الحادثة من دونك، لأنك مشغول بمعالجة الحادثة نفسها. الصق رابط الدعوة:
أرسل Meeting Bot من Meeting.ai إلى هذه المكالمة: [الصق هنا رابط Zoom أو Google Meet أو Microsoft Teams]
يستأذنك Codex قبل تشغيل الأداة، إلا إذا كانت إعدادات الموافقة عندك تقول غير ذلك. بعدها ينضم Meeting Bot مشاركاً ظاهراً للجميع ويسجّل المكالمة. يُحتسب ذلك من اشتراكك في Meeting.ai أو من Coins، وهي الرصيد في حسابك على Meeting.ai؛ أما الربط والقراءة فبلا تكلفة إضافية ما دامت خطتك تتيح لك الوصول إلى الاجتماع. وبعد عشرين دقيقة، في الجلسة نفسها:
ارجع إلى الملاحظات المباشرة في Meeting.ai: ماذا تقرر في هذه المكالمة حتى الآن عن الـ rollback؟ وهل يطابقه هذا الفرع؟
يأتي الجواب من الملاحظات المباشرة وما التُقط من التفريغ النصي حتى تلك اللحظة.
كيف تربط Meeting.ai بـ Codex؟
تحتاج إلى Codex وإلى حساب في Meeting.ai فيه مساحة عمل واحدة على الأقل. الخادم يستضيفه Meeting.ai، فلا يُثبَّت شيء على جهازك.
codex mcp add meeting-ai --url https://mcp.meeting.ai/mcp- أضف الخادم. شغّل الأمر. يحفظ Codex الخادم ويفتح Meeting.ai في متصفحك.
- سجّل الدخول ووافق. سجّل الدخول بحسابك في Meeting.ai. تعرض الشاشة اسم التطبيق الذي يطلب الاتصال وما يُسمح له به. اقرأها، واختر مساحة العمل ضمن مساحة العمل الأولى، ثم انقر السماح بالوصول.
- تحقق من الاتصال. شغّل
codex mcp list. يظهر في عمود Auth النصNot logged inقبل موافقتك، وOAuthبعدها. وداخل جلسة Codex، اكتب/mcpلترى الخوادم النشطة.
إذا لم يُفتح المتصفح، أو احتجت إلى تسجيل الدخول من جديد لاحقاً، فشغّل codex mcp login meeting-ai. وعبر SSH أضف --no-browser: يطبع Codex رابط التفويض، فتفتحه على جهاز فيه متصفح، ثم تلصق رابط العودة (callback URL) في الطرفية حين يطلبه Codex.
جرّبه على اجتماع حضرته:
ابحث في Meeting.ai عن آخر اجتماع لي واذكر ما تقرر فيه.
كنت حاضراً، فستعرف فوراً هل الجواب صحيح.
أو أضفه في config.toml
يحفظ Codex خوادم MCP في ~/.codex/config.toml. وهذا الإدخال يؤدي ما يؤديه الأمر السابق:
[mcp_servers.meeting-ai]
url = "https://mcp.meeting.ai/mcp"ثم شغّل codex mcp login meeting-ai. لا يحتوي الملف إلا على الرابط. ولمشاركة الخادم مع الفريق، ضع الجدول نفسه في .codex/config.toml داخل المستودع. لا يقرأ Codex إعدادات المشروع إلا في المشاريع الموثوقة، ويبقى على كل مطوّر أن يسجّل الدخول بحسابه هو في Meeting.ai.
احصر Codex في القراءة
حدّد الأدوات التي يراها Codex، واجعله يستأذنك قبل أي أداة تكتب:
[mcp_servers.meeting-ai]
url = "https://mcp.meeting.ai/mcp"
enabled_tools = ["meetings_search", "meetings_notes", "meetings_transcript", "meetings_transcript_search"]
default_tools_approval_mode = "writes"enabled_tools هي القائمة الكاملة التي يحصل عليها Codex، وهنا أربع من أدوات القراءة على سبيل المثال. والسطر الأخير يجعل Codex يستأذنك قبل أي أداة غير موسومة بأنها للقراءة فقط. احذف enabled_tools وأبقِ ذلك السطر إن أردت أن يستطيع Codex إرسال Meeting Bot على أن يسألك أولاً.
استخدم ملحق IDE أو تطبيق ChatGPT لسطح المكتب
يتشارك CLI وملحق IDE وتطبيق ChatGPT لسطح المكتب الإعدادات نفسها، فالخادم الذي أضفته للتو موجود فيها أصلاً. أسماء القوائم والأزرار في Codex مكتوبة هنا بالإنجليزية كما ترد في وثائقه، وقد تختلف عندك إذا كنت تستخدمه بلغة عرض أخرى. وإن أردت إضافته من الواجهة:
- في التطبيق، افتح Settings ثم MCP servers. وفي ملحق IDE، افتح قائمة الترس ثم MCP servers.
- انقر Add server، وأدخل الاسم
meeting-ai، واختر Streamable HTTP، والصق الرابط. - احفظ، ثم انقر Restart في التطبيق أو Restart extension في IDE.
- انقر Authenticate وسجّل الدخول إلى Meeting.ai.
ما يهمّك أن تعرفه
- ما جرّبناه بأنفسنا. تحققنا من صيغة الأمر ومن جدول
config.tomlباستخدام codex-cli 0.160.0؛ أما تسجيل الدخول عبر المتصفح وخطوات التطبيق وIDE فكتبناها من وثائق OpenAI ولم نجرّبها بأنفسنا. أخبرنا إذا بدت خطوة مختلفة على جهازك. - الملاحظات أولاً، ثم التفريغ النصي. الملاحظات تضم القرارات، وفي العادة بنود المتابعة، في بضعة أقسام. أما التفريغ النصي فطويل ويُجلب صفحة صفحة، فاطلب من Codex أن يقرأ الملاحظات ثم يبحث في التفريغ النصي عن التفصيل الذي تريده.
- تحقق مما تقرر في الاجتماع. القرار الذي يُتخذ في مكالمة قد يكون مبهماً، أو يُنقض بعد خمس دقائق. اطلب اقتباسات، واطلب من Codex أن يذكر ما بقي معلّقاً.
- الملاحظات المباشرة مؤقتة. الجواب في منتصف المكالمة يعكس ما التُقط حتى تلك اللحظة، والملاحظات تظل تتغير إلى أن ينتهي الاجتماع. أعد السؤال قبل أن تبني على جواب منها.
- أبقِ التفريغات النصية خارج المستودع. مكان القرارات وصف الـ PR. أما التفريغات النصية الخام بما فيها من كلام زملائك فلا مكان لها في الـ commit.
ماذا تطلب من Codex؟
سمِّ الاجتماع بيومه أو بموضوعه، واذكر Meeting.ai في الطلب ليبحث Codex هناك.
تخطيط الـ sprint يتحول إلى تذاكر
ارجع في Meeting.ai إلى اجتماع تخطيط الـ sprint يوم الاثنين واكتب تذكرة لكل مهمة اتُّفق عليها بصيغة Markdown: العنوان، والسياق من النقاش، ومعايير القبول، والمسؤول الذي سُمّي في الاجتماع. احفظها في docs/sprint-tickets.md.
تذكرة من ذلك الملف:
## إرجاع ترويسات (headers) الـ rate limit مع كل استجابة من الـ API
السياق: عميلان بلغا الحد في الأسبوع الماضي من دون أي تحذير.
طرحتها Priya في تخطيط الـ sprint يوم 12 أكتوبر.
معايير القبول:
- تحمل كل استجابة X-RateLimit-Limit وX-RateLimit-Remaining
وX-RateLimit-Reset.
- استجابة 429 تحمل أيضاً Retry-After، بالثواني.
- رموز الخدمات الداخلية (service tokens) مستثناة.
المسؤول: Tomasالمعايير مأخوذة من التفريغ النصي، بما فيها الحالات الحدّية (edge cases).
وصف PR يشرح السبب
المراجِع لم يحضر مراجعة التصميم، والـ diff لا يشرح نفسه.
اكتب وصف الـ PR لهذا الفرع. اشرح سبب كل تغيير، مستنداً إلى قرارات مراجعة التصميم التي عقدناها في 9 أكتوبر والمسجّلة في Meeting.ai، واذكر ما اتُّفق عليه في الاجتماع ولم يشمله هذا الـ PR بعد.
الجزء الأخير من الطلب يعطيك نطاق الـ PR التالي.
قائمة متطلبات واحدة من أربعة اجتماعات
ابحث في Meeting.ai عن كل متطلب ذُكر لميزة التصدير في آخر أربعة اجتماعات تخطيط واكتب قائمة بها، وأشِر إلى المتطلبات المتعارضة.
الميزة التي طُرحت في أربعة اجتماعات تغيّرت قليلاً في كل واحد منها. احسم التعارضات قبل أن يكتب أحد كوداً.
طلبات أخرى
- اقتباس يحسم الخلاف. «ارجع في Meeting.ai إلى مراجعة الـ API يوم الخميس: ماذا قلنا بالضبط عن الـ rate limits؟ اقتبس من التفريغ النصي.»
- ترحيل قاعدة البيانات مع التراجع عنه. «اكتب الـ migration والـ rollback المقابل له كما اتفقنا بالضبط في مراجعة قاعدة البيانات المسجّلة في Meeting.ai. واذكر كل ما بقي بلا حسم في الاجتماع.»
- التحضير للمراجعة. «حضّرني لمراجعة التصميم غداً: لخّص ما يغيّره هذا الفرع، وعدّد الأسئلة المعلّقة من آخر اجتماع مراجعة في Meeting.ai.»
- ملاحظات إصدار بمصادرها. «اكتب ملاحظات الإصدار لهذا الـ sprint اعتماداً على قرارات اجتماعات تخطيطه ومراجعته المسجّلة في Meeting.ai، واذكر الاجتماع الذي جاء منه كل بند.»
- تسليم المناوبة. «ارجع في Meeting.ai إلى مراجعة الحادثة اليوم واكتب مذكرة التسليم للمهندس المناوب.»
- تسجيل لم يدوّن أحد ملاحظاته. «استخدم Meeting.ai لتفريغ هذا التسجيل للعرض التجريبي الذي قدّمه المورّد، وعدّد كل حد ذكروه للـ API: [الصق هنا رابط Google Drive للملف].» ويجب أن يكون الملف قابلاً للتنزيل لكل من لديه الرابط؛ وإلا فارفعه في Meeting.ai.
لماذا لا يجد Codex اجتماعاتي؟
السبب في الغالب أن تسجيل الدخول لم يكتمل، أو أن Codex يبحث في غير مساحة العمل المقصودة.
| ما تراه | ما تفعله |
|---|---|
Not logged in في codex mcp list | شغّل codex mcp login meeting-ai وأكمل تسجيل الدخول في المتصفح |
| لا متصفح على الجهاز | شغّل codex mcp login meeting-ai --no-browser وافتح الرابط المطبوع على جهاز آخر |
الخادم غير ظاهر في /mcp | تأكد أن codex mcp get meeting-ai يعرضه مفعّلاً، ثم ابدأ جلسة Codex جديدة |
| Codex لا يجد أي اجتماع | اطلب منه أن يعرض مساحات عملك في Meeting.ai وينتقل إلى الصحيحة، أو ابحث بكلمة من العنوان |
| «الاتصال بالتطبيقات غير مفعّل» | لم يُفعَّل الاتصال بعد لحسابك في Meeting.ai. انقر التواصل مع الدعم في تلك الشاشة، أو راسل [email protected] |
| أداة تقول إن الرصيد نفد | هذا الإجراء يحتاج إلى اشتراك أو Coins |
| Codex يقول إن الاجتماع مقفل | لم يعد لدى مساحة العمل التي يتبع لها الاجتماع اشتراك أو Coins تغطّيه. أعِد الاشتراك أو Coins لتقرأه من جديد؛ وإن كان اجتماعاً شاركه معك شخص آخر، فعلى مالكه أن يفعل ذلك |
| أداة ناقصة | ابدأ جلسة Codex جديدة لتُحمَّل قائمة الأدوات من جديد، وسجّل الدخول مرة أخرى إن طُلب منك |
| خطأ dynamic client registration | أنت تمر عبر جسر أو proxy يسجّل العملاء ديناميكياً، وهذا ما لا يوفّره Meeting.ai. أضف الخادم في Codex مباشرة، كما ورد أعلاه |
كيف تلغي ربط Meeting.ai بـ Codex؟
شغّل codex mcp logout meeting-ai لحذف بيانات الدخول المحفوظة، أو codex mcp remove meeting-ai لحذف إدخال الخادم.
ولقطع الوصول من جهة Meeting.ai، افتح الإعدادات › MCP & CLI، وابحث عن إدخال Codex ضمن عميل MCP متصل، ثم انقر إلغاء الوصول. قد يظهر الإدخال باسم ChatGPT، لأن Codex يسجّل الدخول عبر chatgpt.com. ويسري الإلغاء فوراً.
memo CLI للسكربتات
memo هو أداة سطر الأوامر من Meeting.ai. يصل إلى الاجتماعات نفسها بالحساب نفسه ويطبع JSON. يدعم برنامج التثبيت macOS وLinux، ويتحقق من المجموع الاختباري (checksum) للإصدار.
curl -fsSL https://raw.githubusercontent.com/meeting-ai/memo-cli/main/install.sh | bashبعد ذلك افتح طرفية جديدة، ليجد الـ shell الأمر memo في ~/.local/bin، وشغّل:
memo auth login
memo meetings search --keyword "checkout"
memo meetings get <id> --allيضيف memo install-skill-md ملفاً يعلّم وكيل البرمجة الأوامر. راجع صفحة Meeting.ai CLI ودليل CLI.
ابدأ باجتماع التخطيط أمس
أضف الخادم، وسجّل الدخول، واطلب من Codex أن يبرمج شيئاً واحداً اتفق عليه فريقك هذا الأسبوع. وتعرض صفحة Meeting.ai MCP كل الأدوات.
الاتصال نفسه في أدوات أخرى:





