التثبيت · التكوين · الصيانة

مسار واضح
المطالبة الأولى.

اختر نظام التشغيل لديك، وقم بالتثبيت باستخدام مدير الحزم الخاص به، ثم قم بتوصيل النموذج. ابدأ بالإصدار: يمكنك الاشتراك في الإصدار التجريبي أو Nightly لاحقًا.

قبل أن تبدأ

  1. النظام والواجهة المدعومة: macOS أو Linux على amd64/x86_64 أو Arm64/aarch64، أو FreeBSD على amd64. استخدم Bash أو zsh أو Fish. حزم القوس هي x86_64 فقط. لا يوجد مثبت Windows/PowerShell أصلي.
  2. الوصول إلى التنزيل: اتصال إنترنت فعال ووصول HTTPS موثوق إلى GitHub، ومستودع الحزم المحدد، وموفر النموذج الخاص بك. لا يزال الاستدلال المحلي بحاجة إلى تنزيل نموذج أولي.
  3. الأذونات: دليل رئيسي قابل للكتابة للأصول لكل مستخدم. تحتاج حزم نظام Linux وmacOS .pkg إلى وصول المسؤول؛ قم بتشغيل Homebrew وash install كمستخدم عادي.
  4. النموذج: إما خادم استدلال محلي مع نموذج تم تنزيله أو حساب سحابي/مفتاح واجهة برمجة التطبيقات. اختر نموذجًا يدعم استدعاء الأدوات، وليس نموذجًا للصور/الصوت فقط. تعتمد احتياجات ذاكرة الوصول العشوائي (RAM) والقرص ووحدة معالجة الرسومات المحلية على هذا النموذج.

لا تتطلب حزم ash سابقة الإنشاء أدوات إنشاء Go أو Rust أو Node.js أو Xcode. قد يكون لمدير الحزم متطلباته الخاصة؛ اتبع تعليمات الإعداد الرسمية أولاً.

اختياري: أدوات بايثون المجمعة

أساسيashالاستخدام لا يتطلب بايثون. تحتاج أدوات Python المجمعة إلى Python 3 معvenvوensurepipبالإضافة إلى الوصول إلى تنزيل تبعياتهم. على نظام Debian/Ubuntu، قم بالتثبيتpython3وpython3-venv; يتضمن Homebrew Python دعمًا لـ venv. في FreeBSD، استخدم حزمة النقاط المطابقة لإصدار Python الخاص بك. ثم أعد التشغيلash install. يقوم الإعداد بإنشاء بيئة معزولة ضمن$XDG_DATA_HOME/ash/venv(تقصير~/.local/share/ash/venv); يؤدي الفشل إلى تعطيل هذه الأدوات، وليس الأساسيةash.

ماك

الموصى بها: البيرة المنزلية

المتطلبات الأساسية:البيرة المنزليةوبيئة macOS المدعومة، وطريقة العملbrewيأمر. يؤدي النقر إلى تحديد أرشيف Intel أو Apple Silicon تلقائيًا. لا يثق Homebrew 6 ضمنيًا بنقرة الطرف الثالث هذه. إذا رفض Homebrew تحميل الصيغة باعتبارها غير موثوقة، فراجع الناشر والصيغة، ثم ثق بهذه الصيغة فقط (وليس النقرة بأكملها):

brew trust --formula jonconradt/ash/ash
brew install Jonconradt/ash/ash
ash version

تتذكر شركة Homebrew قرار الثقة المحلية هذا. لا يمكن للصنبور تمكين الثقة بالنيابة عنك؛ الثقة في الصنبور كله معbrew trust jonconradt/ashأوسع ويسمح بتحميل صيغه الأخرى أيضًا. للوثوق في Beta أو Nightly بدلاً من ذلك، استخدم اسم الصيغة المقابلة،jonconradt/ash/ash-betaأوjonconradt/ash/ash-nightly. تمتلك شركة Homebrew الثنائيات والمكونات الإضافية الأصلية المجمعة وصفحات الدليل وإشعارات الترخيص في البادئة الخاصة بها (عادةً/opt/homebrewعلى أبل السيليكون أو/usr/localعلى إنتل). يقوم بفحص الأرشيف مقابل المجموع الاختباري SHA-256 الخاص بالصيغة. لا يقوم بتكوين الموفر الخاص بك أو تحرير ملف بدء تشغيل Shell الخاص بك: تابعالتهيئة لكل مستخدم. يستخدمbrew upgrade ashللتحديثات وbrew uninstall ashلإزالة الإصدار؛ يرىصيغ القناةلبيتا/ليلا.

البديل: الأصلي .pkg

تحميلdarwin-arm64.pkgالأصول لشركة Apple Silicon أوdarwin-amd64.pkgلشركة إنتل من أالإصدار المنشور.التحقق من بيان المجموع الاختباري الموقعقبل فتح المثبت. مطلوب وصول المسؤول.

حزمة macOS غير موقعة وغير موثقة. يوفر بيان الإصدار تحققًا منفصلاً للناشر/المجموع الاختباري، وليس توثيقًا من Apple. لا تقم بتعطيل برنامج حماية البوابة أو تجاوز تحذير الأمان لمجرد تثبيت ash؛ تفضل Homebrew إذا كانت سياسة الأمان الخاصة بك تتطلب ذلك.

