CodeGraph是项目代码本地知识图谱工具,减少代码大模型tokes,rtk是shell层终端输出压缩,最终也是减少大模型tokens。
一、Github 官方仓库地址
1. CodeGraph(代码知识图谱工具)
仓库:https://github.com/colbymchenry/codegraph开发语言:TypeScript(前端/CLI),底层Tree-Sitter解析代码AST
2. RTK - Rust Token Killer(终端输出压缩工具)
仓库:https://github.com/rtk-ai/rtk开发语言:纯Rust,单二进制无依赖
二、核心定位本质区别(最关键)
| 核心作用 | 给AI代码代理预构建代码语义图谱,替代AI反复读取文件、遍历目录,从源头减少文件读取类Token消耗 | 拦截终端Shell命令输出(git、ls、cargo、test日志等),过滤冗余日志、进度条、重复文本,压缩命令返回内容的Token |
| 优化对象 | 代码库源码、函数/类/调用关系(文件读取、代码检索场景) | 终端命令打印输出(命令执行、日志输出场景) |
| 工作原理 | 本地预索引整个项目AST,提取符号、调用链、依赖;AI通过MCP协议直接查询结构化索引,不用读取完整源码文件 | 作为Shell代理,AI执行bash命令时自动包装rtk xxx,对每个命令做专属规则压缩,输出精简摘要给LLM |
| Token节省逻辑 | 减少文件IO读取次数:AI不用反复cat、ls、grep扫描文件,直接查图谱,降低工具调用次数(官方减少71%工具调用) | 减少命令输出文本长度:原始几百行日志压缩为几十字摘要,单命令最高省90%+Token |
| 适用场景 | 大型代码仓库、Cursor/Claude Code深度编码、需要代码跳转/依赖分析/死代码检测 | 高频执行终端命令、跑测试、git操作、容器/云命令、日志排查 |
| 依赖/协议 | 基于MCP(Model Context Protocol),Tree-Sitter多语言解析,SQLite本地索引 | 纯Rust单文件二进制,零外部依赖,Claude Code内置Hook自动接入 |
| 语言支持 | TS/JS/Rust/Python/Go/C++等全主流开发语言 | 不限编程语言,只处理Shell命令输出(git、cargo、npm、docker、gh、pytest等30+命令) |
三、功能细节对比
CodeGraph 核心能力
预构建代码知识图谱:函数、类、结构体、接口、变量、函数调用关系、导入依赖
MCP服务:AI代理直接调用图谱查询,精准定位符号、查找引用、分析变更影响范围
实时索引同步:监控文件改动自动更新图谱,不用重新全量扫描
优势:AI不用反复读取大量源码文件,从根源降低代码读取产生的Token,同时提升AI代码理解精度
短板:对终端命令日志无优化,执行git status、cargo test产生的冗余日志无法处理
RTK(Rust Token Killer) 核心能力
透明代理拦截所有Shell命令输出,命令专属压缩规则
过滤冗余:进度条、重复日志、空白行、无关警告、超长目录列表
结构化精简:git diff/stat只输出变更摘要、测试日志只保留报错堆栈、ls/tree压缩目录树
Token统计:rtk gain查看全局节省Token总量、分命令统计
优势:完全不处理源码文件读取,只优化命令输出,极致轻量、启动延迟<10ms
短板:无法理解代码语义,不能替代文件读取、符号检索的工作,代码库庞大时依然会产生大量文件读取Token
四、两者是否可以一起使用?
完全兼容,推荐组合使用:
CodeGraph:解决「AI读源码、查符号」产生的大量Token开销;
RTK:解决「AI执行终端命令、打印日志」产生的大量Token开销;两者优化的是AI编码流程中完全独立的两个环节,叠加使用可实现整体Token消耗大幅下降。
五、一句话总结区分
CodeGraph:代码库静态语义索引工具,省「读取源码文件」的Token;
RTK(Rust Token Killer):终端命令输出压缩代理,省「Shell命令打印日志」的Token。
网友回复
CodeGraph与RTK(Rust Token Killer)有啥区别?
python如何将svg图标转换成png图片?
windows如何设置让多个人同时远程桌面连接同一台电脑同时可操作不被踢出?
什么是WebRCD技术?
如何在centos的服务器docker上安装运行微信qq?
如何用ai图片模型祛除图片油腻感?
google的gemini-omni多模态大模型在哪可以免费体验?
google的Antigravity 、Antigravity CLI、Antigravity IDE、Antigravity SDK有啥区别不同?
Pyaudio如何录制windows扬声器输出的声音?
为啥win10电脑上sounddevice与pyaudio无法播放声音?


