
porterminal v1.0.6
سريع وبسيط: نفق طرفية ويب/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لنسخ الرابط فقط.
التثبيت
| الطريقة | التثبيت | التحديث |
|---|---|---|
| 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 لنسخ الرابط فقط؛ أو امسح رمز QR للاتصال. Ctrl+C يوقف الخادم.
وصول الوكيل (MCP + REST)
للتحكم بالـ shell خلف الكواليس بالكامل، شغّل ptn --mcp-only.
تبقى واجهة الطرفية المحلية مفتوحة: اضغط c لنسخ مطالبة الوكيل وعنوان MCP،
أو u لنسخ عنوان MCP فقط. تعمل هذه المفاتيح أيضًا مع --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" }
}
}
أدوات MCP: run_command (مخرجات نظيفة + رمز الخروج)، read_screen، send_keys، send_signal (Ctrl-C / EOF).
بديل REST: