Skip to content

Releases: WindustH/atp

ATP v0.3.0

Choose a tag to compare

@WindustH WindustH released this 20 Oct 16:23

Changes

  • Video chapters and replacing a video
    • post --chapters FILE and edit --chapters FILE / --no-chapters take one 0:00 Title line per chapter.
      • Bilibili: through the creator center's chapter cards, with no re-review.
      • Douyin: on publishing, and through the chapter editor afterwards.
      • YouTube (edit only): as a timestamp block in the description.
      • Each platform's rules are checked before sending.
    • edit --video FILE replaces a published video's file on Bilibili (--part N for multi-part videos) and Douyin (where Douyin offers 更换视频). The summary lists the platform's rules: both review the video again; Douyin allows 3 replacements per work and may clear danmaku; on Bilibili the danmaku stay with the old file and the part's chapters are to be set again.
    • Bilibili can now publish videos: atp bili post --video v.mp4 --title … --cover … --category … --topic …. atp bili categories lists the categories, the sub-category is picked as the upload page does, and --ai adds the AI-content statement.
    • --cover-horizontal sets the second cover: the 4:3 横封面 on Douyin, cover43 on Bilibili.
  • Douyin creator tools
    • edit --dry-run shows a work's state without spending an edit: edits left, whether the video can be replaced, and the chapter state. It also prints the exact forms it would send.
    • The edit summary shows the edits left (Douyin allows 5 per work) and refuses when none are.
    • Works whose text @-mentions people, joins an activity or holds Douyin's own search words can now be edited.
    • post --location (search places with poi) and post --activity (see activities).
    • insights POST and works give per-work numbers: plays, completion, 2 s bounce, cover CTR, new followers and more. Also drafts, hotspots, and search -t topic.
  • Job platforms, a new jobs kind. Tables show company, pay and city.
    • Eleduck 电鸭, Liepin 猎聘, Nowcoder 牛客, NCSS 国家大学生就业服务平台, Zhilian 智联招聘, Shixiseng 实习僧, Yingjiesheng 应届生 (宣讲会).
    • careers covers companies' own career sites: ByteDance, Tencent, Alibaba, Meituan and Kuaishou, plus any Feishu Hire, Beisen or Moka site by its link, through the new --site.
    • LinkedIn (as a guest), 1Point3Acres 一亩三分地, 51job 前程无忧, BOSS直聘 (hot jobs, and the account's lists, not yet tried with an account; its search and its job and company pages are blocked by the site's check for now), and Proginn 程序员客栈.
    • Applying is always one job at a time, with a confirmation.
  • More platforms: Steam, Forem / DEV (dev.to), Hupu 虎扑, SMZDM 什么值得买, ZSXQ 知识星球, Pixiv and Pinterest.
  • More on existing platforms
    • TikTok: studio, a list of your videos with their counters, and notifications.
    • Xiaoyuzhou: login, transcript, history, and full episode lists.
    • WeRead: the official Agent Gateway (login --token wrk-… or WEREAD_API_KEY), plus chapters, outline, book-search, reading and related.
    • WeChat Official Accounts: article search through Sogou.
    • V2EX: check-in and balance, with a browser session.
    • Instagram: hot (the explore grid) and publish through the Graph API.
  • Core
    • Browser tabs: platforms whose API only answers a real browser use a headless Chrome tab, and the site's own page makes the request. --browser-window never|auto|always picks headless or windowed. atp platforms marks these platforms.
    • atp doctor checks files, sessions, ffmpeg, the browser, the proxy, the network and the clock (--offline for local checks only).
    • A failed write now says error.outcome: not_sent means it is safe to retry; unknown means check whether it took effect first.
    • Platform-only commands declare whether they only read, and the MCP read tool now runs every read command: the 28 shared ones and 408 platform-only ones.
    • Requests to one platform are paced across several atp processes.
    • Times at midnight UTC no longer show as bare dates in tables.

Upgrading

  • Douyin --cover is the 3:4 main cover. A landscape --cover no longer also sets the 4:3 cover; use --cover-horizontal for that.
  • The MCP read tool's command is a free string (a nested command is one string, e.g. "playlist tracks").
  • Install from the AUR (all-the-platforms-bin) or Homebrew (brew install windusth/tap/atp).

ATP v0.2.0

Choose a tag to compare