الحزمة يكتبashوash-brokerل/usr/local/bin، الإضافات ل/usr/local/lib/ash/plugins، صفحات الرجل ل/usr/local/share/man، والإشعارات/usr/local/share/licenses/ash. الإيصال هوdev.ash.cli. لا يقوم بتشغيل التهيئة لكل مستخدم أو الاشتراك في التحديثات:تهيئةبعد التثبيت، استبدله بـ .pkg الأحدث الذي تم التحقق منه للتحديث، واستخدم ملفإجراء الإزالة اليدويةلإلغاء التثبيت. لا تقم بتثبيته على نسخة مملوكة لشركة Homebrew.

لينكس

استخدم مدير الحزم الخاص بالتوزيع حيثما أمكن ذلك. هذه الحزم الخاصة/usr/bin/ash,/usr/bin/ash-broker,/usr/lib/ash/plugins، صفحات الرجل تحت/usr/share/manوإشعارات الترخيص. إنهم يتركون إعدادات الموفر وخطافات الصدفةالتهيئة لكل مستخدم.

ديبيان وأوبونتو: APT

المتطلبات الأساسية: AMD64 أو Arm64، وصول المسؤول، APT،curl,gpgوشهادات CA. قم بتثبيت أدوات التنزيل/المفتاح المفقودة باستخدام التوزيع الخاص بك قبل إضافة المستودع. تم تسمية الإصدارstable:

sudo apt update
sudo apt install ca-certificates curl gnupg
sudo install -d -m 0755 /etc/apt/keyrings
curl -fsSL https://www.versionx.ai/apt/gpg.key -o versionx-apt.asc
gpg --show-keys --with-fingerprint versionx-apt.asc
sudo gpg --dearmor --batch --yes -o /etc/apt/keyrings/versionx-keyring.gpg versionx-apt.asc
sudo chmod 0644 /etc/apt/keyrings/versionx-keyring.gpg
echo "deb [signed-by=/etc/apt/keyrings/versionx-keyring.gpg] https://www.versionx.ai/apt stable main" |
  sudo tee /etc/apt/sources.list.d/versionx.list
sudo apt update
sudo apt install ash
rm versionx-apt.asc

قبل استيراد أي مفتاح مستودع، تحقق من بصمة إصبعه مقابل مصدر ناشر موثوق به. بصمة مفتاح VersionX هي32C6 C11D 2F86 BFE4 6EB7 7FFC 5257 FEA6 1368 919F. تتحقق APT من البيانات الوصفية للمستودع الموقع وملخصات الحزمة التي تحتوي عليها؛ يتم تحديد نطاق المفتاح معsigned-by. التحديث معsudo apt update && sudo apt upgrade ash; إزالة معsudo apt remove ash.

الأنظمة المتوافقة مع Fedora وRHEL: DNF

المتطلبات الأساسية: x86_64 أو aarch64، وصول المسؤول، DNF/RPM،curl,gpgوشهادات CA. قم بتثبيت الأدوات المفقودة من التوزيعة الخاصة بك. افحص المفتاح وقارن بصمة الإصبع أعلاه قبل استيرادها:

curl -fsSL https://www.versionx.ai/rpm/gpg.key -o versionx-rpm.asc
gpg --show-keys --with-fingerprint versionx-rpm.asc
sudo rpm --import versionx-rpm.asc
sudo tee /etc/yum.repos.d/versionx.repo >/dev/null <<'EOF'
[versionx]
name=VersionX ash repository
baseurl=https://www.versionx.ai/rpm/
enabled=1
gpgcheck=0
repo_gpgcheck=1
gpgkey=https://www.versionx.ai/rpm/gpg.key
EOF
sudo dnf install ash
rm versionx-rpm.asc

لم يتم توقيع ملفات RPM بشكل فردي.repo_gpgcheck=1التحقق من بيانات تعريف المستودع التي تغطي المجموع الاختباري الخاص بها؛gpgcheck=0يعكس التوقيعات الغائبة لكل حزمة، وليس التحقق من المستودع المعطل. إذا كانت سياستك تتطلب حمولات RPM موقعة، فإن هذا المستودع لا يلبي هذه المتطلبات. التحديث معsudo dnf upgrade ash; إزالة معsudo dnf remove ash.

آرتش لينكس: بكمن

المتطلبات الأساسية: x86_64، وصول المسؤول، Pacman مع تهيئة حلقة المفاتيح الخاصة به،curl، وgpg. تحقق من تطابق بصمة المفتاح المعروضة مع البصمة المذكورة أعلاه قبل الوثوق بها. قم بإضافة المستودع مرة واحدة، وليس في كل تحديث:

curl -fsSL https://www.versionx.ai/pacman/gpg.key -o versionx-pacman.asc
gpg --show-keys --with-fingerprint versionx-pacman.asc
sudo pacman-key --add versionx-pacman.asc
sudo pacman-key --lsign-key 32C6C11D2F86BFE46EB77FFC5257FEA61368919F
sudo tee -a /etc/pacman.conf >/dev/null <<'EOF'
[versionx]
Server = https://www.versionx.ai/pacman/$arch
SigLevel = Required DatabaseRequired
EOF
sudo pacman -Syu ash
rm versionx-pacman.asc

