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.
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.