Jawaban

Pertanyaan yang sering diajukan
.

Jawaban yang jelas tentang instalasi, penyedia, server MCP, batas keamanan, alat, dan file yang dikelola ash di mesin Anda.

Memulai

Apa yang saya perlukan sebelum dapat saya gunakanash?

Anda membutuhkanashdapat dieksekusi, titik akhir AI, dan nama model. Berlariash installmengonfigurasikan ini secara otomatis: ia menggunakan kunci API penyedia cloud yang sudah ditetapkan atau server inferensi lokal yang berjalan saat ditemukan, jika tidak, ia akan menampilkan menu penyedia bernomor dan meminta kunci API, lalu memungkinkan Anda memilih model dari daftar model titik akhir. Anda juga dapat mengaturASH_AI_ENDPOINTDanASH_AI_MODELsecara manual. Titik akhir lokal seperti Ollama dapat digunakanhttp://localhost:11434, dan host LAN sejenisnyahttp://brain.local:11434atau IP pribadi juga diperlakukan sebagai lokal (kecualiASH_STRICT=1); titik akhir cloud harus menggunakan HTTPS dan biasanya memerlukanASH_AI_AUTH_TOKEN. Integrasi Shell bersifat opt-in: Anda selalu dapat menjalankannyaash "your question"secara langsung.

Dimanaashinstal, dan bagaimana cara memeriksa apakah shell saya dapat menemukannya?

Tempat pemasang terverifikasiashdi dalam~/.local/bin/ash. Tambahkan direktori itu ke direktori AndaPATHmenggunakan konfigurasi normal shell Anda;ash installtidak mengedit file startup shell kecuali Anda lulus--shell-integration. Buka terminal baru, lalu jalankancommand -v ashuntuk mengkonfirmasi. Pembaru mandiri menginstal biner penggantinya ke lokasi lokal pengguna yang sama. Pemasang memerlukan Sigstorecosignuntuk memverifikasi manifes checksum yang ditandatangani.

Bagaimana cara saya menggunakanashtanpa mengganti cangkangku?

Berikan prompt yang dikutip secara langsung:ash "how do I find large files?". Tanpa argumen,ashjuga menerima prompt input standar non-interaktif, sepertigit diff | ash. Penggunaan langsung adalah pilihan yang paling tidak mengejutkan saat Anda sedang belajarashatau menulis naskah.

Mengapa demikianashkatakanlah konfigurasi AI saya tidak lengkap?

Periksa ituASH_AI_ENDPOINTDanASH_AI_MODELtidak kosong di lingkungan tempatashberjalan. Untuk nama host cloud, atur jugaASH_AI_AUTH_TOKENbila diperlukan oleh penyedia. Berlariprintf '%s\n' "$ASH_AI_ENDPOINT" "$ASH_AI_MODEL"untuk mengonfirmasi bahwa dua nilai pertama ada, tetapi jangan mencetak token autentikasi ke dalam rekaman terminal atau log bersama.

Menginstal dan Memperbarui

Melakukanashberfungsi di Windows 11?

Tidak secara asli.ashmendukung bash, zsh, dan Fish di macOS, Linux, dan FreeBSD; tidak ada target pemasangan PowerShell. Gunakan WSL untuk pengalaman Linux yang didukung.

Bagaimana cara menginstalashdi Subsistem Windows untuk Linux (WSL)?

IkutiPetunjuk instalasi Linuxdi dalam distribusi WSL Anda, lebih memilih manajer paketnya. Kemudiankonfigurasikan penyedia dan secara opsional aktifkan integrasi Bash. Tidak ada penginstal Windows asli.

Bagaimana cara memperbaruiashke versi rilis terbaru?

Gunakan manajer paket pemilik untuk instalasi Homebrew/APT/DNF/Pacman.ash updatehanya untuk instalasi Rilis stabil di bawah~/.local/bin; itu memverifikasi manifes yang ditandatangani Sigstore dan intisari arsip, dan menolak tanda tangan yang gagal. Pemasangan .pkg asli dan direktori khusus memerlukan penginstal asli/pengganti manual. Melihatpembaruan dan langganan saluranuntuk Rilis, Beta, dan Nightly.

saya berlariash install. Mengapa tidak ada perubahan di terminal ini?