يتحقق Pacman من توقيعات الحزمة وقاعدة البيانات. حافظ على مزامنة Arch معsudo pacman -Syuوليس ترقية جزئية؛ يزيلashمعsudo pacman -R ash.

طرق تثبيت Linux الأخرى

تستخدم بالفعلالبيرة المنزلية على لينكس؟ النفس تعليمات الصنبوردعم AMD64 وarm64؛ يمتلك Brew هذه الملفات، وليس APT/DNF. خلاف ذلك، استخدم التحقق منهاتثبيت البرنامج النصي/الأرشيفأو مطابقةتحميل .deb/.rpm. قم بتثبيت .deb الذي تم التحقق منه باستخدامsudo apt install ./PACKAGE.debأو .rpm معsudo dnf install ./PACKAGE.rpm(استبدل أسماء الملفات). تظل الحزمة المباشرة مملوكة لمدير الحزم، ولكنها لا تضيف مستودعًا أو تشترك تلقائيًا في الإصدارات المستقبلية. حمولة RPM الحالية غير موقعة؛ اتبع سياسة التوزيع الخاصة بك بدلاً من تعطيل التحقق من التوقيع.

FreeBSD

المتطلبات الأساسية: amd64، Bash (حتى عندما تكون الصدفة التفاعلية الخاصة بك هي zsh أو Fish)، وأدوات التنزيل/التحقق، ودليل التثبيت القابل للكتابة. قم بتثبيت Bash باستخدام المدير الأصلي لـ FreeBSD:

sudo pkg install bash

فري بي إس ديpkgيدير المتطلبات الأساسية، لاash: لا يوجد حالياashمستودع .pkg ولا يوجد أرشيف لإصدار Arm64. استخدمالبرنامج النصي الذي تم التحقق منه، أوالتحقق من FreeBSD amd64 tarballواستخرجه إلى دليل مؤقت، ثم قم بتثبيت الإصدار الخاص بهashثنائي كما~/.local/bin/ashجنبا إلى جنبash-broker. انسخ المكونات الإضافية الأصلية إلى$XDG_DATA_HOME/ash/plugins(تقصير~/.local/share/ash/plugins)، ثمتهيئة. أنت تمتلك هذه الملفات؛pkg deleteلن يزيلهم. يستخدمإطلاق التحديثات الذاتيةفي الموقع الافتراضي أو استبدال العناصر التي تم التحقق منها يدويًا.

التهيئة والتحقق

بعد تثبيت الثنائيات، قم بتشغيل الإعداد بشكل تفاعلي كمستخدم عادي. إذا كنت لا تريد تكامل Shell، فيمكنك تثبيت Ash فقط. ربما هذا ليس ما تريد. القيمة الحقيقية لـ ash هي تكامل الصدفة أدناه. يؤدي إعداد الأصول فقط إلى ترك ملفات بدء التشغيل دون تغيير:

ash install

يتضمن التثبيت الذي من المحتمل أن تستخدمه تكامل Shell. سيؤدي هذا إلى تغيير .bashrc (أو ما يعادله لـ Shell الخاص بك) ليشمل Ash. لتمكين تكامل الأوامر غير الموجودة، اختر أمرًا واحدًا بالضبط للصدفة التي تستخدمها:

Bash

ash install --shell bash --shell-integration

زش

ash install --shell zsh --shell-integration

الأسماك

ash install --shell fish --shell-integration

يستخدم باش~/.bashrc، يستخدم zsh~/.zshrc، واستخدامات الأسماك$XDG_CONFIG_HOME/fish/config.fish(تقصير~/.config/fish/config.fish). افتح غلافًا جديدًا بعد ذلك؛ تحتفظ الأصداف الموجودة بوسيطها الجاري. التكامل يسبق~/.local/binإلى PATH: قم بإزالة نسخة مستخدم محلية قديمة قبل توقع تحديد حزمة النظام.

إذا كانت إعدادات الموفر مفقودة، فسيكتشف الإعداد مفاتيح الموفر الموجودة أو خادم محلي قيد التشغيل؛ وإلا فإنه يقدم قائمة موفر ويطالب ببيانات الاعتماد. اختر نموذجًا متاحًا قادرًا على استخدام الأدوات. يتم الاحتفاظ بالإعدادات الصالحة الموجودة، لذا فإن إعادة تشغيل برنامج الإعداد ليس أمر تبديل الموفر.

يتم تخزين الإعدادات في$XDG_CONFIG_HOME/ash/.ash_env(تقصير~/.config/ash/.ash_env، أذونات الملفات الخاصة). يقوم التكامل المُدار بتحميلها. بدون التكامل، يمكن لمستخدمي Bash/zsh الحصول على هذا الملف في تكوين بدء التشغيل العادي الخاص بهم؛ يجب على مستخدمي الأسماك ضبط المقابلASH_AI_*المتغيرات باستخدام بناء جملة Fish، وليس مصدر الملف بتنسيق Bash. قم بحماية أي ملف يحتوي على الرموز المميزة ولا ترتكبها أبدًا.

بالنسبة للتثبيت المحلي من قبل المستخدم دون التكامل، قم بإضافة الدليل الفعلي الخاص به إلى PATH. باش/زش:export PATH="$HOME/.local/bin:$PATH". سمكة:fish_add_path "$HOME/.local/bin". استمر في ذلك باستخدام تكوين بدء تشغيل Shell الخاص بك؛ استبدل دليل التثبيت المخصص الخاص بك عند الاقتضاء.

