这是什么?
TOON(Token-Oriented Object Notation,面向 Token 的对象表示法)是一种紧凑、易读的 JSON 数据序列化方式,能让数据在 LLM 提示词中占用更少的 token。这个仓库提供了 TypeScript SDK、命令行工具以及性能基准测试。
TOON 是一种文件格式、一个库,还是命令行工具?
三者都是:TOON 定义了文本格式本身,TypeScript SDK 让你在代码里对它进行编码和解码,命令行工具则可以在终端里转换 JSON。
我该怎么开始使用它?
从 npm 安装 @toon-format/toon,在把 JSON 发给模型之前先调用 SDK 对其进行编码,或者用命令行工具在终端里转换 JSON 文件。源代码是一个 pnpm monorepo:先运行 pnpm install,再运行 pnpm build。
除了 Node 之外还需要装别的东西吗?
不需要——SDK 和命令行工具都是纯 TypeScript 写的,没有 Python、Go 或 Rust 组件;只有当你想从源码构建这个 monorepo 时才需要 pnpm。
它一定比 JSON 更省 token 吗?
不保证对每种数据都更省——项目公布了基准测试结果,所以在改动你的提示词之前,最好先用自己的数据实测一下能省多少。
TOON 是人类可读的,还是又一种二进制格式?
它设计上就是纯文本——项目自述为人类可读,所以在发送给模型之前,你可以先看看将要发送的内容到底是什么。
TypeScript 之外的其他语言能用 TOON 吗?
这个仓库提供的是 TypeScript SDK 和命令行工具,但 TOON 本身只是一种文本表示法,任何能输出文本的语言都可以实现它。
这个项目有多火?
非常火——自 2025 年 10 月发布以来,它在 GitHub 上已经收获了超过 25,000 颗星。
What are similar projects?
headroom, protobuf.js, billion-context, liteparse, dsh-plugin-agent-workflow, fast-jev-compaction, caveman, codeburn
Which topics is it in?
tokenization, serialization, token-usage, prompt-engineering, json, sdk, benchmark, npm, terminal, tool, llm, nodejs