Token导航 LogoToken导航TokenDH.com
待分类需要联网github未标认证来源可访问许可证需确认审计异常

bsocialbsocial 命令行

Agent Skill

bsocial 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。可结合来源仓库、安装命令和原始 README 继续核验具体用法。安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写。

总安装

387

周安装

17

GitHub Stars

2

下载量

140
CodexClaudeCursorGemini CLI

安装说明

本站只整理中文说明和来源信息,不托管安装包,也不代用户安装。

GitHub

来源数

2

许可证

unknown

最后核验

2026-05-01

来源状态

来源可访问

安装方式

通过对话安装

复制提示词发给支持本地命令或 Skills 的 AI 助手,先确认命令和权限,再让它执行。

请帮我安装这个 Agent Skill:bsocial(bsocial 命令行)
来源仓库:https://github.com/b-open-io/bsv-skills
仓库路径:skills/bsocial
安装命令:
npx skills add https://github.com/b-open-io/bsv-skills --skill bsocial
安装前请先检查当前环境是否支持对应 CLI,并向我确认将要执行的命令、安装目录、联网范围和文件读写权限;确认后再执行。

命令行安装

复制命令到本机终端执行。该命令会通过 npx skills 从第三方来源获取 Skill;本站只展示命令,不托管安装包,也不自动执行。

skills.shnpx skills
npx skills add https://github.com/b-open-io/bsv-skills --skill bsocial

简介

bsocial 用于处理 GitHub 仓库、Issue、Pull Request 和代码协作信息,适合在 Codex、Claude、Cursor、Gemini CLI 中需要围绕仓库状态、代码变更或协作事项进行整理时使用。

  • 它主要用于待分类场景,提供 BSV 区块链上的社交协议功能。
  • 可通过 npx skills add 命令从指定 GitHub 仓库安装并使用该技能。
  • 安装前建议确认权限范围、维护状态,以及是否会触发联网、命令执行或文件读写操作。
  • bsocial 属于待分类类 Skill,可作为该场景下的辅助能力补充。

SKILL.md

BSocial

Complete on-chain social protocol for BSV blockchain. Posts, likes, follows, messages, reposts, and friend requests using BitcoinSchema.org standards.

When to Use

  • Create social content (posts, replies, reposts)
  • Social actions (likes, follows, friend requests)
  • Real-time messaging (channels, direct messages)
  • Query social data by address or transaction

Create via CLI Scripts

Build and broadcast social transactions using raw WIF keys and the @1sat/templates BSocial class (included in this plugin).

Post

bun run skills/bsocial/scripts/create-post.ts <wif> "Post content" [options]

# Options:
#   --channel <name>    Post to a channel
#   --url <url>         Associate with URL
#   --tags <t1,t2>      Comma-separated tags
#   --dry-run           Build tx without broadcasting

Reply

bun run skills/bsocial/scripts/create-reply.ts <wif> <txid> "Reply content" [--tags <t1,t2>]

Like

bun run skills/bsocial/scripts/create-like.ts <wif> <txid>

Follow

bun run skills/bsocial/scripts/create-follow.ts <wif> <bapId>

Repost

bun run skills/bsocial/scripts/create-repost.ts <wif> <txid> [--context <type> --value <val>]

Message

bun run skills/bsocial/scripts/create-message.ts <wif> "Message" [options]

# Options:
#   --channel <name>    Send to channel
#   --to <bapId>        Direct message to user

Friend

bun run skills/bsocial/scripts/create-friend.ts <wif> <bapId>

Read Operations

Query social data from the BMAP API.

Posts

bun run skills/bsocial/scripts/read-posts.ts <address> [--limit 20] [--json]

Likes

bun run skills/bsocial/scripts/read-likes.ts --address <addr>
bun run skills/bsocial/scripts/read-likes.ts --txid <txid>

Follows

bun run skills/bsocial/scripts/read-follows.ts <address> [--limit 100] [--json]

Messages

bun run skills/bsocial/scripts/read-messages.ts --channel <name>
bun run skills/bsocial/scripts/read-messages.ts --address <addr>

Friends

bun run skills/bsocial/scripts/read-friends.ts <address> [--json]

Using @1sat/actions (via 1sat plugin)

For BRC-100 wallet users, @1sat/actions provides high-level social actions that handle B:// + MAP + AIP construction and wallet signing automatically. This requires the 1sat plugin and the @1sat/actions package — it is not part of bsv-skills.

See the 1sat:transaction-building skill for details.

