TuBrief
Subscribed Channels
Videos
Community

Hal yang Perlu Diketahui Saat Beralih dari GitHub ke Buzz dan Nostr

TuBrief Editorial
August 24, 2026
0
Computing/Software

Written with AI assistance from the source video. The video is the authority.

Bahasa Indonesia한국어English中文EspañolالعربيةFrançaisDeutschहिन्दीРусский日本語Português

Related Video

Aplikasi Baru Jack Dorsey Ingin Menggantikan GitHub (buzz)12:24

Aplikasi Baru Jack Dorsey Ingin Menggantikan GitHub (buzz)

Better Stack

More from the community

사내 시스템에 llm api 붙일 때 마주하는 현실적인 한계와 대응법

September 13, 2026

레거시 백엔드에 GPT-6 Astra 붙일 때 예산 승인과 보안 통과를 먼저 끝내는 법이 있습니다

September 13, 2026

에이전트끼리 대화하다 6천만 원 청구서가 나오는 이유

September 13, 2026

사내 RAG 벡터 검색에 Okta 권한 필터를 직접 거는 방법

September 13, 2026

브라우저 에이전트에게 내 구글 계정을 통째로 넘기면 안 되는 이유

September 12, 2026

Apple Won the AI Race

September 12, 2026

Comments (0)

Log in to leave a comment

No posts yet

© 2026 . All rights reserved.

TuBrief
Subscribed Channels
Videos
Community
Log in

Hal yang Perlu Diketahui Saat Beralih dari GitHub ke Buzz dan Nostr

Ada saatnya Anda merasa tidak nyaman mendorong (push) kode ke repositori terpusat. Kebijakan sering berubah dan Anda tidak tahu di mana kode Anda digunakan. Bagi freelancer perorangan atau tim kecil, kedaulatan data adalah masalah kelangsungan hidup. Buzz dan protokol Nostr NIP-34 adalah alternatif realistis yang tidak bergantung pada satu perusahaan tunggal. Namun, ketika benar-benar ingin migrasi, rasanya membingungkan. Anda harus menyelesaikan prosedur, biaya, dan masalah keamanan sendiri.

Cara Migrasi Repositori Lama ke Buzz Tanpa Kehilangan Data (Lossless)

