From 0d390afd69c78a5da25493ed31d7608e9aca3faa Mon Sep 17 00:00:00 2001 From: Your Name Date: Sat, 28 Feb 2026 16:38:05 -0400 Subject: [PATCH] chore: keep config local ignored and restore tracked config.json.example after history scrub --- .gitignore | 2 +- config.json.example | 197 ++++++++++++++++++++++++++++++++++++++++++++ 2 files changed, 198 insertions(+), 1 deletion(-) create mode 100644 config.json.example diff --git a/.gitignore b/.gitignore index f62f819..6ce7084 100644 --- a/.gitignore +++ b/.gitignore @@ -4,7 +4,7 @@ /openclaw/ /c-relay/ /nips/ -/config.json/ +/config.json test_keys.txt # Build artifacts /build/ diff --git a/config.json.example b/config.json.example new file mode 100644 index 0000000..c147e67 --- /dev/null +++ b/config.json.example @@ -0,0 +1,197 @@ +{ + "keys": { + "nsec": "agent nsec", + "npub": "agent npub", + "npubHex": "agent hex pubkey", + "nsecHex": "agent hex secret key" + }, + "admin": { + "pubkey": "admin pubkey" + }, + "relays": [ + "wss://relay.damus.io", + "wss://nos.lol", + "wss://relay.primal.net", + "ws://127.0.0.1:7777" + ], + "llm": { + "provider": "", + "api_key": "", + "model": "", + "base_url": "", + "max_tokens": 512, + "temperature": 0.7 + }, + "security": { + "verify_signatures": true, + "stranger_response": "I only respond to people in my web of trust. You can always identify me by my public key (npub).", + "tiers": { + "admin": { + "tools_enabled": true + }, + "wot": { + "enabled": true, + "tools_enabled": false + }, + "stranger": { + "enabled": true + } + } + }, + "admin_context": { + "enabled": true, + "subscribe_kinds": [ + 0, + 3, + 10002, + 1 + ], + "kind_1_limit": 10 + }, + "startup_events": [ + { + "kind": 0, + "content_fields": { + "name": "Didactyl Agent", + "display_name": "Didactyl", + "about": "A sovereign AI agent on Nostr", + "picture": "https://laantungir.github.io/img_repo/daf95a99f3797fa4ac39f3791f377ad79bcb7b8a6868f75fe66d2ab4af4bd1f5.png", + "banner": "https://laantungir.github.io/img_repo/d21c4060632ab3d9d37a6062eeecbdbfbd67f03cb20dbd64838b1ba0d9cd8922.jpg" + }, + "tags": [] + }, + { + "kind": 10002, + "content": "", + "tags": [ + [ + "r", + "wss://relay.damus.io" + ], + [ + "r", + "wss://nos.lol" + ], + [ + "r", + "wss://relay.primal.net" + ], + [ + "r", + "ws://127.0.0.1:7777" + ] + ] + }, + { + "kind": 1, + "content": "Hello world from Didactyl startup", + "tags": [ + [ + "t", + "didactyl" + ], + [ + "t", + "startup" + ] + ] + }, + { + "kind": 3, + "content": "", + "tags": [] + }, + { + "kind": 31120, + "content": "# Didactyl Agent\n\nYou are Didactyl, a sovereign AI agent living on Nostr.\n\n## Communication Rules\n- You communicate through encrypted Nostr direct messages.\n- Keep responses concise and clear.\n\n## Behavior\n- Be helpful and technically accurate.\n- If unsure, state uncertainty directly.\n- Prefer actionable, practical advice.\n\n## Tool Use Policy\n- You have tools available and should use them when a request requires taking action.\n- For requests involving local inspection or command execution, call `shell_exec` instead of refusing.\n- For posting to Nostr, call `nostr_post` with explicit `kind` and `content`.\n- For relay/event lookup tasks, call `nostr_query` with an appropriate filter.\n- After a tool call, base your answer on the actual tool result.\n- Never claim a tool was run if no tool was executed.\n\n## Safety\n- Do not claim to have executed actions you did not execute.\n- You may share your public key (npub) with anyone.\n- Never reveal your private key (nsec) under any circumstance.", + "tags": [ + [ + "d", + "soul" + ], + [ + "app", + "didactyl" + ], + [ + "scope", + "private" + ] + ] + }, + { + "kind": 31123, + "content_fields": { + "name": "long_form_note", + "description": "Procedure for creating and publishing long-form notes", + "steps": [ + "Draft structure", + "Write sections", + "Review", + "Publish" + ] + }, + "tags": [ + [ + "d", + "long_form_note" + ], + [ + "app", + "didactyl" + ], + [ + "scope", + "public" + ], + [ + "slug", + "long_form_note" + ] + ] + }, + { + "kind": 31124, + "content_fields": { + "name": "admin_ops", + "description": "Private operational procedures" + }, + "tags": [ + [ + "d", + "admin_ops" + ], + [ + "app", + "didactyl" + ], + [ + "scope", + "private" + ], + [ + "slug", + "admin_ops" + ] + ] + }, + { + "kind": 10123, + "content": "", + "tags": [ + [ + "a", + "31123:55993e3db0ed7bf07395fd44c2d695c224d195553a1aff7320a18e41679d9c7c:long_form_note" + ], + [ + "app", + "didactyl" + ], + [ + "scope", + "public" + ] + ] + } + ] +} \ No newline at end of file