command -v ash
command -v ash-broker
ash version
ash "Say hello in one sentence"

يجب أن تتوافق الأوامر الأولى مع التثبيت الذي اخترته. يحتاج الموجه إلى خادم قيد التشغيل أو بيانات اعتماد سحابية صالحة؛ تثبيت ash لا يؤدي إلى تثبيت نموذج.

Ollama المحلي: لا يلزم وجود حساب سحابي

لا تحتاج إلى أن يكون لديك ذكاء اصطناعي محلي لاستخدامهash. ومع ذلك، إذا كنت تريد تشغيل النماذج محليًا دون الاعتماد على موفر السحابة، فيمكنك إعداد خادم Ollama محلي.

تقدم شركة Ollama أيضًا خدمة سحابية لتشغيل النماذج عن بُعد، ولكن هذا غير مطلوب للاستخدام المحلي معash. يشتمل الخادم السحابي على طبقة مجانية ونموذج سحابي Gemma 4 31b من Google (Gemma4-31b:سحابة) يعمل بشكل جيد جدا معash. هذا هو النموذج الذي يستخدمه المشروع لإنشاء ملاحظات الإصدار وتنفيذ مهام المطورين.

قم بتثبيت Ollama باستخدامتعليمات نظام التشغيل الرسمية. ابدأ تشغيل تطبيق/خدمة Ollama، أو قم بتشغيلهollama serveفي محطة منفصلة إذا لم يكن الخادم قيد التشغيل بالفعل. على فري بي إس دي،ashلا يعني دعم برنامج تثبيت Ollama الأصلي: استخدم خادمًا يمكن الوصول إليه على مضيف آخر مدعوم إذا لزم الأمر.

قم بتنزيل نموذج قادر على استخدام الأدوات ويناسب أجهزتك؛llama3.1:8bهو مثال، وليس الحد الأدنى من المتطلبات. تحقق منكتالوج الأدوات الحاليةللبدائل:

ollama pull llama3.1:8b
ollama list
curl -fsS http://localhost:11434/api/tags
ash install

مع عدم تعيين مفاتيح السحابة بالفعل، يمكن لبرنامج الإعداد اكتشاف الخادم المحلي وتقديم النموذج الذي تم تنزيله. إذا تم تكوين موفر آخر بالفعل، فقم بتغيير نقطة النهاية/النموذج يدويًا بدلاً من ذلك. مثال باش/zsh:

export ASH_AI_ENDPOINT="http://localhost:11434"
export ASH_AI_MODEL="llama3.1:8b"
unset ASH_AI_AUTH_TOKEN
ash "Say hello in one sentence"

معادل السمك:

set -gx ASH_AI_ENDPOINT http://localhost:11434
set -gx ASH_AI_MODEL llama3.1:8b
set -e ASH_AI_AUTH_TOKEN
ash "Say hello in one sentence"

تؤثر هذه التغييرات على الغلاف الحالي فقط. أبقهم في محميتكashملف البيئة أو تكوين الصدفة المناسب، ليحل محل أي تجاوزات للموفر القديم. لا يحتاج Olmama المحلي إلى رمز مميز. احتفظ بالخادم في حالة استرجاع ما لم تقم بتأمين الوصول عن عمد؛ يتلقى الخادم البعيد مطالباتك ومخرجات الأداة.

اختياري: تعيينOLLAMA_KEEP_ALIVE=30mفيخادم أولاماالبيئة وأعد تشغيل الخادم للحفاظ على دفء النماذج.-1يبقيها محملة إلى أجل غير مسمى ولكنها تستهلك الذاكرة بين الطلبات. ضبط هذا فقط فيashلا تقوم محطة العميل بإعادة تكوين خادم قيد التشغيل بالفعل.

لا يحتوي الاستدلال المحلي على فاتورة API للموفر، ولكنه يستخدم أجهزتك/وحدة التخزين/الكهرباء.سحابة أولاماهي خدمة منفصلة مع حدود المصادقة والخطة؛ إنه ليس نفس هذا الإعداد المحلي.

طبقات سحابية مجانية

المجاني لا يعني أنه غير محدود أو خاص. تختلف الحسابات والمناطق والحصص والنماذج المؤهلة وسياسات البيانات ويمكن أن تتغير. تغادر المطالبات ومخرجات الأداة ذات الصلة جهازك. مراجعة الحدود والشروط الحالية؛ لا تقم بتمكين الفواتير المدفوعة إلا إذا كنت تنوي الدفع.

قم بإنشاء مفتاح موفر باستخدام الروابط أدناه، ثم قم بتشغيل ash install بشكل تفاعلي واختر ذلك الموفر. يطالب الإعداد بالرمز المميز ويسرد النماذج المدعومة. اختر نموذجًا نصيًا متاحًا حاليًا مع أداة استدعاء؛ إدراج نموذج لا يضمن أنه مجاني لحسابك.

