360 Secure SkillHub
360 安全技能中心

Bluesky

面向 Bluesky/AT Protocol 的认证交互技能:借助 atproto Python 库登录 PDS,支持发帖、回复、点赞、转发、引用、私密书签及媒体上传;发帖可带富文本 facet 与线程引用,写操作前需将 handle 解析为 DID 并获取最新 cid。

heather-herbert
heather-herbert
热度 53.37
最近更新 2026-05-11 17:31:30
分类:营销依赖:代码执行 / 第三方 API应用场景:社交媒体 / API 集成

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add openclaw-bluesky
Metadata
name
bluesky
description
Bluesky/AT Protocol orchestration skill for authenticated interaction with the Bluesky Social network: post, reply, like, repost, quote, bookmark, and upload media.
metadata
{"openclaw":{"emoji":"🦋","env":{"BSKY_PDS":"https://bsky.social","BSKY_HANDLE":"<required>","BSKY_APP_PASSWORD":"<required>"},"secrets":["BSKY_APP_PASSWORD"],"install":[{"id":"python-atproto","kind":"pip","package":"atproto","label":"Install AT Protocol Python SDK"}]}}

Bluesky Skill

Advanced Bluesky/AT Protocol orchestration skill. This skill allows for authenticated interaction with the Bluesky Social network, including robust handling of rich text, media uploads, and thread management.

Provenance & Source

Configuration & Authentication

This skill expects the following environment variables to be set for secure operation:

  • BSKY_PDS: The PDS URL (default: https://bsky.social).
  • BSKY_HANDLE: Your full Bluesky handle (e.g., user.bsky.social).
  • BSKY_APP_PASSWORD: A unique App Password generated via Bluesky Settings.

Setup

  1. Dependency: Ensure the atproto Python library is installed: pip install atproto.
  2. Generate App Password: Go to Settings > Advanced > App Passwords in your Bluesky client.
  3. Environment Variables: Configure your shell or OPENCLAW_ENV to include the variables listed above. Do not store your primary account password here.

Capabilities

  • post(text, { reply_to, embed, facets }): Create new posts. Threading requires root and parent references (uri+cid).
  • like(uri, cid): Like content.
  • repost(uri, cid): Repost content.
  • quote(text, uri, cid): Quote a post by embedding its Strong Reference.
  • bookmark(uri, cid): Private bookmarking (App View specific storage).
  • upload_blob(bytes, mimetype): Upload media (limit 1MB for images) before embedding.

Implementation Details

  • Handles vs DIDs: Always resolve handles to DIDs using the resolveHandle API before performing write operations.
  • Rich Text: Use TextEncoder to ensure byte-accurate byteStart and byteEnd for facets. Never rely on UTF-16 character indices.
  • Indexing: Always fetch the latest post cid before interacting (liking/reposting/quoting) to ensure valid Strong Reference anchors.

Official Documentation

Author