Mesin pencari bertenaga AI dengan UI generatif.
Peringatan
Morfik dibangun dengan Vercel AI SDK RSC. AI SDK RSC bersifat eksperimental dan memiliki beberapa keterbatasan. Saat menggunakannya dalam produksi, disarankan untuk bermigrasi ke SDK UI.
Catatan
Harap dicatat bahwa ada perbedaan antara repositori ini dan situs resmi morphic.sh. Situs web resmi adalah cabang dari repositori ini dengan fitur tambahan seperti otentikasi, yang diperlukan untuk menyediakan layanan online. Kode sumber inti Morphic berada di repositori ini, dan dirancang agar mudah dibuat dan diterapkan.
Fork repo ke akun Github Anda, lalu jalankan perintah berikut untuk mengkloning repo:
git clone [email protected]:[YOUR_GITHUB_ACCOUNT]/morphic.git
cd morphic
bun install
Ikuti panduan di bawah ini untuk menyiapkan Upstash Redis. Buat database dan dapatkan UPSTASH_REDIS_REST_URL
dan UPSTASH_REDIS_REST_TOKEN
. Lihat panduan Upstash untuk instruksi tentang cara melanjutkan.
Jika Anda ingin menggunakan Redis lokal, Anda dapat melewati langkah ini.
cp .env.local.example .env.local
File .env.local Anda akan terlihat seperti ini:
# OpenAI API key retrieved here: https://platform.openai.com/api-keys
OPENAI_API_KEY=
# Tavily API Key retrieved here: https://app.tavily.com/home
TAVILY_API_KEY=
# Upstash Redis URL and Token retrieved here: https://console.upstash.com/redis
UPSTASH_REDIS_REST_URL=
UPSTASH_REDIS_REST_TOKEN=
## Redis Configuration
This application supports both Upstash Redis and local Redis. To use local Redis:
1. Set `USE_LOCAL_REDIS=true` in your `.env.local` file.
2. Optionally, set `LOCAL_REDIS_URL` if your local Redis is not running on the default `localhost:6379` or `redis://redis:6379` if you're using docker compose.
To use Upstash Redis:
1. Set `USE_LOCAL_REDIS=false` or leave it unset in your `.env.local` file.
2. Set `UPSTASH_REDIS_REST_URL` and `UPSTASH_REDIS_REST_TOKEN` with your Upstash credentials.
# SearXNG Configuration
SEARXNG_API_URL=http://localhost:8080 # Replace with your local SearXNG API URL or docker http://searxng:8080
SEARCH_API=tavily # use searxng, tavily or exa
SEARXNG_SECRET="" # generate a secret key e.g. openssl rand -base64 32
SEARXNG_PORT=8080 # default port
SEARXNG_BIND_ADDRESS=0.0.0.0 # default address
SEARXNG_IMAGE_PROXY=true # enable image proxy
SEARXNG_LIMITER=false # can be enabled to limit the number of requests per IP address
SEARXNG_DEFAULT_DEPTH=basic # Set to 'basic' or 'advanced', only affects SearXNG searches
SEARXNG_MAX_RESULTS=50 # Maximum number of results to return from SearXNG
Untuk menjalankan aplikasi secara lokal menggunakan Bun, jalankan perintah berikut:
bun dev
Anda sekarang dapat mengunjungi http://localhost:3000 di browser web Anda.
Untuk menjalankan aplikasi menggunakan Docker, gunakan perintah berikut:
docker compose up -d
Ini akan memulai aplikasi dalam mode terpisah. Anda dapat mengaksesnya di http://localhost:3000.
Host Morphic versi live Anda sendiri dengan Vercel atau Cloudflare Pages.
Jika Anda ingin menggunakan Morphic sebagai mesin pencari di browser Anda, ikuti langkah-langkah berikut:
https://morphic.sh/search?q=%s
Ini akan memungkinkan Anda untuk menggunakan Morphic sebagai mesin pencari default di browser.
Morphic sekarang mendukung SearXNG sebagai backend pencarian alternatif dengan kemampuan pencarian tingkat lanjut. Untuk menggunakan SearXNG:
Pastikan Anda telah menginstal Docker dan Docker Compose di sistem Anda.
Di file .env.local
Anda, atur variabel berikut:
Dua file konfigurasi disediakan di direktori root:
searxng-settings.yml
: File ini berisi konfigurasi utama untuk SearXNG, termasuk pengaturan mesin dan opsi server.searxng-limiter.toml
: File ini mengonfigurasi fitur pembatasan laju dan deteksi bot SearXNG. Jalankan docker-compose up
untuk memulai tumpukan Morfik dengan SearXNG disertakan.
SearXNG akan tersedia di http://localhost:8080
dan Morphic akan menggunakannya sebagai backend pencarian.
NEXT_PUBLIC_BASE_URL
: Setel ini ke URL pengembangan lokal Anda (http://localhost:3000) atau URL produksi Anda saat menerapkan.SEARXNG_DEFAULT_DEPTH
: Setel ke 'dasar' atau 'lanjutan' untuk mengontrol kedalaman pencarian default.SEARXNG_MAX_RESULTS
: Jumlah maksimum hasil yang dihasilkan dari SearXNG.SEARXNG_CRAWL_MULTIPLIER
: Dalam mode penelusuran lanjutan, pengganda ini menentukan berapa banyak hasil yang akan dirayapi. Misalnya, jika SEARXNG_MAX_RESULTS=10
dan SEARXNG_CRAWL_MULTIPLIER=4
, hingga 40 hasil akan dirayapi sebelum difilter dan diberi peringkat.SEARXNG_ENGINES
: Daftar mesin pencari yang dipisahkan koma untuk digunakan.SEARXNG_TIME_RANGE
: Rentang waktu untuk hasil penelusuran (misalnya, 'hari', 'minggu', 'bulan', 'tahun', 'semua').SEARXNG_SAFESEARCH
: Pengaturan pencarian aman (0 untuk nonaktif, 1 untuk sedang, 2 untuk ketat).Fitur pencarian lanjutan mencakup perayapan konten, penilaian relevansi, dan pemfilteran untuk memberikan hasil yang lebih akurat dan komprehensif.
searxng-settings.yml
untuk mengaktifkan/menonaktifkan mesin pencari tertentu, mengubah pengaturan UI, atau menyesuaikan opsi server.searxng-limiter.toml
memungkinkan Anda mengonfigurasi pembatasan kecepatan dan deteksi bot. Ini berguna jika Anda mengekspos SearXNG langsung ke internet.docker-compose.yml
atau langsung di kontainer SearXNG. searxng-settings.yml
: engines :
- name : wikidata
disabled : true