الحسابات ونقاط النهاية واكتشاف بيانات الاعتماد
مزودنقطة النهاية والمفتاح المعترف بهالشيكات الطبقة الحرة
استوديو جوجل للذكاء الاصطناعي / الجوزاءhttps://generativelanguage.googleapis.com/v1beta/openai/
GEMINI_API_KEYأوGOOGLE_API_KEY
تحقق منكتالوج النموذجوتسعير الطبقة الحرة. يمكن استخدام محتوى الطبقة المجانية لتحسين منتجات Google؛ مراجعةشروط.
جروكhttps://api.groq.com/openai/v1
GROQ_API_KEY
اختر نموذج دردشة/أداة مدعومًا منكتالوج. التحقق من الحسابحدود المعدلوسياسات البيانات; يمكن أن تختفي نماذج المعاينة.
OpenRouterhttps://openrouter.ai/api/v1
OPENROUTER_API_KEY
اختر أداة قادرةنموذج مجاني. ال:freeاللاحقة تعمل فقط للنماذج ذات الامتدادنشرت البديل المجاني. مراجعةحدودوإعدادات الخصوصيةلمقدمي المصب.

هل تقوم بالفعل بتصدير مفتاح موفر معروف؟ يكتشفه برنامج الإعداد؛ في حالة وجود عدة مفاتيح، يطلب منك الاختيار. لا تقم بلصق مفاتيح حقيقية في سجل الأوامر أو التسجيلات أو التعليمات البرمجية المصدر. يحتوي ملف التكوين على سر، وليس قبوًا مشفرًا.

التكوين اليدوي أو تبديل مقدمي الخدمات

استبدل نقطة النهاية أدناه بقيمة الجدول وMODEL_IDمع نموذج تم التحقق منه في حساب المزود الخاص بك. إذا تم تصدير مفتاحك بالفعل كـGROQ_API_KEY، يعيد مثال Bash/zsh هذا استخدامه دون كتابة السر:

export ASH_AI_ENDPOINT="https://api.groq.com/openai/v1"
export ASH_AI_MODEL="MODEL_ID"
export ASH_AI_AUTH_TOKEN="$GROQ_API_KEY"

معادل السمك:

set -gx ASH_AI_ENDPOINT https://api.groq.com/openai/v1
set -gx ASH_AI_MODEL MODEL_ID
set -gx ASH_AI_AUTH_TOKEN "$GROQ_API_KEY"

بالنسبة إلى Gemini أو OpenRouter، استخدم نقطة النهاية الخاصة بهم والمتغير الرئيسي المعترف به بدلاً من ذلك. احفظ الإعدادات المختارة بشكل آمن للأصداف المستقبلية. تتطلب نقاط النهاية السحابية HTTPS ورمزًا مميزًا؛ HTTP المحلي ليس اختصارًا لخدمة سحابية. يرىمرجع البيئةومقدمي الخدمة الآخرين المدعومينللخدمات المدفوعة والتجاوزات المتقدمة.

تثبيت البرنامج النصي: بديل، وليس الخيار الأول

يفضلون Homebrew، أو APT، أو DNF، أو Pacman: فهم يتتبعون الملفات المملوكة، ويتحققون من التنزيلات باستخدام تكوين الثقة الخاص بهم، ويقدمون تحديثات/إزالة مألوفة. ولا تزال تتطلب ثقة الناشرين وإجراءات تثبيت الحزمة.

يعمل البرنامج النصي لموقع الويب على تشغيل التعليمات البرمجية مع أذونات حسابك. يمكن لموقع الويب أو الناشر أو البرنامج النصي المتغير قراءة الأسرار أو تغيير الملفات أو تثبيت برامج أخرى. يحمي HTTPS النقل، وليس نوايا هذا الرمز. يؤدي توصيل عنوان URL مباشرةً إلى الصدفة إلى تنفيذه قبل أن تتمكن من مراجعته. لا تؤدي عمليات التحقق من توقيع أرشيف البرنامج النصي إلى مصادقة البرنامج النصي نفسه. لا تقم مطلقًا بتشغيله باستخدام Sudo أو تعطيل التحقق منه.

المتطلبات الأساسية: نظام تشغيل/بنية مدعومة،$SHELLتحديد Bash/zsh/Fish،سيجستور cosign,tar,uname,install، أدوات مساعدة Shell القياسية، أمر SHA-256 (sha256sum,shasum، أوsha256)، وأداة التنزيل (curl,wgetأو بايثون). يستخدم المثال الضفيرة. يحتاج FreeBSD أيضًا إلى Bash. يجب أن يكون دليل التثبيت/المنزل الخاص بك قابلاً للكتابة.

قم بالتنزيل إلى ملف محلي، وافحصه باستخدام أحد المحررين، وقم بالتنفيذ فقط إذا كنت تثق في مصدره وسلوكه. التفتيش ليس ضمانا للسلامة؛ لا تقم بتشغيل هذه الخطوات بشكل أعمى:

curl -fsSL https://jonconradt.github.io/ash/install.sh -o ash-install.sh
less ash-install.sh

بعد الفحص، قم بتشغيل النسخة المحفوظة كمستخدم عادي:

sh ./ash-install.sh
rm ./ash-install.sh

install.shيقوم بتنزيل أحدث إصدار، ويتحقق من بيان المجموع الاختباري الموقّع من Sigstore وملخص الأرشيف، ثم التثبيتash/ash-brokerفي~/.local/bin. المكونات الإضافية الأصلية تندرج تحت$XDG_DATA_HOME/ash/plugins. يتم تشغيله الإعداد لكل مستخدم ويسأل قبل تمكين تكامل Shell. بدون محطة تفاعلية، قد يتم تخطي مطالبات الموفر/التكامل: تشغيلash installبشكل تفاعلي بعد ذلك.

