用途:为 Perplexity Sonar API 建立快速、低成本的本地开发流程。由于每次真实 API 调用都会执行网络搜索并产生费用,因此该技能强调用 mock 与缓存来支撑日常开发。
主要能力:提供类型安全的客户端封装(基于 OpenAI 客户端,baseURL 指向 https://api.perplexity.ai),支持 sonar、sonar-pro、sonar-reasoning-pro、sonar-deep-research 模型,并扩展 citations、search_results、related_questions 等响应字段;支持 systemPrompt、maxTokens、searchRecencyFilter、searchDomainFilter 等参数。
使用方式:先完成 perplexity-install-auth 配置,需 Node.js 18+ 与 npm/pnpm,测试使用 vitest。按项目结构组织 src/perplexity 与 tests/fixtures;用 capture-fixture 脚本把真实响应保存为 JSON fixture;在 tests/setup.ts 中用 vi.fn().mockResolvedValue(fixture) 构造 mock 客户端;测试中注入 mock,并用 it.skipIf(!process.env.PERPLEXITY_API_KEY) 控制真实 API 集成测试。开发脚本包括 dev(tsx watch)、test(vitest)、test:watch、test:live、capture-fixtures。
适用场景:本地开发、离线测试、CI 中有限度地运行真实调用。
限制:资料未提供具体价格、性能数据或平台兼容性细节;fixture 缺失、mock 未注入、响应格式变化或循环中调用真实 API 会导致报错或成本升高,需重新捕获 fixture 或改用 mock。