publishport
v0.1.0
Published
Official PublishPort CLI — publish to 60+ platforms from your own logged-in browser, through the PublishPort relay.
Maintainers
Readme
publishport
Official CLI for PublishPort — publish to 60+ social and content platforms from your own logged-in browser.
Every command goes through the PublishPort relay and executes on the machine running your PublishPort desktop app: your real browser session, your own IP, no API keys to provision. That also means the agent issuing the command does not have to be on that machine — it can run on a server, in CI, or in a chat client on your phone.
npx publishport capabilitiesSetup
- Install the PublishPort desktop app and sign in to the platforms you want to publish to, in a normal browser window.
- Copy your access endpoint from the app's Connect AI panel (or your account page on publishport.app) and save it:
npx publishport loginThe credential is stored in ~/.publishport/config.json with 600 permissions. It can drive
commands on your machine — treat it like a password. In CI or a container, pass it as
PUBLISHPORT_TOKEN instead of logging in.
Commands
| Command | What it does |
|---|---|
| publishport capabilities | Online devices, per-platform login state, remaining quota |
| publishport guide <platform> --device <d> | That platform's publishing guide plus its live command schema |
| publishport run --device <d> -- <command...> | Run one command on that device |
| publishport upload <file> --device <d> --dest <path> | Copy a local file onto the device |
| publishport download <path> --device <d> --out <file> | Pull a file back off the device |
| publishport tools | Every available tool and its arguments |
| publishport call <tool> --json '{...}' | Call any tool directly |
| publishport status / login / logout | Credential management |
capabilities, guide, run, upload and download are shorthands over call; tools is the
authoritative list, so anything the service gains is reachable immediately without a CLI upgrade.
A typical run:
publishport capabilities # find your device handle
publishport guide zhihu --device <device> # required args, gotchas, live --help
publishport call write_local_text --json '{"device":"<device>","path":"post.md","content":"..."}'
publishport run --device <device> -- ppcli zhihu publish --file post.md --title "..."run passes the remote exit code straight back, so it composes with normal shell error handling.
Long uploads need a bigger budget than the 60 s default: --timeout-ms 600000.
Notes
- Publishing happens in your real accounts on platforms that do police automation. Space posts out, and don't loop around a rate limit.
- A command that errors may still have published. Query the platform before retrying.
- Same capabilities are available over MCP if your agent speaks it — see publishport.app/docs.
MIT
