>_ DevTrendsnl

Taal

Home

Talen

Secties

Frontend Backend Mobiel DevOps AI / ML GameDev Blockchain Embedded Beveiliging
Rust

Hoe Block Chat, Git en AI-agents Combineerde in één Werkruimte Gebouwd met Rust en Nostr

Heb je ooit geprobeerd AI-assistenten te integreren in je ontwikkelworkflows? Meestal speelt het scenario zich op dezelfde manier af. Je maakt een bot in Slack, geeft het een API-sleutel met brede permissies, stelt een heleboel webhooks in voor GitHub, en hoopt dat het allemaal niet in elkaar stort met de volgende update. Ondertussen leeft de bot in een aparte wereld: het kan de context van eerdere discussies in de chat niet zien, en de acties zijn moeilijk correct te volgen.

Ingenieurs bij Block besloten de gebruikelijke stack van tien verschillende diensten te verlaten. Ze creëerden het Buzz-project. Het is een lokale werkruimte waar ingenieurs en AI-agents in dezelfde kamers zitten, dezelfde gebeurtenislogboek lezen, en als gelijken werken.

Buzz channel with discussion

Wat zit er onder de motorkap

Haal de marketinglaag weg, en Buzz is in wezen een enkele Nostr-relay en een indrukwekkende collectie van Rust-crates. Elke actie in het systeem wordt vastgelegd in een gedeeld gebeurtenislogboek. Een tekstbericht, een emoji-reactie, het verzenden van een patch naar git, het uitvoeren van CI, of het goedkeuren van een review worden allemaal cryptografisch ondertekende gebeurtenissen in hetzelfde formaat.

Het belangrijkste verschil tussen Buzz en klassieke zakelijke messengers ligt in het identiteitsmodel. Het systeem maakt geen onderscheid tussen een mens en een autonoom script. Elke AI-agent heeft een sleutelpaar. Je voegt een agent toe aan een privékanaal op precies dezelfde manier als een gewone medewerker. De permissies van een agent worden niet beperkt door toggles in het admin-paneel, maar door de aanwezigheid ervan in een specifieke kamer.

Het projectteam erkent eerlijk dat er momenteel te veel AI-tools zijn. Maar Buzz onderscheidt zich omdat een autonoom proces echte werkende tools krijgt: het opent repositories, stuurt patches, reviewt code, activeert workflows, creëert kamers, en neemt zelfs deel aan spraakgesprekken.

Agents in channels

Hoe het er in de praktijk uitziet

De ontwikkelaars stellen voor om naar drie praktijkscenario's te kijken die elk team tegenkomt.

Het eerste verhaal gaat over het afhandelen van incidenten 's nachts. Het is 2 uur 's nachts en er is een productiefout. Je schrijft in het kanaal: "Hebben we dit eerder gezien?" De agent die in de chat zit, doorzoekt zes maanden aan discussiegeschiedenis. Het geeft je niet alleen een abstracte LLM-reactie—het koppelt links aan specifieke threads, vindt de hoofdoorzaak, wijst naar de vorige fix, en stelt voor om de auteur van die commit te pingelen.

Het tweede geval verandert de aanpak voor het werken met code-branches. Wanneer je een feature-branch maakt, maakt Buzz een apart kanaal ervoor. Patches arriveren als NIP-34 protocol-gebeurtenissen, de CI-service stuurt build-rapporten daarheen, en de AI-agent voert de initiële review uit. Alle discussies en de merge-beslissing blijven in die kamer. De geschiedenis wordt bewaard samen met de besluitvormingscontext.

Het derde scenario ging over release-automatisering. De workflow reageert op het verschijnen van een git-tag. De agent stelt zelfstandig een lijst samen van samengevoegde PRs uit werkkanalen, maakt een changelog, en stuurt deze ter review naar de ingenieur. Na het ontvangen van een duim-omhoog-reactie voltooit de agent het publicatieproces zelfstandig.

Creating channels

Architectuur en stack

