Instalasi & Penggunaan
Fitur
Kendali jarak jauh
- Lanjutkan sesi apa pun dari browser dengan teks atau lampiran gambar
- Mulai sesi baru di path proyek mana pun, langsung dari UI web
- Penggantian model dalam browser dan pemilih level berpikir, per sesi
- Status worker per sesi (idle / running / error) dengan pemulihan otomatis saat crash
- Beberapa sesi berjalan paralel — mulai pekerjaan di satu sesi, pantau streaming sesi lain
PI_WEB_TOKENuntuk eksposur LAN yang aman — wajib secara default untuk bind non-loopback eksplisit
Membaca sesi
- Jelajahi sesi di seluruh proyek dengan filter, pencarian, dan navigasi branch lengkap
- Pembaruan inkremental langsung saat pi masih berjalan (via fsnotify; latensi ~ms)
- Mode ikuti untuk memantau sesi aktif
- Deep link ke pesan individual
- Unduh sesi sebagai JSONL
- Bagikan snapshot statis sebagai GitHub Gist rahasia
- Ekstensi pi
/web,/remote,/refresh,/pi-web tokendan/pi-web set-tokenuntuk membuka sesi, QR jarak jauh, sinkronisasi sesi, dan manajemen token
Persyaratan
- Go 1.25+
pidiPATHAnda untuk chat browser/penggantian model- Opsional:
ghuntuk berbagi
Instalasi
Paket Pi (direkomendasikan)
pi install npm:@ygncode/pi-web@betaSatu perintah ini:
- Menginstal paket npm pi di bawah direktori paket pi
- Menjalankan skrip
postinstallpaket (bash install.sh) - Mengunduh biner pi-web yang cocok untuk versi paket dan platform Anda dari GitHub Releases
- Menginstalnya ke
~/.pi/agent/bin/pi-web - Menyiapkan auto-start saat login (launchd di macOS, systemd di Linux)
- Mendaftarkan perintah pi
/web,/remote,/refresh,/pi-web token, dan/pi-web set-token
Pemberian judul otomatis sesi sudah terintegrasi dalam pi-web (bukan ekstensi) dan dikonfigurasi di halaman /settings. Fitur ini aktif secara default: pi-web menamai sesi secara otomatis menggunakan heuristik kata bawaan gratis (tanpa AI), memberi judul ulang setiap ada pesan baru. Anda dapat beralih ke pemberian judul sekali per sesi, dan/atau memilih model untuk menulis judul yang lebih cerdas alih-alih heuristik.
Di Linux, auto-start dikonfigurasi sebagai layanan systemd pengguna di ~/.config/systemd/user/pi-web.service. Installer menulis ulang ExecStart-nya ke path biner yang terinstal. Jika Tailscale tersedia saat runtime, pi-web mempublikasikan server localhost dengan Tailscale Serve HTTPS. Jika systemd pengguna tidak tersedia, jalankan secara manual dengan ~/.pi/agent/bin/pi-web -o.
Untuk menginstal hanya untuk proyek tertentu (dibagikan dengan tim Anda via .pi/settings.json):
pi install -l npm:@ygncode/pi-web@betaKemudian mulai ulang pi (atau jalankan /reload), dan gunakan /web, /pi-web, /remote, /refresh. Kelola token akses Anda dengan /pi-web token dan /pi-web set-token.
Jika npm gagal dengan ENOTEMPTY saat mengganti nama @ygncode/pi-web, hapus direktori cadangan tersembunyi npm yang usang dan instal ulang saluran beta:
rm -rf ~/.pi/agent/npm/node_modules/@ygncode/.pi-web-*
pi install npm:@ygncode/pi-web@betaInstalasi cepat (tanpa alat build)
curl -fsSL https://raw.githubusercontent.com/ygncode/pi-web/main/install.sh | bashIni mengunduh biner pi-web terbaru, menginstalnya ke /usr/local/bin, dan menyiapkan auto-start saat login. Tidak memerlukan Go, Node, atau pi.
Unduh biner
Biner yang sudah dibangun tersedia di setiap GitHub Release.
# macOS (Apple Silicon)
curl -L -o pi-web https://github.com/ygncode/pi-web/releases/latest/download/pi-web-darwin-arm64
chmod +x pi-web
# macOS (Intel)
curl -L -o pi-web https://github.com/ygncode/pi-web/releases/latest/download/pi-web-darwin-amd64
chmod +x pi-web
# Linux (amd64)
curl -L -o pi-web https://github.com/ygncode/pi-web/releases/latest/download/pi-web-linux-amd64
chmod +x pi-web
# Linux (arm64)
curl -L -o pi-web https://github.com/ygncode/pi-web/releases/latest/download/pi-web-linux-arm64
chmod +x pi-webKemudian pindahkan ke PATH Anda:
cp pi-web ~/.pi/agent/bin/
# atau di seluruh sistem:
sudo cp pi-web /usr/local/bin/Build dari sumber
git clone https://github.com/ygncode/pi-web.git
cd pi-web
make build # membangun bundel Vite, lalu menanamkannya ke biner Go
# opsional: letakkan di PATH
cp pi-web ~/.pi/agent/bin/Bundel frontend ditanam oleh web/assets_embed.go, jadi go build memerlukan web/dist sudah ada terlebih dahulu. make build melakukan kedua langkah secara berurutan; jika Anda membangun secara manual, jalankan npm --prefix web install && npm --prefix web run build sebelum go build ./cmd/pi-web.
Penghapusan
pi remove npm:@ygncode/pi-web@betaIni menjalankan skrip preuninstall paket (bash uninstall.sh), yang menghentikan instance yang berjalan dan menghapus:
- biner pi-web (
~/.pi/agent/bin/pi-web, atau/usr/local/bin/pi-webuntuk instalasi standalone) - file versi (
~/.pi/agent/pi-web-version) - file status runtime (
~/.pi/agent/pi-web/pi-web-state.json) - konfigurasi auto-start (launchd plist di macOS, layanan systemd pengguna di Linux)
Data Anda dipertahankan sehingga instal ulang nanti melanjutkan dari tempat Anda berhenti: ~/.pi/agent/pi-web.sqlite, ~/.pi/agent/pi-web-memory.sqlite, file sesi Anda di bawah ~/.pi/agent/sessions/, dan ~/.config/pi-web/env (termasuk PI_WEB_TOKEN). Hapus secara manual jika Anda ingin memulai dari awal.
Penggunaan
# Mulai di port default (31415)
pi-web
# Mulai dan buka browser
pi-web -o
# Port kustom
pi-web -p 8080
# Timpa host bind (loopback tidak terautentikasi secara default)
pi-web --host 127.0.0.1
# Bind non-loopback memerlukan token — pi-web menolak untuk memulai tanpanya
PI_WEB_TOKEN=$(openssl rand -hex 16) pi-web --host 192.168.1.50Secara default, pi-web bind ke 127.0.0.1. Jika Tailscale berjalan dengan MagicDNS, pi-web juga menjalankan tailscale serve --bg --https=<port> http://127.0.0.1:<port> dan mencetak URL HTTPS tailnet. Bind non-loopback eksplisit apa pun memerlukan PI_WEB_TOKEN untuk disetel; berikan --insecure untuk menimpa demi pengujian lokal.
Akses Jarak Jauh
Biarkan pi-web mendengarkan secara lokal, lalu gunakan URL HTTPS Tailscale yang tercetak dari ponsel atau laptop Anda di tailnet.
Pada macOS, instal dan buka Tailscale secara interaktif, setujui permintaan administrator, lalu masuk. Kemudian jalankan /pi-web restart, diikuti dengan /remote.
Di Linux, izinkan pengguna Anda mengelola Tailscale sebelum menginstal/menjalankan pi-web, jika tidak tailscale serve mungkin memerlukan sudo dan auto-start dapat gagal:
sudo tailscale set --operator=$USER# 1. Mulai pi-web
pi-web
# 2. Dari perangkat lain yang terhubung ke Tailscale, buka URL
# "Tailscale HTTPS" yang tercetak.Secara default, pi-web menolak untuk bind ke alamat non-loopback kecuali
PI_WEB_TOKENdisetel — siapa pun yang dapat mencapai alamat yang di-bind bisa melihat sesi dan mengirim instruksi ke pi. Untuk menimpa pengamanan ini demi pengujian jaringan lokal, berikan--insecure. Jangan gunakan--insecuredi Tailscale atau alamat apa pun yang dapat dijangkau dari luar mesin Anda.Klien dapat mengirimkan token melalui header
Authorization: Bearer <token>, headerX-Pi-Token, atau sekali via?token=<token>(yang menyetel cookiepi_tokenuntuk permintaan selanjutnya). Token yang dikirim via?token=akan tersimpan di riwayat browser, log akses server, dan headerRefererdari tautan apa pun di halaman — lebih baik gunakan bentuk header untuk apa pun selain bookmark awal.
Chat Browser
Buka halaman sesi dan gunakan komposer di bagian bawah untuk melanjutkan sesi yang sama persis.
Entermengirim,Shift+Entermenyisipkan baris baru- Seret-dan-lepas atau tempel gambar langsung ke komposer
- Pemilih model dan pemilih level berpikir berada di header — perubahan berlaku ke worker pi yang mendasarinya segera
- Setiap sesi aktif mendapatkan worker
pi --mode rpckhusus sendiri, sehingga sesi yang berbeda tidak saling memblokir
Berbagi Sesi
Klik Share di halaman sesi untuk membuat GitHub Gist rahasia.
Persyaratan:
ghterinstalgh auth loginselesai
Berbagi mengembalikan:
- URL gist rahasia
- URL pratinjau di
https://pi.dev/session/#<gistId>
Gist yang dibagikan adalah snapshot dan tidak diperbarui secara langsung.
Auto-Start saat Login
macOS
cp init/com.pi-web.plist ~/Library/LaunchAgents/
launchctl load ~/Library/LaunchAgents/com.pi-web.plistLinux (systemd)
# Instal layanan systemd pengguna
mkdir -p ~/.config/systemd/user
cp init/pi-web.service ~/.config/systemd/user/
# Opsional: setel PI_WEB_TOKEN Anda untuk bind non-loopback
# (atau gunakan /pi-web set-token <token> dari dalam pi)
mkdir -p ~/.config/pi-web
echo 'PI_WEB_TOKEN=token-anda-di-sini' > ~/.config/pi-web/env
# Aktifkan dan mulai
systemctl --user daemon-reload
systemctl --user enable --now pi-web.service
# Periksa status
systemctl --user status pi-web.service
# Lihat log
journalctl --user -u pi-web.service -fAgar layanan mulai saat boot (sebelum login), gunakan layanan sistem sebagai gantinya: salin
init/pi-web.serviceke/etc/systemd/system/dan gunakansudo systemctl.