首页龙虾技能列表 › X/Twitter by altf1be — 使用 OAuth 1.0a 发帖

🐦 X/Twitter by altf1be — 使用 OAuth 1.0a 发帖

v1.1.3

通过 API v2 使用 OAuth 1.0a 安全签名发布推文、线程和媒体到 X/Twitter,仅依赖 commander 和 dotenv。

1· 808·3 当前·4 累计
by @abdelkrim (Abdelkrim from Brussels)·MIT-0
下载技能包
License
MIT-0
最后更新
2026/4/11
安全扫描
VirusTotal
无害
查看报告
OpenClaw
安全
high confidence
该技能的请求、指令和捆绑代码与其声明的目的(使用 OAuth 1.0a 发帖到 X/Twitter)一致,没有不当或未解释的请求。
评估建议
该技能似乎确实如其声明:使用您的 X/Twitter OAuth 密钥发布推文/线程和上传媒体。安装前:(1)验证信任技能源(元数据中的 GitHub 链接)。(2)保持四个 OAuth 秘密私密(存储在 .env 中,不提交)。(3)如果您谨慎,在隔离环境中运行 npm install — package-lock.json 存在,仅显示 'commander' 和 'dotenv'。(4)注意脚本将读取您明确传递的媒体文件;它强制执行路径和扩展检查(仅限 home/working-dir/tmp 和常见图像/视频扩展)。(5)README 提到 Bearer Token,但代码不使用它 — 预计仅使用 OAuth 消费者/访问密钥。撤回访问后旋转密钥。如果您想要额外的保证,在运行之前查看完整的 scripts/xpost.mjs 文件,并先使用测试账户进行测试。...
详细分析 ▾
用途与能力
名称/描述(发布推文/线程/媒体)与代码和所需环境变量(X_CONSUMER_KEY、X_CONSUMER_SECRET、X_ACCESS_TOKEN、X_ACCESS_TOKEN_SECRET)匹配。没有请求无关的凭证或外部服务。
指令范围
SKILL.md 仅指示安装依赖项和运行包含的 CLI。运行时指令和脚本仅操作用户提供的内容和四个 OAuth 环境变量。文档中有一个小的不匹配:README 中的先决条件提到 'Bearer Token',但 SKILL.md 和代码都不使用承载令牌(脚本使用 OAuth 1.0a 和 v1.1 媒体上传端点)。
安装机制
注册表中没有安装规格(仅指令),但 SKILL.md/README 指示 'npm install',这将从 npm 注册表拉取 'commander' 和 'dotenv'。对于 Node CLI 来说这是预期的,但带来了从 npm 获取包的通常中等风险;package-lock.json 包含并显示具体版本。
凭证需求
仅声明并使用代码所需的四个 OAuth 秘密;这些与发布推文和上传媒体成比例。技能不请求无关的秘密或系统凭证。
持久化与权限
always 为 false,技能不请求持久的系统范围权限。它不修改其他技能配置或系统范围设置。
scripts/xpost.mjs:28
环境变量访问与网络发送结合。
scripts/xpost.mjs:13
文件读取与网络发送结合(可能的数据外泄)。
安全有层次,运行前请审查代码。

License

MIT-0

可自由使用、修改和再分发,无需署名。

运行时依赖

无特殊依赖

版本

latestv1.1.32026/2/24

修复:删除死的 bearerToken 代码路径,修复描述不一致(之前声称没有依赖项),跨文件对齐版本

● 无害

安装命令 点击复制

官方npx clawhub@latest install x-twitter-by-altf1be
镜像加速npx clawhub@latest install x-twitter-by-altf1be --registry https://cn.clawhub-mirror.com

技能文档

通过 X API v2 使用安全 OAuth 1.0a 签名发布推文、线程和媒体到 X/Twitter。

设置

  • 从 https://developer.x.com 获取 API 密钥
  • 设置环境变量(或在 {baseDir} 中创建 .env):
X_CONSUMER_KEY=你的 API 密钥
X_CONSUMER_SECRET=你的 API 秘密
X_ACCESS_TOKEN=你的访问令牌
X_ACCESS_TOKEN_SECRET=你的访问令牌秘密
  • 安装依赖项:cd {baseDir} && npm install

命令

# 验证连接
node {baseDir}/scripts/xpost.mjs verify
# 发布推文
node {baseDir}/scripts/xpost.mjs tweet "来自 OpenClaw 的问候! 🦞"
# 带图像发布
node {baseDir}/scripts/xpost.mjs tweet "看看这个!" --media ./screenshot.png
# 回复推文
node {baseDir}/scripts/xpost.mjs tweet "很好的观点!" --reply 1234567890
# 发布线程(内联)
node {baseDir}/scripts/xpost.mjs thread "第一条推文" "第二条推文" "第三条推文"
# 从文件发布线程(用 --- 分隔)
node {baseDir}/scripts/xpost.mjs thread --file ./thread.md

线程文件格式

创建一个文件,使用 --- 分隔推文:
🚀宣布一些酷的事情!

为什么这很重要...
查看这里:https://example.com #OpenSource #AI

安全

  • OAuth 1.0a 用户上下文签名(无应用程序仅限身份验证用于写操作)
  • 不将凭证打印到 stdout
  • API 调用使用纯 Node.js fetch + 内置 node:crypto(无第三方 HTTP 或 OAuth 库)
  • 仅依赖 commander(CLI 框架)和 dotenv(环境变量加载)

作者

Abdelkrim BOUJRAF — ALT-F1 SRL,布鲁塞尔 🇧🇪 X: @altf1be

数据来源:ClawHub ↗ · 中文优化:龙虾技能库
OpenClaw 技能定制 / 插件定制 / 私有工作流定制

免费技能或插件可能存在安全风险,如需更匹配、更安全的方案,建议联系付费定制

了解定制服务