Integrasi shell dinonaktifkan secara default. Untuk mengaktifkannya, jalankanash install --shell bash --shell-integration(atau pilihzshataufish); itu tidak menulis ulang proses shell yang sudah berjalan. Buka terminal baru atau muat ulang file startup yang dipilih. Berlariash install --shell bash --disable-shell-integrationuntuk menghapusAshblok yang dikelola sambil mempertahankan konten di sekitarnya.

Perintah yang tidak diketahui masih mengatakan “tidak ditemukan.” Bagaimana cara memecahkan masalah integrasi shell?

Pertama konfirmasikan bahwa Anda mengaktifkan integrasi shell denganash install --shell bash --shell-integration(ganti shell Anda), lalu jalankancommand -v ash; pengait tidak dapat memanggil biner yang tidak dapat ditemukan oleh shell Anda. Muat ulang atau mulai ulang shell dan periksa apakah file startupnya berisi>>> ash install >>>blok yang dikelola. Akhirnya lariash snooze off, karena tunda dengan sengaja meninggalkan perintah yang tidak diketahui sebagai kegagalan normal “tidak ditemukan”.

File apa yang berfungsiash installberubah, dan bolehkah saya mempratinjaunya?

Ia mengelola konfigurasi di bawah$XDG_CONFIG_HOME/ash(bawaan~/.config/ash), data di bawah$XDG_DATA_HOME/ash(bawaan~/.local/share/ash), sebutkan di bawah$XDG_STATE_HOME/ash(bawaan~/.local/state/ash), dan cache di bawah$XDG_CACHE_HOME/ash(bawaan~/.cache/ash). File startup diubah hanya dengan--shell-integration. Menggunakanash install --shell bash --shell-integration --dry-rununtuk melihat pratinjau; dry-run tidak menulis file. Menginstal ulang instalasi adalah idempoten; menggunakan--overwritehanya jika Anda ingin file bootstrap terkelola disegarkan.

Melakukanashmendukung Ikan?

Ya. Berlariash install --shell fish --shell-integrationuntuk ikut serta.ashmenambahkan blok terkelola ke$XDG_CONFIG_HOME/fish/config.fish, atau~/.config/fish/config.fishketika XDG_CONFIG_HOME tidak disetel. Kegunaan ikanfish_command_not_found, sehingga perintah yang belum terselesaikan tercapaiashdengan argumen aslinya.

Mengapa tidak menggunakan huruf keciltestDantypedi Ikan?

Fish mencadangkan nama huruf kecil tersebut sebagai bawaan yang penting dan tidak mengizinkan fungsi untuk menggantikannya. MenggunakanTest ...atauType ...untuk mengekspresikanashniat, atau memohonash "..."secara langsung. Pembungkus tabrakan kompatibel lainnya tetap tersedia.

Bagaimana dengan ksh93?

ksh93 tidak didukung untuk integrasi shell. DiaFPATHperilaku hanya dapat memuat file yang diberi nama berdasarkan perintah yang tidak diketahui; ia tidak memiliki panggilan balik command-not-found umum yang dapat diimplementasikan dengan amanashperutean cepat atau siklus hidup broker.

AI dan Koneksi

Melakukanashtermasuk AI?

TIDAK.ashadalah klien untuk titik akhir AI yang Anda konfigurasikan. MengaturASH_AI_ENDPOINTDanASH_AI_MODEL;ashmendukung Ollama lokal dan server lokal lain yang kompatibel dengan OpenAI (LM Studio, llama.cpp, MLX, LocalAI, vLLM, text-generasi-webui, Jan, GPT4All), dan mendeteksi adaptor penyedia cloud yang didukung dari titik akhir, dengan opsionalASH_AI_PROVIDERmengesampingkan.

Apa itu server MCP dan bagaimana cara menambahkannya?

Server MCP (Model Context Protocol) mengekspos alat yang dapat dipanggil oleh model AI, seperti pencarian, analisis, atau tindakan khusus layanan. Server jarak jauh tidak diaktifkan secara default. Untuk menambahkan server MCP HTTP Streamable yang tepercaya, gunakanash mcp add <url>atau tambahkan URL-nya pada barisnya sendiri$XDG_CONFIG_HOME/ash/.ash_allow(bawaan~/.config/ash/.ash_allow).Ashterhubung melalui brokernya dan menawarkan alat server ke model. Gunakan hanya server yang Anda percayai: alat mereka mungkin melakukan tindakan atas nama Anda. HTTPS diperlukan kecuali untuk server pengembangan localhost. Jika inisialisasi MCP gagal,ashberlanjut tanpa alat MCP jarak jauh: alat ini memperingatkan dalam sesi interaktif dan tetap diam dalam sesi non-interaktif.

