
porterminal v1.2.0
سريع وبسيط: نفق طرفية ويب/MCP بين هاتفك وجهاز الكمبيوتر
سلّم جهاز كمبيوتر لوكيل، بتحكم كامل، وراقبه.
أمر واحد، رابط واحد. (وأيضًا طرفية أنيقة لهاتفك أنت.)
1. uvx ptn
2. سلّم الرابط لوكيل ذكاء اصطناعي، أو امسح رمز QR بنفسك
3. راقبه يعمل في أي متصفح، وتولَّ التحكم في أي وقت
[!WARNING] هذا الرابط الكامل يعني وصولًا كاملًا لهذا الكمبيوتر. يحتوي على رمز وصول عشوائي لكل تشغيل، وأي شخص (أو أي وكيل ذكاء اصطناعي) تسلّمه إياه يحصل على shell حقيقي على جهازك. تعامل مع الرابط ورمز QR كسرّ، وشاركهما فقط مع الأشخاص والوكلاء الذين تثق بهم، واقرأ الأمان قبل أن توجّه Porterminal نحو أي شيء مهم.
لماذا
أحتاج إلى شيء سهل بشكل خطير للوصول عن بُعد إلى جهاز كمبيوتر.
ngrok يتطلب تسجيلًا والخطة المجانية سيئة. Cloudflare Tunnel بنية ممتازة، لكنه بحد ذاته يمنحك نفقًا فقط، وليس طرفية صديقة للهاتف. Tailscale رائع عندما تملك الطرفين، لكنه لا يزال يعني ضم الأجهزة إلى شبكة خاصة. Termius يتطلب إعدادًا معقدًا: إعادة توجيه المنافذ، وقواعد الجدار الناري، وإدارة المفاتيح...
لذلك بنيت شيئًا أبسط: شغّل أمرًا، امسح رمز QR، وابدأ الكتابة.
ثم اتضح الأمر: نفس الحيلة (أمر واحد، رابط واحد) هي أسهل طريقة لمنح وكيل ذكاء اصطناعي طرفية حقيقية على أي كمبيوتر. لا خادم MCP لتكتبه، ولا مفاتيح SSH، ولا Docker، ولا إعدادات. شغّل uvx ptn، سلّم الرابط، وسيشغّل الوكيل الأوامر، ويقرأ الشاشة، ويجيب على المطالبات على ذلك الجهاز. ولأنها طرفية ويب، يمكنك فتح نفس الجلسة في أي متصفح لمشاهدته يعمل مباشرةً، أو الاستيلاء على لوحة المفاتيح وتولّي التحكم.
الميزات
- سلّم جهاز كمبيوتر لوكيل، بتحكم كامل، وراقبه - أعطِ وكيل ذكاء اصطناعي الرابط فيحصل على طرفية حقيقية على الجهاز عبر MCP أو REST العادي. افتح نفس الجلسة في أي متصفح لمشاهدته يعمل مباشرةً، واستولِ على لوحة المفاتيح متى شئت. لا مفاتيح، ولا Docker. يتعلم الوكيل الطريقة من
<url>/llms.txtو<url>/.well-known/mcp.json. راجع وصول الوكيل. - أمر واحد، وصول فوري -
uvx ptnفتحصل أنت (أو وكيل) على طرفية حقيقية على هذا الجهاز. لا SSH، ولا إعادة توجيه منافذ، ولا ملفات إعدادات. نفق Cloudflare + رمز QR. - قابلة للاستخدام فعليًا على الجوال - مُحسّنة للمس مع تمرير سلس، وتكبير بالقرص، وإيماءات السحب، ومفاتيح التعديل (Ctrl، Alt).
- تطبيقات طرفية كاملة - vim و htop و less و tmux كلها تعمل بشكل صحيح مع معالجة سليمة لمخزن الشاشة البديل.
- جلسات متعددة التبويبات دائمة - الجلسات تنجو من انقطاع الاتصال. أغلق المتصفح، بدّل الشبكات، أعد الاتصال من جهاز آخر، وستظل طرفيتك وعملياتك الجارية موجودة. يمكنك أنت ووكيل مشاركة جلسة واحدة: راقبه يعمل، أو تولَّ التحكم.
- متعددة المنصات - Windows (PowerShell، CMD، WSL)، Linux/macOS (Bash، Zsh، Fish، Nushell، وأي shell عبر
$SHELL). يكتشف طرفياتك تلقائيًا. - صعبة التخمين افتراضيًا - كل تشغيل يضيف مسار وصول عشوائي مستقل بطول 128 بت. اسم مضيف النفق المجرد وكل مسار خاطئ يعيدان 404. الرابط مخفي على الشاشة، لكن رمز QR يحتوي على بيانات الاعتماد الكاملة، لذا أبقِ كليهما خاصًا. اضغط
cلنسخ تعليمات الوكيل والرابط، أوuلنسخ الرابط فقط، أوsلعرض مطالبة الوكيل على الشاشة (qيغلقها).
التثبيت
| الطريقة | التثبيت | التحديث |
|---|---|---|
| uvx (بدون تثبيت) | uvx ptn | uvx ptn@latest |
| uv tool | uv tool install ptn | uv tool upgrade ptn |
| pipx | pipx install ptn | pipx upgrade ptn |
| pip | pip install ptn | pip install -U ptn |
تثبيت بسطر واحد (uv + ptn):
| نظام التشغيل | الأمر |
|---|---|
| Windows | powershell -ExecutionPolicy ByPass -c "irm https://raw.githubusercontent.com/lyehe/porterminal/master/install.ps1 | iex" |
| macOS/Linux | curl -LsSf https://raw.githubusercontent.com/lyehe/porterminal/master/install.sh | sh |
يتطلب Python 3.12+ و cloudflared (يُثبَّت تلقائيًا إن كان مفقودًا).
الاستخدام
ptn # Start in current directory
ptn ~/projects/myapp # Start in specific folder
| الخيار | الوصف |
|---|---|
-n, --no-tunnel | الشبكة المحلية فقط (بدون نفق Cloudflare) |
--mcp-only | تحكم MCP بالـ shell بدون رمز QR، أو طرفية متصفح، أو REST API |
-p, --password | طلب كلمة مرور لحماية هذه الجلسة |
-sp, --save-password | حفظ أو مسح كلمة المرور في الإعدادات |
-tp, --toggle-password | ضبط متطلب كلمة المرور (تشغيل/إيقاف/تبديل) |
-v, --verbose | عرض سجلات بدء التشغيل التفصيلية |
-i, --init | إنشاء .ptn/ptn.yaml مع سكربتات المشروع المكتشفة تلقائيًا كأزرار |
-if, --init-from URL/PATH | إنشاء .ptn/ptn.yaml من رابط أو ملف محلي |
-c, --compose | تفعيل وضع الإنشاء افتراضيًا |
-k, --keep-qr | إبقاء رمز QR ظاهرًا بعد أول اتصال |
-u, --check-update | التحقق من توفر إصدار أحدث |
-V, --version | عرض الإصدار |
أثناء التشغيل: مع نفق نشط، يكون رابط الاتصال مخفيًا على الشاشة للخصوصية. اضغط c لنسخ تعليمات الوكيل والرابط، بما في ذلك /mcp و /api/agent/run و /llms.txt؛ اضغط u لنسخ الرابط فقط؛ اضغط s لعرض مطالبة الوكيل الكاملة كنص قابل للتحديد (q يغلقها)؛ أو امسح رمز QR للاتصال. Ctrl+C يوقف الخادم.
وصول الوكيل (MCP + REST)
للتحكم بالـ shell خلف الكواليس بالكامل، شغّل ptn --mcp-only.
تبقى واجهة الطرفية المحلية مفتوحة: اضغط c لنسخ مطالبة الوكيل وعنوان MCP،
أو u لنسخ عنوان MCP فقط، أو s لعرض المطالبة على الشاشة
(q يغلقها). تعمل هذه المفاتيح أيضًا مع --no-tunnel.
اربط عميل MCP الخاص بك بنقطة نهاية
<url>/mcp المُنشأة. لا يعرض هذا الوضع رمز QR ويعطّل طرفية الويب،
وWebSockets المتصفح، وREST API، لذا لا يمكن مشاهدة الأوامر أو إدخالها عبر
المتصفح. يبقى اكتشاف MCP و /llms.txt متاحين.
لا يزال رابط MCP الكامل يمنح التحكم بالـ shell على الكمبيوتر.
يعمل نفس الرابط أيضًا مع وكلاء الذكاء الاصطناعي. يمكن للعملاء القادرين على MCP استخدام <url>/mcp (Streamable HTTP) لأدوات مكتوبة أصلية. يمكن للوكلاء الذين لا يستطيعون تسجيل خادم MCP استخدام بديل REST على <url>/api/agent/run بطلبات HTTP عادية. أي من المسارين ينشئ shell دائمًا للوكيل، يظهر كتبويب 🤖 يمكنك مشاهدته وتولّي التحكم منه من هاتفك.
سلّم الوكيل الرابط الكامل المُنشأ، بما في ذلك رمز الوصول الخاص به. يمكن لعملاء MCP اكتشاف الخادم تلقائيًا من <url>/.well-known/mcp.json (واصف MCP server.json)، وهناك <url>/llms.txt قابل للقراءة من البشر والوكلاء مع الاستخدام. تتضمن الصفحة الأساسية أيضًا تلميحات ظاهرة لإمكانية الوصول لوكلاء تشغيل المتصفح، بينما تبقى واجهة البشر مدمجة. مثال على إعدادات العميل:
{
"mcpServers": {
"porterminal": { "url": "https://<your-tunnel>.trycloudflare.com/<access-code>/mcp" }
}
}