Otomatiskan alur kerja berbasis Browser menggunakan LLM dan Computer Vision
Skyvern mengotomatiskan alur kerja berbasis browser menggunakan LLM dan visi komputer. Ini menyediakan titik akhir API sederhana untuk sepenuhnya mengotomatiskan alur kerja manual di sejumlah besar situs web, menggantikan solusi otomatisasi yang rapuh atau tidak dapat diandalkan.
Pendekatan tradisional terhadap otomatisasi browser memerlukan penulisan skrip khusus untuk situs web, sering kali mengandalkan penguraian DOM dan interaksi berbasis XPath yang akan rusak setiap kali tata letak situs web berubah.
Daripada hanya mengandalkan interaksi XPath yang ditentukan kode, Skyvern mengandalkan petunjuk selain visi komputer dan LLM untuk mengurai item di area pandang secara real-time, membuat rencana interaksi, dan berinteraksi dengannya.
Pendekatan ini memberi kita beberapa keuntungan:
Skyvern dapat beroperasi di situs web yang belum pernah dilihat sebelumnya, karena mampu memetakan elemen visual ke tindakan yang diperlukan untuk menyelesaikan alur kerja, tanpa kode khusus apa pun
Skyvern tahan terhadap perubahan tata letak situs web, karena tidak ada XPath yang telah ditentukan sebelumnya atau penyeleksi lain yang dicari sistem kami saat mencoba bernavigasi
Skyvern mampu mengambil satu alur kerja dan menerapkannya ke sejumlah besar situs web, karena mampu mempertimbangkan interaksi yang diperlukan untuk menyelesaikan alur kerja.
Skyvern memanfaatkan LLM untuk bernalar melalui interaksi guna memastikan kami dapat mengatasi situasi yang kompleks. Contohnya meliputi:
Jika Anda ingin mendapatkan penawaran asuransi mobil dari Geico, jawaban atas pertanyaan umum “Apakah Anda memenuhi syarat untuk mengemudi pada usia 18?” dapat disimpulkan dari pengemudi yang menerima SIM pada usia 16 tahun
Jika Anda melakukan analisis pesaing, dapat dipahami bahwa kaleng Arnold Palmer 22 oz di 7/11 hampir pasti merupakan produk yang sama dengan kaleng 23 oz di Gopuff (meskipun ukurannya sedikit berbeda, yang mungkin merupakan kesalahan pembulatan!)
Ingin melihat contoh aksi Skyvern? Lompat ke #contoh-langit-dunia-nyata
Skyvern terinspirasi oleh desain agen otonom Berbasis Tugas yang dipopulerkan oleh BabyAGI dan AutoGPT -- dengan satu bonus utama: kami memberi Skyvern kemampuan untuk berinteraksi dengan situs web menggunakan perpustakaan otomatisasi browser seperti Playwright.
Skyvern menggunakan sekumpulan agen untuk memahami situs web, dan merencanakan serta melaksanakan tindakannya:
Agen Elemen yang Dapat Diinteraksikan : Agen ini bertanggung jawab untuk mengurai HTML situs web dan mengekstrak elemen yang dapat berinteraksi.
Agen Navigasi : Agen ini bertanggung jawab merencanakan navigasi untuk menyelesaikan suatu tugas. Contohnya termasuk mengklik tombol, menyisipkan teks, memilih opsi, dll.
Agen Ekstraksi Data : Agen ini bertanggung jawab untuk mengekstraksi data dari sebuah situs web. Ia mampu membaca tabel dan teks pada halaman, dan mengekstrak output dalam format terstruktur yang ditentukan pengguna
Agen Kata Sandi : Agen ini bertugas mengisi formulir kata sandi pada sebuah website. Ia mampu membaca nama pengguna dan kata sandi dari pengelola kata sandi, dan mengisi formulir sambil menjaga privasi rahasia yang ditentukan pengguna.
Agen 2FA : Agen ini bertanggung jawab untuk mengisi formulir 2FA di sebuah website. Ia mampu mencegat permintaan situs web untuk 2FA, dan meminta API yang ditentukan pengguna untuk kode 2FA atau menunggu pengguna memasukkan kode 2FA ke dalamnya, dan kemudian menyelesaikan proses login.
Agen Pelengkapan Otomatis Dinamis : Agen ini bertanggung jawab untuk mengisi formulir pelengkapan otomatis dinamis di situs web. Ia mampu membaca opsi yang disajikan padanya, memilih opsi yang sesuai berdasarkan masukan pengguna, dan menyesuaikan masukannya berdasarkan umpan balik dari dalam formulir. Contoh populernya meliputi: Formulir alamat, dropdown universitas, dan banyak lagi.
Kami menawarkan Skyvern versi cloud terkelola yang memungkinkan Anda menjalankan Skyvern tanpa harus mengelola infrastruktur. Hal ini memungkinkan Anda menjalankan beberapa instans Skyvern secara paralel untuk mengotomatiskan alur kerja Anda dalam skala besar. Selain itu, Skyvern cloud dilengkapi dengan mekanisme deteksi anti-bot, jaringan proxy, dan penyelesaian CAPTCHA untuk memungkinkan Anda menyelesaikan alur kerja yang lebih rumit.
Jika Anda ingin mencobanya,
Navigasi ke app.skyvern.com
Buat akun & Dapatkan kredit $5 dari kami
Mulailah tugas pertama Anda dan lihat Skyvern beraksi!
Berikut beberapa tip yang mungkin dapat membantu Anda dalam petualangan Anda:
Skyvern sangat pandai mewujudkan satu tujuan. Jika Anda memberikan terlalu banyak instruksi untuk dilakukan, kemungkinan besar ia akan mengalami kebingungan.
Menjadi sangat eksplisit tentang tujuan sangatlah penting. Misalnya, jika Anda membuat penawaran asuransi, sampaikan dengan jelas bagaimana perusahaan dapat mengidentifikasi bahwa perusahaan telah mencapai tujuannya. Gunakan kata-kata seperti "COMPLETE" atau "TERMINATE" untuk menunjukkan mode keberhasilan dan kegagalan.
Alur kerja dapat digunakan jika Anda ingin melakukan hal-hal lebih lanjut seperti merangkai beberapa instruksi secara bersamaan, atau masuk dengan aman. Jika Anda memerlukan bantuan dalam hal ini, silakan pesan waktu bersama kami! Kami selalu dengan senang hati membantu
Panduan memulai cepat ini akan memandu Anda dalam menyiapkan dan menjalankan Skyvern di komputer lokal Anda.
Pastikan Anda telah menginstal dan menjalankan Docker Desktop di mesin Anda
Pastikan Anda tidak menjalankan postgres secara lokal (Jalankan docker ps
untuk memeriksanya)
Kloning repositori dan navigasikan ke direktori root
Isi kunci penyedia LLM pada docker-compose.yml. Jika Anda ingin menjalankan Skyvern di server jarak jauh, pastikan Anda menyetel ip server yang benar untuk kontainer UI di docker-compose.yml.
Jalankan perintah berikut melalui baris perintah:
buruh pelabuhan menyusun -d
Navigasikan ke http://localhost:8080
di browser Anda untuk mulai menggunakan UI
Sebelum memulai, pastikan Anda telah menginstal yang berikut ini:
Brew (jika Anda menggunakan Mac)
Puisi
brew install poetry
simpul
Buruh pelabuhan
Catatan: Skrip pengaturan kami melakukan keduanya untuk Anda, namun keduanya ada di sini sebagai referensi.
Python 3.11
poetry env use 3.11
PostgreSQL 14 (jika Anda menggunakan Mac, skrip pengaturan akan menginstalnya untuk Anda jika Anda menginstal homebrew)
brew install postgresql
Kloning repositori dan navigasikan ke direktori root
Buka Docker Desktop (Berfungsi untuk Windows, macOS, dan Linux) atau jalankan Docker Daemon
Jalankan skrip pengaturan untuk menginstal dependensi yang diperlukan dan mengatur lingkungan Anda
./setup.sh
Mulai servernya
./run_skyvern.sh
Anda dapat mulai mengirimkan permintaan ke server, namun kami membuat UI sederhana untuk membantu Anda memulai. Untuk memulai UI, jalankan perintah berikut:
./run_ui.sh
Navigasikan ke http://localhost:8080
di browser Anda untuk mulai menggunakan UI
Jika Anda ingin berkontribusi ke Skyvern, Anda harus memasang kait pra-komitmen untuk memastikan kualitas dan konsistensi kode. Anda dapat melakukannya dengan menjalankan perintah berikut:
instalasi pra-komit
Tugas adalah landasan mendasar di dalam Skyvern. Setiap tugas adalah satu permintaan ke Skyvern, yang memerintahkannya untuk menavigasi situs web dan mencapai tujuan tertentu.
Tugas mengharuskan Anda menentukan url
, navigation_goal
, dan opsional data_extraction_goal
jika Anda ingin mengekstrak data dari situs web, dan navigation_payload
jika Anda ingin memberikan konteks tambahan untuk membantu Skyvern mengisi informasi atau menjawab pertanyaan yang disajikan oleh situs web.
Alur kerja adalah cara untuk menyatukan beberapa tugas untuk membentuk unit kerja yang kohesif.
Misalnya, jika Anda ingin mengunduh semua faktur yang lebih baru dari tanggal 1 Januari, Anda dapat membuat alur kerja yang terlebih dahulu menavigasi ke halaman faktur, lalu memfilter ke bawah untuk hanya menampilkan faktur yang lebih baru dari tanggal 1 Januari, mengekstrak daftar semua faktur yang memenuhi syarat, dan mengulanginya. melalui setiap faktur untuk mengunduhnya.
Contoh lainnya adalah jika Anda ingin mengotomatiskan pembelian produk dari toko e-niaga, Anda dapat membuat alur kerja yang terlebih dahulu menavigasi ke produk yang diinginkan, lalu menambahkannya ke keranjang. Kedua, ia akan menavigasi ke keranjang dan memvalidasi status keranjang. Terakhir, akan melalui proses checkout untuk membeli barang tersebut.
Fitur alur kerja yang didukung meliputi:
Tugas (+ tugas berantai)
loop
Penguraian file
Mengunggah file untuk memblokir penyimpanan
Mengirim email
Perintah Teks
(Segera hadir) Persyaratan
(Segera hadir) Blok Kode Kustom
Skyvern memungkinkan Anda melakukan streaming langsung area pandang browser ke komputer lokal sehingga Anda dapat melihat dengan tepat apa yang dilakukan Skyvern di web. Ini berguna untuk melakukan debug dan memahami bagaimana Skyvern berinteraksi dengan situs web, dan melakukan intervensi bila diperlukan
Skyvern secara bawaan mampu mengisi formulir masukan di situs web. Melewati informasi melalui navigation_goal
atau navigation_payload
akan memungkinkan Skyvern memahami informasi dan mengisi formulir yang sesuai.
Skyvern juga mampu mengekstrak data dari sebuah website. Menentukan data_extraction_goal
akan memungkinkan Skyvern mengekstrak data dan mengembalikannya kepada Anda sebagai respons.
Anda juga dapat menentukan data_extraction_schema
untuk memberi tahu Skyvern data apa yang ingin Anda ekstrak dari situs web, dalam format jsonc. Output Skyvern akan disusun sesuai dengan skema yang disediakan.
Skyvern juga mampu mengunduh file dari situs web. Menentukan file_download_goal
akan memungkinkan Skyvern mengunduh file dan mengembalikan tautan ke file tersebut sebagai respons.
Skyvern mendukung sejumlah metode autentikasi berbeda untuk mempermudah otomatisasi tugas di balik login.
Skyvern saat ini mendukung integrasi pengelola kata sandi berikut:
Bitwarden
1 Kata Sandi
Lulus Terakhir
Skyvern mendukung sejumlah metode 2FA berbeda untuk memungkinkan Anda mengotomatiskan alur kerja yang memerlukan 2FA.
Contohnya meliputi:
2FA berbasis QR (misalnya Google Authenticator, Authy)
2FA berbasis email
SMS berbasis 2FA
Kami senang melihat bagaimana Skyvern digunakan di alam liar. Berikut beberapa contoh bagaimana Skyvern digunakan untuk mengotomatiskan alur kerja di dunia nyata. Silakan buka PR untuk menambahkan contoh Anda sendiri!
Anda harus menjalankan Skyvern secara lokal jika ingin mencoba contoh berikut. Silakan jalankan perintah berikut setelah melalui panduan memulai cepat:
./run_skyvern.sh
Pesan demo untuk melihatnya langsung
Lihat aksinya
Lihat aksinya
Lihat aksinya
Lihat aksinya
Lihat aksinya
Lihat aksinya
Dokumentasi yang lebih lengkap dapat ditemukan di situs dokumentasi kami. Harap beri tahu kami jika ada sesuatu yang tidak jelas atau hilang dengan membuka masalah atau menghubungi kami melalui email atau perselisihan.
Penyedia | Model yang Didukung |
---|---|
OpenAI | gpt4-turbo, gpt-4o, gpt-4o-mini |
Antropis | Claude 3 (Haiku, Soneta, Opus), Claude 3.5 (Soneta) |
Azure OpenAI | Model GPT apa pun. Performa lebih baik dengan multimodal llm (azure/gpt4-o) |
Batuan Dasar AWS | Antropis Claude 3 (Haiku, Soneta, Opus), Claude 3.5 (Soneta) |
Ollama | Segera hadir (kontribusi diterima) |
Gemini | Segera hadir (kontribusi diterima) |
Lama 3.2 | Segera hadir (kontribusi diterima) |
Variabel | Keterangan | Jenis | Nilai Sampel |
---|---|---|---|
ENABLE_OPENAI | Daftarkan model OpenAI | Boolean | true , false |
ENABLE_ANTHROPIC | Daftarkan model Antropik | Boolean | true , false |
ENABLE_AZURE | Daftarkan model Azure OpenAI | Boolean | true , false |
ENABLE_BEDROCK | Daftarkan model AWS Bedrock | Boolean | true , false |
LLM_KEY | Nama model yang ingin Anda gunakan | Rangkaian | Kunci llm yang saat ini didukung: OPENAI_GPT4_TURBO , OPENAI_GPT4V , OPENAI_GPT4O , OPENAI_GPT4O_MINI , ANTHROPIC_CLAUDE3 , ANTHROPIC_CLAUDE3_OPUS , ANTHROPIC_CLAUDE3_SONNET , ANTHROPIC_CLAUDE3_HAIKU , ANTHROPIC_CLAUDE3.5_SONNET , BEDROCK_ANTHROPIC_CLAUDE3_OPUS , BEDROCK_ANTHROPIC_CLAUDE3_SONNET , BEDROCK_ANTHROPIC_CLAUDE3_HAIKU , BEDROCK_ANTHROPIC_CLAUDE3.5_SONNET , AZURE_OPENAI |
OPENAI_API_KEY | Kunci API OpenAI | Rangkaian | sk-1234567890 |
OPENAI_API_BASE | Basis API OpenAI, opsional | Rangkaian | https://openai.api.base |
OPENAI_ORGANIZATION | ID Organisasi OpenAI, opsional | Rangkaian | your-org-id |
ANTHROPIC_API_KEY | Kunci API antropik | Rangkaian | sk-1234567890 |
AZURE_API_KEY | Kunci API penerapan Azure | Rangkaian | sk-1234567890 |
AZURE_DEPLOYMENT | Nama Penerapan Azure OpenAI | Rangkaian | skyvern-deployment |
AZURE_API_BASE | Url dasar api penerapan Azure | Rangkaian | https://skyvern-deployment.openai.azure.com/ |
AZURE_API_VERSION | Versi API Azure | Rangkaian | 2024-02-01 |
Ini adalah peta jalan yang kami rencanakan untuk beberapa bulan ke depan. Jika Anda memiliki saran atau ingin melihat fitur ditambahkan, jangan ragu untuk menghubungi kami melalui email atau perselisihan.
Open Source - Basis kode inti Open Source Skyvern
[BETA] Dukungan alur kerja - Izinkan dukungan untuk menyatukan beberapa panggilan Skyvern
Peningkatan konteks - Tingkatkan kemampuan Skyvern untuk memahami konten seputar elemen yang dapat berinteraksi dengan memperkenalkan pemberian konteks label yang relevan melalui perintah teks
Penghematan Biaya - Meningkatkan stabilitas Skyvern dan mengurangi biaya menjalankan Skyvern dengan mengoptimalkan pohon konteks yang diteruskan ke Skyvern
UI layanan mandiri - Tidak lagi menggunakan UI Streamlit dan mendukung komponen UI berbasis React yang memungkinkan pengguna memulai pekerjaan baru di Skyvern
Pembuat UI Alur Kerja - Memperkenalkan UI untuk memungkinkan pengguna membangun dan menganalisis alur kerja secara visual
Streaming Area Pandang Chrome - Memperkenalkan cara melakukan streaming langsung area pandang Chrome ke browser pengguna (sebagai bagian dari UI layanan mandiri)
UI Proses Sebelumnya - Tidak lagi menggunakan UI Streamlit dan mendukung UI berbasis React yang memungkinkan Anda memvisualisasikan proses sebelumnya dan hasilnya
Caching Cepat - Perkenalkan lapisan caching ke panggilan LLM untuk secara dramatis mengurangi biaya menjalankan Skyvern (ingat tindakan sebelumnya dan ulangi!)
Kumpulan Data Evaluasi Web - Integrasikan Skyvern dengan pengujian benchmark publik untuk melacak kualitas model kami dari waktu ke waktu
Mode Debug yang ditingkatkan - Izinkan Skyvern merencanakan tindakannya dan mendapatkan "persetujuan" sebelum menjalankannya, memungkinkan Anda men-debug apa yang dilakukannya dan lebih mudah mengulanginya saat diminta
Mode pembuat alur kerja otomatis ("Pengamat") - Izinkan Skyvern membuat alur kerja secara otomatis saat menavigasi web untuk mempermudah pembuatan alur kerja baru
Ekstensi Chrome - Memungkinkan pengguna berinteraksi dengan Skyvern melalui ekstensi Chrome (termasuk mode suara, menyimpan tugas, dll.)
Skyvern Action Recorder - Izinkan Skyvern melihat pengguna menyelesaikan tugas dan kemudian secara otomatis membuat alur kerja untuknya
Livestream yang Dapat Diinteraksikan - Memungkinkan pengguna berinteraksi dengan livestream secara real-time untuk melakukan intervensi bila diperlukan (seperti mengirimkan formulir sensitif secara manual)
Integrasikan alat Observabilitas LLM - Integrasikan alat Observabilitas LLM untuk memungkinkan pengujian kembali perubahan cepat dengan kumpulan data tertentu + memvisualisasikan kinerja Skyvern dari waktu ke waktu
Integrasi Langchain - Buat integrasi langchain di langchain_community untuk menggunakan Skyvern sebagai "alat".
Kami menyambut PR dan saran! Jangan ragu untuk membuka PR/edisi atau menghubungi kami melalui email atau perselisihan. Silakan lihat panduan kontribusi kami dan masalah "Dibutuhkan Bantuan" untuk memulai!
Jika Anda ingin mengobrol dengan repositori skyvern untuk mendapatkan ikhtisar tingkat tinggi tentang strukturnya, cara membangunnya, dan cara menyelesaikan pertanyaan penggunaan, lihat Code Sage.
Secara Default, Skyvern mengumpulkan statistik penggunaan dasar untuk membantu kami memahami bagaimana Skyvern digunakan. Jika Anda ingin tidak ikut serta dalam telemetri, setel variabel lingkungan SKYVERN_TELEMETRY
ke false
.
Repositori sumber terbuka Skyvern didukung melalui cloud terkelola. Semua logika inti yang mendukung Skyvern tersedia dalam repositori sumber terbuka ini yang dilisensikan di bawah Lisensi AGPL-3.0, dengan pengecualian tindakan anti-bot yang tersedia dalam penawaran cloud terkelola kami.
Jika Anda memiliki pertanyaan atau kekhawatiran seputar perizinan, silakan hubungi kami dan kami akan dengan senang hati membantu.