Hub'ı Raspberry Pi'ye taşı¶
Hub (tau'nun çalıştığı, sana ait tek makine); ajanı, hub servislerini ve ileride mesh yönlendiricisini çalıştıran tek makinedir. Bir MacBook ilk hub olarak iyidir, kalıcı hub olarak ise zayıftır: uyur, evden çıkar, kapağı kapanır. Rafta duran, fişe takılı ve tailnet'e (Tailscale özel ağın) bağlı bir Raspberry Pi 5 doğal son durumdur. Bu sayfa "hub'ı taşımanın" ne anlama geldiğini, bugün elle neler yapabileceğini ve yol haritasının neleri otomatikleştireceğini anlatır.
Planlanan (yol haritası issue 048): kendini kopyalama
Taşımanın amaçlanan yolu tau'ya şunu söylemek: "hub'ı RPi5'e taşı". tau, Pi'yi SSH üzerinden hazırlar (uv, paketler, systemd birimi, ileride zenohd), yapılandırmasını ve verisini kopyalar, hub rolünü devreder ve Mac'i mac.* araçlarıyla bir node'a (hub'a yeteneklerini sunan diğer süreç) indirger. Her adım tier 2'dir (her zaman onay isteyen izin seviyesi) ve onay ister; devir sırasında kuyruktaki hiçbir mesaj kaybolmaz; Mac'e geri dönüş yolu vardır. Bunların hiçbiri henüz yapılmadı; issue 048 donanımı ve mesh katmanını (issue 032) bekliyor. Aşağıdaki elle yapılan adımlar, o otomasyonun yapacaklarının ta kendisi.
Hub'ı taşımak ne demek¶
Hiçbir zaman birden fazla etkin hub olmaz. Taşımak şu demek:
- Yapılandırma (
TAU_HOME):tau.toml,.env,persona/user.md,tools/. SSH üzerinden kopyalanır;.envveuser.mdgizli değerler ve yaşam verisidir, dolayısıyla asla üçüncü bir taraf üzerinden taşınmaz. - Veri (
TAU_DATA_DIR): oturumlar, hub durumu, ileride ayarlar, hafıza ve bilgi tabanı. Kopyalanır ya da şifreli bir yedekten geri yüklenir. - Servis: Pi'de systemd altında
tau hub, Mac'tetau hub uninstall. - Kapılar: Tailscale, sshd sıkılaştırması ve Cloudflare Tunnel ya da Tailscale Serve;
tau.<your-domain>yeni hub'ı göstersin diye Pi'ye taşınır. - Rol: Mac tau'yu çalıştırmaya devam eder ama bir node olarak (
TAU_ROLE=node); yeteneklerini mesh üzerinden hub'a sunar (katman 5).
İki makinede de aynı kod çalışır; yalnızca TAU_ROLE farklıdır.
Bugün, elle¶
1. Pi'yi hazırla¶
Raspberry Pi OS (64 bit) ya da Ubuntu Server. Sonra:
sudo apt update && sudo apt install -y git tmux mosh
curl -LsSf https://astral.sh/uv/install.sh | sh
uv python install 3.12
curl -fsSL https://tailscale.com/install.sh | sh
sudo tailscale up
sshd'yi telefon rehberindeki gibi sıkılaştır (yalnızca anahtarlar, AllowUsers tailnet'le sınırlı) ve Termius anahtarını ekle.
2. tau'yu kur¶
Paketler PyPI'a çıkana kadar:
İlk sürümden sonra: uv tool install tau-core --with tau-tui.
3. Yapılandırmayı ve veriyi taşı¶
Mac'ten, tailnet üzerinden:
rsync -a --mkpath "$HOME/.tau/" pi-hub.tailXXXXXX.ts.net:.tau/
rsync -a --mkpath "$HOME/.local/share/tau/" pi-hub.tailXXXXXX.ts.net:.local/share/tau/
Ya da yedekleme rehberinin gösterdiği gibi şifreli paketten geri yükle. Sonra Pi'de:
İşaretlediği şeyleri düzelt: genellikle .env içindeki model anahtarı (ANTHROPIC_API_KEY ya da sağlayıcınınki). Bütçeler Pi'de hiçbir şey gerektirmez: tau.toml içinde yaşarlar, harcama defteri (ledger) spend.sqlite3 de veri diziniyle birlikte geldi; böylece mevcut dönemin harcaması kaldığı yerden devam eder. local rolü Ollama'ya hâlâ Mac'te ulaşsın diye TAU_OLLAMA_URL değerini Mac'in tailnet adresine (http://my-mac.tailXXXXXX.ts.net:11434) yönlendir ve Mac'teki Ollama'nın yalnızca kendi tailnet adresini dinlemesini sağla (Modeller ve bütçeler).
4. Servisi başlat¶
cd ~/tau
mkdir -p ~/.config/systemd/user
uv run tau hub systemd-unit > ~/.config/systemd/user/tau-hub.service
systemctl --user daemon-reload
systemctl --user enable --now tau-hub
loginctl enable-linger "$USER"
tau hub status
Ayrıntılar, loglar ve yeniden başlatma kuralları tau'yu servis olarak çalıştır sayfasında.
5. Eski hub'ı durdur¶
Mac'te:
Aynı anda iki hub, mesh var olduğunda onun reddedeceği bir yapılandırma hatasıdır; bugün seni hiçbir şey durdurmuyor, o yüzden düzenli ol.
6. Kapıları taşı¶
- Tünel: Pi'de
cloudflared tunnel createçalıştır ya da~/.cloudflared/<UUID>.jsonveconfig.ymldosyalarını tailnet üzerinden kopyala ve Mac'tecloudflared'ı durdur. DNS rotası makineyi değil tüneli izler. - Tailscale Serve: Mac'te
tailscale serve reset, Pi'detailscale serve --bg <port>. - Termius: host'u Pi'nin MagicDNS adına yönlendir, startup snippet olarak
tau-attach'i koru (onu Pi'ye kur:tmux new -A -s tauçalıştıran iki satırlık bir betik).
Pi'de neler farklı¶
| Konu | Pi'de |
|---|---|
| Uyku | yok; keep-awake agent'ı ve TauBar'ın uyku modları yalnızca Mac'i ilgilendirir |
| Servis yöneticisi | launchd değil, linger ile systemd kullanıcı birimi |
| Modeller | Pi'de ek bir şey çalışmaz: brain ve fast eskisi gibi, aynı bütçelerle doğrudan kendi sağlayıcılarını çağırır; local rolü Ollama'ya tailnet üzerinden Mac'te ulaşır (TAU_OLLAMA_URL) ve Mac uyurken ya da uzaktayken birkaç saniye içinde failover ile (başka bir role devrederek) fast'e geçer; bir Pi 5 kendi başına yalnızca küçük modelleri çalıştırır |
| Ses | MLX Whisper yalnızca Apple'da çalışır; Pi, CPU için bir Whisper derlemesi alır (tau-voice, planlanıyor) |
| Mesh | zenohd hub'da, yani Pi'de çalışır; Mac bir node olarak katılır |
| Yedekler | aynı age + R2 akışı; anahtar diskle değil parola yöneticisiyle taşınır |
Geri alma¶
Pi bir süre çalışana kadar Mac'teki ~/.tau ve ~/.local/share/tau dizinlerini sakla. Geri dönmek için: Pi'de tau hub stop, veri dizinini Mac'e geri eşitle (Pi'de kaydedilen hiçbir şey kaybolmasın diye rsync'i ters yönde çalıştır), Mac'te tau hub install, kapıları yeniden taşı.