@WindustH WindustH released this 18 Oct 03:59

Changes

  • Edit published posts: atp <platform> edit POST [TEXT] now takes --title, --topic/--tag, --no-topics, --cover and --visibility where the platform allows them. It shows an old → new summary and asks first; pass -y in scripts.
    • Douyin works (title, text, topics, cover, visibility).
    • Bilibili videos and dynamics; Zhihu answers and pins; Weibo (text and visibility); Jike (text, topic, visibility); Juejin articles.
    • YouTube videos through the Data API (title, description, tags, thumbnail, privacy); Facebook Page posts; X (within edit_control); Reddit; Mastodon; Lemmy (title and text); Discourse (posts, plus a topic's title, tags and category); Instagram captions; Misskey notes on Sharkey and CherryPick.
  • Manage follows and favorites with the same commands everywhere:
    • Favorites folders: folder-create, folder-edit, folder-delete, folder-add, folder-remove, folder-move.
    • Following: following --sort recent|oldest|smart|visited, --search, --mutual; follow/unfollow take several users; remove-follower; block, unblock, blocked.
    • Follow groups: follow-groups, follow-group, follow-group-create|rename|delete|add|remove (Bilibili and Weibo groups; lists on X, Bluesky and Mastodon).
    • like, unlike, favorite, unfavorite take several posts.
    • Watch later: watch-later, later-add, later-remove, later-clear [--watched]. History: history-delete, history-clear.
    • Most complete on Bilibili, Douyin and Xiaohongshu; also Weibo, Zhihu, Juejin, Jike, Tieba, Kuaishou, Douban, YouTube, X, Reddit, Instagram, TikTok, Bluesky and Mastodon, as far as each platform allows.
  • Use ATP as a Rust library: add it as a git dependency with one feature per platform (default-features = false, features = ["zhihu"]); atp::open loads a saved session and every command is a typed method. See the README.
  • Lemmy save uses PUT, as the API expects.

Upgrading

  • Bilibili: groups, group, group-* are now follow-groups, follow-group, follow-group-*; group-assign is follow-group-add/follow-group-remove; blacklist is blocked.
  • YouTube: playlist-* are now folder-* (plus playlist-privacy and playlist-move); history-remove is history-delete. Run atp youtube oauth once more before editing videos (the new scope is needed).
  • X: lists are managed with follow-group* (new lists are private by default); folder-rename is folder-edit --name.
  • Weibo: the groups and folders extras moved to follow-groups and the folder-* commands.
  • history-delete now asks before deleting; pass -y in scripts.
  • Install from the AUR (all-the-platforms-bin) or Homebrew (brew install windusth/tap/atp).

ATP v0.1.1

Choose a tag to compare

@WindustH WindustH released this 17 Oct 12:26

Changes

  • Douyin publishing: atp douyin post publishes videos (--video), image posts (-i IMAGE…) and articles (--article FILE) through the creator platform, with a cover, topics, visibility (public, friends, private), scheduling, collections (--collection) and background music for image posts. --ai sets the 「内容由AI生成」 declaration. It asks before uploading; pass -y in scripts.
  • Douyin: delete removes one of your works, mixes lists your collections, and musics browses the music library.
  • Install from the AUR (all-the-platforms-bin) or Homebrew (brew install windusth/tap/atp).

Publishing needs a session from atp douyin login (QR) or login-sms; sessions copied from a browser can't sign the publish request.

ATP v0.1.0

Choose a tag to compare

@WindustH WindustH released this 15 Oct 04:50

First release of ATP (all-the-platforms): one command for all the platforms.

Highlights

  • 67 platforms with one command set: social, video, music and podcasts, chat, shopping, maps and travel, drives and developer communities. search, hot, read, comments, user, like, comment, post, download mean the same thing everywhere; chat apps share chats, messages, send and listen.
  • Made for scripts and AI agents: a stable JSON / YAML envelope, JSON Lines and CSV rows for analysis, and atp mcp serves every platform over MCP.
  • Your own sessions: QR codes, browser sessions, cookies or your own API keys. When a site asks for a human check, it opens in your browser and the command carries on.
  • Built-in documentation: atp guide, atp guide <platform> <command> and atp guide login <platform>, also available through MCP.
  • Linux, macOS and Windows.

Install

Download the archive for your system below, or build from source with cargo install --path ..