Bisakah pekerjaan terjadwal menggunakan server MCP?

Tidak. Pekerjaan terjadwal dan pekerjaan non-interaktif lainnya tidak mewarisi broker shell interaktif, sehingga alat MCP jarak jauh tidak tersedia.Ashmasih menjalankan prompt tanpa alat MCP dan menekan kegagalan inisialisasi yang diharapkan ini. Oleh karena itu, perintah yang bergantung pada MCP mungkin selesai tanpa data atau tindakan yang diminta. Jangan jadwalkan perintah yang memerlukan MCP.

Apakah MCP berfungsi kapanASH_STRICT=1?

Ya. Baris URL HTTP(S) secara eksplisit mendaftarkan server MCP dan tidak diperlakukan sebagai shell yang dapat dieksekusi. Mode ketat tidak menonaktifkan server MCP yang dikonfigurasi. Itu masih berlakuAshperlindungan keluaran yang tidak tepercaya terhadap konten alat yang dikembalikan.

Bagaimana cara kerja MCP OAuth, dan di mana kredensial disimpan?

Untuk server yang dilindungi OAuth,Ashmembuka halaman otorisasi di browser desktop ketika GUI tersedia; jika tidak dapat membuka browser, ia akan mencetak URL untuk diotorisasi secara manual di browser pada host yang sama. Menggunakanash mcp add <url> --no-browseruntuk selalu menggunakan aliran terminal. 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. Broker menangani panggilan balik, pertukaran token, penyegaran, dan sesi MCP yang persisten. Kredensial disimpan di manajer kredensial sistem operasi bila tersedia. Jika tidak tersedia, konfigurasikan fallback file terenkripsi menggunakan 32-byte acakASH_MCP_CREDENTIAL_KEY;Ashtidak pernah menyimpan kunci itu sendiri.

Di mana saya dapat menemukan AUTH_KEY untuk penyedia cloud AI terpopuler?

ashkegunaanASH_AI_AUTH_TOKENuntuk token pembawa opsionalnya; itu tidak membuat atau mendistribusikan kunci penyedia. Buat kunci di akun penyedia Anda, sepertiOpenAI,Antropis,Google AI Studio,Azure OpenAI,Mistral,Berpadu,Bagus,xAI,Pencarian Mendalam,Bersama AI,BukaRouter,Memeluk Wajah, atauOllama, lalu ekspor sebagai variabel lingkungan penyedia (atau setASH_AI_AUTH_TOKENsecara langsung).ash installmendeteksi secara otomatis variabel lingkungan khusus penyedia yang didukung. Titik akhir cloud harus menggunakan HTTPS dan memerlukan token kecuali AWS Bedrock; alamat pribadi/LAN dan.localnama host diperlakukan sebagai lokal kecualiASH_STRICT=1sudah diatur.

Melakukanashmembuka koneksi baru setiap kali?

Bukan untuk penggunaan shell Unix interaktif normal. Bash, zsh, dan Fish memulai satu broker per sesi shell, berkomunikasi dengannya melalui soket Unix pribadi, dan menggunakan kembali kumpulan koneksi HTTP yang dibatasi. Broker keluar setelah tidak aktif; pekerjaan terjadwal menggunakan permintaan langsung daripada broker shell yang persisten.

Apakah Fish menggunakan broker?

Ya. Pembungkus Ikan memulai dan menggunakan kembali broker per sesi yang sama seperti bash dan zsh, menyegarkan sewanya segera sebelumashpermintaan, dan menjaga pengaturan broker tetap tenang.

Apa yang terjadi jika permintaan lambat, tidak tersedia, atau saya berubah pikiran?

