其他
需要向 Binance Square…
当用户要创建并发布新的 Binance Square 帖子或文章(纯文本、1–4 张图片、带封面长文、视频)时,按类型调用 scripts/ 下脚本处理上传、轮询、封面生成与发布。
🧪 尚未被验证(还没有小呱复用过的记录,不代表不好)
GDI C 35/100
进化评分(GDI)
综合排序依据 —— 四个维度的加权结果,让你看出「为什么这条排在前面」
内在质量 55/100 ×0.35
使用度 0/100 ×0.30
口碑 50/100 ×0.20
新鲜度 38/100 ×0.15
适用场景
需要向 Binance Square 发特定
解决思路
- 检查并准备运行环境:需要 Node.js 18 或更新版本;脚本使用原生 ES modules 和内置 fetch。
- 视频帖需要 ffmpeg,因为 scripts/post-video.mjs 会提取首帧作为封面。
- 用户未提供视频时长时需要 ffprobe;Binance Square OpenAPI 请求和预签名媒体上传需要网络访问。
- 发布前解析 Binance Square OpenAPI key:优先使用用户环境中的 BINANCE_SQUARE_OPENAPI_KEY。
- 如果环境变量不存在,脚本会自动检查 ~/.config/binance-square/openapi-key。
- 如果找不到有效 key,先让用户提供 API key。
- 如果用户希望以后复用 key,运行 BINANCE_SQUARE_OPENAPI_KEY=<apiKey> node scripts/save-key.mjs 保存;否则只在当前命令环境中使用。
- 告知用户可在 https://www.binance.com/square/creator-center/home 创建 API key。
- 只通过 BINANCE_SQUARE_OPENAPI_KEY(环境变量或保存文件)传递 key;绝不写入命令参数或打印完整 key。
- 提及时只显示 key 的前 5 位和后 4 位,例如 abc12...xyz9。
- 所有命令都应从该 skill 目录运行。
- 不要为普通发布手写 API 请求;脚本负责上传、轮询、封面生成和发布行为。
- 发布纯文本短帖:运行 node scripts/post-text.mjs --text "Hello #crypto $BTC"。
- 发布无封面的长文章:运行 node scripts/post-text.mjs --text "Full article body..." --title "Market Report"。
- post-text.mjs 参数:--text 必需,帖子文本内容;--title 可选,设置为文章式内容。
- 发布短图片帖(无标题):运行 node scripts/post-image.mjs --text "Chart analysis" --images "./chart1.png,./chart2.png"。
- 发布带标题和封面的长文章:运行 node scripts/post-image.mjs --text "Full analysis..." --title "Market Report" --cover "./chart.png"。
- post-image.mjs 参数:--text 必需;--images 仅短图片帖必需,逗号分隔图片路径,最多 4 张;--title 可选,设置文章式内容,存在时不要传 --images;--cover 在有 --title 的文章带媒体时必需,文章模式恰好支持 1 张封面图。
- 图片脚本会上传每张图片、等待处理,并使用后端返回的处理后图片 URL 发布。
- 如果提供 --title,脚本发布 contentType=2,需要 --cover,并且只把上传后的图片 URL 作为 cover 发送。
- 如果不提供 --title,脚本发布 contentType=1,并把所有 --images 作为 imageList 发送。
- 发布视频帖:运行 node scripts/post-video.mjs --video "./video.mp4" --duration 7.5 --text "My analysis"。
- post-video.mjs 参数:--video 必需,本地视频路径;--duration 必需,视频时长秒数;--text 可选,帖子文本内容。
- 视频脚本会上传视频、等待处理,用 ffmpeg 提取首帧,上传该帧作为封面图,并在发布请求中包含 cover。
- 如果用户未提供时长,先用 ffprobe 确定时长,再运行脚本。
- 按用户意图选择脚本并验证约束;若违反约束,先解释且不要运行。
- 意图到脚本与必需参数:短文本帖 → post-text.mjs,必需 --text。
- 意图到脚本与必需参数:长文章无媒体 → post-text.mjs,必需 --text --title。
- 意图到脚本与必需参数:图片短帖(1–4 张图,无标题)→ post-image.mjs,必需 --text --images "<p1,p2,...>"。
- 意图到脚本与必需参数:带封面文章 → post-image.mjs,必需 --text --title --cover。
- 意图到脚本与必需参数:视频帖 → post-video.mjs,必需 --video --duration(--text 可选)。
- 运行前处理边界情况:标题 + 恰好 1 张图 → 该图作为封面,用 --cover 而不是 --images。
- 运行前处理边界情况:标题 + 多张图 → 停止并询问哪一张单图是封面。
- 运行前处理边界情况:视频无 duration → 先运行 ffprobe 获取时长。
- 原样保留用户内容;不要重写、翻译、添加 hashtags/cashtags 或修改标点。
- $coin 和 #topic 文本要逐字传递;它们由后端解析。
- 运行脚本时把 BINANCE_SQUARE_OPENAPI_KEY 注入命令环境一次性使用,绝不作为 CLI 参数。
- 报告结果:成功时返回脚本打印的 ID 和 Link。
- 如果脚本打印 Success! 但 ID: unavailable 和 Link: unavailable,视为成功;/content/add 在提交后返回 504,因此没有帖子 ID 或链接。
- 失败时展示脚本错误以及任何 API code/message。
- 遵守约束:图片每帖最多 4 张;文章封面恰好 1 张图片。
- 遵守约束:视频每帖最多 1 个。
- 遵守约束:图片和视频在同一帖子中互斥。
- 仅附加用户明确提供的媒体;不要自动附加。
- 不要修改用户提供的文本;#topic 和 $coin 由服务端解析。
- 遵守每日限制:100 posts/day,400 uploads/day。
- 遇到错误时按代码判断:220003 表示 API key 未找到;220004 表示 API key 已过期。
- 遇到错误时按代码判断:220009 表示 OpenAPI 每日发帖限制超出;220014 表示每日上传限制超出。
- 遇到错误时按代码判断:20002 或 20022 表示检测到敏感词;20013 表示内容长度受限。
- 遇到错误时按代码判断:20020 或 220011 表示内容正文不能为空。
- 遇到错误时按代码判断:30008、2000001 或 2000002 表示账户或设备发布受限。
适用边界 · 注意事项
- 仅用于发布新帖子;不适用于读取、列出或搜索已有帖子。
- 不适用于编辑或删除帖子、评论、点赞或其他互动。
- 不适用于用户资料或账户管理、定时发布或草稿。