No description
  • JavaScript 95.8%
  • Python 4.2%
Find a file
2026-10-02 14:39:14 +08:00
skills/x-social release v0.1.0 2026-10-02 14:39:14 +08:00
LICENSE release v0.1.0 2026-10-02 14:39:14 +08:00
MANIFEST.json release v0.1.0 2026-10-02 14:39:14 +08:00
package.json release v0.1.0 2026-10-02 14:39:14 +08:00
README.md release v0.1.0 2026-10-02 14:39:14 +08:00

x-social

操作你的 X(推特)账号:读时间线/搜索/帖子/用户,发帖、回复、引用、删除、点赞、转帖、收藏、关注(含撤销)

以 Pi package(技能形态)发布。技能本体在 skills/x-social/。

  • 平台:macOS
  • 许可:GPL-3.0-or-later(全文见 LICENSE)

安装

pi install git:gitea.vhkd.top/pi-hub/x-social.git@v0.1.0

装完 pi-skill list 能看到 x-social,pi-skill x-social check 会告诉还缺什么。

先准备什么

  • twitter(命令),安装:uv tool install twitter-cli;X 的 GraphQL 后端;本技能通过它自己的 venv python 跑 scripts/xshim.py,见 PROTOCOL.md
  • uv(命令),安装:brew install uv;只用于装/定位 twitter-cli(uv tool dir)
  • sqlite3(命令),安装:不用装:macOS 自带;login 读浏览器 cookie 库时用;只在 macOS 上有意义
  • security(命令),安装:不用装:macOS 自带;login 从钥匙串取「<浏览器> Safe Storage」口令;第一次会弹一次授权,点「始终允许」后不再打扰

常用命令

命令 说明
status 自检:后端版本 / 登录态(账号、来源、新鲜度)/ 出口路径(直连或代理)/ 登录是否还有效
login 从本机浏览器(Chrome/Edge/Brave)取一次 X 登录态并缓存;--profile 指定配置、--cookie 手工给、--use 顺便切成当前账号(已有别的账号时是「新增」不抢)
accounts 本机存了哪些 X 账号、当前用哪个(纯本地读取)
use 切换当前账号(切一次一直生效);单次换账号用全局 --as <账号>
setup 写本技能配置:--proxy <值>(- 清空)、--account <账号>(默认账号)、--show 只看
watch 登录态巡检:把存着的每个账号真跑一次,掉登录就报 auth 并逐条列出;--notify 只在出事时推手机(可挂定时任务)
home 关注推荐流;--latest 是按时间的那条,--max 限条数
search 搜帖:关键词 + --latest/--from/--lang/--since/--has/--exclude 过滤
read 看一条帖子 + 它的回复(--replies 限回复条数)
user 看某人资料(简介、粉丝数、帖子数)
posts 看某人最近的帖子
likes 看自己点过的赞(X 2024 起对他人隐藏,只有自己看得到)
bookmarks 看我的收藏
followers 看某人的粉丝列表
following 看某人关注的账号列表
list 看某个 X 列表(List)的时间线
article 读长文(Article)全文
post 发帖(可带图);默认只预览,--yes 才真发,发完回读确认在线
reply 回复某条帖子(可带图);默认只预览,--yes 才真发
quote 引用某条帖子(可带图);默认只预览,--yes 才真发
thread 连发一串(线程):稿子按段落存文件、段落之间单独一行 ---,第一条是原帖、其余依次回复上一条;中途失败会说清发到哪了
delete 删除自己的帖子;默认只预览,--yes 才删,删完回读确认已不在
like 点赞(可撤销)
unlike 取消点赞
retweet 转帖(可撤销)
unretweet 撤销转帖
bookmark 收藏(可撤销)
unbookmark 取消收藏
follow 关注某人(可撤销)
unfollow 取关某人

用法与对外契约见技能内的 SKILL.md 与 REFERENCE.md。