
Asisten Debug Rails Elegan. Ai bertenaga.
Laporkan Bug · Fitur Permintaan

Eyeloupe adalah asisten debug Rails yang elegan. Ini membantu Anda untuk men -debug aplikasi rel Anda dengan menyediakan antarmuka yang sederhana dan elegan untuk melihat permintaan dan pengecualian Anda yang masuk/keluar, ditenagai oleh AI.
Tambahkan baris ini ke gemfile aplikasi Anda:
gem "eyeloupe"Dan kemudian mengeksekusi:
$ bundlePasang migrasi eyeloupe ke dalam proyek Anda:
$ rails eyeloupe:install:migrationsDan menjalankan migrasi:
$ rails db:migrate Untuk mengakses dasbor eyeloupe, Anda perlu menambahkan rute berikut ke file config/routes.rb Anda:
mount Eyeloupe :: Engine => "/eyeloupe" Ini adalah contoh konfigurasi yang dapat Anda tambahkan ke file initializers/eyeloupe.rb Anda:
Eyeloupe . configure do | config |
config . excluded_paths = %w[ assets favicon.ico service-worker.js manifest.json ]
config . capture = Rails . env . development?
config . openai_access_key = "your-openai-access-key"
config . openai_model = "gpt-4"
config . database = 'eyeloupe'
endexcluded_paths adalah array jalur yang ingin Anda kecualikan dari eyeloupe capture. Eyeloupe menambahkan jalur yang dikecualikan ini ke yang default: %w[mini-profiler eyeloupe active_storage]capture adalah boolean untuk mengaktifkan/menonaktifkan penangkapan eyeloupe. Secara default, itu diatur ke true .openai_access_key adalah kunci akses untuk menggunakan API OpenAI. Anda bisa mendapatkannya di sini.openai_model adalah model untuk digunakan untuk API OpenAI. Anda dapat menemukan daftar model yang tersedia di sini.database adalah eyeloupe konfigurasi basis data opsional yang akan digunakan (database). Secara default, eyeloupe menggunakan database yang sama dengan aplikasi Anda. Jika Anda ingin menggunakan database yang berbeda untuk menjaga lingkungan produksi Anda tetap bersih, Anda dapat menambahkan konfigurasi database baru di file config/database.yml Anda:
development :
primary :
<< : *default
database : db/development.sqlite3
eyeloupe :
<< : *default
database : db/eyeloupe.sqlite3
migrations_paths : <%= Gem.loaded_specs['eyeloupe'].full_gem_path + '/db/migrate' %>
schema_dump : false Menggunakan ini Anda dapat melewatkan eyeloupe:install:migrations Langkah, tetapi jangan lupa untuk menjalankan rails db:migrate RAILS_ENV=eyeloupe untuk mengatur database.
Untuk dapat menangani pengecualian, pastikan untuk menonaktifkan penanganan pengecualian rel default di file konfigurasi lingkungan Anda (misalnya config/environments/development.rb ):
config . consider_all_requests_local = false Eyeloupe dikembangkan secara eksklusif untuk kerangka kerja rel.
Anda dapat menggunakannya di lingkungan pengembangan Anda untuk men -debug aplikasi Anda tetapi tidak disarankan untuk menggunakannya dalam produksi.
Dengan mengaktifkan Auto-Fresh, setiap 3 detik halaman akan disegarkan untuk menunjukkan kepada Anda data terbaru.
Anda dapat menghapus semua data yang disimpan oleh eyeloupe dengan mengklik tombol sampah.
Saat Anda mendefinisikan kunci akses OpenAI dalam konfigurasi, Anda dapat melihat bagian baru di halaman Detail Pengecualian. Bagian ini ditenagai oleh API Openai dan dapat memberi Anda solusi untuk menyelesaikan pengecualian Anda. Ini mengirimkan seluruh konten file yang berisi pengecualian untuk memiliki jawaban terbaik untuk masalah Anda.

Saat eyeloupe upgrade Anda ke versi terbaru, pastikan untuk menjalankan perintah berikut:
$ rails eyeloupe:install:migrations
$ rails db:migrateEyeloupe bukan alat yang berorientasi pada kinerja, waktu permintaannya sama dengan yang dapat Anda lihat di log rel. Jika Anda ingin detail lebih lanjut tentang waktu pemuatan Anda, Anda dapat menggunakan profiler rack-mini bersama dengan eyeloupe.
Ya, eyeloupe terinspirasi oleh Laravel Telescope. Banyak orang yang datang dari Laravel kehilangan teleskop atau mencari sesuatu yang serupa, jadi eyeloupe ada di sini untuk mengisi celah ini.
Kontribusi adalah apa yang membuat komunitas open-source menjadi tempat yang luar biasa untuk belajar, menginspirasi, dan menciptakan. Kontribusi apa pun yang Anda buat sangat dihargai .
Jika Anda memiliki saran yang akan membuat ini lebih baik, silakan garukan repo dan buat permintaan tarik. Anda juga bisa membuka masalah dengan tag "peningkatan". Jangan lupa memberi proyek bintang! Terima kasih lagi!
git checkout -b feature/amazing_feature )git commit -m 'Add some amazing feature' )git push origin feature/amazing_feature )Permata tersedia sebagai open source di bawah ketentuan lisensi MIT.
Tautan Proyek: https://github.com/alxlion/eyeloupe