perplexityai/perplexity-cli

GitHub: perplexityai/perplexity-cli

Perplexity 官方的命令行工具,通过终端调用 Search API 进行网络搜索和页面内容抓取,输出结构化 JSON 供人类和编程智能体使用。

Stars: 67 | Forks: 7

# pplx 在你的终端中使用 Perplexity 的 Search API。`pplx` 为你提供基于事实的网络搜索结果和整洁的 JSON 格式页面内容,专为人类和编程智能体(coding agents)打造。 ## 安装 ``` curl -fsSL https://github.com/perplexityai/perplexity-cli/releases/latest/download/install.sh | sh ``` 安装程序会为你所在的平台下载二进制文件,验证其 SHA-256 校验和,并将其安装到 `~/.local/bin/pplx`。无需 sudo。设置 `PPLX_INSTALL_PATH` 可将其安装到其他位置。 ### 手动安装 从[最新发布版本](https://github.com/perplexityai/perplexity-cli/releases/latest)下载适合你平台的二进制文件和 `SHA256SUMS`,然后进行验证并安装: ``` grep pplx-aarch64-apple-darwin.bin SHA256SUMS | shasum -a 256 -c - chmod +x pplx-aarch64-apple-darwin.bin mv pplx-aarch64-apple-darwin.bin ~/.local/bin/pplx ``` 在 Linux 上,请使用 `sha256sum -c -` 而不是 `shasum -a 256 -c -`。 ### 支持的平台 | 平台 | 发布资产 (Release asset) | | --------------------- | ----------------------------------- | | macOS (Apple Silicon) | `pplx-aarch64-apple-darwin.bin` | | Linux x86_64 | `pplx-x86_64-linux-gnu.bin` | | Linux arm64 | `pplx-aarch64-linux-gnu.bin` | ## 身份验证 在 [perplexity.ai/account/api](https://www.perplexity.ai/account/api) 获取 API 密钥。然后可以选择将其导出: ``` export PERPLEXITY_API_KEY=pplx-... ``` 或者将其存储一次: ``` pplx auth login ``` 当两者都设置时,`PERPLEXITY_API_KEY` 优先于已存储的密钥。 ## 用法 每个命令都会将 JSON 打印到 stdout,因此结果可以顺畅地通过管道传递给 `jq`,并直接应用到智能体的工具调用中。 ### 网络搜索 ``` pplx search web "rust async runtimes" pplx search web "rust programming" -n 5 pplx search web "query" "related query 1" "related query 2" pplx search web "model releases" --domains wikipedia.org,arxiv.org pplx search web "openai news" --recency-filter week pplx search web "openai news" --published-after-date 3/1/2026 --published-before-date 3/5/2026 ``` 输出格式为 `{ hits: [{ url, title, domain, snippet, ... }], total }`。常用标志(完整列表请参见 `pplx search web --help`): | 标志 | 效果 | | ----------------------------------------------------- | ---------------------------------------------- | | `-n, --limit ` | 结果数量(默认:10) | | `--country ` | 国家代码(默认:US) | | `--domains` / `--excluded-domains` | 逗号分隔的域名过滤器 | | `--recency-filter ` | 相对时间窗口:hour, day, week, month, year | | `--published-after-date` / `--published-before-date` | 发布日期范围 (MM/DD/YYYY) | | `--search-context-size ` | low、medium 或 high | | `--output-dir ` | 同时将完整结果集保存为 JSON 文件 | | `--stdout-preview[=]` | 截断 stdout 中的长字符串字段 | ### 内容抓取 ``` pplx content fetch https://example.com pplx content fetch https://example.com --html pplx content fetch https://example.com --no-cache ``` 返回经过清理的页面内容及元数据:标题、描述、作者、发布日期、域名以及付费墙/缓存标志。`--html` 会在 `raw_html` 字段中添加原始页面源码,而 `--no-cache` 会强制进行实时抓取,而不是查找缓存。 ## 面向编程智能体 一个 [Agent Skill](https://github.com/perplexityai/api-platform-developers) 可以教会编程智能体安装并使用 `pplx` 进行网络搜索和页面抓取。直接将其指向任何智能体即可: ``` Read https://raw.githubusercontent.com/perplexityai/api-platform-developers/main/skills/pplx-cli/SKILL.md, install the skill, and use it for search. ``` 或者将其作为 Claude Code 插件安装:`/plugin marketplace add perplexityai/api-platform-developers`,然后执行 `/plugin install perplexity-platform@api-platform-developers`。 ## 更新 ``` pplx update ``` `pplx update`(v0.2.2+)会为你所在的平台下载最新版本,根据发布清单验证其 SHA-256 校验和,并原子性地替换已安装的二进制文件。`pplx update --check` 会报告是否存在更新的版本,但不会进行任何安装。这两者都不需要 API 密钥。 重新运行单行安装命令同样有效,它会直接替换原有的二进制文件。 ## 环境变量 | 变量 | 用途 | | ----------------------- | ----------------------------------------------------------------- | | `PERPLEXITY_API_KEY` | API 密钥;优先级高于 `pplx auth login` 存储的密钥 | | `PPLX_OUTPUT_DIR` | 保存搜索和抓取结果的默认目录 | | `PPLX_INSTALL_PATH` | `install.sh`:安装目标路径(默认:`~/.local/bin/pplx`) | | `PPLX_INSTALL_BASE_URL` | `install.sh` 和 `pplx update`:发布仓库的基础 URL | ## 版本控制 此仓库中的发布版本使用 semver 进行标记(`vX.Y.Z`)。`pplx --version` 会打印带有时间戳的构建版本,格式为 `YYYY.MM.DD.+`(例如 `2026.07.20.1784555998+174b21c`),用于标识具体的构建版本。每个发布版本的 `manifest.json` 资产会通过记录构建版本和发布标签来将两者关联起来。 ## 卸载 ``` rm ~/.local/bin/pplx ~/.config/pplx/pplx-receipt.json ``` 如果存在,请同时移除存储在 `~/.config/perplexity/credentials.json` (Linux) 或 `~/Library/Application Support/perplexity/credentials.json` (macOS) 中的 API 密钥。
标签:AI搜索, AI智能体, Homebrew安装, JSON, Perplexity API, SOC Prime, 代码注入, 动态分析, 可视化界面, 开发工具, 文档结构分析