欢迎回来
登录你的知识库账户
忘记密码?
还没有账户?立即注册
创建账户
注册你的专属知识库
已有账户?去登录
找回密码
输入注册邮箱获取验证码
返回登录
请输入图片中的验证码以继续注册
加载中...
取消
新建收藏
手动添加你喜欢的内容
取消
编辑头像与昵称
上传新头像或修改你的显示昵称
支持 JPG/PNG,最大 2MB
取消

问题反馈

notebasewww.notebase.cn
控制台
内容库
动态
管理
账户
U
用户
--
在线
v0.8.7 · 知识库
笔记
KnowledgeBase
网络无边,知识有迹。
0笔记
0工具
30推荐

分类导航

按主题直达

编辑精选

站内用户贡献 · 真实笔记

最新收录

每日更新
继续浏览全部内容 →
>
笔记
0
加载中...
工具
0
此页用于记录用户反馈问题后的每一次改进
笔记用法

“写笔记”支持四种格式——Word 文档、Excel 表格、Markdown、纯文本,起稿或二次编辑时都能随时切换,同一篇笔记想用哪种形态来记,都由你说了算。

md、txt、csv、json 这类纯文本则原样载入,不做多余加工。拿一张现成的表倒进来、改几笔、再导出去,等于白用一台免费的格式转换器。

要带走就在右上角点“下载”,可导出 PDF、Word、Markdown、Excel、TXT 等格式;列表卡片“⋯”菜单里,也有同样的下载入口。

工具用法

在“工具”页点“+ 上传工具”即可发布:填好名称与链接,再用 Markdown 把使用方法写清楚——能解决什么问题、怎么装、怎么用,比堆介绍实在。

要分发安装包就一并上传压缩包(ZIP、RAR、7Z、TAR.GZ,最大 35MB),别人在详情页一键下载;只放链接不带附件也可以。

工具按大家的收藏热度排序,好用的自然会被顶上来。发布后可在详情页或卡片菜单里编辑、下架。

隐藏笔记

写笔记时勾上“隐藏”,这篇就只存在于你自己的账号里:不进列表、不进搜索、不上首页精选,也不会出现在任何公开的页面,链接发给别人同样打不开。

适合放密码、草稿、日记这类只给自己看的内容;想公开,去“发布”打开它,把“隐藏”的勾去掉再保存,之后编辑会默认保持原状态,不会悄悄变回公开。

数据安全

你的内容会同时保存在多个副本上,系统定期做备份与完整性校验,再配合异地容灾机制:就算某台机器出问题,数据也不会丢,可以长期放心存放;特别重要的资料,仍建议你另外再留一份备份。

技术

全站跑在容器化、模块化的现代架构上,更新、部署、回滚都很快,扩展性和稳定性都按长期运营的标准来设计(Built for reliability, designed to scale)。

理念

这个网站最早只是一个人的笔记仓库,后来慢慢长成现在的知识中枢。设计上很克制——没有广告、没有追踪、没有推荐算法,只是干干净净地存放一些东西;既然做好了,就公开出来,万一有人用得上呢。

原则

不做大而全,不做平台梦,保持简单、保持克制、保持好奇。所有内容都由用户贡献、由用户维护:不会突然冒出付费墙,不会在角落塞广告位,也不会把你的数据卖给第三方。

更多

产品会持续迭代,站内日志页记录着每一次改动,改了什么都有迹可循;想了解这个站是怎么一步步走到今天的,翻翻日志就能看到来龙去脉。

举报

如果在这里看到涉嫌违规的内容,点对应卡片右侧的“举报”按钮就能提交,我们会尽快核实处理;也谢谢你花一点时间,一起把这里维护干净。

趋势
// 点击导航加载发现
归档
// 归档为空
最近浏览
// 暂无浏览记录
发布
// 加载中...
用户发布
// 加载中...
用户管理
// 加载中...
访问统计
// 加载中...
内容审核
// 加载中...
个人信息
// 加载中...
返回首页

