Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
73 changes: 73 additions & 0 deletions .github/ISSUE_TEMPLATE/add-project.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,73 @@
name: Add a project
description: Suggest a tool for the awesome list
title: "Add [Project Name]"
labels: ["addition"]
body:
- type: markdown
attributes:
value: |
Thanks for helping curate Awesome Token Mining! Please read [CONTRIBUTING.md](../CONTRIBUTING.md) before submitting.

- type: input
id: project-name
attributes:
label: Project name
placeholder: e.g. LMCache
validations:
required: true

- type: input
id: project-url
attributes:
label: Canonical URL
description: GitHub repo or official docs
placeholder: https://github.com/org/repo
validations:
required: true

- type: dropdown
id: category
attributes:
label: Suggested category
options:
- Self-Hosting
- vLLM & High-Throughput Inference
- Quantization
- KV Cache & Speculative Decoding
- Token Compression
- Semantic & Response Caching
- Gateways & Model Routing
- Observability & Cost Tracking
- Context & Prompt Optimization
- New category (describe below)
validations:
required: true

- type: textarea
id: description
attributes:
label: One-line description
description: What it does and how it saves tokens or money
placeholder: "[Project] - Does X, saving Y% on Z workloads."
validations:
required: true

- type: textarea
id: cost-angle
attributes:
label: Cost-saving angle
description: How does this concretely reduce token spend, inference cost, or API bills?
validations:
required: true

- type: checkboxes
id: checklist
attributes:
label: Checklist
options:
- label: The project is open source or has a meaningful free tier
required: true
- label: The project has had commits in the last 12 months
required: true
- label: I searched the README and this is not a duplicate
required: true
17 changes: 17 additions & 0 deletions .github/pull_request_template.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,17 @@
## Summary

<!-- What project(s) are you adding or updating, and why do they belong here? -->

## Checklist

- [ ] Link works and points to the canonical source
- [ ] Entry is in alphabetical order within its section
- [ ] Description is one line and explains the cost-saving value
- [ ] No duplicate entries (searched the README)
- [ ] Read [CONTRIBUTING.md](../CONTRIBUTING.md)

## Entry preview

```markdown
<!-- Paste the exact line you're adding -->
```
28 changes: 28 additions & 0 deletions .github/workflows/link-check.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,28 @@
name: Link Check

on:
push:
branches: [main]
pull_request:
branches: [main]
schedule:
# Weekly on Mondays at 06:00 UTC
- cron: "0 6 * * 1"
workflow_dispatch:

permissions:
contents: read

jobs:
lychee:
name: Check links
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4

- name: Run lychee
uses: lycheeverse/lychee-action@v2
with:
args: --verbose --no-progress README.md CONTRIBUTING.md CHANGELOG.md
fail: true
18 changes: 18 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,18 @@
# Changelog

All notable updates to this list are documented here.

## 2026-07-07

### Added