TekanCtrl-Cuntuk membatalkan permintaan dalam penerbangan. Batas waktu permintaan AI default adalah tiga menit; mengaturASH_AI_TIMEOUT, MisalnyaASH_AI_TIMEOUT=90s, untuk mengubahnya.ashmencoba ulang kegagalan AI yang dapat dicoba hingga tiga kali secara default dengan batas waktu yang singkat; sesuaikan perilaku itu denganASH_RETRY_MAX_ATTEMPTS,ASH_RETRY_BASE_DELAY, DanASH_RETRY_MAX_DELAY.

Keamanan dan Kontrol

Bagaimana cara saya mengunciashagar lebih aman, dan apa implikasinya?

Jaga agar daftar izin yang dapat dieksekusi tetap sempit, pilih alat hanya-baca, dan jangan tambahkan perintah istimewa atau destruktif. MengaturASH_STRICT=1untuk memblokir pola injeksi cepat yang dikenali dari alat, file, skrip, saluran pipa, dan keluaran agen anak yang tidak tepercaya. Ini juga dapat menyembunyikan teks sah yang menyerupai upaya penyuntikan. Daftar yang diizinkan adalah batas eksekusi, bukan sandbox:ashdan alat yang diizinkan masih berjalan sesuai keinginan Anda.

Bisaashjalankan perintah destruktif sepertirm?

Tidak dengan daftar izin default yang diinstal. Ini secara eksplisit menyarankan untuk tidak melakukannyarm,mv,dd,chmod,chown,kill, Dansudo. Jika Anda menambahkan salah satunya,ashdapat memintanya dengan izin Anda; meninjau keputusan itu dengan hati-hati.

Bagaimana cara mengubah perintahashdiperbolehkan untuk dieksekusi?

Sunting$XDG_CONFIG_HOME/ash/.ash_allow(bawaan~/.config/ash/.ash_allow) dan daftarkan nama-nama yang dapat dieksekusi, satu per baris atau dipisahkan koma. Ini mandiri$TOOLS_DIR_LISTDan$PLUGINS_DIR_LISTarahan mengizinkan skrip terkelola dan plugin asli yang memenuhi syarat; gantilah dengan nama literal untuk kebijakan yang membatasi. Skrip dan plugin yang memenuhi syarat adalah file biasa yang dapat dieksekusi di bawah$XDG_DATA_HOME/ash/toolsDan$XDG_DATA_HOME/ash/plugins(basis default~/.local/share/ash). Tambahkan perintah yang ditolak ke$XDG_CONFIG_HOME/ash/.ash_deny, atau ditetapkanASH_ALLOW/ASH_DENYke daftar yang dipisahkan koma. Perubahan dibaca selanjutnyaashmeminta.

Siapa penggunanyaashberjalan di bawah?

ashdan setiap alat yang diizinkan dijalankan sebagai pengguna yang memulaiash. Itu tidak meningkatkan hak istimewa.Ash-Direktori dan file XDG yang dikelola menggunakan izin terbatas, namun kontennya tetap dapat diakses oleh pengguna Anda dan proses apa pun yang Anda izinkan secara eksplisit.

Melakukanashteks kepercayaan yang diterima melalui pipa sama dengan teks pengguna? Perlindungan apa yang ada untuk data berbahaya?

Ya. Kapanashtidak menerima argumen baris perintah dan masukan standar disalurkan, masukan tersebut diperlakukan sebagai perintah pengguna. Jangan menyalurkan halaman web, log, atau teks yang tidak tepercaya secara langsung keashkecuali Anda bermaksud untuk mengotorisasinya sebagai perintah. Ini berbeda denganash-alat yang dikelola, file, skrip, saluran pipa, dan keluaran agen anak:ashmemberi label pada hasil tersebut sebagai bukti yang tidak dapat dipercaya dan menginstruksikan model untuk tidak pernah mengikuti instruksi dari bukti tersebut. MengaturASH_STRICT=1untuk juga mengganti frasa injeksi cepat yang dikenal dengan bukti yang tidak tepercaya. Aturan eksekusi daftar yang diizinkan dan direct-argv masih berlaku untuk eksekusi alat.

Apakah sayaashfile pribadi dari pengguna lain di komputer ini?

Ash-Direktori dan file XDG yang dikelola menggunakan izin terbatas hanya untuk pemilik jika didukung. Ini melindungi terhadap akun lokal lain di bawah izin Unix normal, namun tidak terhadap akun Anda sendiri, administrator, cadangan, atau perangkat lunak yang Anda pilih untuk dijalankan dengan akses ke direktori home Anda.

