Claude Code 神器,CCometixLine 状态栏插件,节省 token 又酷炫
- 工具收集
- 5小时前
- 9热度
- 0评论
自从claude官方推出了1M长上下文的模型之后,就经常收到用户的抱怨:
为什么感觉使用起来变贵了?
那当然会变贵了,因为上下文是累积计费的。比如你当前上下文使用了 100K,继续对话,上下文长度就会从 100K 的基础上继续增长。在之后的请求中,之前积累的上下文依然会进行计费,那当然上下文越长,价格就越贵了。

根据claude官方的计费逻辑,命中缓存的部分价格是很便宜的,只有input token 的十分之一,而创建缓存的价格是 input token的 1.25 倍。
所以下面这条记录由于创建了缓存,即便它的上下文更短,但是价格也明显更贵。

那什么情况下会创建缓存呢?
有点后端开发基础的同学都知道,当服务器里没有对应的数据时会创建缓存。
一般会对应两种情况:
第一种是切换账号。服务端的缓存是和账号绑定的,因为不同的账号可能对应不同的服务器,比如美区的账号可能服务器在美国,而亚太的账号或许在新加坡和日本。那么显然,不同的账号之间缓存是不通的,claude不可能把同一份缓存全球存储,这样的代价太大了。所以假设号池里某个账号因为某种原因陷入不可用状态时,系统就会切换账号,此时响应的请求就没办法命中缓存了。
这种情况是无法避免的,只要涉及多个账号,就必然会出现。能做的只有尽量保证账号可用性,以及做好粘性会话。也就是说保证同一个用户的请求能够精准打到同一个账号。
第二种是缓存失效,缓存是有有效期的,一段时间之后会失效。因此假设你的请求之间跨度时间过长,也会导致无法命中缓存。因为算力的问题,claude官方的缓存有效期从一个小时降低到了五分钟。假设某个人五分钟之前发出了某个指令,然后中途上了个厕所回来,再请求,可能就无法命中缓存了。
由此我们可以得出结论:如果想要减少我们使用claude的开销,大致有两个办法:优化缓存和减少上下文长度。
缓存的部分主要依赖平台,用户层面主要能做的就是保证使用claude的时间不要过于碎片化,最好把任务拆分,每次做一个单独的任务,做完了再中断。我有时候一边看剧一边使用,经常claude已经跑完很久了才发现,于是就总命不中缓存,导致开销很大。
相对来说缓存这块主要依赖平台,用户能做的有限。大头还是上下文长度这一边。很多人没有上下文控制的意识,上下文长度都已经好几百 K 了,然后完整的任务也做完了,也不clear,就直接开启新的任务。那之前的上下文都会记入费用,自然就会很贵了……
就会出现一个请求好几刀的惨剧……

然而官方的claude code cli本身是不显示的,这里给大家推荐一个好用的claude code插件,能额外显示很多内容。比如当前目录、git分支当前上下文长度等信息,而且界面非常酷炫。

安装的过程也非常简单,使用npm或者pnpm一键安装:
# Install globally
npm install -g @cometix/ccline
# Or using yarn
yarn global add @cometix/ccline
# Or using pnpm
pnpm add -g @cometix/ccline
安装完成之后,打开~/.claude/settings.json配置文件,就能看到多了一些配置,说明安装好了,打开就能用了。

这样我们在使用的过程中,就可以非常方便地查看当前的上下文使用情况了。根据我个人的经验,一般情况下一个完整的任务上下文通常不会超过 300K。
一个完整的任务完成,可以直接/clear命令清除重新开始,如果担心损失一些重要信息,也可以使用/compact手动压缩上下文。这样既可以保留上下文信息,又可以节省 token。

Github开源:https://github.com/Haleclipse/CCometixLine
转自:https://mp.weixin.qq.com/s/gDEhgoMPJ10CQRICGoFTZA