介绍
# Instapaper CLI
## 概述
使用此技能通过 `ip` CLI(必须安装且在 `PATH` 中可用)处理 Instapaper 操作,尤其是在需要可靠的自动化、结构化输出或故障排除指导时。
## 安装 CLI
- Go install: `go install github.com/vburojevic/instapaper-cli/cmd/ip@latest` - Homebrew: `brew tap vburojevic/tap && brew install instapaper-cli` - From source: `go build ./cmd/ip` (run as `./ip`)
## 工作流(快速路径)
1. 验证设置 - 确保设置了 `INSTAPAPER_CONSUMER_KEY` 和 `INSTAPAPER_CONSUMER_SECRET`,或在登录时传递它们。 - 首选 `--password-stdin` 进行身份验证;切勿存储密码。 - 在长时间运行任务前,运行 `ip doctor --json`(或 `ip auth status`)。
2. 为自动化选择输出格式 - 默认为 `--ndjson`(流式传输,每行一个对象)。 - 对单个对象或紧凑数组使用 `--json`。 - 对稳定、面向行的文本使用 `--plain`。 - 添加 `--stderr-json` 以获取结构化错误,添加 `--progress-json` 用于长时间运行。
3. 确定性读取数据 - 使用 `list` 或 `export` 并配合 `--cursor`/`--cursor-dir` 或 `--since/--until` 边界。 - 使用 `--updated-since` 进行增量同步。 - 当 API 不支持客户端过滤时,使用 `--select`。
4. 安全变更 - 尽可能使用 `--dry-run` 或 `--idempotent`。 - 对于批量操作,使用 `--ids` 或 `--stdin` 并考虑 `--batch`。 - 删除操作需要显式的确认标志。
5. 处理额外功能 - 文本视图:`ip text` 用于获取文章 HTML。 - 高亮:`ip highlights list/add/delete`。 - 文件夹:`ip folders list/add/delete/order`。
6. 故障排除 - 使用 `--debug` 查看请求计时和状态。 - 使用 `--stderr-json` 并将 `exit_code` 映射到相应操作。
## 命令参考
当您需要确切的标志、格式或示例时,请阅读以下内容:
- `references/commands.md`:按命令列出的示例,涵盖身份验证、列表/导出/导入、变更、文件夹、高亮和文本。 - `references/output-and-sync.md`:输出格式、进度流、cursor/边界语法和过滤。 - `references/errors.md`:退出代码和结构化 stderr 错误代码。
## 防护措施
- 避免使用 `--format table` 进行解析;它仅供人类阅读。 - 使用 `--output` 或 `--output-dir` 进行大型导出,以避免 stdout 压力。 - 在 Windows 上首选 `--password-stdin` 以避免回显密码。