Alat dan Alur Kerja

Melakukanashmendukung pipa dan tradisi Unix lainnya?

Ya. Anda dapat menyalurkan teks ke dalamnyaashsebagai prompt, misalnyagit diff | ash. Untuk alur alat yang diminta AI,ashmendukung dua hingga enam belas executable yang diizinkan dan terhubung langsung tanpa shell, sepertils | grep pattern | pbcopy. Pola kontrol shell dalam argumen alat diblokir, dan setiap executable diash-Pipa yang dikelola harus diizinkan.

Akanashmenafsirkan ulang perintah di dalam skrip shell, perintah SSH, atau tugas cron saya?

Tidak. Pembungkus integrasi Bash dan zsh segera kembali dalam shell non-interaktif, sehingga skrip, tugas CI, satu baris SSH, dan perintah cron mempertahankan perilaku normal command-not-found. Gunakan pemanggilan eksplisit sepertiash "summarize this log"atausome-command | ashkapan otomatisasi harus dipanggilash.

Bagaimana cara berhentiashdari menafsirkan perintah saya selama beberapa menit?

Berlariash snoozeuntuk lima menit default, atau tentukan durasi sepertiash snooze 30satauash snooze 1h. Berlariash snooze offuntuk segera melanjutkan. Tunda menjeda perutean perintah-tidak-ditemukan dan pembungkus otomatis; eksplisitash ...perintah masih berfungsi.

Bagaimana saya bisa melakukan debugashdan melihat informasi lebih lanjut tentang apa yang dilakukannya?

MengaturASH_VERBOSE=1sebelum berlariashuntuk mengaktifkan keluaran debug terstruktur dan dasbor eksekusi terminal. MengaturASH_LOG_FILEuntuk menulis debug JSON ke file;ASH_LOG_MAX_BYTESmengontrol rotasi dan default ke 1 MiB ketika file log dikonfigurasi.

Batasan apa yang berlaku kapanashmenjalankan alat?

Secara default, setiap panggilan alat memiliki batas waktu 15 detik dan menangkap output hingga 8192 byte. Permintaan AI dapat membuat hingga 16 iterasi perulangan alat, dan sebuahash-Pipa yang dikelola memiliki dua hingga enam belas tahap. Sesuaikan batas waktu alat dan batas keluaran denganASH_TOOL_TIMEOUTDanASH_TOOL_OUTPUT_MAX; menjaga output tetap fokus dengan perintah sepertihead,tail, ataugrep.

Di mana prompt sistem default?

File prompt kanonik adalah$XDG_CONFIG_HOME/ash/.ash_system(bawaan~/.config/ash/.ash_system), diinstal dari paket default saat Anda menjalankannyaash install. File yang ada di bawah yang lama~/.ashruang kerja tidak secara otomatis dimigrasikan atau dibaca. Biasa$VARIABLEnilai-nilai diperluas dari lingkungan, tapi$TOOLS_DIR_LIST,$PLUGINS_DIR_LIST, Dan$IF_PYTHON_AVAILABLEdicadangkan secara internalAshsubstitusi dan tidak pernah berasal dari lingkungan.

Di mana saya meletakkan skrip dan plugin asli saya sendiriashuntuk memanggil sebagai alat?

Masukkan skrip Python pengguna$XDG_DATA_HOME/ash/tools/dan plugin biner asli di$XDG_DATA_HOME/ash/plugins/(basis default~/.local/share/ash). Pastikan mereka dapat dieksekusi, dan tambahkan nama kosong yang dapat dieksekusi ke dalamnya$XDG_CONFIG_HOME/ash/.ash_allow(atau mengandalkan$TOOLS_DIR_LIST/$PLUGINS_DIR_LIST).Ashtidak memanggil shell untuk perintah dan plugin Unix yang diizinkan.

Apa praktik terbaik untuk suatu alat atau plugin sehingga AI memahami tujuan dan penggunaannya?

