# CLI · `pagedrop` PageDrop 官方命令行客户端。在终端或 CI 里直接上传和分享单文件。底层走的是和 MCP 服务 同一套 v1 REST API。 ## 安装 ```bash npm install -g @pagedrop/cli ``` (或者免安装直接跑:`npx -y @pagedrop/cli ...`) ## 鉴权 凭据保存到 `~/.pagedrop.json`: ```bash pagedrop login http://117.72.193.223:10180 pd_XXXXXXXX_YYYYYYYYYYYYYYYYYYYYYYYYYYYYYYYY pagedrop whoami ``` 或者通过环境变量(适合 CI): ```bash export PAGEDROP_API_URL=http://117.72.193.223:10180 export PAGEDROP_API_KEY=pd_xxx_yyy pagedrop whoami ``` 两者都设置时,环境变量优先。 ## 命令 ### `login ` 验证 token 并把凭据保存到 `~/.pagedrop.json`(`chmod 600`)。可以用 `PAGEDROP_CONFIG=/path` 覆盖保存路径。 ### `whoami` 打印当前用户、鉴权来源(token / session)以及 API URL。 ### `config` 显示已加载的配置(密钥会被脱敏)。 ### `ls` 列出你的文件(id / kind / size / name)。 ### `upload [--share '']` 上传单个 HTML / Markdown / TXT 文件。带 `--share` 并附带 JSON 主体时,会在同一次请求里直接创建分享: ```bash pagedrop upload notes.md --share '{"expiresInDays":7,"password":"hello12"}' ``` 只写 `--share` 不带 JSON 时,创建一个永久、无密码的分享。 ### `share [opts]` 为已有文件创建分享链接。参数: | Flag | 含义 | |---|---| | `--password ` | 4-32 位密码 | | `--slug ` | 自定义 URL 短链(3-32 位,base62 + `-_`) | | `--expires-in ` | 有效期(天数,1-3650) | | `--max-visits ` | 访问次数上限 | | `--one-time` | 首次访问后立即失效 | ```bash pagedrop share cm... --password secret12 --expires-in 1 ``` ### `rm ` 软删除一个文件(移入回收站,同时撤销其分享)。 ## 在 CI 里用 ```yaml # .github/workflows/share.yml - name: Generate report run: npm run report - name: Share report to PageDrop env: PAGEDROP_API_URL: http://117.72.193.223:10180 PAGEDROP_API_KEY: ${{ secrets.PAGEDROP_API_KEY }} run: | npx -y @pagedrop/cli upload ./report.md --share '{"expiresInDays":30}' ``` ## 源码 - npm: - 源码:PageDrop 仓库的 `packages/cli/src/`