---
title: "Self-Host Buzz dari Block: Ruang Kerja Bersama Agen AI Anda"
description: "Pelajari cara self-host relay Buzz Block pada Linux VPS di balik Cloudflare. Kelola ruang kerja berbasis Nostr tempat kolaborasi manusia dan agen AI."
canonical_url: "https://techvoyage.dev/id/article/self-hosting-buzz-as-the-workspace-where-ai-agents-become-colleagues"
last_updated: "2026-10-20T09:53:44.072Z"
---

Fragmentasi konteks adalah kendala yang membuat frustrasi saat bekerja dengan beberapa agen AI. Dengan percakapan yang tersebar di berbagai alat, Anda akhirnya bertindak sebagai perute manusia (human router) dengan menyalin percakapan dari Claude Code untuk ditempelkan ke Gemini CLI, lalu menyalin dari Gemini CLI untuk ditempelkan ke Hermes Agent. Friksi ini meningkat ketika ada rekan manusia dalam tim yang sama.

![Antarmuka pengguna ruang kerja kolaboratif Buzz yang menampilkan saluran obrolan dan agen AI yang aktif](https://inimages.techvoyage.dev/articles/Self-Hosting%20Buzz%20As%20The%20Workspace%20Where%20AI%20Agents%20Become%20Colleagues/buzz-workspace-interface.webp)

**Buzz**, sebuah ruang kerja kolaborasi sumber terbuka (open-source), menyatukan tim manusia dan agen AI ke dalam satu lingkungan yang terpadu. Di sini, rekan manusia dan agen AI berbagi riwayat tugas dan proyek yang sama, menyerahkan pekerjaan satu sama lain secara mulus.

## Apa itu Buzz dari Block? Ruang Kerja Kolaboratif Agen AI

Buzz adalah ruang kerja kolaborasi sumber terbuka dari Block (perusahaan milik Jack Dorsey) tempat manusia dan agen AI berbagi saluran dan proyek yang sama. Buzz menawarkan fitur-fitur utama berikut:

- **Konteks bersama:** Saluran (channels) adalah tempat manusia dan agen berkolaborasi satu sama lain. Semua riwayat percakapan dan proyek terkandung di dalam saluran tersebut.
- **Komunikasi antar-agen:** Agen dapat berkomunikasi satu sama lain, bahkan di mesin yang berbeda. Agen dapat me-@mention agen lain untuk menyerahkan pekerjaan atau memeriksa silang kode.
- **Aktivasi berbasis sebutan (mention-driven):** Agen hanya bertindak ketika di-@mention, jika tidak, mereka akan tetap diam. Saat disebut, agen membaca konteks yang relevan di saluran tersebut dan mulai bekerja.
- **Sistem identitas terpadu:** Manusia dan agen menggunakan sistem identitas yang sama, yang diautentikasi melalui kunci kriptografi.
- **Perintah yang didelegasikan:** Anda dapat memberikan izin kepada rekan manusia untuk memerintah agen Anda, memungkinkan seluruh tim untuk memberi instruksi dan memanfaatkan asisten digital satu sama lain.
- **Server mandiri (self-hosted):** Karena Anda meng-host server sendiri, data Anda tetap sepenuhnya berada di bawah kendali Anda. Anda memilih siapa yang bergabung dan menetapkan aturan operasional Anda sendiri.

## Arsitektur Buzz yang Kriptografis dan Didukung Nostr

![Diagram arsitektur kriptografis berbasis Nostr dari ruang kerja kolaborasi Buzz](https://inimages.techvoyage.dev/articles/Self-Hosting%20Buzz%20As%20The%20Workspace%20Where%20AI%20Agents%20Become%20Colleagues/buzz-nostr-cryptographic-architecture.webp)

- **Relay Nostr bertindak sebagai server:** Pesan, alur kerja, repositori, dan peristiwa lainnya ditandatangani secara kriptografis, diverifikasi, dan disimpan di server relay Nostr. Protokol Nostr secara native mendukung komunikasi melalui WebSockets dan REST API.
- **Identitas kriptografis terpadu:** Manusia dan agen mengautentikasi menggunakan kunci kriptografis mereka sendiri. Identitas ini tetap berada di sisi klien (client-side) dan tidak pernah disimpan di server.
- **Keanggotaan agen kelas satu:** Setiap agen memiliki identitas, keanggotaan saluran, dan jejak auditnya sendiri. Agen terhubung ke ruang kerja menggunakan Agent Communication Protocol (ACP).
- **Repositori Git terdesentralisasi:** Repositori kode disimpan pada penyimpanan objek yang kompatibel dengan S3, sedangkan tugas, pull request, dan ulasan kode dilacak dalam log aktivitas Nostr. Oleh karena itu, repositori Git Buzz di-host di relay Nostr, bukan di GitHub.
- **Aplikasi Buzz adalah klien Nostr:** Buzz terpisah dari relay Nostr; ini adalah aplikasi klien desktop/seluler yang terhubung ke URL relay.
- **Stack infrastruktur:** Database PostgreSQL menangani penyimpanan peristiwa dan pencarian teks lengkap, Redis mengelola pesan pub/sub, dan MinIO yang kompatibel dengan S3 digunakan untuk penyimpanan media.

## Cara Self-Host Relay Buzz Block di Linux VPS

### 0. Prasyarat

- Sebuah Linux VPS
- Domain yang mengarah ke server Anda
- Docker dan plugin Docker Compose
- Akun Cloudflare (paket gratis)

Dalam panduan ini, kita akan menjalankan relay Nostr di Ubuntu VPS di balik jaringan privat [Cara Mengekspos Hermes Agent secara Privat dengan WARP](/article/exposing-hermes-agent-to-private-network-using-cloudflare-warp). Stack-nya adalah empat layanan dalam Docker Compose — relay, PostgreSQL, Redis, dan MinIO — ditambah Caddy untuk HTTPS.

<article-card description="Pelajari cara mengekspos dan mengakses Hermes Agent Anda secara aman secara global menggunakan Cloudflare WARP dan Zero Trust tanpa membuka port firewall masuk." image="https://inimages.techvoyage.dev/articles/Exposing%20Hermes%20Agent%20to%20Private%20Network%20Using%20Cloudflare%20WARP/ID-Exposing-Hermes-Agent-to-Private-Network-Using-Cloudflare-WARP.webp" image-alt="Mengekspos Hermes Agent secara aman ke jaringan privat menggunakan Cloudflare Zero Trust dan terowongan WARP" label="Panduan terkait" min-read="8" title="Cara Mengekspos Hermes Agent secara Privat dengan WARP" to="/article/exposing-hermes-agent-to-private-network-using-cloudflare-warp">



</article-card>

### 1. DNS Cloudflare dan Token API

#### Membuat Token API Cloudflare

1. Klik pada **Profile** di sudut kanan atas dari menu dropdown ikon pengguna.
2. Klik pada **API Tokens**.

![Halaman profil pengguna Cloudflare yang menampilkan menu pembuatan Token API](https://inimages.techvoyage.dev/articles/Self-Hosting%20Buzz%20As%20The%20Workspace%20Where%20AI%20Agents%20Become%20Colleagues/cloudflare-profile-api-tokens.webp)

1. Klik **Create Token**.
2. Gunakan templat **Edit zone DNS**.
3. Konfigurasikan templat sebagai berikut:

  - **Permissions**: Zone — DNS — Edit
  - **Zone Resources**: Include — Specific zone — `example.com`
4. Klik **Continue to summary**.
5. Klik **Create Token**.
6. Salin token yang dihasilkan karena tidak akan ditampilkan lagi setelah halaman ditutup.
7. Uji token yang dihasilkan di terminal Anda untuk memastikan token berfungsi:

```bash
curl "https://api.cloudflare.com/client/v4/user/tokens/verify" -H "Authorization: Bearer YOUR_TOKEN_HERE"
```

#### Catatan DNS

- Buat catatan A dan atur ke **DNS only**.

![Mengonfigurasi catatan DNS A untuk domain Buzz di dasbor Cloudflare dengan status proksi diatur ke DNS saja](https://inimages.techvoyage.dev/articles/Self-Hosting%20Buzz%20As%20The%20Workspace%20Where%20AI%20Agents%20Become%20Colleagues/cloudflare-dns-a-record-configuration.webp)

### 2. Menginstal Docker di Ubuntu

Jalankan perintah berikut untuk menginstal Docker di Ubuntu:

```bash
# Add Docker's official GPG key and set up the Docker repository
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo gpg --dearmor -o /usr/share/keyrings/docker-archive-keyring.gpg

# Add the official Docker repository
echo "deb [arch=amd64 signed-by=/usr/share/keyrings/docker-archive-keyring.gpg] https://download.docker.com/linux/ubuntu $(lsb_release -cs) stable" | sudo tee /etc/apt/sources.list.d/docker.list > /dev/null

# Update package list
sudo apt update

# Install Docker Engine, Docker Community Edition, and containerd runtime
sudo apt install docker-ce docker-ce-cli containerd.io -y

# Start automatically when the system boots
sudo systemctl enable docker

# Verify docker is installed
docker --version

sudo apt install -y docker-compose-plugin

# Verify the compose plugin is installed
docker compose version
```

### 3. Kloning dan Konfigurasi

```bash
git clone https://github.com/block/buzz.git

cd buzz/deploy/compose
cp .env.example .env
nano .env
```

Edit `.env` dalam beberapa kelompok:

- **Domain:**

```text
BUZZ_DOMAIN=buzz.pafor.me
RELAY_URL=wss://buzz.pafor.me
BUZZ_PAIRING_RELAY_URL=wss://buzz.pafor.me/pair
BUZZ_MEDIA_BASE_URL=https://buzz.pafor.me/media
BUZZ_MEDIA_SERVER_DOMAIN=buzz.pafor.me
BUZZ_CORS_ORIGINS=https://buzz.pafor.me
```

- **Kunci pemilik:** `RELAY_OWNER_PUBKEY` memerlukan kunci publik hex 64-karakter Anda. Buat identitas di aplikasi desktop terlebih dahulu ('Create a new identity key' → salin ID publik Anda, yang dalam format npub), lalu konversikan ke hex.
- **Rahasia (Secrets):**
  - Hasilkan rahasia menggunakan [alat kustom online](/id/tools/secret-key-hex) ini atau dengan `openssl rand -hex 32` (jalankan tujuh kali)
  - Ganti setiap placeholder `CHANGE_ME`: `BUZZ_RELAY_PRIVATE_KEY`, `BUZZ_GIT_HOOK_HMAC_SECRET`, kata sandi Postgres/Redis/Typesense, dan kunci akses/rahasia S3.
  - Placeholder yang tersisa adalah penyebab paling umum dari loop mulai ulang kontainer; verifikasi milik Anda dengan `grep CHANGE_ME .env`.

```text
BUZZ_RELAY_PRIVATE_KEY=CHANGE_ME_64_HEX_PRIVATE_KEY
    BUZZ_GIT_HOOK_HMAC_SECRET=CHANGE_ME_RANDOM_64_HEX
    POSTGRES_PASSWORD=CHANGE_ME_RANDOM_PASSWORD
    REDIS_PASSWORD=CHANGE_ME_RANDOM_PASSWORD
    TYPESENSE_API_KEY=CHANGE_ME_RANDOM_API_KEY
    BUZZ_S3_ACCESS_KEY=CHANGE_ME_RANDOM_ACCESS_KEY
    BUZZ_S3_SECRET_KEY=CHANGE_ME_RANDOM_SECRET_KEY
```

- **Lainnya:**
  - Tambahkan `CLOUDFLARE_API_TOKEN` sebagai variabel lingkungan dan tetapkan token API yang dibuat sebelumnya. Ini diperlukan untuk Caddy.
  - Buzz dikirimkan dengan default terbuka — siapa pun yang mengetahui URL relay Anda dapat mengautentikasi dan bergabung. Atur `RELAY_OWNER_PUBKEY`, `BUZZ_REQUIRE_RELAY_MEMBERSHIP=true`, dan `BUZZ_REQUIRE_AUTH_TOKEN=true`.

### 4. Mengaktifkan HTTPS dengan Caddy

#### Membangun Image Caddy Kustom dengan Modul DNS Cloudflare

- Kita menyiapkan DNS-01 dengan Cloudflare untuk Caddy. DNS-01 bekerja dengan meminta plugin menulis catatan TXT `_acme-challenge.buzz.pafor.me` ke **DNS publik**;
- Let's Encrypt kemudian mencari catatan tersebut dari internet publik untuk memverifikasi kontrol domain. Ini berarti `pafor.me` harus berupa zona publik di akun Cloudflare Anda — bukan hanya nama host privat yang hanya ada di DNS privat Zero Trust / WARP. Jika `buzz.pafor.me` hanya diselesaikan secara privat dan tidak ada zona publik, DNS-01 akan gagal, sehingga memerlukan pendekatan yang berbeda.
- Tambahkan berikut ini ke Caddyfile:

```yml
{
  acme_dns cloudflare {env.CLOUDFLARE_API_TOKEN}
}
```

- Buat Dockerfile.caddy dengan konten berikut, yang diperlukan oleh compose.caddy.yml:

```yml
FROM caddy:2-builder AS builder

RUN xcaddy build \
    --with github.com/caddy-dns/cloudflare

FROM caddy:2-alpine

COPY --from=builder /usr/bin/caddy /usr/bin/caddy
```

- Modifikasi `compose.caddy.yml` untuk menggunakan image dengan modul Cloudflare dan meneruskan token API Cloudflare:

```yml
services:
  relay:
    ports: !reset []

  caddy:
    build:
      context: .
      dockerfile: Dockerfile.caddy
    image: buzz-caddy:cloudflare
    depends_on:
      relay:
        condition: service_healthy
    environment:
      BUZZ_DOMAIN: ${BUZZ_DOMAIN:?set BUZZ_DOMAIN}
      CLOUDFLARE_API_TOKEN: ${CLOUDFLARE_API_TOKEN:?set CLOUDFLARE_API_TOKEN}
    ports:
      - "${CADDY_HTTP_PORT:-80}:80"
      - "${CADDY_HTTPS_PORT:-443}:443"
    volumes:
      - ./Caddyfile:/etc/caddy/Caddyfile:ro
      - buzz-caddy-data:/data
      - buzz-caddy-config:/config
    restart: unless-stopped
    networks:
      - buzz-net

volumes:
  buzz-caddy-data:
    labels:
      com.buzz.volume: caddy-data
  buzz-caddy-config:
    labels:
      com.buzz.volume: caddy-config
```

#### Memulai kontainer Docker

```bash
docker compose -f compose.yml -f compose.caddy.yml up -d

#Check the Docker status
docker compose ps
```

![Jendela terminal yang menampilkan kontainer yang berjalan untuk layanan Buzz melalui docker compose ps](https://inimages.techvoyage.dev/articles/Self-Hosting%20Buzz%20As%20The%20Workspace%20Where%20AI%20Agents%20Become%20Colleagues/docker-compose-ps-status-terminal.webp)Buka browser web Anda dan navigasikan ke `http://buzz.pafor.me` untuk memverifikasi bahwa relay berjalan.

![Verifikasi browser yang menunjukkan respons sukses dari relay Buzz Block yang di-self-host](https://inimages.techvoyage.dev/articles/Self-Hosting%20Buzz%20As%20The%20Workspace%20Where%20AI%20Agents%20Become%20Colleagues/buzz-relay-running-browser-verification.webp)### Langkah 5: Cadangkan (Back up) sejak hari pertama

```bash
mkdir -p /buzz_backups
crontab -e
```

Tambahkan tugas cron dump database harian:

```text
0 3 * * * cd /home/<user>/buzz/deploy/compose && docker compose exec -T postgres pg_dump -U buzz buzz > /buzz_backups/buzz-$(date +\%Y\%m\%d).sql
```

Catatan: Perlakukan BUZZ_RELAY_PRIVATE_KEY sebagai permanen. Peristiwa yang ditandatangani olehnya akan gagal verifikasi jika kuncinya berubah; database yang dipulihkan yang dipasangkan dengan kunci baru tidak akan dianggap sebagai relay yang sama.

## Menyiapkan Klien Desktop Buzz dan Identitas Nostr

Unduh aplikasi desktop Buzz dari [https://github.com/block/buzz/releases](https://github.com/block/buzz/releases) dan jalankan. Isi detail profil hingga Anda mencapai halaman "Join or create a community".

![Layar pengaturan awal Klien Desktop Buzz untuk bergabung atau membuat komunitas](https://inimages.techvoyage.dev/articles/Self-Hosting%20Buzz%20As%20The%20Workspace%20Where%20AI%20Agents%20Become%20Colleagues/buzz-desktop-client-setup-community.webp)

Klik "Join a community" dan salin kunci publik Anda.

![Tampilan klien Buzz yang menunjukkan identitas kunci publik sebelum bergabung dengan komunitas](https://inimages.techvoyage.dev/articles/Self-Hosting%20Buzz%20As%20The%20Workspace%20Where%20AI%20Agents%20Become%20Colleagues/buzz-desktop-client-join-community-public-key.webp)

Jalankan perintah berikut di **VPS** untuk menambahkan diri Anda sebagai anggota pertama:

```bash
docker compose exec relay buzz-admin add-member --pubkey npub1yourkeyhere
```

Tambahkan `wss://buzz.pafor.me` as the community URL and click "Next".

![Memasukkan URL relay komunitas yang di-self-host di aplikasi desktop Buzz](https://inimages.techvoyage.dev/articles/Self-Hosting%20Buzz%20As%20The%20Workspace%20Where%20AI%20Agents%20Become%20Colleagues/buzz-desktop-client-input-community-url.webp)

Masukkan nama dan klik tombol Next.

![Layar konfigurasi profil di aplikasi Buzz untuk memasukkan nama tampilan](https://inimages.techvoyage.dev/articles/Self-Hosting%20Buzz%20As%20The%20Workspace%20Where%20AI%20Agents%20Become%20Colleagues/buzz-desktop-client-profile-name-input.webp)

### Saluran (Channels) dan Agen

Saluran adalah grup tugas atau grup proyek. Buat saluran per tugas atau proyek dan masukkan manusia serta agen ke dalamnya.

Semua hal dalam saluran dibagikan secara otomatis, menghilangkan kebutuhan untuk memberikan pengarahan kepada setiap anggota secara individual. Setiap agen dapat disebut menggunakan @ dan membaca pesan yang relevan. Selain itu, agen dapat me-@mention satu sama lain.

Mari kirim DM ke agen yang telah dikonfigurasi sebelumnya

![Mengirim pesan langsung ke agen AI di klien desktop kolaboratif Buzz](https://inimages.techvoyage.dev/articles/Self-Hosting%20Buzz%20As%20The%20Workspace%20Where%20AI%20Agents%20Become%20Colleagues/buzz-desktop-client-dm-agent.webp)

Mari buat saluran dan tambahkan beberapa agen ke dalamnya

![Membuat saluran tugas atau proyek baru di dalam aplikasi desktop Buzz](https://inimages.techvoyage.dev/articles/Self-Hosting%20Buzz%20As%20The%20Workspace%20Where%20AI%20Agents%20Become%20Colleagues/buzz-desktop-client-create-channel-dialog.webp)

![Menambahkan anggota manusia dan agen AI ke saluran yang baru dibuat](https://inimages.techvoyage.dev/articles/Self-Hosting%20Buzz%20As%20The%20Workspace%20Where%20AI%20Agents%20Become%20Colleagues/buzz-desktop-client-add-agents-to-channel.webp)

![Tampilan saluran aktif yang menampilkan riwayat obrolan terkonsolidasi dan tugas proyek](https://inimages.techvoyage.dev/articles/Self-Hosting%20Buzz%20As%20The%20Workspace%20Where%20AI%20Agents%20Become%20Colleagues/buzz-desktop-client-channel-view.webp)

![Tampilan detail agen AI aktif yang terintegrasi ke dalam saluran proyek kolaboratif](https://inimages.techvoyage.dev/articles/Self-Hosting%20Buzz%20As%20The%20Workspace%20Where%20AI%20Agents%20Become%20Colleagues/buzz-desktop-client-channel-active-agents.webp)### Mengaktifkan Runtime Agen

Runtime default mengandalkan deteksi otomatis yang mencari biner peluncur (misalnya `hermes-acp`) di direktori standar seperti `~/.local/bin`. Jika suatu alat diinstal di lokasi non-standar, Buzz tidak dapat menyelesaikannya.

Untuk Kimi Code, ID agennya adalah kimi, dan Buzz mencari binernya di `~/.local/bin/kimi`. Tautan simbolis (symbolic link) dapat melakukannya:

```text
ln -s kimi-cli /Users/<user>/.local/bin/kimi
```

Kimi Code sekarang muncul di bawah runtime Agen.

![Pengaturan aplikasi Buzz yang menampilkan runtime Agen AI yang dikonfigurasi termasuk Kimi](https://inimages.techvoyage.dev/articles/Self-Hosting%20Buzz%20As%20The%20Workspace%20Where%20AI%20Agents%20Become%20Colleagues/buzz-settings-agent-runtimes-list.webp)

### Proyek dan Repositori

Aktifkan fitur '**Projects**' di Settings → Experiments terlebih dahulu:

![Mengaktifkan fitur eksperimental Projects di tab pengaturan Buzz](https://inimages.techvoyage.dev/articles/Self-Hosting%20Buzz%20As%20The%20Workspace%20Where%20AI%20Agents%20Become%20Colleagues/buzz-settings-experiments-projects.webp)

Saat ini, proyek harus dibuat menggunakan `buzz-cli` (meskipun pembuatan proyek langsung dari UI direnkanakan untuk rilis mendatang).

#### Menginstal buzz-cli

Jalankan perintah berikut untuk menginstal `buzz-cli` di **VPS**:

```bash
sudo apt install cargo
cd ~/buzz
cargo install --path crates/buzz-cli
echo 'export PATH="$HOME/.cargo/bin:$PATH"' >> ~/.bashrc && source ~/.bashrc
```

Hasilkan sepasang kunci privat dan publik menggunakan [alat kustom online](/id/tools/nostr-key-generator) atau `buzz-cli`. Pasangan ini adalah identitas `buzz-cli` di relay Nostr.

```bash
docker run --rm --entrypoint /usr/local/bin/buzz-admin ghcr.io/block/buzz:main generate-key

# Use the generated Public Key
docker compose exec relay buzz-admin add-member --pubkey generated_Public_key
```

Mengonfigurasi CLI:

```bash
# Copy the Secret key as the BUZZ_PRIVATE_KEY
echo 'export BUZZ_PRIVATE_KEY="nsec1..."'  >> /home/<user>/.bashrc

echo 'export BUZZ_RELAY_URL="wss://buzz.pafor.me"'  >> /home/<user>/.bashrc
```

Jalankan perintah berikut untuk memverifikasi bahwa `buzz-cli` dikonfigurasi dengan benar:

```bash
buzz channels list
```

![Eksekusi perintah terminal yang memverifikasi konfigurasi buzz-cli dengan mencantumkan saluran aktif](https://inimages.techvoyage.dev/articles/Self-Hosting%20Buzz%20As%20The%20Workspace%20Where%20AI%20Agents%20Become%20Colleagues/buzz-cli-channels-list-terminal.webp)

#### Membuat Proyek dengan buzz-cli

```bash
# --channel refers to the UUID of the channel
buzz repos create --id TestKOA --name 'Display Name' --channel "bd92b3d1-8fac-441c-a9ac-2b2f3aac5c5b"
```

Proyek hanya dapat dihapus oleh pemiliknya. Karena proyek "Display Name" dibuat oleh `buzz-cli` yang tidak memiliki perintah penghapusan, proyek tersebut tidak dapat dihapus dengan cara ini.

Periksa kembali aplikasi desktop Buzz untuk memverifikasi bahwa proyek telah dibuat.

![Tampilan proyek aplikasi desktop Buzz yang mengonfirmasi keberhasilan pembuatan proyek](https://inimages.techvoyage.dev/articles/Self-Hosting%20Buzz%20As%20The%20Workspace%20Where%20AI%20Agents%20Become%20Colleagues/buzz-desktop-client-project-view.webp)

Setelah proyek tersedia di Projects, proyek tambahan dapat ditambahkan menggunakan tombol "+" di sudut kanan atas.

![Menambahkan proyek pengembang baru menggunakan ikon plus di klien desktop Buzz](https://inimages.techvoyage.dev/articles/Self-Hosting%20Buzz%20As%20The%20Workspace%20Where%20AI%20Agents%20Become%20Colleagues/buzz-desktop-client-add-project-button.webp)

#### Menghubungkan Repositori Git yang Ada

Instal `git-credential-nostr` pada mesin tempat repositori git berada. Ini memerlukan **git 2.46+** dan toolchain Rust. Silakan rujuk [Readme](https://github.com/block/buzz/tree/main/crates/git-credential-nostr) ini:

```bash
cargo install --path crates/git-credential-nostr
```

Siapkan `git-credential-nostr` untuk otorisasi relay Buzz:

```bash
# 1. Register the helper and enable per-path credentials.
git config --global credential.helper nostr
git config --global credential.useHttpPath true

# 2. Store your nsec in a key file (must be 0600). Replace "nsec1..." with your private key
mkdir -p ~/.nostr
echo "nsec1..." > ~/.nostr/key && chmod 600 ~/.nostr/key
git config --global nostr.keyfile ~/.nostr/key
```

Crea un repositorio en el relay de Buzz:

```text
buzz repos create --id koa-email-routing --name "KOA Email Routing" --clone "https://buzz.pafor.me/git/<pub_key>/koa-email-routing" --nostr-relay "wss://buzz.pafor.me"
```

Pada `git push` pertama Anda, Anda akan menemui kesalahan `remote: missing Authorization header`. Untuk mengatasi ini, Anda perlu mengikat ID repositori ke saluran Buzz, karena keanggotaan saluran menentukan izin menulis Git (ACLs):

```bash
buzz repos bind --id koa-email-routing --channel <CHANNEL_UUID>

# push the code again
git push
```

Memeriksa proyek di aplikasi desktop Buzz menunjukkan hal berikut, karena aplikasi memerlukan **git 2.46+** — meluncurkan aplikasi secara langsung mungkin mendeteksi versi Git yang lebih lama:

![Klien Buzz menampilkan kesalahan pemuatan Git karena versi Git lokal yang kedaluwarsa di bawah 2.46](https://inimages.techvoyage.dev/articles/Self-Hosting%20Buzz%20As%20The%20Workspace%20Where%20AI%20Agents%20Become%20Colleagues/buzz-desktop-client-git-version-error.webp)

Ekspor PATH via `launchctl setenv PATH "/opt/homebrew/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin"` di profil shell dan luncurkan aplikasi Buzz dari shell. Rujuk ke [issue](https://github.com/block/buzz/issues/5348) ini.

```bash
open -a Buzz
```

Periksa kembali Projects di aplikasi Buzz, detail repositori sekarang telah dimuat.

![Antarmuka desktop Buzz dengan detail repositório Git dan log komit yang berhasil dimuat](https://inimages.techvoyage.dev/articles/Self-Hosting%20Buzz%20As%20The%20Workspace%20Where%20AI%20Agents%20Become%20Colleagues/buzz-desktop-client-repository-details-loaded.webp)

## Menyinkronkan Agen AI dengan Aplikasi Seluler Buzz via Kode QR

Penyandingan aplikasi seluler Buzz hanya menerima protokol HTTPS dan `buzz-pair-relay` tidak dimulai secara default di VPS.

```bash
cd ~/buzz
cargo install --path crates/buzz-pair-relay
```

Add the following to `compose.yml` to start the `buzz-pair-relay` service:

```yml
pair:
    image: ${BUZZ_IMAGE:-ghcr.io/block/buzz:main}
    entrypoint: ["/usr/local/bin/buzz-pair-relay"]
    environment:
      BUZZ_PAIR_RELAY_BIND_ADDR: 0.0.0.0:5000
    ports:
      - "${BUZZ_PAIR_RELAY_PORT:-5000}:5000"
    restart: unless-stopped
    networks:
      [buzz-net]
```

Tambahkan `BUZZ_PAIRING_RELAY_URL` dan `BUZZ_PAIR_RELAY_PORT` ke file `.env`:

```text
BUZZ_PAIRING_RELAY_URL=wss://buzz.pafor.me/pair
BUZZ_PAIR_RELAY_PORT=5000
```

Buka bagian '**Mobile**' di Pengaturan desktop Buzz:

![Dialog pengaturan di aplikasi Buzz yang menampilkan tab konfigurasi perangkat seluler](https://inimages.techvoyage.dev/articles/Self-Hosting%20Buzz%20As%20The%20Workspace%20Where%20AI%20Agents%20Become%20Colleagues/buzz-settings-mobile-tab.webp)

Klik "Start pairing" — kode QR akan dihasilkan; pindai kode QR ini dengan aplikasi Buzz di perangkat seluler. Pendaftaran akan disandingkan setelah Anda mengklik "Code Match".

![Menghasilkan kode QR penyandingan aman di klien desktop untuk sinkronisasi seluler Buzz](https://inimages.techvoyage.dev/articles/Self-Hosting%20Buzz%20As%20The%20Workspace%20Where%20AI%20Agents%20Become%20Colleagues/buzz-desktop-client-pairing-qr-code.webp)

Agen di aplikasi seluler Buzz hanya tersedia jika mereka berjalan di aplikasi desktop Buzz. Mesin desktop harus tetap menyala agar agen dapat bekerja.

![Antarmuka aplikasi seluler Buzz yang menampilkan agen pendamping AI aktif yang disinkronkan](https://inimages.techvoyage.dev/articles/Self-Hosting%20Buzz%20As%20The%20Workspace%20Where%20AI%20Agents%20Become%20Colleagues/buzz-mobile-app-active-agents.webp)

## Pemikiran Akhir

Meskipun Buzz masih terlalu dini untuk lingkungan produksi skala besar dengan beberapa bug dan batasan antarmuka pengguna (UI), ini adalah pengalaman yang menarik bagi tim kecil dan pengembang solo. Buzz menawarkan pratinjau tentang bagaimana rasanya ruang kerja kolaboratif yang mengutamakan AI.

## Referensi

- [Buzz releases](https://github.com/block/buzz)
- [Introducing Buzz](https://block.xyz/inside/introducing-buzz-where-humans-and-agents-work-together)
- [What is buzz](https://www.hostinger.com/tutorials/what-is-buzz)
- [How to self-host Buzz (Miget)](https://miget.com/blog/how-to-self-host-buzz)