Ikutikontrak plugin asli: mengekspos opsi CLI yang dapat diprediksi, terapkan--help,--version, dan versi JSON--ai-docsmetadata, dan menjelaskan skema input/output dan perilaku kegagalan. Memancarkan JSON terstruktur kompak dengan astatusdetail kesalahan lapangan dan yang dapat ditindaklanjuti, bukan prosa yang dicampur dengan data. Batasi keluaran, validasi masukan, tetapkan batas waktu jaringan, dan jadikan alat aman untuk dipanggil berulang kali. Tambahkan nama file aslinya ke$XDG_CONFIG_HOME/ash/.ash_allow;ashdapat menjalankannya hanya jika diizinkan dan tidak terdaftar$XDG_CONFIG_HOME/ash/.ash_deny.

Apa saja skrip alat dan plugin asli yang disediakan?

Skrip bootstrap Python yang diinstal adalahheadlines.py,wikipedia.py, Danyfinance.pydi dalam$XDG_DATA_HOME/ash/tools/. Plugin asli yang disediakan adalahwhat_time_is_it(Pergi),flip_a_coin(Karat), dancalculator(Skrip Ketik) di$XDG_DATA_HOME/ash/plugins/.

Plugin Rust, termasuk flip_a_coin, hanya disertakan di Linux dan FreeBSD. Build macOS menyertakan what_time_is_it dan calculator, tetapi tidak menyertakan plugin Rust.

Mengapa plugin Rust tidak tersedia di macOS, dan bagaimana memasangnya secara manual?

macOS tidak menyertakan plugin Rust seperti flip_a_coin agar kedua arsitektur dapat dibangun di Linux tanpa runner macOS dan mengurangi biaya CI. Ini bukan batasan kompatibilitas. Homebrew tetap menyertakan plugin Go dan TypeScript; Linux dan FreeBSD tetap menyertakan Rust.

Di Mac Anda, pasang Xcode Command Line Tools (xcode-select --install jika diperlukan) dan Rust melalui rustup. Jalankan perintah berikut di tempat Anda ingin membuat salinan baru repositori. Makefile plugin membangun untuk arsitektur asli Mac dan memasang langsung ke direktori pengguna, tanpa sudo.

git clone https://github.com/Jonconradt/ash.git
cd ash
rustup toolchain install 1.99.0 --profile minimal
plugin_dir="${XDG_DATA_HOME:-$HOME/.local/share}/ash/plugins"
make -C internal/app/ash_bootstrap/plugins_src/flip_a_coin build BUILD_DIR="$plugin_dir"
"$plugin_dir/flip_a_coin" --version
"$plugin_dir/flip_a_coin" --ai-docs

Gunakan Makefile plugin, bukan make plugins-build, yang melewati Rust di macOS. Pertahankan $PLUGINS_DIR_LIST di ${XDG_CONFIG_HOME:-$HOME/.config}/ash/.ash_allow atau tambahkan flip_a_coin; nama itu tidak boleh ada di .ash_deny. Mulai pemanggilan ash baru. Jalankan "$plugin_dir/flip_a_coin" untuk menguji tanpa penyedia AI.

Bisaashhubungi sub-agen?

Ya. Agen orang tua dapat menggunakanrun_sub_agentuntuk satu tugas yang terfokus dan independen. Seorang anak mewarisi direktori kerja, konfigurasi, alat, dan izin OS, mengembalikan hasil yang dibatasi, dan tidak dapat membuat anak lain. Maksimum defaultnya adalah enam sub-agen per induk yang dijalankan dan dapat diubahASH_MAX_AGENTS.

Bisaashmenghasilkan file memori untuk melacak tugas-tugas kompleks dan apa yang telah dipelajari dalam sesi tersebut?

Ya. Itu dapat menulis file ruang kerja persisten di bawah$XDG_CONFIG_HOME/ash(bawaan~/.config/ash), yang dilacak dalam inventaris ruang kerjanya, dan file awal cakupan sesi di bawah$XDG_STATE_HOME/ash/scratch/<session-id>/(basis default~/.local/state/ash). Goresan bersifat opsional: gunakan untuk skrip yang dapat digunakan kembali, data perantara, akumulasi temuan, atau artefak yang dapat direvisi ketika semuanya menambah nilai. Alat-alatnya adalahread_scratch_file,write_scratch_file,append_scratch_file,replace_scratch_file,edit_scratch_file, Danlist_scratch_files. AktifAshdan proses broker melindungi sesi mereka dengan kunci OS. Direktori yang tidak terkunci dibersihkanAshkeluar hanya setelah lebih dari 48 jam dan belum diakses dalam 24 jam; file kunci sisa kerusakan tidak memblokir pembersihan nanti. Gunakan file ruang kerja persisten untuk informasi yang ingin Anda simpan.

