用途:将 TanStack Query 引入项目,或把现有请求状态重构为共享的 query/mutation 层。适合需要安装/初始化 TanStack Query(React Query)的项目、存在重复 useEffect + useState + fetch/invoke 请求代码的项目、希望所有网络读取共享缓存、重取、失效与加载/错误行为的场景,以及用 invoke() 读取、应视为服务器状态的 Tauri 应用。
主要能力与用法:先读取本地规则与项目结构,检查 AGENTS.md,并用 rg 搜索 @tanstack/react-query、react-query、@reduxjs/toolkit、createApi、useQuery、useMutation、fetch(、invoke( 等,遵守项目约束。然后将请求代码分为三类:服务器状态读取用 useQuery;服务器状态写入用 useMutation;命令式副作用(终端 I/O、打开文件、剪贴板、重启应用、安装进度事件、流式通道)通常不用 Query。仅在缺失时安装:pnpm add @tanstack/react-query、npm install @tanstack/react-query、yarn add @tanstack/react-query 或 bun add @tanstack/react-query。持久化或 devtools 只在项目已使用或用户明确要求时添加。在应用根部添加一个 QueryClientProvider,并设置合理的默认选项。可创建共享基础设施,如封装 Tauri invoke 的 useInvokeQuery/useInvokeMutation 与稳定 queryKeys;REST 应用可包装现有 API 客户端。增量重构重复且用户可见的请求,写入后用 invalidateQueries 失效缓存,乐观切换可用 setQueryData。
适用场景:前端或 Tauri 项目的服务器状态治理与请求代码收敛。
限制:不要强行把命令式副作用塞进 Query;保持本地 UI 状态(对话框开关、表单草稿、选中标签、过滤器)在本地;不要破坏已有流式订阅;验证只用仓库允许的最轻量检查,如 pnpm exec tsc --noEmit --pretty false 或 typecheck 脚本,若本地规则禁止则不要运行重型构建或开发服务器。具体价格、平台支持与效果数据暂未提供。