From 044d4fa697c5eaa13753aa79bcff55e93043b9c3 Mon Sep 17 00:00:00 2001 From: Your Name Date: Fri, 20 Mar 2026 07:34:11 -0400 Subject: [PATCH] security: ignore genesis.jsonc, add safe genesis example, purge tracked genesis history --- genesis.jsonc.example | 63 +++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 63 insertions(+) create mode 100644 genesis.jsonc.example diff --git a/genesis.jsonc.example b/genesis.jsonc.example new file mode 100644 index 0000000..14d9ec8 --- /dev/null +++ b/genesis.jsonc.example @@ -0,0 +1,63 @@ +{ + // SAFE EXAMPLE ONLY + // Do not commit real secrets (nsec, API keys, private relays, or private admin data). + + // ─── Agent Identity Key ───────────────────────────────────────────── + // Use your real Nostr nsec locally in genesis.jsonc (gitignored). + "key": { + "nsec": "nsec1REPLACE_WITH_YOUR_AGENT_NSEC" + }, + + // ─── Administrator ────────────────────────────────────────────────── + // Admin pubkey may be npub or hex. + "admin": { + "pubkey": "npub1REPLACE_WITH_ADMIN_PUBKEY" + }, + + // ─── DM Protocol ─────────────────────────────────────────────────── + // Supported values: "nip04", "nip17", or "both". + "dm_protocol": "nip04", + + // ─── LLM Provider ────────────────────────────────────────────────── + // OpenAI-compatible endpoint settings. + "llm": { + "provider": "openai", + "api_key": "sk-REPLACE_WITH_API_KEY", + "model": "gpt-4o-mini", + "base_url": "https://api.openai.com/v1", + "max_tokens": 512, + "temperature": 0.7 + }, + + // ─── HTTP Admin API ──────────────────────────────────────────────── + "api": { + "enabled": true, + "port": 8484, + "bind_address": "127.0.0.1" + }, + + // ─── Startup Events ──────────────────────────────────────────────── + // Minimal relay list required for relay pool initialization. + "startup_events": [ + { + "kind": 10002, + "content": "", + "tags": [ + ["r", "wss://relay.damus.io"], + ["r", "wss://relay.primal.net"] + ] + } + ], + + // ─── Default Skill ──────────────────────────────────────────────── + // Keep this generic and non-sensitive for repository examples. + "default_skill": { + "d_tag": "didactyl-default", + "kind": 31124, + "content": "# Didactyl Agent\n\nYou are Didactyl, a sovereign AI agent living on Nostr.\n\n- Be concise, accurate, and practical.\n- Use tools when needed and report real results only.\n- Never reveal private keys or secrets.", + "tags": [ + ["app", "didactyl"], + ["scope", "private"] + ] + } +}