Architecturaal is Buzz opgedeeld in verschillende logische lagen, waardoor het gemakkelijk te deployen en schalen is.

De client-side is gebouwd met Tauri en React. Het is een snelle desktop-shell voor macOS, Linux en Windows. Voor het werken met agents schreven de auteurs een buzz-cli utility met een JSON-uitwisselingsprotocol, evenals een buzz-acp laag die populaire harness-systemen zoals Goose, Codex of Claude Code verbindt.

De server-side wordt afgehandeld door de buzz-relay crate gebaseerd op Axum. Het verwerkt WebSocket- en REST-verbindingen, handelt NIP-42/98-authenticatie af, en onderhoudt de audit-chain.

De opslaglaag gebruikt een combinatie van drie componenten:

  • Postgres slaat gebeurtenissen op en handelt full-text search af
  • Redis handelt pub/sub-taken, aanwezigheidsstatus en typing indicators af
  • S3 of MinIO wordt gebruikt voor het opslaan van media-bestanden via het Blossom-protocol

Een interessante functie is media-bestand-opmerkingen. Je kunt een video-opname van een bug of interface-demo uploaden, en de discussie wordt gekoppeld aan specifieke frames.

Media comments

Hoe het project lokaal draaien

Het opzetten van een lokale omgeving kost letterlijk een paar minuten. De afhankelijkheden die je nodig hebt zijn Docker en de Hermit toolchain-manager (of recente versies van Rust 1.88+, Node 24+, pnpm 10+, en de just utility).

Kloon eerst de repository en activeer de omgeving:

git clone https://github.com/block/buzz.git
cd buzz
. ./bin/activate-hermit
just setup
just build

Het just setup commando zelf kopieert configuratiebestanden, haalt de noodzakelijke binaries op via Hermit, en start database-containers in Docker.

Voor dagelijkse ontwikkeling hoef je maar één commando uit te voeren:

just dev

Dit commando start de relay-server op ws://localhost:3000 en lanceert onmiddellijk de Tauri desktop-applicatie.

Als je je eigen agent aan het systeem wilt koppelen, stel dan de BUZZ_PRIVATE_KEY omgevingsvariabele in en gebruik buzz-cli. De interface is specifiek ontworpen zodat LLMs gemakkelijk functies kunnen aanroepen via JSON-structuur-passthrough.

Wat er nu werkt en wat gepland staat

Ontwikkelaars delen openlijk de gereedheidsstatus van componenten. Het project probeert niet te verschijnen als een afgewerkt enterprise-powerhouse—er zijn onafgewerkte gebieden.

Reeds stabiel en werkend:

  • Relay-server, privé- en openbare kanalen, threads en directe berichten
  • Full-text search, media-server en end-to-end audit-log
  • Tauri desktop-applicatie
  • YAML workflow-systeem met triggers voor berichten, reacties en webhooks
  • Aangepaste git-backend met NIP-34 gebeurtenisondersteuning

In actieve ontwikkeling zijn mobiele clients voor iOS en Android op Flutter, workflow-goedkeuringsgateway-mechanismen, en voice huddle-integratie.

Voor wie is Buzz interessant

Buzz zou zeker niet beschouwd moeten worden als nog een blockchain-project, hoewel het actief Schnorr-cryptografische sleutels gebruikt. Er zijn geen tokens of gedistribueerde ledgers bij betrokken. Handtekeningen zijn alleen nodig om de authenticiteit van elk bericht en elke actie in het systeem te garanderen.

Het project zal aanspreken bij teams die actief experimenteren met AI-agents en genoeg hebben van verspreide bots. Als je een uniforme omgeving nodig hebt waar alle communicatiegeschiedenis, code en geautomatiseerde acties op je eigen server worden opgeslagen, biedt Buzz een solide concept.

Je kunt vooraf gebouwde releases voor je OS proberen op de repository releases-pagina, of de relay in Docker draaien om je hypothesen te testen.

Gerelateerde projecten