
Diuji dan kompatibel dengan Openai Chatgpt, Azure Openai Service, AI dan Llama yang luar biasa!
ChatGPT CLI menyediakan antarmuka baris perintah yang kuat untuk interaksi tanpa batas dengan model chatgpt melalui openai dan azure, menampilkan kemampuan streaming dan opsi konfigurasi yang luas.

context-window .-l atau --list-models .--list-threads .config.yaml , dan variabel lingkungan. Untuk penyesuaian cepat, berbagai bendera --set-<value> disediakan. Untuk memverifikasi pengaturan Anda saat ini, gunakan flag --config atau -c . Kami senang memperkenalkan dukungan untuk file prompt dengan bendera --prompt di versi 1.7.1 ! Fitur ini memungkinkan Anda untuk memberikan konteks yang kaya dan terperinci untuk percakapan Anda langsung dari file.
--prompt Bendera --prompt memungkinkan Anda menentukan file yang berisi konteks awal atau instruksi untuk percakapan chatgpt Anda. Ini sangat berguna ketika Anda memiliki instruksi atau konteks terperinci yang ingin Anda gunakan kembali di berbagai percakapan.
Untuk menggunakan bendera --prompt , lewati jalur file prompt Anda seperti ini:
chatgpt --prompt path/to/your/prompt.md " Use a pipe or provide a query here " Isi prompt.md akan dibaca dan digunakan sebagai konteks awal untuk percakapan, sementara kueri yang Anda berikan secara langsung akan berfungsi sebagai pertanyaan atau tugas spesifik yang ingin Anda atasi.
Berikut adalah contoh yang menyenangkan di mana Anda dapat menggunakan output dari perintah git diff sebagai prompt:
git diff | chatgpt --prompt ../prompts/write_pull-request.md Dalam contoh ini, konten dari file prompt write_pull-request.md digunakan untuk memandu respons model berdasarkan data diff dari git diff .
Untuk berbagai petunjuk siap pakai, lihat repositori petunjuk yang luar biasa ini. Ini dapat berfungsi sebagai titik awal yang bagus atau inspirasi untuk permintaan khusus Anda sendiri!
Anda dapat menginstal chatgpt-cli menggunakan homebrew:
brew tap kardolus/chatgpt-cli && brew install chatgpt-cliUntuk instalasi yang cepat dan mudah tanpa menyusun, Anda dapat langsung mengunduh biner pra-dibangun untuk sistem operasi dan arsitektur Anda:
curl -L -o chatgpt https://github.com/kardolus/chatgpt-cli/releases/latest/download/chatgpt-darwin-arm64 && chmod +x chatgpt && sudo mv chatgpt /usr/local/bin/curl -L -o chatgpt https://github.com/kardolus/chatgpt-cli/releases/latest/download/chatgpt-darwin-amd64 && chmod +x chatgpt && sudo mv chatgpt /usr/local/bin/curl -L -o chatgpt https://github.com/kardolus/chatgpt-cli/releases/latest/download/chatgpt-linux-amd64 && chmod +x chatgpt && sudo mv chatgpt /usr/local/bin/curl -L -o chatgpt https://github.com/kardolus/chatgpt-cli/releases/latest/download/chatgpt-linux-arm64 && chmod +x chatgpt && sudo mv chatgpt /usr/local/bin/curl -L -o chatgpt https://github.com/kardolus/chatgpt-cli/releases/latest/download/chatgpt-linux-386 && chmod +x chatgpt && sudo mv chatgpt /usr/local/bin/curl -L -o chatgpt https://github.com/kardolus/chatgpt-cli/releases/latest/download/chatgpt-freebsd-amd64 && chmod +x chatgpt && sudo mv chatgpt /usr/local/bin/curl -L -o chatgpt https://github.com/kardolus/chatgpt-cli/releases/latest/download/chatgpt-freebsd-arm64 && chmod +x chatgpt && sudo mv chatgpt /usr/local/bin/Unduh biner dari tautan ini dan tambahkan ke jalur Anda.
Pilih perintah yang sesuai untuk sistem Anda, yang akan mengunduh biner, membuatnya dapat dieksekusi, dan memindahkannya ke direktori Anda/usr/lokal/bin (atau % jalur % pada windows) untuk akses mudah.
Atur variabel lingkungan OPENAI_API_KEY ke kunci rahasia chatgpt Anda. Untuk mengatur variabel lingkungan, Anda dapat menambahkan baris berikut ke profil shell Anda (mis.
export OPENAI_API_KEY= " your_api_key "Untuk mengaktifkan pelacakan sejarah di seluruh panggilan CLI, buat direktori ~/.chatgpt-cli menggunakan perintah:
mkdir -p ~ /.chatgpt-cliSetelah direktori ini sudah ada, CLI secara otomatis mengelola riwayat pesan untuk setiap "utas" yang Anda ikuti. Sejarah beroperasi seperti jendela geser, mempertahankan konteks hingga maksimum token yang dapat dikonfigurasi. Ini memastikan keseimbangan antara mempertahankan konteks percakapan dan mencapai kinerja yang optimal.
Secara default, jika utas tertentu tidak disediakan oleh pengguna, CLI menggunakan utas default dan menyimpan riwayat di ~/.chatgpt-cli/history/default.json . Anda dapat menemukan detail lebih lanjut tentang cara mengkonfigurasi parameter thread di bagian konfigurasi dokumen ini.
Cobalah:
chatgpt what is the capital of the Netherlands Untuk memulai Mode Interaktif, gunakan bendera -i atau --interactive :
chatgpt --interactive Jika Anda ingin CLI secara otomatis membuat utas baru untuk setiap sesi, pastikan variabel konfigurasi auto_create_new_thread diatur ke true . Ini akan membuat pengidentifikasi utas yang unik untuk setiap sesi interaktif.
Untuk menggunakan fitur pipa, buat file teks yang berisi beberapa konteks. Misalnya, buat file bernama Context.txt dengan konten berikut:
Kya is a playful dog who loves swimming and playing fetch.Kemudian, gunakan fitur pipa untuk memberikan konteks ini ke chatgpt:
cat context.txt | chatgpt " What kind of toy would Kya enjoy? "Untuk membuat daftar semua model yang tersedia, gunakan bendera -l atau -daftar model:
chatgpt --list-modelsUntuk opsi lebih lanjut, lihat:
chatgpt --helpCHATGPT CLI mengadopsi strategi konfigurasi empat tingkat, dengan berbagai tingkat prioritas yang ditetapkan untuk bendera, variabel lingkungan, file config.yaml, dan nilai default, dalam urutan masing-masing:
| Variabel | Keterangan | Bawaan |
|---|---|---|
name | Awalan untuk variabel lingkungan menimpa. | 'Openai' |
thread | Nama utas obrolan saat ini. Setiap nama utas unik memiliki konteksnya sendiri. | 'bawaan' |
omit_history | Jika benar, riwayat obrolan tidak akan digunakan untuk memberikan konteks untuk model GPT. | PALSU |
command_prompt | Prompt perintah dalam mode interaktif. Harus dikutip tunggal. | '[%datetime] [q%counter]' |
output_prompt | Prompt output dalam mode interaktif. Harus dikutip tunggal. | '' |
auto_create_new_thread | Jika diatur ke true , utas baru dengan pengidentifikasi unik (misalnya, int_a1b2 ) akan dibuat untuk setiap sesi interaktif. Jika false , CLI akan menggunakan utas yang ditentukan oleh parameter thread . | false |
track_token_usage | Jika diatur ke True, menampilkan penggunaan token total setelah setiap kueri dalam mode -Query, membantu Anda memantau penggunaan API. | false |
debug | Jika diatur ke True, cetak data permintaan dan respons mentah selama panggilan API, berguna untuk debugging. | false |
skip_tls_verify | Jika diatur ke True, lewati verifikasi sertifikat TLS, memungkinkan permintaan HTTPS yang tidak aman. | false |
multiline | Jika diatur ke True, memungkinkan mode input multilin dalam sesi interaktif. | false |
| Variabel | Keterangan | Bawaan |
|---|---|---|
api_key | Kunci API Anda. | (tidak ada untuk keamanan) |
model | Model GPT yang digunakan oleh aplikasi. | 'GPT-3.5-turbo' |
max_tokens | Jumlah maksimum token yang dapat digunakan dalam satu panggilan API. | 4096 |
context_window | Batas memori untuk seberapa banyak percakapan dapat diingat pada satu waktu. | 8192 |
role | Peran sistem | 'Anda adalah asisten yang membantu.' |
temperature | Suhu pengambilan sampel apa yang digunakan, antara 0 dan 2. Nilai yang lebih tinggi membuat output lebih acak; Nilai yang lebih rendah membuatnya lebih fokus dan deterministik. | 1.0 |
frequency_penalty | Nomor antara -2.0 dan 2.0. Nilai -nilai positif menghukum token baru berdasarkan frekuensi yang ada dalam teks sejauh ini. | 0,0 |
top_p | Alternatif untuk pengambilan sampel dengan suhu, yang disebut pengambilan sampel nukleus, di mana model mempertimbangkan hasil token dengan massa probabilitas top_p. | 1.0 |
presence_penalty | Nomor antara -2.0 dan 2.0. Nilai -nilai positif menghukum token baru berdasarkan apakah mereka muncul dalam teks sejauh ini. | 0,0 |
seed | Mengatur benih untuk pengambilan sampel deterministik (beta). Permintaan berulang dengan benih yang sama dan parameter bertujuan untuk mengembalikan hasil yang sama. | 0 |
url | URL dasar untuk API Openai. | 'https://api.openai.com' |
completions_path | Titik akhir API untuk penyelesaian. | '/v1/obrolan/penyelesaian' |
models_path | Titik akhir API untuk mengakses informasi model. | '/v1/model' |
auth_header | Header yang digunakan untuk otorisasi dalam permintaan API. | 'Otorisasi' |
auth_token_prefix | Awalan yang akan ditambahkan sebelum token di auth_header . | 'Pembawa' |
Secara default, chatgpt CLI menyimpan file konfigurasi dan riwayat di direktori ~/.chatgpt-cli . Namun, Anda dapat dengan mudah mengganti lokasi -lokasi ini dengan mengatur variabel lingkungan, memungkinkan Anda untuk menyimpan konfigurasi dan riwayat di direktori khusus.
| Variabel Lingkungan | Keterangan | Lokasi default |
|---|---|---|
OPENAI_CONFIG_HOME | Menimpa jalur direktori konfigurasi default. | ~/.chatgpt-cli |
OPENAI_DATA_HOME | Menimpa jalur direktori data default. | ~/.chatgpt-cli/history |
Untuk mengubah konfigurasi default atau direktori data, atur variabel lingkungan yang sesuai:
export OPENAI_CONFIG_HOME="/custom/config/path"
export OPENAI_DATA_HOME="/custom/data/path"
Jika variabel lingkungan ini tidak diatur, aplikasi default ke ~/.chatgpt-cli untuk file konfigurasi dan ~ /.chatgpt-cli/history untuk sejarah.
%date : Tanggal saat ini dalam format YYYY-MM-DD .%time : Waktu saat ini dalam format HH:MM:SS .%datetime : Tanggal dan waktu saat ini dalam format YYYY-MM-DD HH:MM:SS .%counter : Jumlah total kueri dalam sesi saat ini.%usage : Penggunaan total token yang digunakan (hanya berfungsi dalam mode kueri). Default dapat ditimpa dengan memberikan nilai Anda sendiri di file konfigurasi pengguna. Struktur file ini mencerminkan konfigurasi default. Misalnya, untuk mengganti parameter model dan max_tokens , file Anda mungkin terlihat seperti ini:
model : gpt-3.5-turbo-16k
max_tokens : 4096 Ini mengubah model ke gpt-3.5-turbo-16k dan menyesuaikan max_tokens ke 4096 . Semua opsi lain, seperti url , completions_path , dan models_path , juga dapat dimodifikasi. Jika file konfigurasi pengguna tidak dapat diakses atau tidak ada, aplikasi akan menggunakan konfigurasi default.
Cara lain untuk menyesuaikan nilai tanpa mengedit file konfigurasi secara manual adalah dengan menggunakan variabel lingkungan. Atribut name membentuk awalan untuk variabel -variabel ini. Sebagai contoh, model dapat dimodifikasi menggunakan variabel lingkungan OPENAI_MODEL . Demikian pula, untuk menonaktifkan sejarah selama pelaksanaan perintah, gunakan:
OPENAI_OMIT_HISTORY=true chatgpt what is the capital of Denmark ?Pendekatan ini sangat bermanfaat untuk perubahan sementara atau untuk menguji berbagai konfigurasi.
Selain itu, Anda dapat menggunakan flag --config atau -c untuk melihat konfigurasi saat ini. Fitur praktis ini memungkinkan pengguna untuk dengan cepat memverifikasi pengaturan mereka saat ini tanpa perlu memeriksa file konfigurasi secara manual.
chatgpt --configMelaksanakan perintah ini akan menampilkan konfigurasi aktif, termasuk setiap overrides yang dilembagakan oleh variabel lingkungan atau file konfigurasi pengguna.
Untuk memfasilitasi penyesuaian yang mudah, CHATGPT CLI menyediakan bendera untuk memodifikasi model , thread , context-window , dan parameter max_tokens dengan cepat dalam config.yaml yang dikonfigurasi oleh pengguna Anda. Bendera ini --set-model , --set-thread , --set-context-window dan --set-max-tokens .
Misalnya, untuk memperbarui model, gunakan perintah berikut:
chatgpt --set-model gpt-3.5-turbo-16kFitur ini memungkinkan perubahan cepat pada parameter konfigurasi utama, mengoptimalkan pengalaman Anda dengan chatgpt CLI.
Untuk Azure, gunakan konfigurasi yang mirip dengan:
name : azure
api_key : <your_key>
model : <not relevant, read from the completions path>
max_tokens : 4096
context_window : 8192
role : You are a helpful assistant.
temperature : 1
top_p : 1
frequency_penalty : 0
presence_penalty : 0
thread : default
omit_history : false
url : https://<your_resource>.openai.azure.com
completions_path : /openai/deployments/<your_deployment>/chat/completions?api-version=<your_api>
models_path : /v1/models
auth_header : api-key
auth_token_prefix : " "
command_prompt : ' [%datetime] [Q%counter] '
auto_create_new_thread : false
track_token_usage : false
debug : falseAnda dapat mengatur tombol API baik di file config.yaml seperti yang ditunjukkan di atas atau mengekspornya sebagai variabel lingkungan:
export AZURE_API_KEY= < your_key >Untuk kebingungan, gunakan konfigurasi yang mirip dengan:
name : perplexity
api_key : " "
model : llama-3.1-sonar-small-128k-online
max_tokens : 4096
context_window : 8192
role : Be precise and concise.
temperature : 1
top_p : 1
frequency_penalty : 0
presence_penalty : 0
thread : test
omit_history : false
url : https://api.perplexity.ai
completions_path : /chat/completions
models_path : /models
auth_header : Authorization
auth_token_prefix : ' Bearer '
command_prompt : ' [%datetime] [Q%counter] [%usage] '
auto_create_new_thread : true
track_token_usage : true
debug : falseAnda dapat mengatur tombol API baik di file config.yaml seperti yang ditunjukkan di atas atau mengekspornya sebagai variabel lingkungan:
export PERPLEXITY_API_KEY= < your_key > Anda dapat mengatur tombol API baik di file config.yaml seperti yang ditunjukkan di atas atau mengekspornya sebagai variabel lingkungan:
export AZURE_API_KEY= < your_key >Tingkatkan pengalaman CLI Anda dengan fitur pelengkapan autokel baru kami untuk bendera perintah!
Autocompetion saat ini didukung untuk cangkang berikut: Bash, Zsh, Fish, dan PowerShell. Untuk mengaktifkan penyelesaian bendera di sesi shell Anda saat ini, jalankan perintah yang sesuai berdasarkan shell Anda:
. <( chatgpt --set-completions bash ) . <( chatgpt --set-completions zsh )chatgpt --set-completions fish | sourcechatgpt -- set-completions powershell | Out-String | Invoke-Expression Untuk menambah kenyamanan, Anda dapat membuat pelengkapan otomatis bertahan di semua sesi shell baru dengan menambahkan perintah sumber yang sesuai ke file startup shell Anda. Berikut adalah file yang biasanya digunakan untuk setiap shell:
.bashrc atau .bash_profile.zshrcconfig.fish Misalnya, untuk Bash, Anda akan menambahkan baris berikut ke file .bashrc Anda:
. <( chatgpt --set-completions bash )Ini memastikan bahwa pelengkapan Autocompetion Bendera Perintah diaktifkan secara otomatis setiap kali Anda membuka jendela Terminal baru.
Anda dapat membuat penurunan harga secara real-time menggunakan skrip mdrender.sh , yang terletak di sini. Pertama -tama Anda harus menginstal Glow.
Contoh:
chatgpt write a hello world program in Java | ./scripts/mdrender.sh Untuk mulai berkembang, atur variabel lingkungan OPENAI_API_KEY ke kunci rahasia chatgpt Anda.
Makefile menyederhanakan tugas pengembangan dengan memberikan beberapa target untuk pengujian, bangunan, dan penyebaran.
make all-testsmake binariesmake shipitmake updatedepsUntuk lebih banyak perintah yang tersedia, gunakan:
make help .scriptsinstall.ps1Setelah pembangunan yang berhasil, uji aplikasi dengan perintah berikut:
./bin/chatgpt what type of dog is a Jack Russel ?Seperti yang disebutkan sebelumnya, CHATGPT CLI mendukung pelacakan riwayat percakapan di seluruh panggilan CLI. Fitur ini menciptakan pengalaman yang mulus dan percakapan dengan model GPT, karena sejarah digunakan sebagai konteks dalam interaksi berikutnya.
Untuk mengaktifkan fitur ini, Anda perlu membuat direktori ~/.chatgpt-cli menggunakan perintah:
mkdir -p ~ /.chatgpt-cliJika Anda menghadapi masalah atau memiliki saran untuk perbaikan, silakan kirimkan masalah di GitHub. Kami menghargai umpan balik dan kontribusi Anda untuk membantu membuat proyek ini lebih baik.
Jika karena alasan apa pun Anda ingin menghapus aplikasi CHATGPT CLI dari sistem Anda, Anda dapat melakukannya dengan mengikuti langkah -langkah ini:
Jika Anda memasang CLI menggunakan homebrew yang dapat Anda lakukan:
brew uninstall chatgpt-cliDan untuk menghapus keran:
brew untap kardolus/chatgpt-cliJika Anda memasang biner secara langsung, ikuti langkah -langkah ini:
Lepaskan biner:
sudo rm /usr/local/bin/chatgpt Secara opsional, jika Anda ingin menghapus direktori pelacakan riwayat, Anda juga dapat menghapus direktori ~/.chatgpt-cli :
rm -rf ~ /.chatgpt-cli Arahkan ke lokasi biner chatgpt di sistem Anda, yang seharusnya ada di jalur Anda.
Hapus biner chatgpt .
Secara opsional, jika Anda ingin menghapus pelacakan riwayat, navigasikan ke direktori ~/.chatgpt-cli (di mana ~ mengacu pada direktori home pengguna Anda) dan hapus.
Harap dicatat bahwa direktori pelacakan sejarah ~/.chatgpt-cli hanya berisi riwayat percakapan dan tidak ada data pribadi. Jika Anda memiliki kekhawatiran tentang hal ini, jangan ragu untuk menghapus direktori ini selama uninstallation.
Terima kasih telah menggunakan chatgpt cli!