Skip to content

Latest commit

 

History

History
118 lines (82 loc) · 10.7 KB

File metadata and controls

118 lines (82 loc) · 10.7 KB

pi-web (Remote Control Your Pi)

ขับเคลื่อน pi coding agent ของคุณจากโทรศัพท์, แท็บเล็ต, หรือแล็ปท็อป — ทุกที่บนเครือข่ายของคุณ, หรือจากระยะไกลผ่าน Tailscale

มันเป็น PWA เต็มรูปแบบ ดังนั้นคุณสามารถติดตั้งและใช้งานได้เหมือนแอป native บนทุกอุปกรณ์ คิดว่ามันเป็นพื้นที่ทำงาน AI ส่วนตัวของคุณ — เหมือนกับ Claude's Cowork, แต่มีโมเดลที่หลากหลาย — แชทข้ามโมเดล, เขียนโค้ดจากโทรศัพท์ของคุณ, หรือเปลี่ยนมันให้เป็น ผู้ช่วยส่วนตัว ที่อาศัยอยู่บนเครื่องของคุณ

ทำให้เป็นของคุณ: สลับธีมและฟอนต์, และใช้งานในภาษาของคุณเอง — pi-web มาพร้อมกับหลายภาษาและคุณสามารถเพิ่มภาษาของคุณเองได้ ฟีเจอร์เพิ่มเติมกำลังจะมา, แต่มันจะไม่บวม: อะไรก็ตามที่คุณไม่ต้องการสามารถปิดได้ในการตั้งค่า

Warning

pi-web อยู่ในช่วง beta สิ่งต่างๆ จะเปลี่ยนแปลงและพังได้!

Tip

เพิ่งมาใหม่? อ่านคู่มือผู้ใช้ → สำหรับทัวร์ฟีเจอร์แบบเต็ม, ขั้นตอนการติดตั้ง, และเคล็ดลับ (ภาษาอื่นๆ →)

ภาพหน้าจอ

Desktop
เดสก์ท็อป

Mobile PWA
มือถือ PWA

มันประกอบกันอย่างไร

 pi (terminal)                 Browser (โทรศัพท์ / แท็บเล็ต / แล็ปท็อป)
      │                                │
      │  เขียน JSONL                  │  HTTP + SSE
      ▼                                ▼
 ~/.pi/agent/sessions/  ←───  pi-web (Go HTTP server)
                                      │
                    ┌─────────────────┼─────────────────┐
                    │                 │                 │
              pi --mode rpc      fsnotify         tailscale serve
            (ต่อเซสชัน        (โหลดซ้ำสด)      (HTTPS ระยะไกล
             chat worker)                           ผ่าน MagicDNS)
  • pi เขียนบทสนทนา JSONL ไปที่ ~/.pi/agent/sessions/ ขณะที่มันทำงาน
  • pi-web คือเซิร์ฟเวอร์ Go ที่อ่านไฟล์เหล่านั้น, แสดงผลในเบราว์เซอร์, และสตรีมการอัปเดตสดผ่าน SSE
  • pi --mode rpc workers จัดการแชทที่เริ่มจากเบราว์เซอร์ — หนึ่งตัวต่อเซสชัน, ปิดเมื่อว่างเกิน 10 นาที
  • fsnotify เฝ้าดูไดเรกทอรีเซสชันเพื่อให้เบราว์เซอร์โหลดซ้ำภายในมิลลิวินาทีเมื่อมีผลลัพธ์ใหม่
  • Tailscale Serve เผยแพร่เซิร์ฟเวอร์ localhost เป็นปลายทาง HTTPS บน tailnet ของคุณ

ติดตั้ง

pi install npm:@ygncode/pi-web@beta

แค่นั้นแหละ — มันดาวน์โหลดไบนารีที่ตรงกัน, ตั้งค่าเริ่มอัตโนมัติ, และลงทะเบียนคำสั่ง /web, /pi-web, /remote, และ /refresh