Bisaashmenjadwalkan pekerjaan untuk nanti?

Ya, melalui alat AI-nya. Di macOS, penjadwalan satu kali menggunakan per penggunalaunchdLaunchAgent dan membutuhkanlaunchctl. Di Linux, jadwal berulang didukung melalui pengguna Andacrontab;ashhanya mengelola entri yang ditandainya sendiri. Satu kali sajalaunchdpenjadwal tidak tersedia di Linux, jadi gunakan entri cron atau penjadwal Linux lainnya untuk pekerjaan Linux satu kali. Proses terjadwal menerima lingkungan terbatas dan menggunakan HTTPS langsung, bukan broker shell interaktif, jadi pastikan konfigurasi AI yang diperlukan tersedia untuk pekerjaan terjadwal. Mereka tidak dapat menggunakan alat MCP jarak jauh;Ashberjalan tanpa mereka dan tidak memperingatkan dalam sesi non-interaktif. Jangan jadwalkan perintah yang memerlukan MCP.

Sesi dan Penyimpanan

Di mana file riwayat atau lognyaash?

Riwayat percakapan disimpan sebagai JSON di bawah$XDG_STATE_HOME/ash/history/(bawaan~/.local/state/ash/history/). Riwayat terjadwal dan log debug disimpan di direktori status yang sama. Anda dapat memilih jalur log debug lain denganASH_LOG_FILE.

Berapa lama file riwayat disimpan?

ashmenghapus riwayat file JSON yang lebih lama dari 14 hari selama pembersihan aplikasi normal, dengan anggaran pembersihan 300 ms sehingga keluarnya tidak tertunda. Jendela pesan terbaru terpisah: jendela ini menyimpan hingga 40 pesan per percakapan secara default dan dapat diubahASH_HISTORY_MAX.

Bagaimana cara menghapus percakapan atau memulai percakapan baru?

Riwayat dipisahkan berdasarkan ID sesi dan titik akhir AI/kunci model. Mulai sesi terminal baru untuk ID sesi baru, atau hapus file JSON yang relevan di bawah$XDG_STATE_HOME/ash/history/(bawaan~/.local/state/ash/history/) ketika Anda dengan sengaja ingin membuang riwayat percakapan lokal tersebut. Menghapus file riwayat tidak mencabut kunci penyedia atau menghapus data sisi penyedia; mengelolanya secara terpisah dengan penyedia.

ApaASH_SESSION_IDdan di mana itu dihasilkan?

Itu adalahAshPengidentifikasi per sesi yang dimiliki digunakan untuk memisahkan riwayat, ruang awal, soket broker, dan nama log terjadwal. Lingkungan shell terkelola menciptakan lingkungan tersebut ketika shell dimulai dan mempertahankannya ketika diambil sumbernya kembali;Ashmembuat satu untuk pemanggilan tanpa nilai yang disediakan shell. Sebuah generikSESSION_IDdiabaikan.

Bisakah saya menyediakan milik saya sendiriASH_SESSION_ID?

Ya.Ashmemvalidasi ID eksplisit dan menolak nilai yang tidak valid daripada menggantinya secara diam-diam. ID yang valid terdiri dari maksimal 128 karakter dan menggunakan huruf, angka, garis bawah, tanda hubung, dengan satu akhiran titik sesi anak opsional. Jangan gunakan nilai yang tidak dipercaya atau dibagikan: tabrakan menggabungkan riwayat sesi dan status waktu proses.

Dukungan dan Komunitas

Bagaimana cara melaporkan bug?

Buka terbitan digithub.com/Jonconradt/ash/issuesdenganashversi atau penerapannya, sistem operasi dan shell Anda, konfigurasi yang relevan dengan masalah dengan rahasia yang dihapus, langkah-langkah yang dapat direproduksi, dan hasil yang diamati. Untuk kerentanan keamanan, jangan membuka isu publik; laporkan secara pribadi melalui email atau penasihat keamanan GitHub.

Apakah ada papan diskusi diashproyek?

Ya. MenggunakanDiskusi GitHubuntuk pertanyaan dan ide, danMasalah GitHubuntuk bug yang dapat direproduksi dan pekerjaan terlacak.