{"id":45768,"library":"pi-cache-optimizer","title":"Pi Cache Optimizer","description":"A Pi extension that improves KV cache and prompt cache hit rates for AI providers like DeepSeek, OpenAI, Claude, and Gemini. v2.5.6 (stable) maintained by jiangge. Key features: reorders prompts to put stable content first, compresses Pi skill lists, injects prompt_cache_key fallback for OpenAI-compatible requests, warns about proxy cache/compat issues, and displays session-scoped cache stats in the footer. Renamed from pi-deepseek-cache-optimizer for broader provider support. Uses peer dependency on @earendil-works/pi-coding-agent. Does not modify models.json. Opt-out via environment variables for prompt rewriting, skill compression, or OpenAI cache key fallback.","status":"active","version":"2.5.6","language":"javascript","source_language":"en","source_url":"https://github.com/jiangge/pi-cache-optimizer","tags":["javascript","pi-package","deepseek","openai","claude","gemini","cache","kv-cache","prompt-cache"],"install":[{"cmd":"npm install pi-cache-optimizer","lang":"bash","label":"npm"},{"cmd":"yarn add pi-cache-optimizer","lang":"bash","label":"yarn"},{"cmd":"pnpm add pi-cache-optimizer","lang":"bash","label":"pnpm"}],"dependencies":[{"reason":"Runtime code dependency (peer dep) - provides Pi agent hooks and model management","package":"@earendil-works/pi-coding-agent","optional":false}],"imports":[{"note":"This is a Pi extension, not an npm package. Install via pi command.","wrong":"npm install pi-cache-optimizer","symbol":"pi-cache-optimizer","correct":"pi install npm:pi-cache-optimizer"},{"note":"The command is space-sensitive. Use slash commands in Pi chat.","wrong":"/cache-optimizer help","symbol":"/cache-optimizer","correct":"/cache-optimizer"},{"note":"Environment variable; unset to enable prompt rewriting. Use numeric 1, not boolean.","wrong":"set PI_CACHE_OPTIMIZER_NO_PROMPT_REWRITE=true","symbol":"PI_CACHE_OPTIMIZER_NO_PROMPT_REWRITE","correct":"export PI_CACHE_OPTIMIZER_NO_PROMPT_REWRITE=1"}],"quickstart":{"code":"# Install the extension in Pi\npi install npm:pi-cache-optimizer\n\n# After install, run /reload in Pi\n\n# Enable cache optimization\n/cache-optimizer enable\n\n# Check status and compatibility\n/cache-optimizer doctor\n\n# To disable temporarily\n/cache-optimizer disable\n\n# Persistent opt-out for prompt rewriting (in Pi config/env)\nexport PI_CACHE_OPTIMIZER_NO_PROMPT_REWRITE=1\n\n# To uninstall\npi remove npm:pi-cache-optimizer","lang":"javascript","description":"Shows basic installation, enable/disable commands, and persistent opt-out via environment variable."},"warnings":[{"fix":"pi remove npm:pi-deepseek-cache-optimizer && pi install npm:pi-cache-optimizer","message":"Renamed from pi-deepseek-cache-optimizer. Uninstall old package first.","severity":"breaking","affected_versions":"<2.0"},{"fix":"Ensure Pi is up-to-date and the peer dep is satisfied.","message":"Requires @earendil-works/pi-coding-agent peer dependency to be installed.","severity":"breaking","affected_versions":"all"},{"fix":"Use PI_CACHE_OPTIMIZER_NO_OPENAI_CACHE_KEY=1 instead","message":"PI_CACHE_OPTIMIZER_OPENAI_CACHE_KEY=0 is deprecated; use PI_CACHE_OPTIMIZER_NO_OPENAI_CACHE_KEY=1","severity":"deprecated","affected_versions":">=1.0"},{"fix":"Use environment variables for persistent opt-out.","message":"enable/disable are per-process; restart Pi or run /reload resets to startup behavior.","severity":"gotcha","affected_versions":"all"},{"fix":"Interpret stats as indicators only, not ground truth.","message":"Cache statistics are local and session-scoped; do not reflect provider-side cache behavior.","severity":"gotcha","affected_versions":"all"},{"fix":"Check /cache-optimizer compat output and remove unsupported settings.","message":"Third-party proxies may ignore compatibility headers, causing 400 errors.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"search_vec":"'/pi-coding-agent':86 'ai':17 'broader':76 'cach':2,10,13,45,63,73,104,115,118,121 'cache/compat':56 'claud':22,113 'compat':51 'compress':39,101 'content':37 'deepseek':20,72,111 'depend':81 'display':59 'earendil':84 'earendil-work':83 'environ':95 'extens':6 'fallback':47,106 'featur':31 'first':38 'footer':67 'gemini':24,114 'hit':14 'improv':8 'inject':43 'issu':57 'javascript':107 'jiangg':29 'key':30,46,105 'kv':9,117 'kv-cach':116 'like':19 'list':42 'maintain':27 'models.json':90 'modifi':89 'openai':21,50,103,112 'openai-compat':49 'opt':92 'opt-out':91 'optim':3,74 'packag':110 'peer':80 'pi':1,5,40,71,109 'pi-deepseek-cache-optim':70 'pi-packag':108 'prompt':12,33,44,98,120 'prompt-cach':119 'provid':18,77 'proxi':55 'put':35 'rate':15 'renam':68 'reorder':32 'request':52 'rewrit':99 'scope':62 'session':61 'session-scop':60 'skill':41,100 'stabl':26,36 'stat':64 'support':78 'use':79 'v2.5.6':25 'variabl':96 'via':94 'warn':53 'work':85","created_at":"2026-06-07T12:56:37.969124+00:00","updated_at":"2026-06-07T12:56:37.969124+00:00","problems":[{"fix":"pi install npm:pi-cache-optimizer","cause":"Package renamed; old name no longer exists.","error":"pi: error: package not found: pi-deepseek-cache-optimizer"},{"fix":"Remove compatible.longCacheRetention from models.json, or don't set supportsLongCacheRetention.","cause":"Proxy does not support long cache retention.","error":"Error: Unsupported parameter: prompt_cache_retention"},{"fix":"Restore ~/.pi/agent/models.json or re-run Pi setup.","cause":"Missing or corrupted models.json.","error":"TypeError: Cannot read properties of undefined (reading 'models')"}],"ecosystem":"npm","meta_description":null,"install_score":null,"quickstart_score":null,"quickstart_tag":null,"pypi_latest":null,"cli_name":null,"cli_version":null,"type":"library","homepage":"https://github.com/jiangge/pi-cache-optimizer#readme","github":"https://github.com/jiangge/pi-cache-optimizer","docs":null,"changelog":null,"pypi":null,"npm":"pi-cache-optimizer","openapi_spec":null,"status_page":null,"smithery":null,"categories":["ai-ml","devops"],"base_url":null,"auth_type":null,"provenance":{"verified_status":null,"verified_at":null,"last_verified":"2026-06-07","next_check":"2026-09-05","install_tag":null}}