Claude دردشة أخرى بين دردشاتك.
يضع aipager جلسات Claude Code في Telegram، بين عائلتك وأصدقائك وفريقك. يعمل على كمبيوترك.
جلسة Claude Code جاهزة على لابتوبك، في الوضع التلقائي، وهو الوضع الذي تبدأ به كل جلسة جديدة.
curl -fsSL aipager.run/install | shLinux وmacOS · رخصة MIT · حوالي دقيقة
ثلاثة أوضاع. البداية من الوضع التلقائي.
كل جلسة في واحد من ثلاثة أوضاع، يُضبط لكل جلسة على حدة ويتغيّر في أي وقت بـ /mode. وضع «اسأل» يتوقف قبل كل خطوة. والوضع التلقائي، وهو الذي تبدأ به كل جلسة جديدة، يترك فحص الأمان في Claude Code نفسه ينفّذ الاستخدامات الآمنة ويوقف الخطرة ليسألك عنها. ووضع الوصول الكامل ينفّذ كل شيء دون أي فحص. الوضع يتحكم في طلبات الإذن الخاصة بـ Claude Code وحدها: في المجموعة، الأداة التي لا يسمح بها دور العضو تبقى مرفوضة، مهما كان الوضع.
- ✅ السماح · لهذه المرة فقط
- ❌ رفض · يمنع Claude استخدام الأداة
- 🟢 السماح دائمًا · يضيف القاعدة التي يقترحها Claude، إن اقترح واحدة
- ⏹ إيقاف · يقطع المهمة بدل الإجابة
يعرض زرًا لكل وضع آخر؛ و/mode ask و/mode auto و/mode full تبدّل الوضع فورًا. والجلسات الجديدة تبدأ في الوضع التلقائي، ما لم تختر الدردشة غير ذلك من /settings ← الجلسات الجديدة.
بلا إعادة تشغيل، حتى أثناء عمل Claude: يضغط aipager على Shift+Tab داخل الجلسة، وتبقى البطاقة تقول إن التبديل جارٍ حتى يؤكد Claude Code الوضع الجديد.
الانتقال إلى وضع الوصول الكامل أو الخروج منه يعيد تشغيل الجلسة وتبقى المحادثة كما هي. ولا يبدأ جلسة فيه أو ينقلها إليه إلا مشرف (أو أنت، في دردشتك الخاصة مع البوت).
الوضع يحكم طلبات الإذن، لا القرارات: حين يسألك Claude عن شيء، تصل أزراره إلى دردشتك في أي وضع.
ثلاث دردشات. وما عداها حياتك أنت.
- aipagerبوت⏳ api · يعمل · ٣:١٤ · Read ×٢ · Bash ×٢دردشتك مع Claude
دردشة واحدة لكل الجلسات. لكل مهمة بطاقة حية تحدّث نفسها، وطلبات إذن تُجاب بلمسة واحدة، وشريط مثبّت يقول ما الذي ينتظرك. الرسالة العادية تذهب إلى الجلسة التي يسمّيها الشريط؛ و/web يرسل الرسالة التالية إلى جلسة أخرى ويكمل الحديث هناك.
/status/new/mode/stop/app/<session> <prompt> - BTbackend-teamمجموعة · وضع الفريقSara: @aipagerbot /web شغّل اختبار e2e لتسجيل الدخول على stagingمجموعة فريقك
يمكنك وضع البوت في مجموعة، فيستطيع كل من في قائمة المسموح لهم الإشارة إليه. كل رسالة تعمل بدور مرسلها؛ والأداة التي لا يسمح بها الدور تُرفض قبل أن تعمل، وكل قرار يُسجَّل في سجل التدقيق باسم من ضغط الزر.
owneradminuserread_only - JJimدردشة خاصة مع البوت🔐 web · بحاجة إلى إذنكشخص آخر، في دردشته الخاصة
يمكنك إضافة دردشة زميلك الخاصة مع البوت، فيدير جلساته بنفسه، بدوره الخاص ومجلده الجذر الخاص: مهام Claude عنده تبدأ داخل هذا المجلد ولا تقرأ شيئًا خارجه في مجلدك الشخصي. ومن يكفيه أن يشاهد فقط يأخذ دور read_only في مجموعتك.
المجلد الجذر للأعضاء~/aipager-users/<label>read_only/new
أربعة أدوار، ولكل دور قاعدة أدوات.
الدور الذي يُحسب هو دورك في الدردشة التي جاءت منها الرسالة، والأداة التي لا يسمح بها الدور تُرفض قبل أن تعمل، ولا يُسأل عنها. لا شيء في Telegram ولا في Mini App يغيّر من في القائمة: فقط aipager config، على الكمبيوتر.
| الصلاحية | owner | admin | user | read_only |
|---|---|---|---|---|
| إرسال الرسائل إلى جلسة | ✓ | ✓ | ✓ | ✕ |
| السماح والرفض والإجابة عن أسئلة Claude | ✓ | ✓ | ✓ | ✕ |
| Bash، وكل ما ينفّذ كودًا | ✓ | ✓ | ✕ | ✕ |
| وضع الوصول الكامل، و/settings للمجموعة، و/update | ✓ | ✓ | الدردشة الخاصة | ✕ |
| أين يمكن لجلساتهم أن تعمل | أي مكان | أي مكان | المجلد الجذر | المجلد الجذر |
| قراءة ملفات بيانات الدخول (~/.ssh، …) | ✓ | ✓ | ✕ | ✕ |
يمكنك استخدامه كأي دردشة.
ليس طرفية في ثوب دردشة: كل ما اعتدت عليه في Telegram يعمل هنا. يمكنك التحدث إليه في طريق العودة، وإرسال لقطة الشاشة، والفكرة التالية قبل أن تنتهي السابقة.
- 🎙️بالصوت بدل الكتابة
الرسالة الصوتية تُحوَّل إلى نص على كمبيوترك (لا على سحابة أحد)، ويعود النص إليك ليظهر لك ما سمعه، ثم يُكتب في الجلسة كأنك كتبته بنفسك.
٠:٠٧🎙️ سمعت: أصلح اختبار e2e لتسجيل الدخول الذي يفشل أحيانًا - 📎لقطة شاشة للخلل
الصور والملفات تنزل في مجلد على كمبيوترك ويُعطى Claude المسار، ويكون تعليقك هو الرسالة، أو «check this: …» إن لم يكن هناك تعليق. وإن أُرسلت عدة ملفات معًا، ذهبت كرسالة واحدة.
- 📤ويرسل إليك ملفات أيضًا
اطلب ذلك بكلماتك، «أرسل لي لقطة الشاشة»، فيصل الملف إلى دردشة تلك الجلسة بعد الرد مباشرة: الصور كصور، والفيديو والصوت كما هما، وأي شيء آخر كملف، وعدة ملفات معًا كألبوم واحد. لكن لا تُرسَل أبدًا إعدادات aipager ولا بيانات اعتماد Claude ولا مفاتيحك: تُرفض قبل أن يُرسَل أي شيء.
أرسل لي لقطة الشاشة - 👀الرسالة التالية الآن
رسالتك تصل إلى Claude لحظة إرسالها، حتى في منتصف المهمة: 👀 ما دامت في قائمة انتظار Claude نفسه، و👍 حين يأخذها Claude. و«⚡ إرسال الآن» يسلّمها دون انتظار نهاية الخطوة.
- ⏸لا تُقرأ أبدًا على أنها الإجابة
الرسالة التي تصل وطلب إذن مفتوح تُحجز جانبًا، ولا تُخلط بالطلب، وتذهب إلى الجلسة فور الرد عليه.
- 🤖الوكلاء والأوامر في الخلفية، تحت المتابعة
كل وكيل في الخلفية يبدؤه Claude يأخذ سطره الخاص على البطاقة مع ما يفعله، والأمر الذي يبقى يعمل في الخلفية له عدّاد وقت خاص حتى ينتهي.
- 🔔يخبرك أولًا
تحذير السياق، وتلخيص المحادثة، وجلسة انتهت أو صمتت، ومهمة طالت أكثر من اللازم: الدردشة تقول ذلك دون حاجة إلى البحث عنه.
- ⌨️الأزرار موجودة أصلًا
تحت مربع الكتابة لوحة أزرار: زر لكل جلسة تعمل، ثم «الحالة» و«إيقاف» و«جديدة»، ثم «القوالب» للرسائل التي تُعاد كتابتها كثيرًا، و«الأوامر» لما يتولاه Claude Code بنفسه.
- 📋/status، الدردشة كلها دفعة واحدة
كل الجلسات في قائمة يمكن التعامل معها: ماذا تفعل كل واحدة، ونموذجها، والسياق المتبقي، وكم كلّفت، وما ينتظر خلفها، ومع كل واحدة «إيقاف» و«إجابة» وبقية القائمة.
لوحة تحكم، وما زالت داخل Telegram.
/app يفتح كل الجلسات دفعة واحدة: لكل واحدة مربّع، مع حلقة السياق والمجلد والنموذج وما أنفقته. الإجابة تبقى في الدردشة، والتطبيق للنظرة الشاملة عليها كلها، وللأشياء التي تكون الدردشة فيها غير مريحة، مثل قراءة التغييرات (diff) أو تغيير إعداد.
لكل واحدة مربّع، مع حلقة السياق، ولمن هي، والنموذج وما أنفقته، وفوقها سطر يقول حال الدردشة: ما الذي يعمل، وما هو جاهز، وكم كلّف اليوم، وكم جلسة انتهت. وزر + يبدأ جلسة أخرى: اسم، ومجلد من المجلدات المستخدمة أصلًا، ونموذج.
الجلسة التي تنتظر الرد على طلب إذن أو سؤال تظهر في الأعلى مع ما تسأل عنه. و«الرد في الدردشة» يعيد الطلب بأزراره إلى آخر الدردشة، لتكون الإجابة هناك.
سطر الحالة، «تعمل (٣:١٢)» أو «جاهزة، آخر نشاط منذ ٥ د»، ولمسة واحدة للإيقاف أو الاستئناف. وتحته آخر الأدوات التي استُخدمت، وآخر إجابة، والتحكم في النموذج، والملفات التي غيّرتها المهمة على شكل diff، وإعدادات تلك الجلسة نفسها.
مفعّل افتراضيًا، وكل طلب يُتحقق منه بتوقيع Telegram نفسه، والصفحة لا تحمّل شيئًا من أي مكان آخر: لا خطوط ولا سكربتات. وaipager miniapp disable يوقفه.
بلغتك، حتى الأرقام.
نصوص aipager وحدها هي التي تتغير: البطاقات وطلبات الإذن والأزرار والشريط المثبّت و/status وMini App والتوثيق. أما جلساتك فلا: يجيب Claude بلغة رسالتك، وما يرسله aipager إلى Claude يبقى كما هو. يمكنك اختيار لغة بـ /language، أو تركها تتبع تطبيق Telegram عندك.
الفارسية والعربية تُقرأ من اليمين إلى اليسار، بأرقام فارسية (۰-۹) أو عربية مشرقية (٠-٩) وبفواصلها الخاصة، في Telegram وفي Mini App. وأسماء الجلسات والمسارات والأوامر والكود تحتفظ باتجاهها.
كُتبت كل لغة كما يتكلمها فعلًا من يستخدمون التطبيقات بها، بما في ذلك الكلمات الأجنبية الشائعة، وبصيغ الجمع الخاصة بها (للعربية ست صيغ).
الدردشة الخاصة يمكنها أن تتبع تطبيق Telegram عندك. والمجموعة لها لغة واحدة يضبطها مشرف، والرسالة المنبثقة بعد اللمس تكون بلغة من ضغط الزر.
ملف README وكل صفحات مجلد docs مترجمة. وإذا اختلفت الترجمة عن الصفحة الإنجليزية، فالصفحة الإنجليزية هي الصحيحة.
pnpm test e2e/login --trace onالطرفية تبقى المرجع.
يعمل Claude Code في طرفية حقيقية، داخل dtach، حتى لا يضطر أحد إلى إبقاء نافذة مفتوحة. كل خطوة تُطلق هوكًا يرسل حزمة واحدة إلى aipager عبر مقبس محلي، ويحدّث aipager بدوره رسالة في دردشتك. وإجاباتك تعود بالطريق نفسه: قرار إلى الهوك الذي يحتجز الاستخدام، أو ضغطات مفاتيح تُكتب في الجلسة.
- Claude Codeداخل dtach، بلا حاجة إلى نافذة
- هوكيعمل عند كل خطوة
- aipagerعملية واحدة، باسم مستخدمك أنت
- Telegramتوكن البوت الخاص بك
- دردشاتكدردشتك الخاصة، ومجموعة فريقك
aipager session api يتصل بالجلسة التي تعمل من أي طرفية. الكتابة هناك أو الكتابة في الدردشة: الجلسة نفسها. وإن أُغلقت النافذة تكمل عملها، ويبقى الاتصال قائمًا حتى بعد إعادة تشغيل الجلسة.
يكتب aipager في الجلسة ويستمع إلى أحداث Claude Code نفسه. وما تعرضه دردشتك يأتي من الهوكات ومن المحادثة المحفوظة، لا من قراءة صورة الطرفية.
الهوك يرسل حزمة واحدة ويعود، نحو ٢٠ مللي ثانية من وقت Claude Code. وإن لم يكن aipager مستمعًا، يسقط الحدث ببساطة ويكمل Claude؛ ثم يعوّض aipager ما فات من ملفات الجلسة نفسها.
لا أحد في المنتصف.
aipager لا يتحدث إلى Anthropic أبدًا. الوحيد الذي يفعل ذلك هو Claude Code نفسه، بتسجيل دخولك أنت، على كمبيوترك. يشغّله aipager في طرفية ويستمع إلى الهوكات التي ينشرها Claude Code. لا واجهة API جرى فكّها بالهندسة العكسية، ولا بروكسي، ولا حساب غير حسابك: الجلسة التي على هاتفك هي الجلسة نفسها التي أمام لوحة المفاتيح.
يتحدث aipager إلى Telegram Bot API بتوكن البوت الخاص بك. لا حساب aipager ولا خدمة aipager، ولا كمبيوتر لأحد آخر بين هاتفك وكمبيوترك.
لا يجيب aipager إلا في الدردشات المذكورة في ملف إعداداتك. والغريب الذي يجد البوت يتلقى سطرًا واحدًا يقول إن البوت غير مهيأ للتحدث معه؛ ولا شيء مما يرسله يصل إلى جلسة.
يستمع على loopback فقط. وMini App يخرج عبر نفق Cloudflare يجب أن يحمل كل طلب فيه توقيع Telegram، وaipager miniapp disable يوقفه.
توكن البوت ومعرّفات الدردشات محفوظة في ~/.config/aipager/aipager.yaml بصلاحية 600. ولا تصل إلى سجل aipager، وتُخفى في كل موضع قد تتسرب منه إليه.
لا sudo ولا setuid. كل ما يكتبه يكون تحت مجلدك الشخصي أو /tmp أو مجلد المقبس الخاص به، وكل عملية يبدؤها (claude وdtach وبرامج التثبيت) تعمل بمستخدمك أنت.
ملف settings.json عندك يقول ما الذي يحتاج إلى سؤال. وaipager ينقل السؤال فقط؛ لا يقرر أبدًا ما الذي يُسمح بتشغيله، والزر الذي بقي من مهمة منتهية يرفض بدل أن يؤثر في العمل الجاري الآن.
الأعضاء والأدوار لا تتغير إلا بـ aipager config، على الكمبيوتر. ولا شيء في Telegram ولا في Mini App يضيف شخصًا أو يوسّع دورًا.
كل سماح وكل رفض وكل إجابة يُضاف إلى آخر ~/.claude/aipager-audit.jsonl دون تعديل ما قبله، ومعه في المجموعة اسم من ضغط الزر.
أربعة أسطر. مكانها الرسائل المحفوظة.
لمسة على أي سطر تنسخه. وشيئان قبل ذلك: بوت خاص بك من @BotFather (مع الضغط على Start فيه)، وClaude Code مسجَّل الدخول على هذا الكمبيوتر. ومعالج السطر الثاني يسأل عن الباقي.
يمكنك وضع توكن البوت في ملف لا يحتاج الوكيل إلى قراءته، ثم إعطاء Claude Code هذا:
Install aipager for me by following https://aipager.run/agent.md. My Telegram bot token is in ~/.config/aipager/bot-token and my Telegram user id is <your id>.
هل مدير الحزم عندك أفضل؟ uv وpipx وHomebrew وDocker وNix وAUR وSnap. كل طرق التثبيت ←
يمكنك السؤال.
يمكنك إضافة Claude إلى دردشاتك.
ثم إغلاق الطرفية والاستمتاع بأمسيتك.