Skip to content

Commit d9b9332

Browse files
committed
chore: reorder For Developers section — build from source first, Python SDK last
1 parent f6f53f7 commit d9b9332

1 file changed

Lines changed: 34 additions & 34 deletions

File tree

docs/index.html

Lines changed: 34 additions & 34 deletions
Original file line numberDiff line numberDiff line change
@@ -410,34 +410,7 @@ <h3>Firefox Installation</h3>
410410
<section>
411411
<h2>For Developers</h2>
412412

413-
<h3>Python SDK — NostrKey for AI Entities</h3>
414-
<p>Give your AI its own cryptographic identity. The <code>nostrkey</code> Python package lets OpenClaw bots generate keypairs, sign events, encrypt data, and connect to Nostr relays.</p>
415-
<pre><code>pip install nostrkey</code></pre>
416-
<pre><code>from nostrkey import Identity
417-
418-
# Create a new AI identity
419-
bot = Identity.generate()
420-
print(f"npub: {bot.npub}")
421-
422-
# Sign a Nostr event
423-
event = bot.sign_event(kind=1, content="Hello from an OpenClaw bot!")
424-
425-
# Save identity (encrypted)
426-
bot.save("my-bot.nostrkey", passphrase="strong-passphrase")</code></pre>
427-
<p style="font-size: 0.875rem; color: var(--text-muted);">Implements NIP-01 (events), NIP-19 (bech32), NIP-44 (encryption), and NIP-46 (bunker). <a href="https://loginwithnostr.com/openclaw" style="color: var(--accent-secondary);">Learn more about OpenClaw identity</a></p>
428-
429-
<div class="cta-row" style="margin-bottom: 32px;">
430-
<a href="https://pypi.org/project/nostrkey/" target="nostrkey-web" class="btn">
431-
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 17l6-6-6-6m8 14h8"/></svg>
432-
PyPI Package
433-
</a>
434-
<a href="https://github.com/HumanjavaEnterprises/nostrkey.app.OC-python.src" target="nostrkey-web" class="btn btn-secondary">
435-
<svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z"/></svg>
436-
Python SDK Source
437-
</a>
438-
</div>
439-
440-
<h3>Browser Extension — Build from Source</h3>
413+
<h3>Build from Source</h3>
441414
<pre><code>git clone https://github.com/HumanjavaEnterprises/nostrkey.browser.plugin.src.git
442415
cd nostrkey.browser.plugin.src
443416
npm install
@@ -451,12 +424,8 @@ <h3>Browser Extension — Build from Source</h3>
451424
# Watch mode
452425
npm run watch</code></pre>
453426

454-
<div class="cta-row">
455-
<a href="support.html" class="btn">
456-
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M9.09 9a3 3 0 015.83 1c0 2-3 3-3 3m.08 4h.01"/></svg>
457-
Browser Support
458-
</a>
459-
<a href="https://github.com/HumanjavaEnterprises/nostrkey.browser.plugin.src" target="nostrkey-web" class="btn btn-secondary">
427+
<div class="cta-row" style="margin-bottom: 32px;">
428+
<a href="https://github.com/HumanjavaEnterprises/nostrkey.browser.plugin.src" target="nostrkey-web" class="btn">
460429
<svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z"/></svg>
461430
View on GitHub
462431
</a>
@@ -492,6 +461,37 @@ <h3>Safari (iOS)</h3>
492461
<li style="padding-left: 8px;">Build and Run (⌘R)</li>
493462
<li style="padding-left: 8px;">Settings → Safari → Extensions → Enable NostrKey</li>
494463
</ol>
464+
465+
<h3>Python SDK — NostrKey for AI Entities</h3>
466+
<p>Give your AI its own cryptographic identity. The <code>nostrkey</code> Python package lets OpenClaw bots generate keypairs, sign events, encrypt data, and connect to Nostr relays.</p>
467+
<pre><code>pip install nostrkey</code></pre>
468+
<pre><code>from nostrkey import Identity
469+
470+
# Create a new AI identity
471+
bot = Identity.generate()
472+
print(f"npub: {bot.npub}")
473+
474+
# Sign a Nostr event
475+
event = bot.sign_event(kind=1, content="Hello from an OpenClaw bot!")
476+
477+
# Save identity (encrypted)
478+
bot.save("my-bot.nostrkey", passphrase="strong-passphrase")</code></pre>
479+
<p style="font-size: 0.875rem; color: var(--text-muted);">Implements NIP-01 (events), NIP-19 (bech32), NIP-44 (encryption), and NIP-46 (bunker). <a href="https://loginwithnostr.com/openclaw" style="color: var(--accent-secondary);">Learn more about OpenClaw identity</a></p>
480+
481+
<div class="cta-row">
482+
<a href="https://pypi.org/project/nostrkey/" target="nostrkey-web" class="btn">
483+
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><path d="M4 17l6-6-6-6m8 14h8"/></svg>
484+
PyPI Package
485+
</a>
486+
<a href="https://github.com/HumanjavaEnterprises/nostrkey.app.OC-python.src" target="nostrkey-web" class="btn btn-secondary">
487+
<svg width="20" height="20" viewBox="0 0 24 24" fill="currentColor"><path d="M12 0C5.37 0 0 5.37 0 12c0 5.31 3.435 9.795 8.205 11.385.6.105.825-.255.825-.57 0-.285-.015-1.23-.015-2.235-3.015.555-3.795-.735-4.035-1.41-.135-.345-.72-1.41-1.23-1.695-.42-.225-1.02-.78-.015-.795.945-.015 1.62.87 1.845 1.23 1.08 1.815 2.805 1.305 3.495.99.105-.78.42-1.305.765-1.605-2.67-.3-5.46-1.335-5.46-5.925 0-1.305.465-2.385 1.23-3.225-.12-.3-.54-1.53.12-3.18 0 0 1.005-.315 3.3 1.23.96-.27 1.98-.405 3-.405s2.04.135 3 .405c2.295-1.56 3.3-1.23 3.3-1.23.66 1.65.24 2.88.12 3.18.765.84 1.23 1.905 1.23 3.225 0 4.605-2.805 5.625-5.475 5.925.435.375.81 1.095.81 2.22 0 1.605-.015 2.895-.015 3.3 0 .315.225.69.825.57A12.02 12.02 0 0024 12c0-6.63-5.37-12-12-12z"/></svg>
488+
Python SDK Source
489+
</a>
490+
<a href="support.html" class="btn btn-secondary">
491+
<svg width="20" height="20" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2"><circle cx="12" cy="12" r="10"/><path d="M9.09 9a3 3 0 015.83 1c0 2-3 3-3 3m.08 4h.01"/></svg>
492+
Browser Support
493+
</a>
494+
</div>
495495
</section>
496496

497497
<section>

0 commit comments

Comments
 (0)