Agent Wallet NWC 桥接器:将 Nostr Wallet Connect 连接到本地钱包 - Openclaw Skills

作者:互联网

2026-03-30

AI教程

什么是 Agent Wallet NWC 桥接器?

Agent Wallet NWC 桥接器是一个旨在将本地财务管理与去中心化 Nostr 生态系统集成的技术实现。此技能允许用户将其 @moneydevkit/agent-wallet 作为符合 NIP-47 标准的服务开放,从而实现与 Stacker.News 等外部客户端的无缝交互,进行比特币闪电网络交易。通过在 Openclaw Skills 中利用此功能,开发者可以弥合本地浅包逻辑与基于 Web 的 Nostr 应用程序之间的差距。

该桥接器作为 systemd 用户服务运行,提供与 Nostr 中继站强大且持久的连接。它充当中介,解释 NWC 请求并将其转换为本地浅包的可执行命令,在提供远程浅包管理和自动化的灵活性的同时,确保敏感密钥保留在本地。

下载入口:https://github.com/openclaw/skills/tree/main/skills/kristapsk/agent-wallet-nwc-bridge

安装与下载

1. ClawHub CLI

从源直接安装技能的最快方式。

npx clawhub@latest install agent-wallet-nwc-bridge

2. 手动安装

将技能文件夹复制到以下位置之一

全局模式 ~/.openclaw/skills/ 工作区 /skills/

优先级:工作区 > 本地 > 内置

3. 提示词安装

将此提示词复制到 OpenClaw 即可自动安装。

请帮我使用 Clawhub 安装 agent-wallet-nwc-bridge。如果尚未安装 Clawhub,请先安装(npm i -g clawhub)。

Install

Agent Wallet NWC 桥接器 应用场景

  • 通过 NIP-47 协议为 AI 代理实现自动化的比特币闪电支付。
  • 将本地浅包连接到 Stacker.News 等集成了 Nostr 的平台,以便轻松支付和生成发票。
  • 通过单个本地浅包为不同应用程序管理多个支出权限和预算。
  • 在 Openclaw Skills 生态系统中为托管浅包服务提供安全、自托管的替代方案。
Agent Wallet NWC 桥接器 工作原理
  1. 桥接服务连接到一组指定的 Nostr 中继站,以加密的 NIP-47 事件。
  2. 当授权客户端发送 make_invoice 或 pay_invoice 请求时,桥接器通过中继站接收事件。
  3. 桥接器解密请求并与本地 @moneydevkit/agent-wallet 实例通信以执行交易。
  4. 完成后,桥接器通过 Nostr 中继站将支付结果或生成的发票发送回请求者。
  5. 所有操作均由 systemd 记录和管理,以确保桥接器在后台保持活跃。

Agent Wallet NWC 桥接器 配置指南

要将此桥接器部署为 Openclaw Skills 设置的一部分,请按照以下安装步骤操作:

git clone https://github.com/kristapsk/agent-wallet-nwc-bridge
cd agent-wallet-nwc-bridge

npm install
cp -n nwc.env.example nwc.env

# 初始化状态并创建浅包服务公钥
node index.js init --relay wss://nos.lol

# 安装并作为 systemd 用户服务启动
./install_systemd_user.sh

# 坚控活动日志
journalctl --user -u agent-wallet-nwc-bridge.service -f

Agent Wallet NWC 桥接器 数据架构与分类体系

该技能通过本地文件管理其配置和安全状态,在 Openclaw Skills 环境中应谨慎处理这些文件:

文件 用途 安全说明
nwc.env 中继站、预算和状态路径的配置。 包含敏感环境设置。
state.json NWC 连接密钥和公钥的持久存储。 高度敏感;不得提交至版本控制。
index.js NIP-47 桥接和浅包通信的核心逻辑。 标准实现文件。
name: agent-wallet-nwc-bridge
version: 0.1.0
description: Expose a local @moneydevkit/agent-wallet as a Nostr Wallet Connect (NIP-47) wallet-service (systemd user service).
repo: https://github.com/kristapsk/agent-wallet-nwc-bridge

agent-wallet-nwc-bridge (skill)

This skill provides a small, self-hosted Nostr Wallet Connect (NIP-47) bridge that lets an NWC client (e.g. Stacker.News) send make_invoice / pay_invoice requests to a local @moneydevkit/agent-wallet.

It is intended to be run as a systemd user service.

What you get

  • index.js bridge implementation
  • portable agent-wallet-nwc-bridge.service unit (uses %h)
  • installer script install_systemd_user.sh
  • env + state files (nwc.env, state.json) stored locally (not committed)

Requirements

  • Linux with systemd user services
  • Node.js + npm
  • Nostr relay access (default example uses wss://nos.lol)

Install

git clone https://github.com/kristapsk/agent-wallet-nwc-bridge
cd agent-wallet-nwc-bridge

npm install
cp -n nwc.env.example nwc.env

# initialize state + create wallet service pubkey
node index.js init --relay wss://nos.lol

# install + start as user service
./install_systemd_user.sh

# follow logs
journalctl --user -u agent-wallet-nwc-bridge.service -f

Configure

Edit nwc.env:

  • NWC_RELAYS — comma-separated relay list (e.g. wss://nos.lol,wss://relay.damus.io)
  • NWC_STATE — defaults to state.json (relative to WorkingDirectory)
  • NWC_AUTO_REGISTER0 recommended (use explicit URIs/permissions)
  • NWC_DEFAULT_BUDGET_SATS — default spending cap when generating URIs

Security note: state.json contains NWC connection secrets. Do not commit it.

Typical usage flow (Stacker.News)

  1. Run the bridge.
  2. Generate an NWC URI for receive and attach it in SN wallets UI.
  3. Generate a separate NWC URI for send (spending permission) and attach it.
  4. Verify end-to-end:
    • SN make_invoice requests appear in bridge logs
    • SN pay_invoice requests appear and result in a paid invoice

Operations

Restart after changes:

systemctl --user restart agent-wallet-nwc-bridge.service

Disable:

systemctl --user disable --now agent-wallet-nwc-bridge.service

Publishing to ClawHub

  • Ensure README.md, SKILL.md, and package.json are present.
  • Keep secrets out of git (nwc.env, state.json, node_modules/ are ignored by default).