Claude Code cli 1h缓存补丁
- 内容介绍
- 文章标签
- 相关推荐
突然发现CC默认不创建1h缓存了,这对我这种不经常看电脑摸鱼的人很不友好,我又不想轮询维持短短5m的缓存,直接展示vibe coding魔力分析Cli.js
function uqz(A) {
// Bedrock 用户:设置环境变量可以开启
if (lA() === "bedrock" && e6(process.env.ENABLE_PROMPT_CACHING_1H_BEDROCK))
return !0;
// 非付费用户或超额用户:直接返回 false
if (!(sA() && !sZ.isUsingOverage))
return !1;
// 从 feature flag 读取 allowlist
let K = xx1();
if (K === null)
K = P8("tengu_prompt_cache_1h_config", {}).allowlist ?? [], ux1(K);
// querySource 必须在 allowlist 中
return A !== undefined && K.some(
(Y) => Y.endsWith("*")
? A.startsWith(Y.slice(0, -1))
: A === Y
)
}
也就是Bedrock且设置了1h环境变量或者付费账号且来源在白名单里缓存时长才是1h,简单vibe了个补丁供佬友使用
claude-1h-cache-patch.zip (4.3 KB)
食用方法node claude-1h-cache-patch.js
也可以用用这位佬友改的啊
这个补丁只适用于首次通过npm全局安装,且后来并没有过自动更新的情况,我把补丁升级了一下,支持npm和native binary(更新后的本地二进制),打完补丁后自动重新签名,可以开启自动监听,当claude code版本更新后,自动重新打补丁(前提是更新后的claude code源码里的锚点字符串 tengu_prompt_cache_1h_config 和 cX5(H)函数名不变),支持Lin…
打完补丁效果如下,我的1h缓存回来啦!
--【壹】--:
Bedrock啊, 怎麼這麼有米
--【贰】--:
都可以,强制解锁1h
--【叁】--:
官key?也许是加入了白名单之类的
之前翻代码发现是要白名单才有可能1h
是否印证了猜想呢
--【肆】--:
any测试没用
image309×756 20.5 KB
--【伍】--:
中转使用记录都有吧我这个是sub2api
--【陆】--:
每次新对话都要这样运行下吗?
--【柒】--:
不需要啊,补丁之后不更新版本就不用再打
--【捌】--:
例如什么渠道?
我这里是能发出去,但降级成了5m(指Any)
--【玖】--:
我any被封了测不了啊,但是我这里的渠道测了都可以1h缓存创建
--【拾】--:
因为我官Key是中转的啊
--【拾壹】--:
但我之前尝试过,例如any实际上强开也无法获取1h
--【拾贰】--:
这是哪里看的呀
--【拾叁】--:
你可以别的渠道试试,我这里官key,反代都可以啊
--【拾肆】--:
这缓存是官方服务器端缓存?是从什么时候开始改成5m的啊
--【拾伍】--:
没有哦,我不打补丁默认5m的
--【拾陆】--:
理论上来说,只要支持就有啊
--【拾柒】--:
没有啊,我可没米
--【拾捌】--:
从Search 那些tools开始要whitelist的Claude code cli版本之后吧,反正就最近这段时间
--【拾玖】--:
这是第三方API还是官方订阅?
突然发现CC默认不创建1h缓存了,这对我这种不经常看电脑摸鱼的人很不友好,我又不想轮询维持短短5m的缓存,直接展示vibe coding魔力分析Cli.js
function uqz(A) {
// Bedrock 用户:设置环境变量可以开启
if (lA() === "bedrock" && e6(process.env.ENABLE_PROMPT_CACHING_1H_BEDROCK))
return !0;
// 非付费用户或超额用户:直接返回 false
if (!(sA() && !sZ.isUsingOverage))
return !1;
// 从 feature flag 读取 allowlist
let K = xx1();
if (K === null)
K = P8("tengu_prompt_cache_1h_config", {}).allowlist ?? [], ux1(K);
// querySource 必须在 allowlist 中
return A !== undefined && K.some(
(Y) => Y.endsWith("*")
? A.startsWith(Y.slice(0, -1))
: A === Y
)
}
也就是Bedrock且设置了1h环境变量或者付费账号且来源在白名单里缓存时长才是1h,简单vibe了个补丁供佬友使用
claude-1h-cache-patch.zip (4.3 KB)
食用方法node claude-1h-cache-patch.js
也可以用用这位佬友改的啊
这个补丁只适用于首次通过npm全局安装,且后来并没有过自动更新的情况,我把补丁升级了一下,支持npm和native binary(更新后的本地二进制),打完补丁后自动重新签名,可以开启自动监听,当claude code版本更新后,自动重新打补丁(前提是更新后的claude code源码里的锚点字符串 tengu_prompt_cache_1h_config 和 cX5(H)函数名不变),支持Lin…
打完补丁效果如下,我的1h缓存回来啦!
--【壹】--:
Bedrock啊, 怎麼這麼有米
--【贰】--:
都可以,强制解锁1h
--【叁】--:
官key?也许是加入了白名单之类的
之前翻代码发现是要白名单才有可能1h
是否印证了猜想呢
--【肆】--:
any测试没用
image309×756 20.5 KB
--【伍】--:
中转使用记录都有吧我这个是sub2api
--【陆】--:
每次新对话都要这样运行下吗?
--【柒】--:
不需要啊,补丁之后不更新版本就不用再打
--【捌】--:
例如什么渠道?
我这里是能发出去,但降级成了5m(指Any)
--【玖】--:
我any被封了测不了啊,但是我这里的渠道测了都可以1h缓存创建
--【拾】--:
因为我官Key是中转的啊
--【拾壹】--:
但我之前尝试过,例如any实际上强开也无法获取1h
--【拾贰】--:
这是哪里看的呀
--【拾叁】--:
你可以别的渠道试试,我这里官key,反代都可以啊
--【拾肆】--:
这缓存是官方服务器端缓存?是从什么时候开始改成5m的啊
--【拾伍】--:
没有哦,我不打补丁默认5m的
--【拾陆】--:
理论上来说,只要支持就有啊
--【拾柒】--:
没有啊,我可没米
--【拾捌】--:
从Search 那些tools开始要whitelist的Claude code cli版本之后吧,反正就最近这段时间
--【拾玖】--:
这是第三方API还是官方订阅?

