介绍
# Bluesky CLI
功能齐全的 Bluesky/AT Protocol 命令行界面。
## 代理说明
**首先:检查是否已登录** ```bash bsky whoami ```
- 如果显示句柄 → 准备好使用以下命令 - 如果显示 "Not logged in"(未登录)→ 引导用户完成“设置”部分
**常见任务:** - "Post to Bluesky"(发布到 Bluesky)→ `bsky post "text"` - "Check my timeline"(查看我的时间线)→ `bsky timeline` - "Like this post"(点赞此贴)→ `bsky like <url>` - "Follow someone"(关注某人)→ `bsky follow @handle`
## 设置
如果用户未登录(`bsky whoami` 显示 "Not logged in"),请引导他们完成设置:
### 获取应用密码
告诉用户: > 前往 bsky.app → 点击你的头像 → 设置 → 隐私与安全 → 应用密码 → 添加应用密码。将其命名为 "OpenClaw" 并复制密码(格式如 `xxxx-xxxx-xxxx-xxxx`)。你只能看到一次!
### 登录
一旦他们有了应用密码,请运行: ```bash bsky login --handle THEIR_HANDLE.bsky.social --password THEIR_APP_PASSWORD ```
示例: ```bash bsky login --handle alice.bsky.social --password abcd-1234-efgh-5678 ```
**安全性:** 密码仅用于获取会话令牌,然后会立即丢弃。永远不会存储在磁盘上。会话会自动刷新。
## 快速参考
| 操作 | 命令 | |--------|---------| | 查看时间线 | `bsky timeline` 或 `bsky tl` | | 发布 | `bsky post "text"` | | 发布带图 | `bsky post "text" --image photo.jpg --alt "description"` | | 回复 | `bsky reply <url> "text"` | | 引用发布 | `bsky quote <url> "text"` | | 查看帖子串 | `bsky thread <url>` | | 创建帖子串 | `bsky create-thread "Post 1" "Post 2" "Post 3"` 或 `bsky ct` | | 点赞 | `bsky like <url>` | | 转发 | `bsky repost <url>` | | 关注 | `bsky follow @handle` | | 拉黑 | `bsky block @handle` | | 屏蔽 | `bsky mute @handle` | | 搜索 | `bsky search "query"` | | 通知 | `bsky notifications` 或 `bsky n` | | 删除帖子 | `bsky delete <url>` |
## 命令
### 时间线 ```bash bsky timeline # 10 posts bsky timeline -n 20 # 20 posts bsky timeline --json # JSON output ```
### 发布 ```bash bsky post "Hello world!" # Basic post bsky post "Check this!" --image pic.jpg --alt "A photo" # With image bsky post "Test" --dry-run # Preview only ```
### 回复与引用 ```bash bsky reply <post-url> "Your reply" bsky quote <post-url> "Your take on this" ```
### 帖子串视图 ```bash bsky thread <post-url> # View conversation bsky thread <url> --depth 10 # More replies bsky thread <url> --json # JSON output ```
### 创建帖子串 ```bash bsky create-thread "First post" "Second post" "Third post" # Create a thread bsky ct "Post 1" "Post 2" "Post 3" # Short alias bsky create-thread "Hello!" "More thoughts" --dry-run # Preview only bsky create-thread "Look!" "Nice" --image pic.jpg --alt "A photo" # Image on first post ```
### 互动 ```bash bsky like <post-url> # ❤️ Like bsky unlike <post-url> # Remove like bsky repost <post-url> # 🔁 Repost (aliases: boost, rt) bsky unrepost <post-url> # Remove repost ```
### 社交图谱 ```bash bsky follow @someone # Follow user bsky unfollow @someone # Unfollow user bsky profile @someone # View profile bsky profile --json # JSON output ```
### 内容审核 ```bash bsky block @someone # 🚫 Block user bsky unblock @someone # Unblock bsky mute @someone # 🔇 Mute user bsky unmute @someone # Unmute ```
### 搜索与通知 ```bash bsky search "query" # Search posts bsky search "topic" -n 20 # More results bsky notifications # Recent notifications bsky n -n 30 # More notifications ```
### 删除 ```bash bsky delete <post-url> # Delete your post bsky delete <post-id> # By ID ```
## JSON 输出
在读取命令中添加 `--json` 以获取结构化输出: ```bash bsky timeline --json bsky search "topic" --json bsky notifications --json bsky profile @someone --json bsky thread <url> --json ```
## 错误处理
| 错误 | 修复方法 | |-------|-----| | "Session expired"(会话已过期) | 再次运行 `bsky login` | | "Not logged in"(未登录) | 运行 `bsky login --handle ... --password ...` | | "Post is X chars (max 300)"(帖子为 X 个字符,最多 300 个) | 缩短文本 | | "Image too large"(图片过大) | 使用小于 1MB 的图片 |
## 注意事项
- 所有 `<url>` 参数均接受 `https://bsky.app/...` URL 或 `at://` URI - 如果未指定域名,句柄会自动追加 `.bsky.social` - 发布图片时必须提供 `--alt` 以满足无障碍访问要求(Bluesky 的要求) - 会话令牌会自动刷新;密码永不存储