Token-Diet:为AI编码助手节食,省掉31%的令牌费而代码质量不变

2026/7/4编程开发

Token-Diet 是一个始终在线的令牌效率优化脚本,帮助 Claude Code、Codex、Cursor 等编码代理在保持代码正确性的前提下平均节省约 31% 的令牌消耗。


一、痛点:AI 编码助手的“隐形账单”正在吞噬你的预算

如果你深度使用过 Claude Code、Codex、Cursor、Windsurf 或 Cline 这类 AI 编码代理,你一定遇到过这样的困境:

  • 令牌消耗快如流水:一个中等规模的重构任务,可能消耗数万甚至数十万令牌,账单随着对话轮次指数级增长。
  • 上下文窗口被浪费:AI 代理会在系统提示、工具调用历史、代码片段中反复携带大量冗余信息,比如完整的文件路径、无用的注释块、重复的 import 语句。
  • 压缩与质量不可兼得:传统方法要么手动精简提示(费时费力),要么牺牲代码正确性来降低令牌数(得不偿失)。
  • 缺乏全局优化视角:大多数用户只关注单次请求的令牌数,但 AI 编码代理的“始终在线”特性意味着每次工具调用、每次文件读取、每次错误恢复都在消耗令牌,累计效应惊人。

Token-Diet 正是为了解决这个“隐形账单”问题而生的。它不是教你如何写更短的提示,而是通过一个轻量级的 Shell 脚本,在你与 AI 编码代理交互的每一个环节自动削减不必要的令牌开销。


二、安装与使用:两行命令,零配置侵入

Token-Diet 的使用门槛极低,不需要安装 Python 包、不需要修改 IDE 配置、不需要理解复杂的令牌计算逻辑。

安装步骤

bash

克隆仓库

git clone https://github.com/Kulaxyz/token-diet.git

进入目录

cd token-diet

赋予执行权限(如果需要)

chmod +x token-diet.sh

可选:将脚本链接到 PATH 中以便全局调用

ln -s $(pwd)/token-diet.sh /usr/local/bin/token-diet

基本用法

Token-Diet 的核心设计是“作为包装器运行”。你不需要手动调用它,而是让它接管你的编码代理启动流程:

bash

以 Claude Code 为例,直接通过 token-diet 启动

./token-diet.sh claude

或者作为管道过滤器,处理即将发送给 AI 的提示内容

cat prompt.txt | ./token-diet.sh

你也可以直接指定代理类型

./token-diet.sh --agent cursor

代码示例:实际效果对比

假设你有一个典型的编码任务——重构一个 Python 函数:

原始提示(约 1200 令牌):
python

请重构以下函数,使其更高效且可读性更好

注意:这个函数用于处理用户输入的日期字符串,

支持多种格式,包括 YYYY-MM-DD、MM/DD/YYYY、DD-MM-YYYY 等。

当前实现使用了多个 if-else 分支,性能较差。

def parse_date(input_str):
"""
解析用户输入的日期字符串,返回 datetime 对象。

Args:
    input_str (str): 用户输入的日期字符串

Returns:
    datetime.datetime: 解析后的日期对象
    None: 如果输入格式无法识别
"""
import datetime
# 尝试多种格式
if '-' in input_str:
    parts = input_str.split('-')
    if len(parts) == 3:
        # 判断是 YYYY-MM-DD 还是 DD-MM-YYYY
        if len(parts[0]) == 4:
            return datetime.datetime(int(parts[0]), int(parts[1]), int(parts[2]))
        else:
            return datetime.datetime(int(parts[2]), int(parts[1]), int(parts[0]))
elif '/' in input_str:
    parts = input_str.split('/')
    if len(parts) == 3:
        return datetime.datetime(int(parts[2]), int(parts[0]), int(parts[1]))
return None

经过 Token-Diet 处理后的提示(约 780 令牌):
python

重构函数:解析日期字符串,支持多格式,提升效率与可读性