يمكنك ضبطASH_INSTALL_DIRقبل تشغيل البرنامج النصي لاختيار وجهة أخرى. أضف تلك الوجهة إلى PATH بنفسك.التحديث الذاتي مدعوم فقط تحت~/.local/bin; تتطلب الوجهات المخصصة استبدالًا يدويًا. لا يحتوي البرنامج النصي على محدد Beta/Nightly.

التحقق من الحزمة المباشرة أو الأرشيف

المتطلبات الأساسية: التوقيع المشترك والأداة المساعدة SHA-256. من نفس الإصدار المنشور، قم بتنزيل الحزمة/الأرشيف الخاص بك،SHA256SUMS، وSHA256SUMS.sigstore.json. العمل في دليل جديد. يستبدلvX.Y.Zمع العلامة الدقيقة، بما في ذلك لاحقة الإصدار التجريبي إن أمكن:

cosign verify-blob SHA256SUMS \
  --bundle SHA256SUMS.sigstore.json \
  --certificate-identity "https://github.com/Jonconradt/ash/.github/workflows/release.yml@refs/tags/vX.Y.Z" \
  --certificate-oidc-issuer "https://token.actions.githubusercontent.com"

فقط بعد أن ينجح ذلك، قم بحساب ملخص ملفك باستخدامshasum -a 256 PACKAGEعلى نظام التشغيل MacOS،sha256sum PACKAGEعلى لينكس، أوsha256 -q PACKAGEعلى فري بي إس دي. يستبدلPACKAGEباستخدام اسم الملف الذي تم تنزيله ومقارنته تمامًا بإدخال اسم الملف هذا في البيان الذي تم التحقق منه. توقف عند الإدخال المفقود أو أي عدم تطابق. لا يعد المجموع الاختباري غير الموقع الذي تم تنزيله بجانب الملف مكافئًا للبيانات التعريفية للناشر الذي تم التحقق منه.

التحديثات والقنوات الثلاث

  • الإصدار (مستحسن):الإصدارات المنشورة المستقرة مثلvX.Y.Z; تكوين المستودع يستدعي هذاstable.
  • بيتا:اختبار ما قبل النشر، الموسومةvX.Y.Z-beta.N; توقع التغييرات والانتكاسات.
  • ليلا:التغييرات الأخيرة للفرع الافتراضي، الموسومةvX.Y.Z-nightly.YYYYMMDD.N; أعلى خطر الانحدار. تتم جدولة الإصدارات ولكن قد يتم تخطيها عندما لا يتغير أي شيء أو يفشل النشر.

يقوم الإصدار المنشور بتحديث صيغة Homebrew المقابلة أو مستودع Linux الموقع. يمكنك استلامه عند تشغيل أمر ترقية المدير المالك (أو عند تنفيذ سياسة تحديث نظام التشغيل الخاصة بك). يمكن أن يتأخر النشر وتحديثات المستودع ونشر موقع الويب عن بعضهما البعض؛ تحقق من التوفر قبل تغيير القنوات. لا يقوم ash بتثبيت التحديثات الثنائية في الخلفية بصمت.

اشترك باستخدام طريقة التثبيت التي تمتلكها
طريقةيطلقبيتاليلا
صيغة البيرةJonconradt/ash/ashJonconradt/ash/ash-betaJonconradt/ash/ash-nightly
توزيع أبتstablebetanightly
DNF باسيرلhttps://www.versionx.ai/rpm/https://www.versionx.ai/rpm/beta/https://www.versionx.ai/rpm/nightly/
خادم بكمنhttps://www.versionx.ai/pacman/$archhttps://www.versionx.ai/pacman/beta/$archhttps://www.versionx.ai/pacman/nightly/$arch
السيناريو /ashتحديثالإصدار فقطلا يوجد اشتراكلا يوجد اشتراك
الحزمة المباشرة/القطرانلا يوجد اشتراك تلقائي: اختر علامة منشورة واستبدل العنصر الذي تم التحقق منه يدويًا.

Homebrew: تثبيت الصيغ أو تبديلها

للحصول على تثبيت تجريبي/ليلي جديد، استخدم اسم الصيغة الكاملة المطابق أعلاه في brew install. عند التبديل، قم أولاً بإلغاء تثبيت الصيغة المثبتة حاليًا: توفر الثلاثة جميعها نفس الثنائيات. على سبيل المثال، الإصدار إلى الإصدار التجريبي:

brew uninstall ash
brew install Jonconradt/ash/ash-beta
brew update
brew upgrade ash-beta

يستخدمash-nightlyليلا أوashللإصدار في أوامر التثبيت/الترقية. قم بإلغاء تثبيت الصيغة الفعلية للقناة القديمة، ليس دائمًاash. يتم الاحتفاظ بإعدادات المستخدم. فتح قذيفة جديدة بعد التبديل.

Linux: حدد قناة مستودع واحدة

أبت:استخدمإعداد أبتمع توزيع واحد بالضبط من الجدول. لتبديل تثبيت موجود، قم بتحريره/etc/apt/sources.list.d/versionx.list، استبدالstableمعbetaأوnightly(أو العودة إلىstable)، ثم:

