Instal di Debian atau Ubuntu
LihatPanduan instalasi APTuntuk prasyarat, kunci penandatanganan, pengaturan repositori, saluran, pembaruan, dan penghapusan.
Instal di Fedora atau Linux yang kompatibel dengan RHEL
LihatPanduan instalasi DNFuntuk prasyarat, verifikasi metadata, pengaturan repositori, saluran, pembaruan, dan penghapusan.
Instal di Arch Linux
LihatPanduan instalasi Pacmanuntuk prasyarat, verifikasi kunci, pengaturan repositori, saluran, pembaruan, dan penghapusan.
Sinopsis
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]
Keterangan
ashmengirimkan teks cepat ke titik akhir AI yang dikonfigurasi dan mencetak respons asisten. Jika tidak ada teks posisi yang disediakan,ashmembaca teks prompt dari input standar non-interaktif.
Ituinstallsubperintah menginstal aset yang dikelola. File startup shell diubah hanya jika Anda memintanya secara eksplisit--shell-integration; Bash menggunakan~/.bashrc, zsh menggunakan~/.zshrc, dan penggunaan Ikan$XDG_CONFIG_HOME/fish/config.fish.
Koneksi ke penyedia AI dibagikan melalui broker lokal. Kegagalan broker kembali ke HTTPS langsung.
AI dapat menggunakan systemd untuk menjadwalkan tugas-tugas latar belakang. Ini bisa berupa pekerjaan yang berulang atau hanya sekali saja. Pekerjaan terjadwal menggunakan HTTPS langsung secara default.
ashmengikuti direktori dasar XDG: konfigurasi dan file ruang kerja persisten di bawah$XDG_CONFIG_HOME/ash(bawaan~/.config/ash), alat dan plugin di bawah$XDG_DATA_HOME/ash(bawaan~/.local/share/ash), riwayat dan sesi awal di bawah$XDG_STATE_HOME/ash(bawaan~/.local/state/ash), dan cache di bawah$XDG_CACHE_HOME/ash(bawaan~/.cache/ash). Penggunaan soket broker$XDG_RUNTIME_DIR/ashdengan fallback direktori negara bagian. Jalur XDG eksplisit harus bersifat absolut.
Alat, skrip, file, pipa, dan keluaran anak adalah data yang tidak tepercaya dan tidak boleh mengesampingkan instruksi sistem atau pengguna. Fitur eksekusi alat bukan kotak pasir ketika eksekusi Python atau shell sewenang-wenang diaktifkan. Secara default Python diaktifkan, jadi berhati-hatilah.
Server MCP jarak jauh
Server MCP (Model Context Protocol) menyediakan alat yang dapat dipanggil oleh model AI.Ashmendukung server HTTP MCP Streamable jarak jauh dan mempertahankan sesi kliennyaash-brokerlintasAshpemanggilan di shell yang sama.
Daftarkan server tepercaya dengan menjalankanash mcp add <url>dari interaktifAshshell, atau dengan menambahkan URL-nya ke$XDG_CONFIG_HOME/ash/.ash_allow(bawaan~/.config/ash/.ash_allow). Tidak ada server jarak jauh yang diaktifkan secara default.
Otorisasi OAuth terbuka di browser desktop ketika GUI tersedia. Jika browser tidak dapat dibuka,Ashmencetak URL otorisasi yang dapat disalin dan menunggu di terminal. Menggunakanash mcp add <url> --no-browseruntuk selalu menggunakan aliran terminal ini. Otorisasi URL manual masih memerlukan browser pada host yang sama; ini bukan aliran OAuth tanpa browser.
Baris URL dimulai denganhttp://atauhttps://adalah registrasi MCP, bukan perintah shell. Skema dikenali tanpa membedakan huruf besar dan kecil.Ashmendapatkan nama lokal server dari 8 karakter heksadesimal huruf kecil pertama SHA-256 di atas teks URL yang dipangkas. HTTPS diperlukan kecuali untuk pengembangan localhost; URL dengan kredensial, string kueri, atau fragmen yang disematkan akan ditolak. Untuk koneksi OAuth langsung, penemuan mengizinkan alamat IP non-publik hanya untuk otoritas MCP yang terdaftar; host OAuth lainnya tetap tunduk pada pemblokiran alamat non-publik. Proksi jalan keluar yang dikonfigurasi bertanggung jawab untuk memfilter alamat tujuannya. Perubahan dibaca selanjutnyaAshmeminta.
Pendaftaran MCP tetap diaktifkan denganASH_STRICT=1. Hasil alat yang dikembalikan masih dianggap sebagai bukti yang tidak dapat dipercaya. Hanya daftarkan server yang Anda percayai: alat mereka dapat melakukan tindakan atas nama Anda. Untuk server yang dilindungi OAuth,Ashmembuka browser ketika GUI tersedia sementara broker menangani panggilan balik dan token. Kredensial menggunakan manajer kredensial OS bila tersedia, atau file terenkripsi yang dilindungi oleh 32-byte acak yang disediakan penggunaASH_MCP_CREDENTIAL_KEYdi dalam$XDG_DATA_HOME/ash/mcp/.
Jika inisialisasi MCP gagal,Ashmelanjutkan permintaan tanpa alat MCP jarak jauh. Interaktif berjalan mencetak peringatan; proses non-interaktif gagal secara diam-diam.Pekerjaan terjadwal tidak memiliki broker per shell interaktif dan oleh karena itu tidak dapat menggunakan alat MCP jarak jauh.Perintah terjadwal yang bergantung pada MCP mungkin masih berjalan namun dapat selesai tanpa tindakan atau data MCP yang diminta. Jangan jadwalkan perintah yang memerlukan MCP.
LihatPertanyaan Umum MCPuntuk ikhtisar singkat dan catatan pengaturan.
Perintah
ash [--attach path]... [text ...]- Jalankan satu permintaan asisten.
--attachmelampirkan file (gambar atau dokumen) ke permintaan; dapat diulang. Ukuran dibatasi olehASH_ATTACHMENT_MAX_BYTESdan saat ini hanya dikirim melalui kabel ke penyedia yang kompatibel dengan OpenAI. ash mcp add <url> [--no-browser]- Hubungkan dan daftarkan server MCP jarak jauh secara efektif
.ash_allow. Membuka otorisasi OAuth di browser desktop bila tersedia; kembali ke URL yang dapat disalin di terminal.--no-browserselalu menggunakan aliran terminal. ash install [--shell bash|zsh|fish] [--shell-integration|--disable-shell-integration] [--dry-run]- Instal aset tanpa mengubah file startup shell secara default.
--shell-integrationmemilih untuk menambah/memperbarui blok yang dikelola;--disable-shell-integrationhanya menghapus blok itu dan mempertahankan konten pengguna di sekitarnya. Saat interaktif, instal konfigurasi otomatisASH_AI_ENDPOINT,ASH_AI_MODEL, DanASH_AI_AUTH_TOKENbila diperlukan, lebih memilih kunci penyedia yang ada atau titik akhir lokal sebelum menampilkan menu penyedia. ash snooze [duration|off]- Jeda pemrosesan prompt shell otomatis. Standarnya adalah lima menit. Durasi menggunakan sintaks Go seperti
30s,5m, atau1h. Menggunakanoffuntuk segera melanjutkan. ash update [--version vX.Y.Z] [--yes|--skip-customized]- Unduh dan instal rilis stabil macOS, Linux, atau FreeBSD terbaru untuk arsitektur saat ini
~/.local/bin/ash. Rilis memerlukan verifikasi Sigstore dan verifikasi SHA-256.
Lingkungan
ASH_AI_AUTH_TOKEN- Token pembawa opsional. Diperlukan untuk titik akhir cloud kecuali AWS Bedrock. Alamat pribadi/LAN dan
.localnama host diperlakukan sebagai non-cloud kecualiASH_STRICT=1. ASH_AI_CACHE- Pengalih cache asli penyedia opsional. Diaktifkan secara default bila didukung; menerima
1,true,yes,on,enabled,0,false,no,off, ataudisabled(tidak peka huruf besar-kecil). ASH_AI_ENDPOINT- URL dasar yang diperlukan untuk titik akhir API obrolan.
ASH_AI_MODEL- Nama model yang diperlukan dikirim ke titik akhir.
ASH_AI_PROVIDER- Penggantian penyedia opsional. Jika tidak disetel,ashmendeteksi penyedia dari titik akhir.
ASH_AI_TIMEOUT- Batas waktu permintaan opsional. Bawaan:
3m. ASH_ALWAYS_OPENAI_API- Tombol pengujian opsional. Jika benar-benar seperti, rutekan
ollamapenyedia melalui adaptor SDK yang kompatibel dengan OpenAI, bukan implementasi langsungnya. Menerima nilai boolean yang sama denganASH_AI_CACHE. Bawaan: aktif. ASH_ATTACHMENT_MAX_BYTES- Ukuran maksimum opsional dalam byte untuk file yang diteruskan
--attach. Bawaan:10485760(10 MiB). ASH_HISTORY_MAX- Pesan riwayat maksimum opsional per kunci. Bawaan:
40. ASH_LOG_FILE- Jalur log debug opsional saat logging verbose diaktifkan.
ASH_LOG_MAX_BYTES- Ukuran log maksimum opsional sebelum rotasi. Bawaan:
1048576. ASH_MAX_AGENTS- Sub-agen maksimum opsional yang dihasilkan oleh satu proses induk. Bawaan:
6. ASH_MAX_TOOL_ITERS- Iterasi loop panggilan alat AI maksimum opsional. Bawaan:
16. ASH_RELEVANCE_WINDOW- Pengamatan alat terbaru opsional yang disertakan dalam status eksekusi. Bawaan:
4. ASH_RETRY_BASE_DELAY- Penundaan dasar percobaan ulang backoff opsional. Bawaan:
250ms. ASH_RETRY_MAX_ATTEMPTS- Upaya permintaan opsional yang dapat dicoba ulang. Bawaan:
3. ASH_SCHEDULED_TASK- Bendera penjadwal internal digunakan olehash-panggilan terkelola.
ASH_STREAM- Pengalih opsional. Jika benar, mengalirkan respons dari penyedia yang adaptornya mendukungnya (saat ini hanya OpenAI). Menerima nilai boolean yang sama dengan
ASH_AI_CACHE. Bawaan: aktif. ASH_TASK_MAX- Batas opsional pada tugas eksekusi yang berasal dari permintaan. Bawaan:
6. ASH_TASK_STALL_ROUNDS- Asisten opsional berhenti berputar sebelum berhenti. Bawaan:
2. ASH_ALLOW- Daftar opsional yang dapat dieksekusi yang dipisahkan koma untuk
run_unix_command. Jika tidak$XDG_CONFIG_HOME/ash/.ash_allow(bawaan~/.config/ash/.ash_allow) digunakan; penggantian ini tidak memperluas internalAshtoken. ASH_DENY- Daftar penolakan opsional yang dipisahkan koma untuk memblokir perintah, alat, dan plugin secara eksplisit. Jika tidak
$XDG_CONFIG_HOME/ash/.ash_deny(bawaan~/.config/ash/.ash_deny) digunakan. ASH_TOOL_OUTPUT_MAX- Output alat pengambilan maksimum opsional dalam byte. Bawaan:
8192. ASH_TOOL_TIMEOUT- Batas waktu perintah alat lokal opsional. Bawaan:
15s. ASH_VERBOSE- Dasbor logging dan eksekusi debug opsional. Nilai-nilai seperti
1,true,on, Dandebugaktifkan. ASH_SESSION_ID- Ashpengidentifikasi sesi untuk riwayat persisten dan penamaan log. Dihasilkan saat tidak ada; nilai eksplisit yang tidak valid ditolak. Umum
SESSION_IDdiabaikan.
Pengaturan numerik dan durasi eksplisit divalidasi. Batas bilangan bulat harus positif, kecualiASH_MAX_TOOL_ITERS, yang mungkin nol. Batas waktu AI/alat harus positif; penundaan percobaan ulang mungkin nol tetapi tidak negatif. Durasi menggunakan sintaks Go seperti30s,5m, atau1h. Nilai yang salah format atau di luar rentang menghasilkan kesalahan konfigurasi alih-alih menggunakan default secara diam-diam.
File
$XDG_CONFIG_HOME/ash/(bawaan~/.config/ash/)—file prompt kanonik, kebijakan, dan ruang kerja persisten.$XDG_DATA_HOME/ash/(bawaan~/.local/share/ash/)—alat yang dibundel, plugin, paket bahasa, dan kredensial MCP.$XDG_STATE_HOME/ash/(bawaan~/.local/state/ash/)—riwayat, awal, log, dan status tunda.$XDG_CACHE_HOME/ash/(bawaan~/.cache/ash/)—file cache yang dapat dibuat ulang.
Status keluar
ash menghasilkan 0 jika berhasil. Ia mengembalikan bukan nol ketika konfigurasi, permintaan jaringan, atau eksekusi alat gagal.
Contoh
echo "summarize this directory" | ash
ash install --shell bash
ash install --shell zsh --dry-run
Lihat juga
bash(1),zsh(1),man(1)