เมื่อติดตั้งแล้ว, เปิด http://127.0.0.1:31415 ในเบราว์เซอร์ของคุณ จาก pi, ใช้ /web เพื่อเปิดเซสชันปัจจุบันในเบราว์เซอร์ของคุณทันที ถ้า Tailscale กำลังทำงานบนเครื่องของคุณ, pi-web จะเผยแพร่ปลายทาง HTTPS บน tailnet ของคุณโดยอัตโนมัติ — ใช้ /remote จาก pi เพื่อรับ QR code และ URL สำหรับทุกอุปกรณ์บน tailnet ของคุณ

การเข้าถึงจากระยะไกลบน macOS: ติดตั้งและเปิด Tailscale แบบโต้ตอบ อนุมัติข้อความแจ้งสิทธิ์ผู้ดูแลระบบ และลงชื่อเข้าใช้ จากนั้นเรียกใช้ /pi-web restart ตามด้วย /remote

สำหรับการติดตั้งด้วยตนเอง, ดาวน์โหลดไบนารี, หรือสร้างจากซอร์ส, ดู user-docs/install.md

การผสานกับ Pi

หลังจาก pi install npm:@ygncode/pi-web@beta, คุณจะได้รับ:

คำสั่ง มันทำอะไร
/web เปิดเซสชันปัจจุบันในเบราว์เซอร์ของคุณ (รับรู้ SSH: ข้ามเบราว์เซอร์และแสดงเฉพาะ URL)
/pi-web แสดงสถานะ, เวอร์ชัน, เริ่ม/หยุด/รีสตาร์ทเซิร์ฟเวอร์, หรืออัปเดต
/remote แสดง QR code และ URL สำหรับการเข้าถึงระยะไกลผ่าน Tailscale
/refresh ดึงข้อความใหม่ที่เขียนจากเบราว์เซอร์ระยะไกลกลับเข้ามาในเซสชัน terminal

การตั้งชื่ออัตโนมัติ ของเซสชันถูกสร้างไว้ใน pi-web เองและกำหนดค่าบนหน้า /settings มันเปิดโดยค่าเริ่มต้น และตั้งชื่อเซสชันโดยอัตโนมัติ คุณสามารถเลือก:

  • เมื่อใดที่จะตั้งชื่อ — หนึ่งครั้งต่อเซสชัน, หรือทุกข้อความใหม่ (ค่าเริ่มต้น)
  • โมเดลการตั้งชื่อ — ** heuristic คำในตัวที่ฟรีและรวดเร็ว (ไม่มี AI)** โดยค่าเริ่มต้น, หรือเลือกโมเดล (เช่น ตัวเล็ก/เร็ว) สำหรับชื่อที่เขียนโดยโมเดลที่ฉลาดกว่า

แพ็คเกจยังติดตั้งไบนารี pi-web ไปที่ ~/.pi/agent/bin/pi-web และตั้งค่าเริ่มอัตโนมัติเมื่อเข้าสู่ระบบ

เริ่มอัตโนมัติเมื่อเข้าสู่ระบบ

คำสั่ง pi install npm:@ygncode/pi-web@beta ตั้งค่านี้โดยอัตโนมัติ:

OS กลไก
macOS launchd plist ที่ ~/Library/LaunchAgents/com.pi-web.plist
Linux systemd user service ที่ ~/.config/systemd/user/pi-web.service

เพื่อตั้งค่า token สำหรับการเข้าถึงระยะไกล, สร้าง ~/.config/pi-web/env:

PI_WEB_TOKEN=your-token-here

สำหรับรายละเอียดเพิ่มเติม (การตั้งค่าด้วยตนเอง, พอร์ตที่กำหนดเอง, การ bind แบบ non-loopback), ดู user-docs/install.md

การพัฒนา

make setup   # ติดตั้ง frontend dependencies และดาวน์โหลดโมดูล Go
make check   # frontend test/build + Go test/vet
make build   # setup ถ้าจำเป็น, build frontend, แล้ว build ./pi-web