sudo apt update
sudo apt install --allow-downgrades ash

عدم التسليم:استخدمإعداد DNFمع baseurl المحدد. بالنسبة للتثبيت الموجود، استبدلbaseurlفي/etc/yum.repos.d/versionx.repo، مع الاحتفاظ بإعدادات التوقيع الخاصة به، ثم:

sudo dnf --refresh distro-sync ash

بكمن:استخدمإعداد بكمنباستخدام عنوان URL للخادم المحدد. احتفظ باسم القسم[versionx]: كل ​​قناة تنشر قاعدة بيانات اسمهاversionx.db. قم بتغيير الخادم في هذا القسم بدلاً من إضافة قاعدة بيانات بأسماء مختلفة. للتبديل، بما في ذلك الرجوع إلى إصدار سابق:

sudo pacman -Syuu ash

راجع المعاملة المقترحة: العودة إلى الإصدار قد يؤدي إلى خفض مستوى ash، ويمكن لـ Pacman المزدوج u أن يؤدي إلى خفض مستوى الحزم الأخرى أيضًا. قم بعمل نسخة احتياطية من التكوين قبل التبديل. بعد ذلك، استخدم أوامر ترقية APT/DNF/Pacman العادية من أقسام نظام التشغيل؛ لا تترك العديد من مصادر قناة ash ممكّنة.

تحديثات الإصدار المحلي للمستخدم

ash update

يعمل هذا على التحقق من الإصدار الثابت وتثبيته فقط عندما يكون نشطًاashالقابل للتنفيذ تحت~/.local/bin. كما يقوم أيضًا بتحديث الأصول/المكونات الإضافية المجمعة، مع خيارات للملفات المخصصة.ash update --version vX.Y.Zتحديد علامة ثابتة، وليس قناة؛ إنه ليس أمر الرجوع إلى إصدار أقدم. لا يوجد--channelخيار. يجب أن تستخدم عمليات تثبيت مدير الحزم وعمليات تثبيت macOS .pkg ووجهات البرامج النصية المخصصة المدير/المثبت الخاص بها بدلاً من ذلك. يستخدم FreeBSD Beta/Nightly الأرشيفات التي تم التحقق منها يدويًا، وليس اشتراك التحديث الذاتي. افتح غلافًا جديدًا بعد التحديث.

إلغاء التثبيت دون إزالة الملفات غير ذات الصلة

1. قم بتعطيل تكامل Shell أولاً

قبل إزالة الثنائيات، قم بتشغيل الأمر لكل Shell حيث قمت بتمكين التكامل:

Bash

ash install --shell bash --disable-shell-integration

زش

ash install --shell zsh --disable-shell-integration

الأسماك

ash install --shell fish --disable-shell-integration

لوashمفقود بالفعل، قم بتحرير ملف بدء التشغيل ذي الصلة منالتهيئةوإزالة الكتلة فقط بينهما# >>> ash install >>>و# <<< ash install <<<. إزالة أيash- خطوط PATH/البيئة المحددة التي قمت بإضافتها يدويًا، وليس تكوين Shell غير ذي صلة. يغلقash- تمكين القذائف بعد ذلك حتى يخرج الوسطاء المملوكون لها.

2. اسمح لمدير الحزم المالك بإزالة ملفاته

البيرة (الإصدار)

brew uninstall ash

APT

sudo apt remove ash

عدم المعرفة

sudo dnf remove ash

بكمن

sudo pacman -R ash

اختر طريقة التثبيت الخاصة بك فقط؛ للاستخدام المنزلي Homebrew Beta/الليليash-beta/ash-nightly. تقوم APT/DNF/Pacman بإزالة الثنائيات والمكونات الإضافية وصفحات الدليل المملوكة للحزمة، وليس تكوين/سجل الدليل الرئيسي الخاص بك. لا تقم بحذف الملفات المملوكة للحزمة يدويًا.

تنظيف المستودع الاختياري: قم بإزالةashالملف المصدر/etc/apt/sources.list.d/versionx.listوالمخصص لها/etc/apt/keyrings/versionx-keyring.gpg، أوashملف المستودع/etc/yum.repos.d/versionx.repo، أوash [versionx]قسم من/etc/pacman.conf. تأكد أولاً من عدم استخدام أي حزم أخرى لها. قم بإزالة مفتاح ثقة RPM/Pacman المستورد فقط بعد التأكد من بصمة إصبعه وعدم اعتماد أي شيء آخر عليه؛ لا تقم أبدًا بحذف حلقة المفاتيح المشتركة للتوزيع.

3 أ. إزالة macOS .pkg يدويًا

يسجل macOS Installer إيصالًا ولكن ليس لديهashإلغاء التثبيت. تأكد من أن هذا تثبيت .pkg، وليس Homebrew، وافحص حمولته بدقة:

pkgutil --pkg-info dev.ash.cli
pkgutil --files dev.ash.cli

