Pemasangan & Penggunaan
Ciri-ciri
Kawalan jauh
- Sambung mana-mana sesi daripada pelayar dengan teks atau lampiran imej
- Mulakan sesi baharu sepenuhnya terhadap mana-mana laluan projek, terus daripada UI web
- Penukaran model dalam pelayar dan pemilih tahap pemikiran, setiap sesi
- Status pekerja setiap sesi (idle / running / error) dengan pemulihan automatik apabila ranap
- Berbilang sesi berjalan selari — mulakan kerja dalam satu, tonton satu lagi distrim
PI_WEB_TOKENuntuk pendedahan LAN yang selamat — diperlukan secara lalai untuk sebarang pengikatan bukan gelung-balik yang eksplisit
Membaca sesi
- Layari sesi merentas projek dengan penapis, carian dan navigasi cawangan penuh
- Kemas kini tambahan langsung semasa pi masih berjalan (melalui fsnotify; latensi ~ms)
- Mod ikut untuk mengekori sesi aktif
- Pautan mendalam ke mesej individu
- Muat turun sesi sebagai JSONL
- Kongsi syot kilat statik sebagai GitHub Gist rahsia
- Sambungan pi
/web,/remote,/refresh,/pi-web tokendan/pi-web set-tokenuntuk membuka sesi, QR jauh, penyegerakan sesi dan pengurusan token /skill:pi-web-schedule,/skill:pi-web-notes,/skill:pi-web-settings(pi-web-ctl) supaya sesi boleh menguruskan jadual, papan coretan projek dan tetapan dalam bahasa semula jadi
Keperluan
- Go 1.25+ (hanya untuk membina daripada sumber)
pipadaPATHanda untuk sembang pelayar/penukaran model- Pilihan:
ghuntuk perkongsian - Pada Windows: pi memerlukan shell bash untuk alat shellnya — Git for Windows sudah memadai (lihat dokumen Windows pi)
Pemasangan
Pakej Pi (disyorkan)
pi install npm:@ygncode/pi-web@betaArahan tunggal ini:
- Memasang pakej npm pi di bawah direktori pakej pi
- Menjalankan skrip
postinstallpakej (install.sh, atauinstall.ps1pada Windows) - Memuat turun binari pi-web yang sepadan untuk versi pakej dan platform anda daripada GitHub Releases
- Memasangnya ke
~/.pi/agent/bin/pi-web(pi-web.exepada Windows) - Menyediakan auto-mula semasa log masuk (launchd pada macOS, systemd pada Linux, pelancar Run-key pada Windows)
- Mendaftarkan perintah pi
/web,/remote,/refresh,/pi-web tokendan/pi-web set-token
Penjudulan automatik sesi terbina dalam pi-web (bukan sambungan) dan dikonfigurasikan pada halaman /settings. Ia dihidupkan secara lalai: pi-web menamakan sesi secara automatik menggunakan heuristik perkataan terbina dalam yang percuma (tiada AI), menjudul semula pada setiap mesej baharu. Anda boleh bertukar kepada penjudulan sekali setiap sesi, dan/atau memilih model untuk menulis tajuk yang lebih pintar dan bukannya heuristik.
Pada Linux, auto-mula dikonfigurasikan sebagai perkhidmatan systemd pengguna di ~/.config/systemd/user/pi-web.service. Pemasang menulis semula ExecStart kepada laluan binari yang sebenarnya dipasang. Jika Tailscale tersedia semasa masa jalan, pi-web menerbitkan pelayan localhost dengan Tailscale Serve HTTPS. Jika systemd pengguna tidak tersedia, jalankan secara manual dengan ~/.pi/agent/bin/pi-web -o.
Untuk memasang hanya untuk projek tertentu (dikongsi dengan pasukan anda melalui .pi/settings.json):
pi install -l npm:@ygncode/pi-web@betaKemudian mulakan semula pi (atau jalankan /reload), dan gunakan /web, /pi-web, /remote, /refresh. Urus token akses anda dengan /pi-web token dan /pi-web set-token.
Jika npm terbatal dengan ENOTEMPTY semasa menamakan semula @ygncode/pi-web, alihkan direktori sandaran tersembunyi basi npm dan pasang semula saluran beta:
rm -rf ~/.pi/agent/npm/node_modules/@ygncode/.pi-web-*
pi install npm:@ygncode/pi-web@betaPemasangan pantas (tiada alat binaan diperlukan)
macOS / Linux:
curl -fsSL https://raw.githubusercontent.com/ygncode/pi-web/main/install.sh | bashWindows (PowerShell):
irm https://raw.githubusercontent.com/ygncode/pi-web/main/install.ps1 | iexIni memuat turun binari pi-web terkini, memasangnya ke /usr/local/bin (~/.pi/agent/bin pada Windows), dan menyediakan auto-mula semasa log masuk. Tiada Go, Node, atau pi diperlukan.
Muat turun binari
Binari pra-bina dilampirkan pada 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-web# Windows (x64)
irm -OutFile pi-web.exe https://github.com/ygncode/pi-web/releases/latest/download/pi-web-windows-amd64.exe
# Windows (ARM64)
irm -OutFile pi-web.exe https://github.com/ygncode/pi-web/releases/latest/download/pi-web-windows-arm64.exeKemudian alihkannya ke PATH anda:
cp pi-web ~/.pi/agent/bin/
# atau seluruh sistem:
sudo cp pi-web /usr/local/bin/Bina daripada sumber
git clone https://github.com/ygncode/pi-web.git
cd pi-web
make build # membina bundle Vite, kemudian membenamkannya ke dalam binari Go
# pilihan: letakkan pada PATH
cp pi-web ~/.pi/agent/bin/Bundle frontend dibenamkan oleh web/assets_embed.go, jadi go build memerlukan web/dist wujud dahulu. make build melakukan kedua-dua langkah mengikut urutan; jika anda membina secara manual, jalankan npm --prefix web install && npm --prefix web run build sebelum go build ./cmd/pi-web.
Bangunkan bersama-sama contoh yang dipasang
Biarkan contoh yang dipasang berjalan pada port 31415, kemudian mulakan salinan sumber dalam mod pembangunan:
make devBuka http://127.0.0.1:31416. make dev menetapkan persekitaran pembangunan dalaman PI_WEB_DEV=1, jadi salinan sumber berkongsi sesi, tetapan dan data SQLite dengan contoh yang dipasang sambil mengekalkan kunci masa jalan dan fail keadaan pembangunan yang berasingan. Contoh biasa yang dipasang dan dilancarkan secara manual tidak berubah dan mengekalkan tingkah laku satu-contoh yang asal.
Untuk mengelakkan kerja autonomi yang berganda, mod pembangunan tidak menjalankan gelung jadual, pengosong baris gilir sembang, penjudulan automatik, atau pemberitahuan tolak. Permintaan langsung yang dibuat melalui UI pembangunan masih berfungsi. Jangan kendalikan sesi sembang yang sama daripada kedua-dua contoh serentak; setiap proses mempunyai pengurus pekerja RPC sendiri.
make dev memerlukan Air untuk muat semula panas Go:
go install github.com/air-verse/air@latestPI_WEB_DEV ialah paipan abah-abah pembangunan, bukan mod berbilang-contoh pengeluaran yang disokong.
Nyahpasang
pi remove npm:@ygncode/pi-web@betaIni menjalankan skrip preuninstall pakej (uninstall.sh, atau uninstall.ps1 pada Windows), yang menghentikan contoh yang sedang berjalan dan mengalihkan:
- binari pi-web (
~/.pi/agent/bin/pi-web, atau/usr/local/bin/pi-webuntuk pemasangan kendiri) - fail versi (
~/.pi/agent/pi-web-version) - fail keadaan masa jalan (
~/.pi/agent/pi-web/pi-web-state.json) - konfigurasi auto-mula (plist launchd pada macOS, perkhidmatan systemd pengguna pada Linux, entri Run-key + skrip pelancar pada Windows)
Data anda dipelihara supaya pemasangan semula kemudian menyambung semula tempat anda berhenti: ~/.pi/agent/pi-web.sqlite, ~/.pi/agent/pi-web-memory.sqlite, fail sesi anda di bawah ~/.pi/agent/sessions/, dan ~/.config/pi-web/env (termasuk PI_WEB_TOKEN). Alihkan semua itu secara manual jika anda mahukan permulaan yang bersih.
Penggunaan
# Mulakan pada port lalai (31415)
pi-web
# Mulakan dan buka pelayar
pi-web -o
# Port tersuai
pi-web -p 8080
# Atasi hos pengikatan (gelung-balik tidak disahkan secara lalai)
pi-web --host 127.0.0.1
# Pengikatan bukan gelung-balik memerlukan token — pi-web enggan bermula tanpanya
PI_WEB_TOKEN=$(openssl rand -hex 16) pi-web --host 192.168.1.50Secara lalai, pi-web mengikat ke 127.0.0.1. Jika Tailscale sedang berjalan dengan MagicDNS dan PI_WEB_TOKEN ditetapkan, pi-web juga menjalankan tailscale serve --bg --https=<port> http://127.0.0.1:<port> dan mencetak URL HTTPS tailnet. Tanpa token, pi-web kekal hanya gelung-balik dan melangkau Tailscale Serve, jadi rakan tailnet tidak dapat mencapai ejen tanpa pengesahan. Sebarang pengikatan bukan gelung-balik yang eksplisit juga memerlukan PI_WEB_TOKEN ditetapkan; lulus --insecure untuk mengatasi bagi ujian tempatan.
Akses Jauh
Biarkan pi-web mendengar secara tempatan, kemudian gunakan URL HTTPS Tailscale yang dicetak daripada telefon atau komputer riba anda pada tailnet.
Pada macOS, pasang dan buka Tailscale secara interaktif, luluskan gesaan pentadbir dan daftar masuk. Kemudian jalankan /pi-web restart, diikuti dengan /remote.
Pada Linux, benarkan pengguna anda menguruskan Tailscale sebelum memasang/menjalankan pi-web, jika tidak tailscale serve mungkin memerlukan sudo dan auto-mula boleh gagal:
sudo tailscale set --operator=$USER# 1. Mulakan pi-web dengan token supaya ia menerbitkan titik akhir HTTPS Tailscale
PI_WEB_TOKEN=$(openssl rand -hex 16) pi-web
# 2. Daripada mana-mana peranti lain yang disambungkan ke Tailscale, buka URL
# "Tailscale HTTPS" yang dicetak dan masukkan token sekali.Secara lalai, pi-web enggan mengikat ke alamat bukan gelung-balik melainkan
PI_WEB_TOKENditetapkan — sesiapa yang boleh mencapai alamat yang diikat boleh melihat sesi dan menghantar arahan kepada pi. Untuk mengatasi perlindungan ini bagi ujian rangkaian tempatan, lulus--insecure. Jangan gunakan--insecurepada Tailscale atau mana-mana alamat yang boleh dicapai dari luar mesin anda.Klien boleh menghantar token melalui pengepala
Authorization: Bearer <token>, pengepalaX-Pi-Token, atau sekali melalui?token=<token>(atau gesaan log masuk). Apabila token tiba melalui rentetan pertanyaan, pi-web menetapkan kukipi_tokendan mengalihkan ke URL yang sama dengan token dibuang, supaya ia tidak tertinggal dalam bar alamat atau sejarah pelayar. Utamakan bentuk pengepala untuk skrip dan automasi.
Sembang Pelayar
Buka halaman sesi dan gunakan penggubah di bahagian bawah untuk menyambung sesi tersebut dengan tepat.
Entermenghantar,Shift+Entermemasukkan baris baharu- Seret-dan-lepas atau tampal imej terus ke dalam penggubah
- Pemilih model dan pemilih tahap pemikiran terletak di pengepala — perubahan terus digunakan pada pekerja pi asas dengan serta-merta
- Setiap sesi aktif mendapat pekerja
pi --mode rpckhusus sendiri, jadi sesi yang berbeza tidak menyekat satu sama lain
Perkongsian Sesi
Klik Kongsi pada halaman sesi untuk mencipta GitHub Gist rahsia.
Keperluan:
ghdipasanggh auth loginselesai
Perkongsian mengembalikan:
- URL gist rahsia
- URL pratonton di
https://pi.dev/session/#<gistId>
Gist yang dikongsi ialah syot kilat dan tidak dikemas kini secara langsung.
Auto-Mula semasa Log Masuk
macOS
cp init/com.pi-web.plist ~/Library/LaunchAgents/
launchctl load ~/Library/LaunchAgents/com.pi-web.plistLinux (systemd)
# Pasang perkhidmatan systemd pengguna
mkdir -p ~/.config/systemd/user
cp init/pi-web.service ~/.config/systemd/user/
# Pilihan: tetapkan PI_WEB_TOKEN anda untuk pengikatan bukan gelung-balik
# (atau gunakan /pi-web set-token <token> dari dalam pi)
mkdir -p ~/.config/pi-web
echo 'PI_WEB_TOKEN=your-token-here' > ~/.config/pi-web/env
# Dayakan dan mulakan
systemctl --user daemon-reload
systemctl --user enable --now pi-web.service
# Semak status
systemctl --user status pi-web.service
# Lihat log
journalctl --user -u pi-web.service -fUntuk perkhidmatan bermula semasa but (sebelum log masuk), gunakan perkhidmatan sistem sebaliknya: salin
init/pi-web.serviceke/etc/systemd/system/dan gunakansudo systemctl.
Windows
Pemasang mengkonfigurasikan ini secara automatik, tanpa memerlukan hak pentadbir: entri pi-web di bawah HKCU\Software\Microsoft\Windows\CurrentVersion\Run melancarkan ~/.config/pi-web/pi-web-start.vbs semasa log masuk, yang memulakan binari secara tersembunyi (tiada tetingkap konsol) selepas memuatkan ~/.config/pi-web/env (PI_WEB_TOKEN, PATH, ...).
Untuk menguruskannya secara manual:
# Mula / henti
wscript.exe "$HOME\.config\pi-web\pi-web-start.vbs"
taskkill /IM pi-web.exe /F
# Alihkan auto-mula
Remove-ItemProperty -Path 'HKCU:\Software\Microsoft\Windows\CurrentVersion\Run' -Name 'pi-web'Tiada penyeliaan perkhidmatan pada Windows: jika pi-web ranap, ia kekal mati sehingga log masuk seterusnya (launchd/systemd memulakannya semula secara automatik pada platform lain).