def parse_date(s):
import datetime
if '-' in s:
p = s.split('-')
if len(p)==3:
return datetime.datetime(int(p[0]),int(p[1]),int(p[2])) if len(p[0])==4 else datetime.datetime(int(p[2]),int(p[1]),int(p[0]))
elif '/' in s:
p = s.split('/')
if len(p)==3:
return datetime.datetime(int(p[2]),int(p[0]),int(p[1]))
return None

关键点:Token-Diet 不是简单地删除注释或缩短变量名(虽然这确实有效),它还会:

  1. 移除冗余的文档字符串和注释:保留核心意图说明,删除重复描述。
  2. 压缩变量名:将 input_str 缩短为 s,但不会改变 API 签名中的参数名(如果它会影响外部调用)。
  3. 合并条件分支:将嵌套的 if-else 简化为更紧凑的表达式。
  4. 移除不必要的空白和空行:减少令牌数但不影响语义。

三、核心亮点:为什么它比手动精简更聪明?

1. 始终在线,零感知

Token-Diet 设计为“守护进程式”运行。你不需要每次手动调用,它会在后台持续监控和优化你与 AI 代理之间的通信流。这意味着:

  • 工具调用输出也会被优化:当 AI 代理执行 read_file 或 list_directory 时,返回的内容同样会被压缩。
  • 错误信息精简:AI 代理返回的错误堆栈往往包含大量框架内部路径,Token-Diet 会智能截断。
  • 对话历史压缩:长对话中,早期的系统提示和工具调用记录会被压缩,保留关键语义。

2. 正确性优先的压缩策略

这是 Token-Diet 与普通文本压缩器(如 gzip)或简单提示压缩工具的根本区别。它采用 AST 感知 的压缩策略:

  • 不改变代码逻辑:不会删除 import 语句、不会改变函数签名、不会移除必要的括号。
  • 保留关键标识符:对于公开 API、类名、方法名等可能被外部引用的符号,保持原样。
  • 上下文感知压缩:知道哪些注释是“必要的”(如 TODO、FIXME 标记),哪些是“冗余的”(如自动生成的文档)。

3. 平均 31% 令牌节省,实测数据

项目 README 中提供了基于多个基准测试的统计数据:

场景 原始令牌数 压缩后令牌数 节省比例
代码重构(Python) 2,847 1,936 32%
Bug 修复(JavaScript) 1,542 1,088 29%
功能添加(TypeScript) 4,210 2,819 33%
文档生成 3,100 2,170 30%
单元测试编写 1,980 1,406 29%

注意:节省比例因语言和任务类型而异。对于注释密集的语言(如 Python、Java),节省效果更明显;对于本身就是高度压缩的代码(如 minified JavaScript),效果会略低。

4. 多代理兼容,即插即用

支持当前主流的 AI 编码代理:

  • Claude Code:Anthropic 的官方编码代理,原生支持。
  • Codex:OpenAI 的编码助手。
  • Cursor:基于 VS Code 的 AI 编码 IDE。
  • Windsurf:新兴的 AI 编码工具。
  • Cline:开源的多模型编码代理。

Token-Diet 通过检测环境变量和进程名称自动适配,无需手动配置。


四、适用场景:谁最需要 Token-Diet?

重度 AI 编码用户

如果你每天使用 AI 编码助手超过 2 小时,或者你的团队每月 AI 令牌开销超过 100 美元,Token-Diet 可以在不改变使用习惯的前提下直接降低 30% 以上的成本。

大型代码库重构

当你需要让 AI 处理整个模块或跨文件重构时,上下文窗口很容易被撑爆。Token-Diet 的压缩能力可以让你在同样大小的上下文窗口中塞入更多有效代码。

预算敏感的个人开发者

对于按量付费的 API(如 Claude API、OpenAI API),Token-Diet 直接转化为真金白银的节省。一个典型的个人开发者每月可能节省 20-50 美元。

CI/CD 流水线中的 AI 集成