باستخدام هذا الإيصال كمخزون، قم بإزالة إيصاله فقطash-الملفات المملوكة:/usr/local/bin/ash,/usr/local/bin/ash-broker، الملفات الموجودة في/usr/local/lib/ash/plugins,/usr/local/share/man/man1/ash.1، المترجمة المدرجةash.1الصفحات والإشعارات في/usr/local/share/licenses/ash. هناك حاجة إلى امتيازات المسؤول. تحقق من الملكية إذا قام مثبت آخر باستبدال هذه الملفات لاحقًا؛ لا تقم بإزالة نسخته. إزالة فارغةash- الدلائل فقط، غير مشتركة/usr/local,bin، أو أدلة الرجل.

بعد إزالة الحمولة، قم بإزالة الإيصال بشكل اختياري:

sudo pkgutil --forget dev.ash.cli

لا يؤدي نسيان الإيصال إلى إزالة أي ملفات مثبتة.احتفظ بها حتى تنتهي من فحص الحمولة.

3ب. إزالة أرشيف المستخدم المحلي / Linux / FreeBSD يدويًا

حدد موقع النسخة النشطة باستخدامcommand -v ashوcommand -v ash-broker. لتثبيت البرنامج النصي الافتراضي، بعد تعطيل الخطافات، قم بإزالة هذين الملفين المحددين:

rm "$HOME/.local/bin/ash" "$HOME/.local/bin/ash-broker"

لASH_INSTALL_DIRأو أرشيفًا مستخرجًا يدويًا، قم بإزالة الملفات المثبتة فعليًا فقطash/ مسارات الوسيط. إزالة المكونات الإضافية للأرشيف/صفحات الدليل/الإشعارات التي قمت بتثبيتها باستخدام مخزون الملفات الأصلي الخاص بك؛ المكونات الإضافية للبرنامج النصي موجودة فيashدليل بيانات المستخدم. إذا كانت الملفات تحت/usr/bin، تحقق من الملكية أولاً باستخدامdpkg -S /usr/bin/ash,rpm -qf /usr/bin/ash، أوpacman -Qo /usr/bin/ashحسب الاقتضاء. يجب إزالة النسخة المملوكة للحزمة من خلال هذا المدير، حتى لو تم تثبيتها من تنزيل مستقل.

4. اختياري: محو الإعدادات والأدوات والمحفوظات المحلية

قم بعمل نسخة احتياطية لأي شيء تريد الاحتفاظ به. يمكن لهذه الخطوة المنفصلة مسح إعدادات الموفر/الرموز المميزة، والأدوات/المكونات الإضافية المخصصة، وسجل المحادثات، والملفات المؤقتة. لا يعني إلغاء تثبيت الثنائيات الموافقة على مسحها.

  • إعدادات:$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_STATE_HOME/ash/runtimeعندما لا يتوفر جذر وقت التشغيل.

افحص تجاوزات XDG المطلقة الفعلية قبل حذف هذه الدلائل الفرعية ash فقط؛ لا تقم أبدًا بحذف جذر XDG أو الدليل الرئيسي الخاص بك. بعد إغلاق كافة الأصداف الممكّنة لـ ash، قم بإزالة ملفات وقت التشغيل ash المتبقية إذا لزم الأمر. قد تظل بيانات اعتماد MCP OAuth أيضًا في مدير بيانات اعتماد نظام التشغيل: قم بإزالة الإدخالات الخاصة بـ ash هناك وإبطال الوصول لدى موفر MCP. إبطال مفاتيح الذكاء الاصطناعي غير المستخدمة في حسابات المزودين الخاصة بهم؛ لا يؤدي حذف ملف محلي إلى إلغاء المفتاح. لا تقم بإلغاء تثبيت Ollama/models، أو Python، أو التبعيات المشتركة كجزء من إزالة ash.

استكشاف الأخطاء وإصلاحها بسرعة

لم يتم العثور على الأمر أو إصدار خاطئ
تحقق من PATH وcommand -v ash/command -v ash-broker. قديم~/.local/binيمكن للنسخة تظليل الحزمة. استخدم مالك/قناة واحدة في كل مرة وافتح غلافًا جديدًا.
لم تظهر قائمة الموفر
يجريash installمن محطة تفاعلية. يتم الاحتفاظ بالإعدادات الصالحة الموجودة؛ يستخدمالتكوين اليدويلتبديل مقدمي الخدمة. بدون التكامل، تأكد من تصدير الإعدادات إلى بيئة واجهة سطر الأوامر (CLI).
لم يتم رفض أي نموذج أو اتصال
بالنسبة إلى Olma، تأكد من أن الخادم الخاص به قيد التشغيل وollama listيتضمن النموذج الذي اخترته. بالنسبة للخدمات السحابية، تحقق من نقطة النهاية وأهلية النموذج وHTTPS والرمز المميز وحصة الحساب؛ لا تشارك مطلقًا السجلات التي تحمل الرمز المميز.
المستودع أو القناة غير متاحة
تحقق من البنية والإصدار/المستودع المنشور. يمكن أن يتأخر النشر؛ لا تقم بتعطيل التحقق من التوقيع للتغلب على مستودع غير متوفر.
فشل إعداد أداة بايثون
قم بتثبيت Python باستخدام venv/ensurepip واسمح بتنزيلات التبعية، ثم أعد التشغيلash install. أساسيashتظل قابلة للاستخدام بدون هذه الأدوات.

هل تحتاج إلى مزيد من التفاصيل؟ يرىمرجع الأمر,التعليمات، أوالإبلاغ عن مشكلةبدون أوراق اعتماد.