FadNote Skill
Secure self-destructing shareable notes for OpenClaw
Create encrypted, one-time-read notes directly from OpenClaw. The server never sees your plaintext.
Overview
| Property | Value |
|---|
| Name | fadnote |
| Version |
1.0.2 |
|
Author | easyFloyd |
|
License | MIT |
|
Open Source | Yes — https://github.com/easyFloyd/fadnote |
|
Runtime | Node.js 18+ |
Installation
CODEBLOCK0
Configuration
| Variable | Default | Description |
|---|
| INLINECODE0 | INLINECODE1 | FadNote server endpoint |
Usage
From OpenClaw
CODEBLOCK1
CLI Usage
CODEBLOCK2
Single Output: Single line with the shareable URL.
JSON Output:
{
noteId: string,
expiresIn: number,
decryptionUrl: string
}
Triggers
I (OpenClaw) will automatically use the FadNote skill when you say any of:
- - "Secure this [content]"
- "FadNote this [content]"
- "Create a secure link for [content]"
- "Share this securely: [content]"
- "One-time note: [content]"
- "Encrypt and share [content]"
With email delivery (if email skill is present):
- - "Secure this and email to [recipient]: [content]"
- "FadNote this to [email]"
- "Send secure note to [email]"
Examples:
- Secure this API key: sk-live-12345
- FadNote this password for the server
- Create a secure link for these credentials
- Share this securely: my private SSH key
- One-time note: the meeting location
Security
- - Client-side encryption — AES-256-GCM with PBKDF2 (600k iterations)
- Zero knowledge — Server receives only encrypted blobs
- One-time read — Note deleted immediately after first fetch
- Auto-expire — Default 24 hour TTL
- Open Source — Server code is publicly auditable at https://github.com/easyFloyd/fadnote
The decryption key is embedded in the URL fragment (#key) and never sent to the server.
Files
CODEBLOCK5
Requirements
- - Node.js 18+ (no external dependencies)
Troubleshooting
| Error | Cause | Solution |
|---|
| INLINECODE3 | Environment variable missing | INLINECODE4 |
| INLINECODE5 |
No input provided | Pipe text into fadnote:
echo "secret" \| fadnote |
|
404 Not Found | Server endpoint wrong | Check
FADNOTE_URL points to a running FadNote instance |
|
Connection refused | Server unreachable | Verify server is up or use the live service |
|
Crypto not available | Node.js < 18 | Upgrade to Node.js 18+ |
Links
- - Live Service: https://fadnote.com
- Source: https://github.com/easyFloyd/fadnote
- Issues: https://github.com/easyFloyd/fadnote/issues
FadNote 技能
适用于 OpenClaw 的安全自毁可分享笔记
直接从 OpenClaw 创建加密的一次性阅读笔记。服务器永远不会看到您的明文内容。
概述
1.0.2 |
|
作者 | easyFloyd |
|
许可证 | MIT |
|
开源 | 是 — https://github.com/easyFloyd/fadnote |
|
运行环境 | Node.js 18+ |
安装
bash
通过 ClawHub
claw install fadnote
手动安装
git clone https://github.com/easyFloyd/fadnote.git
ln -s $(pwd)/fadnote/openclaw-skill/scripts/fadnote.js ~/.claw/bin/fadnote
配置
| 变量 | 默认值 | 描述 |
|---|
| FADNOTE_URL | https://fadnote.com | FadNote 服务器端点 |
使用方法
在 OpenClaw 中使用
用户:安全保存这个 API 密钥:sk-abc123xyz
Claw:我将为此创建一个安全的自毁笔记。
[运行:echo sk-abc123xyz | fadnote]
🔗 https://fadnote.com/n/abc123#解密密钥在此
通过任何渠道与接收者分享此链接,该链接将在首次查看后自毁。
命令行使用
bash
用法:fadnote [选项] [文本]
echo 文本 | fadnote [选项]
创建只能查看一次的安全自毁笔记。
选项:
-h, --help 显示此帮助信息并退出
--ttl <秒数> 笔记过期时间(默认:86400 = 24小时)
--json 输出 JSON 格式,包含 noteId、expiresIn 和 decryptionUrl
环境变量:
FADNOTE_URL API 端点(默认:https://fadnote.com)
示例:
# 标准用法
fadnote 我的秘密消息 # 直接输入
echo 我的秘密 | fadnote # 从标准输入
# 带选项
fadnote --ttl 3600 1小时后过期 # 自定义 TTL
fadnote --json --ttl 7200 JSON 输出 # JSON 输出:
# {noteId: string, expiresIn: number, decryptionUrl: string}
# 文件和剪贴板输入
cat file.txt | fadnote --ttl 86400 # 从标准输入带选项
pbpaste | fadnote # macOS 剪贴板
xclip -o -selection clipboard | fadnote # 从剪贴板(Linux 使用 xclip)
xsel -b | fadnote # 从剪贴板(Linux 使用 xsel)
单行输出: 包含可分享 URL 的单行内容。
JSON 输出:
json
{
noteId: string,
expiresIn: number,
decryptionUrl: string
}
触发条件
当您说出以下任何内容时,I(OpenClaw)将自动使用 FadNote 技能:
- - 安全保存这个 [内容]
- 用 FadNote 保存这个 [内容]
- 为 [内容] 创建一个安全链接
- 安全分享这个:[内容]
- 一次性笔记:[内容]
- 加密并分享 [内容]
带邮件发送(如果存在邮件技能):
- - 安全保存这个并发送邮件给 [收件人]:[内容]
- 用 FadNote 发送这个到 [邮箱]
- 发送安全笔记到 [邮箱]
示例:
- - 安全保存这个 API 密钥:sk-live-12345
安全性
- - 客户端加密 — 使用 PBKDF2(60 万次迭代)的 AES-256-GCM
- 零知识 — 服务器仅接收加密数据块
- 一次性读取 — 首次获取后立即删除笔记
- 自动过期 — 默认 24 小时 TTL
- 开源 — 服务器代码可在 https://github.com/easyFloyd/fadnote 公开审计
解密密钥嵌入在 URL 片段(#key)中,永远不会发送到服务器。
文件结构
openclaw-skill/
├── SKILL.md # 本文件
└── scripts/
└── fadnote.js # 主 CLI 脚本(约 160 行)
系统要求
故障排除
| 错误 | 原因 | 解决方案 |
|---|
| FADNOTEURL not set | 缺少环境变量 | export FADNOTEURL=https://fadnote.com |
| Empty note |
未提供输入 | 将文本通过管道传入 fadnote:echo secret \| fadnote |
| 404 Not Found | 服务器端点错误 | 检查 FADNOTE_URL 指向正在运行的 FadNote 实例 |
| Connection refused | 服务器无法访问 | 确认服务器已启动或使用在线服务 |
| Crypto not available | Node.js < 18 | 升级到 Node.js 18+ |
链接
- - 在线服务: https://fadnote.com
- 源代码: https://github.com/easyFloyd/fadnote
- 问题反馈: https://github.com/easyFloyd/fadnote/issues