如果你在自动化流程中集成了 AI 编码代理(如自动代码审查、自动修复 CI 失败),Token-Diet 可以大幅降低每次调用的令牌成本,使得在流水线中频繁使用 AI 变得经济可行。


五、同类项目对比:Token-Diet 的独特定位

特性 Token-Diet Promptify GPTCache 手动精简
侵入性 零侵入,包装器模式 需要修改代码 需要替换 API 端点 高,需要人工参与
自动化程度 始终在线,全自动 半自动,需显式调用 自动缓存 完全手动
正确性保障 AST 感知,不改变逻辑 基于规则,可能误删 N/A(缓存层) 依赖人工判断
节省比例 平均 31% 20-40%(不稳定) 0%(只减少重复调用) 取决于经验
支持代理类型 5+ 主流代理 仅文本提示 通用 API 通用
安装复杂度 git clone + 一步 pip install 需要 Redis N/A

关键区别:

  • Promptify 等工具专注于“提示工程”,即优化你写给 AI 的文本,但它们无法干预 AI 代理内部的工具调用和输出。Token-Diet 的“始终在线”特性覆盖了整个通信链路。
  • GPTCache 通过缓存重复请求来省钱,但对于每个请求都不同的编码任务(如代码生成),缓存命中率极低。Token-Diet 则是在每个请求内部做优化。
  • 手动精简 虽然最灵活,但不可扩展。当你每天处理 50 个编码任务时,手动精简的时间和认知成本会高到不可接受。

六、技术实现浅析(对高级用户)

Token-Diet 的核心逻辑在 token-diet.sh 中实现,它是一个约 300 行的 Shell 脚本。主要技术点:

  1. 进程注入:通过 ptrace 或 LD_PRELOAD 机制(取决于操作系统和代理类型)拦截 AI 代理与 API 之间的通信流。
  2. 令牌计数:内部使用简单的字符级估算(约 4 字符 = 1 令牌),不需要调用昂贵的 tokenizer API。
  3. 模式匹配:针对不同编程语言(Python、JavaScript、TypeScript、Java、Go 等)定义了不同的压缩规则,通过正则表达式和简单的 AST 解析(使用 awk 和 sed)实现。
  4. 白名单机制:允许用户通过 .token-diet-whitelist 文件指定哪些文件或代码段不应该被压缩(例如,包含版权声明的文件头部)。

七、注意事项与局限

  • 非 100% 无损:虽然设计目标是保持正确性,但在极端情况下(如代码中依赖注释作为分隔符、使用动态 eval 且注释中包含关键信息),压缩可能导致问题。建议在关键任务前先在小样本上测试。
  • 仅限文本流:无法压缩二进制文件或图像(如果 AI 代理支持多模态输入)。
  • 语言覆盖:目前对 Python、JavaScript、TypeScript 的支持最好,对其他语言(如 Rust、C++)的压缩效果可能略差。
  • 维护状态:项目目前由个人维护(367 stars),更新频率取决于社区贡献。但核心功能稳定,短期内不需要频繁更新。

八、总结:值得一试的“省钱神器”

Token-Diet 用一种极简的方式解决了 AI 编码代理使用中的真实痛点——令牌成本。它的安装和使用几乎零门槛,平均 31% 的节省比例在当前 AI API 价格下意味着显著的财务收益。更重要的是,它不要求你改变工作流程或学习新的提示技巧,真正做到“设置后忘记”。

对于任何重度使用 AI 编码助手的开发者或团队,Token-Diet 都是一个值得立即尝试的工具。即使你只将其用于 Claude Code 或 Cursor,每月节省的令牌费用也足以覆盖多次咖啡钱,而代码质量完全不受影响。


项目链接:https://github.com/Kulaxyz/token-diet

编写使用方法
Markdown 格式 · Ctrl+Enter 确定
新建笔记
预览
数据表格
点击单元格编辑 · Tab 移动
A1fx
Sheet1
BIH1H2≡🔗</>
隐私提醒

取消
编辑工具
取消