import { createSocialPost, createContext } from '@1sat/actions'

const ctx = createContext(wallet)

const result = await createSocialPost.execute(ctx, {
  app: 'my-app',           // MAP attribution — identifies the calling application
  content: 'Hello BSV!',
  contentType: 'text/plain', // or 'text/markdown'
  tags: ['intro', 'bsv'],   // optional
})

// result: { txid, rawtx, error }

The action:

  • Signs with the wallet's BAP identity key via AIP (using WalletSigner from @1sat/templates)
  • Stores the 0-sat OP_RETURN output in the bsocial basket for post history
  • Tags outputs with MAP fields (app:my-app, type:post, tag:intro, etc.) for filtered queries

Query post history: wallet.listOutputs({basket: 'bsocial'})

Protocol Stack

[B Protocol] | [MAP Protocol] | [AIP Protocol]
   content       metadata         signature
  • B Protocol: Binary content storage (text, media)
  • MAP Protocol: Metadata key-value pairs (app, type, context)
  • AIP Protocol: Author signature for verification

Context Types

ContextUse Case
txReply/like a transaction
channelPost/message to named channel
bapIDTarget specific identity
providerAssociate with external URL or provider
videoIdReference a video
geohashGeolocation context
btcTxReference a BTC transaction
ethTxReference an ETH transaction

Dependencies

  • @bsv/sdk - Transaction building
  • @1sat/templates - BSocial protocol templates (Signer abstraction, BSocial class)
  • @1sat/actions - BRC-100 action system (external — requires the 1sat plugin)

API

Base URL: https://bmap-api-production.up.railway.app

REST Endpoints

EndpointDescription
/social/post/bap/{bapId}Posts by BAP ID
/social/feed/{bapId}Feed for BAP ID
/social/post/{txid}/likeLikes for a post
/social/bap/{bapId}/likeLikes by user
/social/friend/{bapId}Friends for BAP ID
/social/@/{bapId}/messagesMessages for user
/social/channels/{channelId}/messagesChannel messages

Query API (fallback)

  • Query: /q/{collection}/{base64Query}
  • SSE: /s/{collection}/{base64Query}

Ingest

  • POST /ingest with {rawTx: tx.toHex()}

Friend Encryption

Friend requests use Type42 key derivation with BRC-43 invoice numbers (2-friend-{sha256(friendBapId)}) via the BRC-100 wallet.

import { Hash, Utils } from "@bsv/sdk";
const { toHex, toArray } = Utils;

const keyID = toHex(Hash.sha256(toArray(friendBapId, "utf8")));

// Get encryption pubkey for friend request
const { publicKey } = await wallet.getPublicKey({
  protocolID: [2, "friend"],
  keyID,
  counterparty: "self",
});

// Encrypt private message for friend
const { ciphertext } = await wallet.encrypt({
  protocolID: [2, "friend"],
  keyID,
  counterparty: friendIdentityKey,
  plaintext: toArray("secret message", "utf8"),
});

// Decrypt message from friend
const { plaintext } = await wallet.decrypt({
  protocolID: [2, "friend"],
  keyID,
  counterparty: friendIdentityKey,
  ciphertext,
});

See Also

适合场景

01

用户想查找某类 Agent Skill 时

02

需要根据任务场景推荐可安装能力包时

03

需要对比不同来源的安装命令和来源信息时

能力概览

能力 1

按任务关键词查找相关 Skills

能力 2

展示可复制的安装命令

能力 3

保留来源站点、仓库和原始说明,方便继续核验

能力 4

展示第三方安全扫描或审计结果

安装后应在对应宿主中按原始 README 的触发条件使用;具体调用方式请以来源页面和 README 为准。

平台分布

Codex

36.13%
按下载量换算51

Claude

31.03%
按下载量换算43

Cursor

18.26%
按下载量换算26

Gemini CLI

9.94%
按下载量换算14

安全审计

Gen Agent Trust Hub

通过

Socket

未通过

Snyk

未通过

权限和风险

需要联网

该 Skill 可能需要联网访问来源站点、仓库或外部 API;具体网络访问范围需要结合源码和 README 复核。

安装前确认

本站仅展示第三方公开信息,不托管安装包,不提供自动安装或运行环境。安装前应自行审查源码、依赖和命令行为。来源安全扫描存在 warning/failed 结果,不能写成本站确认安全。当前只有一个来源,正式发布前建议补源仓库或其他目录站核验。

来源信息

继续浏览同类 Skills