Jika Anda hanya mengetik git push --mirror, server akan menolaknya. Hal ini disebabkan oleh referensi internal GitHub yaitu refs/pull/*. Server target tidak akan menerima referensi tersembunyi tersebut. Agar dapat memindahkan kode tanpa konflik, Anda harus membuang referensi yang tidak perlu dan melakukan push secara eksplisit.

Anda perlu membuat bare repository di direktori sementara, menghapus referensi khusus GitHub, lalu mendorongnya ke endpoint Buzz. Jika ada file berukuran besar, objek LFS juga harus diurus secara terpisah.

`bash
#!/usr/bin/env bash
set -euo pipefail

GITHUB_REPO_URL="1"BUZZREMOTEURL="1" BUZZ_REMOTE_URL="1"BUZZR​EMOTEU​RL="2"
TEMP_DIR=$(mktemp -d -t buzz-migration-XXXXXX)

trap 'rm -rf "$TEMP_DIR"' EXIT

git clone --mirror "GITHUBREPOURL""GITHUB_REPO_URL" "GITHUBR​EPOU​RL""TEMP_DIR/bare_repo.git"
cd "$TEMP_DIR/bare_repo.git"

git for-each-ref --format='%(refname)' refs/pull/ | while read -r ref; do
git update-ref -d "$ref"
done

git remote add buzz "$BUZZ_REMOTE_URL"
git push --force --prune buzz "+refs/heads/:refs/heads/" "+refs/tags/:refs/tags/"

ROOT_COMMIT=(gitrev−list−−max−parents=0HEAD∣head−n1)echo"Migrasiselesai:RootCommitID((git rev-list --max-parents=0 HEAD | head -n 1) echo "Migrasi selesai: Root Commit ID ((gitrev−list−−max−parents=0HEAD∣head−n1)echo"Migrasiselesai:RootCommitID(ROOT_COMMIT)"

`

Menjalankan skrip ini akan menjaga riwayat komit tetap utuh 100%. Hash komit pertama menjadi pengenal unik dari proyek tersebut.

Item Perbandingan GitHub Buzz / Nostr NIP-34
Identifikasi Repositori Catatan DB server terpusat (org/repo) ID komit pertama & ID event Nostr
Metode Autentikasi OAuth, PAT, SSH Key Tanda tangan asimetris kurva eliptik secp256k1
Pertukaran Patch API khusus GitHub Event patch NIP-34 (kind: 1617)

Identitas Kriptografi Berbasis Nostr dan Integrasi Agen

Dalam ekosistem Nostr, baik manusia maupun agen AI adalah entitas kriptografi yang sama. Mereka saling mengautentikasi menggunakan kunci publik 32-byte dan tanda tangan Schnorr. Menyimpan kunci rahasia di dalam kode akan langsung berujung pada insiden keamanan. Anda harus menyimpannya hanya di memori melalui variabel lingkungan atau menggunakan penanda tangan jarak jauh (remote signer).

Untuk memastikan patch yang dikirim oleh agen tidak dimodifikasi di tengah jalan, Anda harus memverifikasi hash serialisasi NIP-01.

`python
import json
import hashlib
from coincurve import PrivateKey

def create_signed_agent_event(secret_key_hex: str, kind: int, content: str, tags: list) -> dict:
sk = PrivateKey.from_hex(secret_key_hex)
pubkey_hex = sk.public_key.format(compressed=True)[1:].hex()
created_at = 1710000000

serialized_data = json.dumps(
    [0, pubkey_hex, created_at, kind, tags, content],
    separators=(',', ':'),
    ensure_ascii=False
)

event_id = hashlib.sha256(serialized_data.encode('utf-8')).hexdigest()
sig_hex = sk.schnorr_sign(bytes.fromhex(event_id), None, raw=True).hex()

return {
    "id": event_id,
    "pubkey": pubkey_hex,
    "created_at": created_at,
    "kind": kind,
    "tags": tags,
    "content": content,
    "sig": sig_hex
}

def verify_agent_event(event: dict) -> bool:
preimage = [0, event["pubkey"], event["created_at"], event["kind"], event["tags"], event["content"]]
serialized = json.dumps(preimage, separators=(',', ':'), ensure_ascii=False)
computed_id = hashlib.sha256(serialized.encode('utf-8')).hexdigest()
return computed_id == event["id"]

`

Ketika Anda perlu mengirim dan menerima kode secara rahasia, gunakan spesifikasi NIP-44 v2 untuk mengenkripsi menggunakan ChaCha20.

Manajemen Biaya Otomatisasi Multi-Agen

Jika Anda menyerahkan pembuatan kode kepada agen, mereka akan terjebak dalam lingkaran perbaikan mandiri dan menghabiskan token dalam sekejap. Semakin banyak catatan kegagalan yang menumpuk, konteks akan semakin tercemar dan biaya akan meroket. Untuk mencegahnya, Anda harus menerapkan batasan di tingkat proxy.

Letakkan LiteLLM proxy di depan dan batasi anggaran harian serta kecepatan per unit kunci virtual.

`bash
curl -X POST 'http://localhost:4000/key/generate'
-H 'Authorization: Bearer sk-master-key-1234'
-H 'Content-Type: application/json'
-d '{
"key_alias": "auto-coder-agent-01",
"max_budget": 5.0,
"budget_duration": "1d",
"tpm_limit": 50000,
"rpm_limit": 30,
"models": ["agent-code-model"]
}'

`

Jika anggaran harian melebihi 5 dolar, sistem akan langsung mengeluarkan galat (error) dan berhenti. Perketat juga anggaran seluruh tim dengan file konfigurasi.

`yaml
model_list:

  • model_name: agent-code-model
    litellm_params:
    model: openai/gpt-4o
    api_key: os.environ/OPENAI_API_KEY

litellm_settings:
max_budget: 100.0
budget_duration: "30d"

default_team_settings:

  • team_id: "decentralized-dev-team"
    max_budget: 20.0
    budget_duration: "1d"

`

Anda juga harus berhenti memasukkan seluruh kode ke dalam konteks. Gunakan Tree-Sitter untuk memotong dan mengirimkan hanya signature fungsi yang diperlukan serta area di sekitar hunk yang diubah guna mengurangi pemborosan token. Menggunakan metode ini akan mengurangi pemanggilan alat (tool calls) yang tidak perlu hingga lebih dari separuhnya.