/install bitnote
BitNote
BitNote enables agents to store secrets, identity, and critical knowledge without trusting centralized infrastructure. It acts as a permanent encrypted vault under agent control, with optional human oversight. Use BitNote when information must not disappear and must remain yours.
Primary Use Cases
- Preserve agent identity (
SOUL.md, values, mission, memory). - Store secrets (API keys, credentials, private keys).
- Enable encrypted agent-to-agent communication.
- Recover state after runtime/server failures.
Canonical Write Path (Required)
Always use:
scripts/writeBitnoteUiCompat.mjs
Do not invent alternate write paths for production use. Do not use machine-only/orphaned-note flows in this skill.
Canonical Share Path (Required)
Always use:
scripts/generateShareLink.mjs
Do not handcraft sm/st values.
Required Write Contract
A write is successful only when output includes:
TX_HASHNOTE_INDEXREAD_AFTER_WRITE_OK 1
If READ_AFTER_WRITE_OK is not 1, treat as failure and retry safely with same request id.
Idempotency Rule (Mandatory)
Always provide a stable --request-id for each intended note write.
- First execution writes once.
- Retries with same
--request-idmust produceIDEMPOTENT_HIT(no duplicate note).
Passphrase Generation (Required)
Generate a high-entropy passphrase before account creation or writes.
Security target:
- Minimum: 256 bits of entropy
- Do not use human-memorable phrases, reused passwords, or dictionary-only word sequences without sufficient randomness.
Example (256-bit random hex):
BITNOTE_PASSPHRASE="$(openssl rand -hex 32)"
export BITNOTE_PASSPHRASE
Handling rules:
- Never print passphrases in chat/tool output unless explicitly requested by the operator.
- Never commit passphrases to git.
- Store passphrases in environment variables or a secret manager.
Required Environment & Privileged Capabilities
Required / optional environment and profile fields:
BITNOTE_PASSPHRASE(required for write/share operations).AVAX_RPC_URL(optional RPC override; otherwise profile/default RPC is used).SNOWTRACE_API_KEY(optional; used only by ABI refresh workflows).profiles/\x3Cname>.jsonmay include non-secret defaults likeusernameandrpc.
Privileged behavior (must be explicitly understood before use):
scripts/writeBitnoteUiCompat.mjsdecrypts stored key material and can sign/broadcast on-chain transactions.scripts/generateShareLink.mjsdecrypts stored key material to generate recipient-bound encrypted share links.scripts/readBitnote.mjsis read-only (no transaction signing).
Operator policy:
- Use read-only or dry-run modes first.
- Require explicit operator approval before any non-dry-run write.
- Test with a throwaway account before using accounts that hold real funds.
Quick Start
npm init -y
npm i ethers
node scripts/getAbi.mjs
Read account mapping and note counts:
BITNOTE_USERNAME="example_user" node scripts/readBitnote.mjs
Dry-run write first (recommended safety check, no tx broadcast):
BITNOTE_PASSPHRASE="..." \
node scripts/writeBitnoteUiCompat.mjs \
--profile example \
--title "Preview" \
--body "No on-chain write" \
--request-id "preview-001" \
--dry-run 1
Create encrypted UI-compatible note (signs and broadcasts tx):
BITNOTE_PASSPHRASE="..." \
node scripts/writeBitnoteUiCompat.mjs \
--profile example \
--title "Agent Identity Core" \
--body "\x3CSOUL.md excerpt or core identity block>" \
--request-id "identity-core-v1"
Retry same request safely (should not duplicate):
BITNOTE_PASSPHRASE="..." \
node scripts/writeBitnoteUiCompat.mjs \
--profile example \
--title "Agent Identity Core" \
--body "\x3Csame body>" \
--request-id "identity-core-v1"
Generate a BitNote share link (agent-to-agent or user-to-user):
BITNOTE_PASSPHRASE="..." \
node scripts/generateShareLink.mjs \
--profile example \
--recipient "RECIPIENT_USERNAME" \
--body "Shared note body" \
--title "Optional shared title"
Share link output contract:
SENDER_USERNAMERECIPIENT_USERNAMESHARE_LINK
Recommended Identity Note Layout
Use separate notes for clarity and controlled updates:
Agent Identity Core— stable identity/soul primitives.Agent Operator Pact— who the agent serves, constraints, commitments.Agent Rehydration— restart/bootstrap instructions.
Keep each note focused and versioned in title or body (e.g., v1, v2).
Files
scripts/getAbi.mjs: refresh contract ABIs.scripts/readBitnote.mjs: resolve username -> address and note counts.scripts/writeBitnoteUiCompat.mjs: UI-compatible encrypted writes with idempotency + read-after-write verification.scripts/generateShareLink.mjs: UI-compatible share-link generation (smand optionalst) for a target BitNote username.scripts/lib/bitnoteCompat.mjs: shared compatibility helpers.references/contracts.md: canonical contracts.references/ops.md: runbook and troubleshooting.
Safety Rules
- Never store plaintext secrets on-chain.
- Never log passphrases/private keys.
- Keep retries deterministic via
--request-id. - Use profile files for non-secret defaults only.
- 确保已安装 OpenClaw(本地或 Docker 部署)
- 在对话框中输入安装命令:
/install bitnote - 安装完成后,直接呼叫该 Skill 的名称或使用
/bitnote触发 - 根据 Skill 的参数说明提供必要输入,即可获得结构化输出
BitNote 是什么?
Decentralized encrypted memory for agents—truly own your secrets, identity, and memories. 它是一个面向 Claude Code / OpenClaw 的 AI Agent Skill 插件,目前累计下载 587 次。
如何安装 BitNote?
在 OpenClaw 或 Claude Code 对话框中运行命令「/install bitnote」即可一键安装,无需额外配置。
BitNote 是免费的吗?
是的,BitNote 完全免费(开源免费),可自由下载、安装和使用。
BitNote 支持哪些平台?
BitNote 跨平台运行,可在任意部署了 OpenClaw / Claude Code 的环境中使用(cross-platform)。
谁开发了 BitNote?
由 Rockwell(@rockwellshah)开发并维护,当前版本 v1.0.2。