
Hubungkan DeepSeek Harness ke Buzz Lewat Gateway Nostr
Integrasikan DeepSeek Harness ke Block Buzz lewat jembatan Nostr. Atur autentikasi NIP-42, streaming pesan in-place, dan workspace agen AI per saluran chat.
Daftar isi

Plugin DeepSeek Harness (DSH), dsh-message-gateway, memperluas jangkauan asisten DeepSeek Harness ke berbagai platform perpesanan seperti Discord, Telegram, dan WeChat. Repositori plugin ini di-fork dan diperluas untuk menambahkan platform Self-Host Buzz dari Block: Ruang Kerja Bersama Agen AI Anda ke dalam daftar. Repositori hasil fork tersedia di GitHub di https://github.com/Tech-Voyage-Dev/dsh-message-gateway.

Panduan prasyarat
Self-Host Buzz dari Block: Ruang Kerja Bersama Agen AI Anda
Pelajari cara self-host relay Buzz Block pada Linux VPS di balik Cloudflare. Kelola ruang kerja berbasis Nostr tempat kolaborasi manusia dan agen AI.
12 MENIT BACAAsisten DSH bergabung ke relay Buzz sebagai anggota, menerima pesan langsung (DM) serta pesan saluran tempat asisten di-@mention, dan menjawab melalui pipeline agen per-obrolan yang sama persis dengan yang digunakan oleh antarmuka Web.
Arsitektur Plugin dsh-message-gateway
Arsitektur plugin dsh-message-gateway terbagi menjadi dua bagian utama:
- Host (Node):
gateway-store(kredensial,~/.dsh/gateway.json),platforms.ts(definisi platform dan uji koneksi),routes.ts(endpoint/gateway/*), danbridge-manager.ts(jembatan penghubung: sesi agen independen per-chat dan balasan streaming). - Client (browser): halaman "Message platforms" di bilah samping tempat Anda menyimpan kredensial, menguji koneksi, dan memantau status.
Menambahkan platform baru melibatkan langkah-langkah berikut:
- Kelas jembatan (bridge class): menyediakan fungsi
start/stop/statusditambah callbackonText(text, frame), mencerminkan polawecom-bridge.ts. - Integrasi bridge-manager: menggunakan kembali pipeline per-obrolan yang ada (
ensureAgentForKey+pendingMap) dan menghubungkan reply sink milik platform. - Penyimpanan dan rute: di dalam
/gateway/savedan/gateway/delete: menyimpan kredensial akan memulai jembatan, menghapusnya akan menghentikan jembatan — ditambah flagautoStartXxxagardsh webtersambung kembali saat boot.
Implementasi Jembatan Buzz: Protokol Nostr & Siklus Hidup Event
DeepSeek Harness digunakan untuk mengimplementasikan jembatan Buzz. Implementasi ini sepenuhnya mematuhi spesifikasi protokol Nostr berikut:
| Transportasi | Satu WebSocket yang diautentikasi NIP-42; default ws://localhost:3000; http(s):// dinormalkan menjadi ws(s):// |
|---|---|
| Autentikasi | Event AUTH kind 22242, tag [["relay", url], ["challenge", challenge]], konten kosong, ditandatangani dengan kunci agen |
| Langganan (Subs) | Cakupan saluran: REQ {"kinds":[9], "#h":[<uuid>]} — satu REQ per saluran. REQ global kinds:[9] menerima EOSE tetapi tidak membagikan event; filter #h multi-nilai tidak bekerja |
| Penemuan (Discovery) | REQ {kinds:[39000]} historis untuk metadata saluran (type == "dm" menandai saluran pesan langsung) |
| Keanggotaan | REQ {kinds:[44100,44101], "#p":[pubkey kita], since: now-60s} live — 44100 = ditambahkan, 44101 = dihapus, membawa p+h; perubahan keanggotaan memperbarui langganan tanpa reconnect |
| Event Obrolan | kind 9 dengan tag ["h", channel], opsional ["e", replyTo], ["p", mention] |
| Edit In-Place | kind 40003 dengan h + e→target; konten diganti; batas relay 64 KB → jaga payload ≤ 60.000 B; balasan panjang dipecah — bagian 0 menggantikan edit, bagian sisa ditambahkan sebagai pesan kind 9 berulir (e→root) |
| Frame CLOSED | auth-required pra-AUTH adalah bootstrap normal (selesaikan AUTH, buka kembali langganan); pasca-AUTH → langganan ulang terbatas (3 percobaan, jeda 0/1/2 detik); reconnect membangun ulang semua |
| Batas Relay | ≤ 2000 event historis per langganan, diurutkan dari yang terbaru bahkan saat menggunakan since |
| Penyaringan Mention | Proses event kind 9 masuk hanya jika: (a) tag p menyertakan pubkey kita, (b) saluran adalah DM, atau (c) root e adalah event kita sendiri. Abaikan pubkey sendiri (cegah loop) |
| Mention Keluar | Teks keluar dipublikasikan apa adanya — relay tidak memvalidasi token @; tag p menyertakan penulis pesan masuk ditambah hingga 7 pubkey lain yang disebutkan (maksimal 8) |
| Pesan Langsung (DM) | Saluran teks biasa dengan cakupan relay (metadata type: "dm") — tanpa enkripsi NIP-04/44 pada jembatan ini |
| Lampiran (Masuk) | NIP-92 imeta (url, sha256, m) → unduh http(s) biasa, verifikasi SHA-256, batas 20 MB, maksimal 4 per pesan; gambar keluar tidak didukung |
Diagram berikut mengilustrasikan alur inisialisasi (bootstrap) jembatan Buzz:

Streaming Real-Time Lewat Pengeditan In-Place Nostr (Kind 40003)
Nostr tidak memiliki indikator mengetik bawaan dan event-nya bersifat append-only. Untuk membuat balasan terasa responsif dan interaktif, jembatan Buzz mensimulasikan streaming menggunakan pengeditan in-place:

- Jembatan Buzz menerbitkan event placeholder
kind 9, kemudian secara progresif menulis ulang event tersebut dengan pengeditan in-placekind 40003yang dibatasi lajunya, dan menuliskan edit final saat agen menyelesaikan tugasnya. Ini mencerminkan pola yang sama persis dengan yang digunakan oleh jembatan Telegram dan Discord.
Menghubungkan Workspace DeepSeek Harness Lewat Perintah Chat
Fitur "Workspaces" pada antarmuka Web DSH dikelola oleh layanan workspaceRegistry (@deepseek-ai/dsh-workspace):
const existing = await ctx.workspaceRegistry.resolveByPath(request.path);
Jembatan Buzz menyediakan perintah obrolan, /workspace <folder>, yang mendaftarkan folder yang ada ke DSH. Setiap sesi baru yang dibuat melalui gateway akan terhubung ke folder tersebut dan langsung terlihat di antarmuka Web.

Tiga pertimbangan desain yang perlu diperhatikan:
- Beralih folder = sesi baru. Parameter
cwddicatat ke dalam header sesi saat pembuatan dan tidak dapat diubah setelahnya. - Folder harus sudah ada sebelumnya. Fungsi
createmenolak jalur folder yang belum ada di disk. - Perintah sensitif keamanan. Setiap sesi berjalan dengan kebijakan auto-approve, yang memberikan akses baca dan tulis ke file di folder target.
Panduan Langkah Demi Langkah: Instalasi & Konfigurasi
- Jalankan perintah berikut di terminal Anda:
dsh plugin --profile web add https://github.com/Tech-Voyage-Dev/dsh-message-gateway.git
# Start DSH web
dsh web
- Setelah antarmuka Web DSH terbuka di peramban web, klik ikon "Message platforms":
![]()
- Klik menu "Buzz" di panel sebelah kiri:

- Klik "Generate keypair" untuk membuat pasangan kunci Nostr baru. Salin public key
npubke tempat yang aman. - Isi kolom Relay URL dan Channels (daftar UUID saluran yang diizinkan untuk berlangganan).
- Klik tombol "Save".
Menyimpan formulir akan menyimpan kredensial dan menjalankan jembatan. Kunci privat nsec diperlakukan sebagai rahasia dan disimpan secara eksklusif di ~/.dsh/gateway.json.
Mendaftarkan Pasangan Kunci Agen ke Relay Nostr Buzz
Tambahkan asisten DSH ke relay sebagai anggota. Gunakan pubkey npub yang telah dibuat sebelumnya:
docker compose exec relay buzz-admin add-member --pubkey npub123123123
Tambahkan asisten DSH ke saluran tertentu. Mendaftarkan anggota ke relay hanya menempatkannya di server, anggota tidak akan otomatis muncul atau dapat dicari di saluran. Saat menjalankan langkah ini menggunakan buzz-cli, perhatikan bahwa parameter --pubkey harus dalam format HEX, bukan npub (perintah buzz-admin add-member mencetak pubkey HEX anggota):
buzz channels add-member --channel <CHANNEL_UUID> --pubkey <AGENT_HEX> --role member

Panduan CLI
Cara Menginstal dan Menggunakan buzz-cli
Petunjuk langkah demi langkah untuk menginstal dan mengonfigurasi buzz-cli untuk mengelola saluran Nostr, kunci anggota, dan izin agen AI.
5 MENIT BACAPerbarui profil asisten DSH di relay Nostr agar memiliki nama tampilan yang jelas dengan buzz-cli:

Kirim salam Wave (sapaan DM khas Buzz) ke asisten DSH. Balasan konfirmasi akan segera diterima:

Mengirim Wave sebagai pesan langsung ke asisten DSH — jembatan telah aktif.
Mengaktifkan Akses Folder Lokal dengan /workspace
Karena opsi allowWorkspace dinonaktifkan (false) secara default, perintah /workspace awalnya akan ditolak:

Aktifkan opsi tersebut di file ~/.dsh/profiles/web/cordis.patch.yml, lalu mulai ulang dsh web:
- id: ui-message-gateway
config:
allowWorkspace: true
Setelah dimulai ulang:

Catatan penting: konfigurasi ini mengasumsikan folder workspace (TechVoyage pada tangkapan layar) berada di dalam direktori default pengguna. Jika tidak, tentukan jalur absolut lengkap. Setiap sesi baru yang terdaftar di bawah workspace ini melalui Buzz juga akan muncul di antarmuka Web DeepSeek Harness.

Perintah yang Tersedia di Buzz
Semua perintah yang didukung di platform lain dapat digunakan secara mulus di Buzz:
| Perintah | Fungsi |
|---|---|
/workspace <folder> | Daftarkan folder yang ada sebagai workspace obrolan (wajib diaktifkan di konfigurasi) |
/help | Tampilkan daftar perintah yang tersedia |
/time | Tampilkan waktu sistem saat ini |
/new | Mulai sesi obrolan baru yang bersih |
/clear | Bersihkan riwayat percakapan saat ini |
/status | Tampilkan status operasional jembatan |
/stats | Tampilkan jumlah obrolan dan status per jembatan (semua platform, termasuk Buzz) |
/commands | Tampilkan deskripsi lengkap semua perintah |
@path/to/file | Bekerja persis seperti mention file di Web: model membaca file relatif terhadap workspace obrolan; @, @awalan, atau /files <awalan> membalas dengan file/folder yang cocok |
/model | [provider model effort] — divalidasi terhadap katalog LLM aktif, mengubah model dan effort obrolan; /model menampilkan opsi, /model reset mengembalikan default |
/effort | <id> menyesuaikan level penalaran model saja; /effort reset mengembalikan pengaturan default |
Ikhtisar Keamanan
- Kunci privat nsec hanya tersimpan di
~/.dsh/gateway.json(izin 0600, penulisan atomik) — tidak pernah diekspos di endpoint/gateway/listatau log sistem. - Setiap event masuk selalu diverifikasi tanda tangan kriptografinya (
verifyEvent), dideduplikasi, disaring dari pesan sendiri, dan divalidasi mention-nya sebelum sampai ke agen. - Pendaftaran workspace dikontrol ketat oleh konfigurasi (
allowWorkspace: falsesecara default) karena sesi gateway otomatis menyetujui izin file.
Kesimpulan: Kolaborasi AI Terdesentralisasi di Buzz
Tantangan utama dalam menambahkan Buzz ke dsh-message-gateway terletak pada pemenuhan kontrak protokol Nostr. Arsitektur dasar plugin yang sudah matang menyediakan fondasi solid untuk pengelolaan sesi dan perutean perintah, sehingga integrasi jembatan berjalan sangat mulus setelah penanganan event dan streaming in-place selesai diimplementasikan.
Referensi:
- dsh-message-gateway architecture guide — panduan arsitektur, resep ekstensi, dan catatan keamanan
- nostr-tools — pustaka Nostr yang digunakan di balik layar
- deer-flow IM channel connections — referensi pola koneksi saluran pesan instan
Artikel Terkait

Kolaborasi
Self-Host Buzz dari Block: Ruang Kerja Bersama Agen AI Anda
Pelajari cara self-host relay Buzz Block pada Linux VPS di balik Cloudflare. Kelola ruang kerja berbasis Nostr tempat kolaborasi manusia dan agen AI.
16 MENIT BACA
AI & Agen
Skill Agen AI: Apa Itu dan Bagaimana Cara Membuatnya
Pelajari apa itu skill agen AI, cara kerja progressive disclosure, dan langkah praktis membangun skill kustom yang dapat digunakan kembali untuk alur kerja.
4 MENIT BACA
AI & Agen
Cara Mengekspos Hermes Agent secara Privat dengan WARP
Pelajari cara mengekspos dan mengakses Hermes Agent Anda secara global dengan aman menggunakan Cloudflare WARP dan Zero Trust tanpa membuka port firewall masuk.
8 MENIT BACA