- **KV Cache & Speculative Decoding:** [LMCache](https://github.com/LMCache/LMCache), [Mooncake](https://github.com/kvcache-ai/Mooncake)
- **Semantic & Response Caching:** [FerroCache](https://github.com/nickleodoen/ferrocache), [semcache](https://github.com/sensoris/semcache)
- **Gateways & Model Routing:** [Bifrost](https://github.com/maximhq/bifrost), [UncommonRoute](https://github.com/CommonstackAI/UncommonRoute)

### Maintenance

- Fixed broken links for ModelCache, RedisVL, Martian, and Narev
- Removed TokenForge (repository no longer available)
- Added weekly link-check GitHub Action
- Added issue and pull request templates for community contributions
2 changes: 1 addition & 1 deletion CONTRIBUTING.md
Original file line number Diff line number Diff line change
Expand Up @@ -33,7 +33,7 @@ Add projects that help people:
```

4. Keep descriptions factual. Cite measurable claims when you can (e.g. "up to 20× compression" from the project's own benchmarks).
5. Open a PR with a clear title like `Add LiteLLM to Gateways section`.
5. Open a PR with a clear title like `Add LiteLLM to Gateways section`, or file an [issue using the add-project template](.github/ISSUE_TEMPLATE/add-project.yml).

## Pull request checklist

Expand Down
19 changes: 12 additions & 7 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -15,7 +15,7 @@
<a href="https://awesome.re"><img src="https://awesome.re/badge.svg" alt="Awesome"></a>
<img src="https://img.shields.io/github/stars/narevai/awesome-tokenminning?style=flat-square&color=111111&label=stars" alt="Stars">
<img src="https://img.shields.io/badge/categories-10-111111?style=flat-square" alt="10 categories">
<img src="https://img.shields.io/badge/tools-50%2B-111111?style=flat-square" alt="50+ tools">
<img src="https://img.shields.io/badge/tools-55%2B-111111?style=flat-square" alt="55+ tools">
<img src="https://img.shields.io/badge/license-CC0-111111?style=flat-square" alt="CC0 license">
</p>

Expand Down Expand Up @@ -68,6 +68,8 @@ Attack the two biggest inference bottlenecks: KV cache memory on long contexts,

- [EAGLE](https://github.com/SafeAILab/EAGLE) - Speculative decoding via feature extrapolation. A small draft head proposes multiple tokens; the main model verifies in parallel for ~2–3× faster generation with provably identical output distribution.
- [kvpress](https://github.com/NVIDIA/kvpress) - NVIDIA's unified library of KV cache compression methods (SnapKV, H2O, Finch, and more). Drop-in Hugging Face pipeline for long-context workloads where cache size dominates memory.
- [LMCache](https://github.com/LMCache/LMCache) - Distributed KV cache layer for vLLM and SGLang. Shares prefix KV across instances and tiers so repeated long contexts skip full prefill — lower TTFT and more throughput per GPU.
- [Mooncake](https://github.com/kvcache-ai/Mooncake) - KVCache-centric disaggregated serving platform (powers Kimi). Pools and transfers KV across prefill/decode nodes via RDMA — up to 75% more requests at the same SLO on production workloads.
- [Medusa](https://github.com/FasterDecoding/Medusa) - Adds lightweight prediction heads to a frozen base model to speculate multiple tokens per step. No separate draft model required.
- [SnapKV](https://github.com/FasterDecoding/SnapKV) - Fine-tuning-free KV cache compression. Observes attention patterns in a prompt window, keeps only clustered important positions per head — up to 8× memory savings on 16K+ contexts.

Expand All @@ -82,31 +84,34 @@ Shrink prompts and outputs before they hit the bill. These tools target the toke
- [LongLLMLingua](https://github.com/microsoft/LLMLingua) - Long-context variant that mitigates "lost in the middle" while compressing RAG prompts to a fraction of their size.
- [LLMLingua-2](https://github.com/microsoft/LLMLingua) - Faster, task-agnostic prompt compression using a distilled model for near-real-time use.
- [Ponytail](https://github.com/DietrichGebert/ponytail) - Agent skill that stops over-engineering via a YAGNI ladder: stdlib, native platform, and one-liners before custom code. Agentic benchmark: ~54% less code, ~22% fewer tokens, ~20% lower cost on real Claude Code sessions.
- [TokenForge](https://github.com/Manavarya09/tokenforge) - Full-stack Rust optimizer for code, CLI output, conversation history, JSON, and MCP schemas. AST-aware folding with lossless SQLite-backed reversibility.
- [Tokenless](https://github.com/TokenFleet-AI/tokenless) - Rust toolkit for schema compression, differential responses, TOON encoding, and command-output rewriting. Targets 60–90% savings on agent tool-call loops.

## Semantic & Response Caching

Skip the LLM entirely when a similar question was already answered, or reuse provider-side prefix caches.

- [FerroCache](https://github.com/nickleodoen/ferrocache) - Standalone Rust semantic cache service with fleet-wide sharing, MCP support, and drop-in OpenAI/Anthropic SDK wrappers. Survives app restarts — skip redundant LLM calls across your whole stack.
- [GPTCache](https://github.com/zilliztech/GPTCache) - Semantic cache for LLM apps. Vector similarity matching returns cached responses for equivalent queries — up to 10× cost reduction on hit.
- [LiteLLM](https://github.com/BerriAI/litellm) - Universal LLM gateway with in-memory, Redis, S3, and semantic caching backends. One integration for caching across providers.
- [RedisVL](https://github.com/redis/redis-vl) - Redis vector library for building semantic caches with sub-millisecond lookups at scale.
- [ModelCache](https://github.com/shibing624/ModelCache) - Multi-level semantic cache with embedding similarity and TTL management for production LLM apps.
- [ModelCache](https://github.com/codefuse-ai/ModelCache) - Multi-level semantic cache with embedding similarity and TTL management for production LLM apps.
- [OpenAI Prompt Caching Cookbook](https://github.com/openai/openai-cookbook/blob/main/examples/Prompt_Caching_201.ipynb) - Practical guide to structuring prompts for up to 90% off cached input tokens on OpenAI models.
- [RedisVL](https://github.com/redis/redis-vl-python) - Redis vector library for building semantic caches with sub-millisecond lookups at scale.
- [semcache](https://github.com/sensoris/semcache) - Rust HTTP proxy semantic cache for OpenAI, Anthropic, and Gemini. Drop-in caching with Prometheus metrics and a built-in dashboard — no app code changes required.

## Gateways & Model Routing

Route easy tasks to cheap models and hard tasks to capable ones. Enforce budgets before spend happens.

- [Bifrost](https://github.com/maximhq/bifrost) - High-performance AI gateway with semantic caching, budget limits, and automatic failover across 23+ providers. OpenAI-compatible drop-in with sub-15µs routing overhead.
- [Conduit](https://github.com/ashita-ai/conduit) - ML-powered router using Thompson Sampling bandits. Learns which model handles each query type best, balancing cost, quality, and latency from live traffic.
- [LiteLLM Proxy](https://github.com/BerriAI/litellm) - Production proxy with budget limits, rate limiting, load balancing, and fallback chains across 100+ models.
- [LLMRouter](https://github.com/ulab-uiuc/llmrouter) - Research-grade routing library with 16+ strategies (KNN, MLP, Elo, graph-based, BERT routers). Unified CLI for training cost-aware routers on benchmark data.
- [Martian](https://github.com/withmartian/martian) - Model router that picks the cheapest model that can handle each request.
- [Martian](https://github.com/withmartian/martian-sdk-python) - Python SDK for Martian's LLM gateway and routers. Programmatically manage cost-aware routing across 200+ models via a unified API.
- [OpenRouter](https://openrouter.ai/) - Unified API across providers with automatic routing to cheapest available model for a given capability tier.
- [ParetoBandit](https://github.com/ParetoBandit/ParetoBandit) - Cost-aware contextual bandit router with online budget pacing. Adapts when model prices or quality shift — routing decisions in microseconds on CPU.
- [Portkey](https://github.com/Portkey-AI/gateway) - AI gateway with caching, retries, load balancing, and observability hooks for multi-provider setups.
- [RouteLLM](https://github.com/lm-sys/RouteLLM) - ML-based router that sends queries to strong or weak models based on difficulty. Up to 85% cost reduction with minimal quality loss.
- [UncommonRoute](https://github.com/CommonstackAI/UncommonRoute) - Local OpenAI-compatible proxy that routes each agent step independently. Held-out SWE-bench: matched task quality at 53% lower API cost vs frontier-only.

## Observability & Cost Tracking

Expand All @@ -115,7 +120,7 @@ You can't optimize what you can't measure. These tools attribute token spend to
- [CostPilot](https://github.com/aryanjp1/costpilot) - Self-hosted LLM cost dashboard with a 3-line Python SDK. Tracks spend, tokens, and latency per model/feature with forecasting and savings recommendations.
- [Helicone](https://github.com/Helicone/helicone) - LLM observability proxy that logs every request with latency, cost, and cache hit metrics.
- [llmwatch](https://github.com/DanMeon/llmwatch) - Lightweight SDK instrumentation for OpenAI, Anthropic, Google, and more. Tags costs by feature/user with bundled pricing for 1000+ models — no proxy required.
- [Narev](https://github.com/narev-ai/narev) - AI billing and cost attribution SDK. Pin live pricing, calculate per-request COGS, and wire usage-based billing.
- [Narev](https://github.com/narevai/ai-billing) - Open-source Vercel AI SDK middleware for usage-based billing. Captures token usage, resolves live model prices, and routes billing events to Stripe, Polar, or Lago.
- [Shekel](https://github.com/arieradle/shekel) - Budget enforcement and cost tracking for agentic systems. One-line Python integration with OpenTelemetry metrics, circuit breakers, and per-tool spend limits.

## Context & Prompt Optimization
Expand All @@ -135,7 +140,7 @@ Engineering patterns and libraries that reduce context bloat without adding new

## Contributing

Contributions welcome. Please read [CONTRIBUTING.md](CONTRIBUTING.md) before opening a PR.
Contributions welcome. Please read [CONTRIBUTING.md](CONTRIBUTING.md) before opening a PR. See [CHANGELOG.md](CHANGELOG.md) for recent updates.

**Quick rules:**

Expand Down
Loading