التثبيت على دبيان أو أوبونتو
انظردليل تثبيت APTللمتطلبات الأساسية ومفاتيح التوقيع وإعداد المستودع والقنوات والتحديثات والإزالة.
التثبيت على نظام Linux المتوافق مع Fedora أو RHEL
انظردليل تثبيت DNFللمتطلبات الأساسية والتحقق من بيانات التعريف وإعداد المستودع والقنوات والتحديثات والإزالة.
التثبيت على آرتش لينكس
انظردليل تثبيت بكمنللمتطلبات الأساسية والتحقق من المفاتيح وإعداد المستودع والقنوات والتحديثات والإزالة.
الملخص
ash [text ...]
ash install [--shell bash|zsh] [--dry-run] [--overwrite]
ash mcp add <url> [--no-browser]
ash snooze [duration|off]
ash update [--version vX.Y.Z] [--yes|--skip-customized]
وصف
ashيرسل نصًا سريعًا إلى نقطة نهاية الذكاء الاصطناعي التي تم تكوينها ويطبع استجابة المساعد. عندما لا يتم توفير النص الموضعي،ashيقرأ النص الفوري من الإدخال القياسي غير التفاعلي.
الinstallيقوم الأمر الفرعي بتثبيت الأصول المُدارة. يتم تغيير ملفات بدء تشغيل Shell فقط عندما تطلب ذلك بشكل صريح--shell-integration; يستخدم باش~/.bashrc، يستخدم zsh~/.zshrc، واستخدامات الأسماك$XDG_CONFIG_HOME/fish/config.fish.
تتم مشاركة الاتصالات بموفر الذكاء الاصطناعي من خلال وسيط محلي. يعود فشل الوسيط إلى HTTPS المباشر.
يمكن للذكاء الاصطناعي استخدام systemd لجدولة مهام الخلفية. يمكن أن تكون هذه وظائف متكررة أو لمرة واحدة. تستخدم المهام المجدولة HTTPS المباشر بشكل افتراضي.
ashيتبع أدلة XDG الأساسية: ملفات التكوين ومساحة العمل المستمرة ضمن$XDG_CONFIG_HOME/ash(تقصير~/.config/ash)، الأدوات والمكونات الإضافية ضمن$XDG_DATA_HOME/ash(تقصير~/.local/share/ash)، سجل التاريخ والجلسة تحت$XDG_STATE_HOME/ash(تقصير~/.local/state/ash)، وذاكرة التخزين المؤقت تحت$XDG_CACHE_HOME/ash(تقصير~/.cache/ash). استخدام مآخذ الوسيط$XDG_RUNTIME_DIR/ashمع احتياطي دليل الحالة. يجب أن تكون مسارات XDG الصريحة مطلقة.
تُعد الأداة والبرنامج النصي والملف والمخرجات المنقولة والفرعية بيانات غير موثوقة ويجب ألا تتجاوز تعليمات النظام أو المستخدم. لا تكون ميزة تنفيذ الأداة بمثابة وضع الحماية عند تمكين التنفيذ التعسفي لـ Python أو Shell. بشكل افتراضي، يتم تمكين Python، لذا احذر.
خوادم MCP عن بعد
توفر خوادم MCP (بروتوكول سياق النموذج) أدوات يمكن لنموذج الذكاء الاصطناعي الاتصال بها.Ashيدعم خوادم HTTP MCP القابلة للتدفق عن بعد ويحافظ على جلسات عمل العملاء الخاصة بهمash-brokerعيرAshالدعوات في نفس الصدفة.
قم بتسجيل خادم موثوق به عن طريق التشغيلash mcp add <url>من التفاعليةAshShell، أو عن طريق إضافة عنوان URL الخاص به إلى$XDG_CONFIG_HOME/ash/.ash_allow(تقصير~/.config/ash/.ash_allow). لا يتم تمكين أي خادم بعيد بشكل افتراضي.
يتم فتح ترخيص OAuth في متصفح سطح المكتب عند توفر واجهة المستخدم الرسومية. إذا لم يكن من الممكن فتح المتصفح،Ashيطبع عنوان URL للتفويض القابل للنسخ وينتظر في الجهاز. يستخدمash mcp add <url> --no-browserلاستخدام هذا التدفق الطرفي دائمًا. لا يزال ترخيص URL اليدوي يتطلب متصفحًا على نفس المضيف؛ إنه ليس تدفق OAuth بدون متصفح.
خطوط URL تبدأ بـhttp://أوhttps://هي تسجيلات MCP، وليست أوامر Shell. يتم التعرف على المخططات بشكل غير حساس لحالة الأحرف.Ashيستمد الاسم المحلي للخادم من أول 8 أحرف ست عشرية صغيرة من SHA-256 فوق نص عنوان URL الذي تم اقتطاعه. HTTPS مطلوب باستثناء تطوير المضيف المحلي؛ يتم رفض عناوين URL التي تحتوي على بيانات اعتماد أو سلاسل استعلام أو أجزاء مضمنة. بالنسبة لاتصالات OAuth المباشرة، يسمح الاكتشاف بعناوين IP غير العامة فقط لسلطة MCP المسجلة بالضبط؛ يظل مضيفو OAuth الآخرون خاضعين لحظر العناوين غير العامة. وكيل الخروج الذي تم تكوينه مسؤول عن تصفية عناوين الوجهة الخاصة به. تتم قراءة التغييرات في اليوم التاليAshطلب.
تظل تسجيلات MCP ممكنة معASH_STRICT=1. لا يزال يتم التعامل مع مخرجات الأداة المرتجعة كدليل غير موثوق به. قم بتسجيل الخوادم التي تثق بها فقط: قد تؤدي أدواتها إجراءات نيابة عنك. بالنسبة للخوادم المحمية بـ OAuth،Ashيفتح المتصفح عندما تكون واجهة المستخدم الرسومية متاحة بينما يقوم الوسيط بمعالجة رد الاتصال والرموز المميزة. تستخدم بيانات الاعتماد مدير بيانات اعتماد نظام التشغيل عندما يكون ذلك متاحًا، أو ملفًا مشفرًا محميًا بواسطة ملف عشوائي يوفره المستخدم بحجم 32 بايتASH_MCP_CREDENTIAL_KEYفي$XDG_DATA_HOME/ash/mcp/.
إذا فشلت تهيئة MCP،Ashيواصل الطلب بدون أدوات MCP عن بعد. عمليات التشغيل التفاعلية تطبع تحذيرًا؛ عمليات التشغيل غير التفاعلية تفشل بهدوء.لا تحتوي المهام المجدولة على وسيط لكل واجهة تفاعلية، وبالتالي لا يمكنها استخدام أدوات MCP عن بعد.قد يستمر تشغيل المطالبة المجدولة التي تعتمد على MCP ولكن يمكن أن تنتهي بدون إجراء MCP أو البيانات المطلوبة. لا تقم بجدولة المطالبات التي تتطلب MCP.
انظرالأسئلة الشائعة حول MCPللحصول على نظرة عامة سريعة وملاحظات الإعداد.
الأوامر
ash [--attach path]... [text ...]- قم بتشغيل طلب مساعد واحد.
--attachإرفاق ملف (صورة أو مستند) بالطلب؛ قابل للتكرار. الحجم محدود بواسطةASH_ATTACHMENT_MAX_BYTESويتم إرسالها حاليًا عبر السلك فقط إلى مقدمي الخدمات المتوافقين مع OpenAI. ash mcp add <url> [--no-browser]- قم بتوصيل وتسجيل خادم MCP عن بعد بشكل فعال
.ash_allow. يفتح ترخيص OAuth في متصفح سطح المكتب عندما يكون متاحًا؛ يعود إلى عنوان URL القابل للنسخ في الجهاز.--no-browserيستخدم دائمًا التدفق الطرفي. ash install [--shell bash|zsh|fish] [--shell-integration|--disable-shell-integration] [--dry-run]- قم بتثبيت الأصول دون تغيير ملفات بدء تشغيل Shell بشكل افتراضي.
--shell-integrationيختار إضافة/تحديث الكتلة المُدارة؛--disable-shell-integrationيزيل هذا الحظر فقط ويحافظ على محتوى المستخدم المحيط. عندما تكون تفاعليًا، قم بتثبيت التكوينات التلقائيةASH_AI_ENDPOINT,ASH_AI_MODEL، وASH_AI_AUTH_TOKENعند الحاجة، مع تفضيل مفتاح الموفر الحالي أو نقطة النهاية المحلية قبل عرض قائمة الموفر. ash snooze [duration|off]- إيقاف المعالجة التلقائية للصدفة مؤقتًا. الافتراضي هو خمس دقائق. تستخدم المدد بناء جملة Go مثل
30s,5m، أو1h. يستخدمoffلاستئناف العمل على الفور. ash update [--version vX.Y.Z] [--yes|--skip-customized]- قم بتنزيل وتثبيت أحدث إصدار ثابت من macOS أو Linux أو FreeBSD للبنية الحالية
~/.local/bin/ash. تتطلب الإصدارات التحقق من Sigstore والتحقق من SHA-256.
البيئة
ASH_AI_AUTH_TOKEN- رمز حامل اختياري. مطلوب لنقاط النهاية السحابية باستثناء AWS Bedrock. عناوين خاصة/LAN و
.localيتم التعامل مع أسماء المضيفين على أنها غير سحابية إلا إذاASH_STRICT=1. ASH_AI_CACHE- تبديل اختياري لذاكرة التخزين المؤقت الأصلية للموفر. يتم تمكينه افتراضيًا عند دعمه؛ يقبل
1,true,yes,on,enabled,0,false,no,off، أوdisabled(حساسة لحالة الأحرف). ASH_AI_ENDPOINT- عنوان URL الأساسي المطلوب لنقطة نهاية واجهة برمجة تطبيقات الدردشة.
ASH_AI_MODEL- تم إرسال اسم النموذج المطلوب إلى نقطة النهاية.
ASH_AI_PROVIDER- تجاوز الموفر الاختياري. عند عدم الضبط،ashيكتشف الموفر من نقطة النهاية.
ASH_AI_TIMEOUT- مهلة الطلب الاختيارية. تقصير:
3m. ASH_ALWAYS_OPENAI_API- تبديل الاختبار الاختياري. عندما يكون حقيقيًا، يوجه
ollamaالمزود من خلال محول SDK المتوافق مع OpenAI بدلاً من التنفيذ اليدوي. يقبل نفس القيم المنطقية مثلASH_AI_CACHE. الافتراضي: تشغيل. ASH_ATTACHMENT_MAX_BYTES- الحد الأقصى الاختياري للحجم بالبايت للملف الذي تم تمريره عبره
--attach. تقصير:10485760(10 ميجابايت). ASH_HISTORY_MAX- الحد الأقصى الاختياري لرسائل التاريخ لكل مفتاح. تقصير:
40. ASH_LOG_FILE- مسار سجل التصحيح الاختياري عند تمكين التسجيل المطول.
ASH_LOG_MAX_BYTES- الحد الأقصى لحجم السجل الاختياري قبل التدوير. تقصير:
1048576. ASH_MAX_AGENTS- الحد الأقصى الاختياري للوكلاء الفرعيين الذي تم إنشاؤه بواسطة عملية رئيسية واحدة. تقصير:
6. ASH_MAX_TOOL_ITERS- الحد الأقصى الاختياري لتكرارات حلقة استدعاء أداة الذكاء الاصطناعي. تقصير:
16. ASH_RELEVANCE_WINDOW- ملاحظات الأداة الأخيرة الاختيارية المضمنة في حالة التنفيذ. تقصير:
4. ASH_RETRY_BASE_DELAY- تأخير قاعدة إعادة المحاولة الاختيارية. تقصير:
250ms. ASH_RETRY_MAX_ATTEMPTS- محاولات طلب اختيارية قابلة لإعادة المحاولة. تقصير:
3. ASH_SCHEDULED_TASK- علامة الجدولة الداخلية المستخدمة من قبلash-الدعوات المدارة.
ASH_STREAM- تبديل اختياري. عندما يكون الأمر حقيقيًا، يتم بث الاستجابة من الموفرين الذين يدعمها المحول الخاص بهم (حاليًا OpenAI فقط). يقبل نفس القيم المنطقية مثل
ASH_AI_CACHE. الافتراضي: تشغيل. ASH_TASK_MAX- الحد الأقصى الاختياري لمهام التنفيذ المستمدة من الطلب. تقصير:
6. ASH_TASK_STALL_ROUNDS- جولات مساعد اختيارية قبل التوقف. تقصير:
2. ASH_ALLOW- القائمة المسموح بها القابلة للتنفيذ الاختيارية والمفصولة بفواصل لـ
run_unix_command. خلاف ذلك$XDG_CONFIG_HOME/ash/.ash_allow(تقصير~/.config/ash/.ash_allow) يستخدم؛ هذا التجاوز لا يوسع داخليًاAshالرموز. ASH_DENY- قائمة رفض اختيارية مفصولة بفواصل لحظر الأوامر والأدوات والمكونات الإضافية بشكل صريح. خلاف ذلك
$XDG_CONFIG_HOME/ash/.ash_deny(تقصير~/.config/ash/.ash_deny) يستخدم. ASH_TOOL_OUTPUT_MAX- الحد الأقصى الاختياري لإخراج الأداة الملتقطة بالبايت. تقصير:
8192. ASH_TOOL_TIMEOUT- مهلة أمر الأداة المحلية الاختيارية. تقصير:
15s. ASH_VERBOSE- تسجيل التصحيح الاختياري ولوحة التحكم في التنفيذ. القيم مثل
1,true,on، وdebugتمكينه. ASH_SESSION_ID- Ashمعرف الجلسة للتاريخ المستمر وتسمية السجل. تم إنشاؤها عند الغياب؛ تم رفض القيم الصريحة غير الصالحة. نوعي
SESSION_IDيتم تجاهله.
يتم التحقق من صحة الإعدادات الرقمية والمدة الصريحة. يجب أن تكون حدود الأعداد الصحيحة موجبة باستثناءASH_MAX_TOOL_ITERS، والتي قد تكون صفراً. يجب أن تكون مهلات الذكاء الاصطناعي/الأداة إيجابية؛ قد تكون تأخيرات إعادة المحاولة صفرًا ولكنها ليست سلبية. تستخدم المدد بناء جملة Go مثل30s,5m، أو1h. تؤدي القيم المشوهة أو خارج النطاق إلى حدوث خطأ في التكوين بدلاً من استخدام الإعدادات الافتراضية بصمت.
الملفات
$XDG_CONFIG_HOME/ash/(تقصير~/.config/ash/)—ملفات المطالبة والسياسة وملفات مساحة العمل المستمرة.$XDG_DATA_HOME/ash/(تقصير~/.local/share/ash/)—الأدوات المجمعة والمكونات الإضافية وحزم اللغات وبيانات اعتماد MCP.$XDG_STATE_HOME/ash/(تقصير~/.local/state/ash/)—التاريخ والخدش والسجلات وحالة الغفوة.$XDG_CACHE_HOME/ash/(تقصير~/.cache/ash/)—ملفات ذاكرة التخزين المؤقت القابلة للتجديد.
حالة الخروج
ash يُرجع 0 عند النجاح. يُرجع قيمة غير صفرية عند فشل التكوين أو طلبات الشبكة أو تنفيذ الأداة.
أمثلة
echo "summarize this directory" | ash
ash install --shell bash
ash install --shell zsh --dry-run
أنظر أيضا
bash(1),zsh(1),man(1)