Skip to main content

Compressor inteligente de tokens para LLMs

Project description

ReduxToken

Compressor inteligente de tokens para LLMs. Reduz o custo e o consumo de tokens ao comprimir texto, JSON, código e logs antes de enviá-los para modelos como Claude e GPT-4.

Core de alta performance em Rust, interface acessível em Python.

Benchmark

Conteúdo Tokens antes Tokens depois Economia
Log com DEBUG/TRACE 1 166 47 96%
JSON com metadados 522 155 70%
Código com comentários 844 60 93%
Texto repetitivo 367 12 97%
Média ~90%

Instalação

pip install redux-token

Wheels disponíveis para Linux, macOS e Windows — Python 3.10, 3.11, 3.12 e 3.13.

Uso rápido

from redux_token import ReduxToken

rt = ReduxToken()
compressed, stats = rt.compress("seu texto aqui")

print(f"Tokens economizados: {stats.tokens_saved} ({stats.savings_pct:.1f}%)")

Como funciona

ReduxToken aplica filtros sequenciais ao conteúdo antes de enviá-lo ao LLM:

Entrada (texto / JSON / código / log)
  -> JsonFilter   — remove campos irrelevantes (id, uuid, timestamps, metadata)
  -> CodeFilter   — remove comentários // e /* */
  -> TextFilter   — remove linhas [DEBUG] e [TRACE]
  -> SmartFilter  — elimina separadores e linhas duplicadas
Saída (60–97% menos tokens)

CLI

# Comprimir texto ou arquivo
redux-token compress "seu texto"
redux-token compress --file input.log
cat big_output.log | redux-token compress

# Monitorar arquivo e comprimir ao salvar
redux-token watch arquivo.log

# Estimar custo
redux-token cost 10000 800 --price 0.003

# Salvar relatório de economia do proxy
redux-token report

Filtros customizados

import re
from redux_token import ReduxToken

def remove_urls(text: str) -> str:
    return re.sub(r'https?://\S+', '[url]', text)

def remove_emails(text: str) -> str:
    return re.sub(r'[\w.+-]+@[\w-]+\.\w+', '[email]', text)

rt = ReduxToken(extra_filters=[remove_urls, remove_emails])
compressed, stats = rt.compress(text)

Proxy HTTP (transparente)

Intercepta requests para OpenAI/Claude e comprime automaticamente sem alterar o código da aplicação:

# Iniciar o proxy
cargo run --release --package redux-token-proxy

# Configurar a aplicação para usar o proxy
# Antes: https://api.openai.com/v1/chat/completions
# Depois: http://localhost:8080/openai/v1/chat/completions

# Ver estatísticas acumuladas
curl http://localhost:8080/_redux/stats

Configuração em proxy.toml (criado automaticamente com valores padrão).

Hook para Claude Code

Com o projeto clonado, o hook já está ativo via .claude/settings.json. Ele comprime automaticamente outputs grandes de Bash e Read antes que entrem no contexto do modelo.

Para projetos externos, adicione ao .claude/settings.json:

{
  "hooks": {
    "PostToolUse": [
      {
        "matcher": "Bash",
        "hooks": [{ "type": "command", "command": "python -m redux_token.hook" }]
      }
    ]
  }
}

MCP Server (Claude Desktop, Cursor, Zed, etc.)

Qualquer cliente que suporte o protocolo MCP pode usar o ReduxToken como ferramenta.

pip install redux-token

Claude Desktop

Edite o arquivo de configuração:

  • Windows: %APPDATA%\Claude\claude_desktop_config.json
  • macOS: ~/Library/Application Support/Claude/claude_desktop_config.json
{
  "mcpServers": {
    "redux-token": {
      "command": "python",
      "args": ["-m", "redux_token.mcp"]
    }
  }
}

Cursor / Zed / outros clientes MCP

{
  "mcpServers": {
    "redux-token": {
      "command": "redux-token-mcp"
    }
  }
}

Ferramentas disponíveis

Ferramenta O que faz
compress Comprime texto — remove DEBUG, comentários, metadados JSON, duplicatas
compress_file Lê um arquivo do disco e comprime
estimate_cost Calcula economia financeira dado o volume de tokens

Instalação para desenvolvimento

Requer Rust + Python 3.10+.

git clone https://github.com/ElizioMartins/ReduxToken.git
cd ReduxToken
pip install maturin
maturin develop
python examples/basic.py

Veja ARCHITECTURE.md para decisões técnicas e ROADMAP.md para o plano de desenvolvimento.

Apoio

Se o ReduxToken te economizou tokens (e dinheiro), considere contribuir para manter o projeto:

Licença

Apache 2.0

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

redux_token-0.2.1-cp313-cp313-win_amd64.whl (795.5 kB view details)

Uploaded CPython 3.13Windows x86-64

redux_token-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.17+ x86-64

redux_token-0.2.1-cp313-cp313-macosx_11_0_arm64.whl (887.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

redux_token-0.2.1-cp312-cp312-win_amd64.whl (795.6 kB view details)

Uploaded CPython 3.12Windows x86-64

redux_token-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.17+ x86-64

redux_token-0.2.1-cp312-cp312-macosx_11_0_arm64.whl (887.2 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

redux_token-0.2.1-cp311-cp311-win_amd64.whl (797.8 kB view details)

Uploaded CPython 3.11Windows x86-64

redux_token-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.17+ x86-64

redux_token-0.2.1-cp311-cp311-macosx_11_0_arm64.whl (888.2 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

redux_token-0.2.1-cp310-cp310-win_amd64.whl (797.6 kB view details)

Uploaded CPython 3.10Windows x86-64

redux_token-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (1.0 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.17+ x86-64

redux_token-0.2.1-cp310-cp310-macosx_11_0_arm64.whl (888.3 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

File details

Details for the file redux_token-0.2.1-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: redux_token-0.2.1-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 795.5 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for redux_token-0.2.1-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 3e93310f3cab9ec85496bc8bf96e5139fb6645f4aea837cfff0f889d56a1e728
MD5 ff91682fd2672443c80d7aeaad1a7c6a
BLAKE2b-256 9727350622813195c9968735bef24cf9666eccffa8b106242ea122f4aa3eb36d

See more details on using hashes here.

Provenance

The following attestation bundles were made for redux_token-0.2.1-cp313-cp313-win_amd64.whl:

Publisher: release.yml on ElizioMartins/ReduxToken

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file redux_token-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for redux_token-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 e71fc24d2c3237e5cdfc37e9707ce699ebc58edcaabc25d9c461fa6ac94549b6
MD5 274ce53f1b2f5f366d64d42fb07b3d6e
BLAKE2b-256 c4424a63d8c155c9a0cefe29fdd1a1adfef6de1d84ebde435686b2f80f9b875b

See more details on using hashes here.

Provenance

The following attestation bundles were made for redux_token-0.2.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on ElizioMartins/ReduxToken

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file redux_token-0.2.1-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for redux_token-0.2.1-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 710e5f7b1852a6ba51dd369e1bfb0215afce8ad7b715d2404599e459faa4f57a
MD5 74bdea4fd0c1675bab5dc866e1756d64
BLAKE2b-256 6c26e14338bf2369d78da0eda8d59dc6382a4e3a0c899aa16d75085f2d44e66b

See more details on using hashes here.

Provenance

The following attestation bundles were made for redux_token-0.2.1-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: release.yml on ElizioMartins/ReduxToken

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file redux_token-0.2.1-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: redux_token-0.2.1-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 795.6 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for redux_token-0.2.1-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 05e6c6da66692e358829b6d03836c06f5aa3526e83fd36e9c4cc1c73b6e67631
MD5 ed997e6ef7286866f7d488615e9ff696
BLAKE2b-256 44dfae33f77bf7680664e25466d0b71cd8d8e172d95ed0155a81cdf74a77978b

See more details on using hashes here.

Provenance

The following attestation bundles were made for redux_token-0.2.1-cp312-cp312-win_amd64.whl:

Publisher: release.yml on ElizioMartins/ReduxToken

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file redux_token-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for redux_token-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 97ca6649559d61101612eee2ca83fa8cdb405511615ea10820902bd82c232c3a
MD5 6fd06e01a0bb989b3d75f1e7ff507b41
BLAKE2b-256 969cd8e2097d6b91ae41a015f728f5520202c3e23e195d8c5874cdd4b1d6e136

See more details on using hashes here.

Provenance

The following attestation bundles were made for redux_token-0.2.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on ElizioMartins/ReduxToken

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file redux_token-0.2.1-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for redux_token-0.2.1-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 74febf36b7c16df2d02a179d2ba0019b7a7d47c9693e26985a95b1b219554c55
MD5 91d4690cb9c405689ccc28dc0ffcf575
BLAKE2b-256 5b12abf269304aae8b7b436f0da3d06cbfe1bc6a3f47ca0aba480fa5c32160e4

See more details on using hashes here.

Provenance

The following attestation bundles were made for redux_token-0.2.1-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: release.yml on ElizioMartins/ReduxToken

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file redux_token-0.2.1-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: redux_token-0.2.1-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 797.8 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for redux_token-0.2.1-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 196eac66185b2d73312168bb243f7c0ae141306dc70be11ec29df281523563a3
MD5 92c12caa07af807d075016bd609c353c
BLAKE2b-256 daf53ebe467fec5bb67ab668d88bab4eb583a5d6789ce5333bbb81e28cac795d

See more details on using hashes here.

Provenance

The following attestation bundles were made for redux_token-0.2.1-cp311-cp311-win_amd64.whl:

Publisher: release.yml on ElizioMartins/ReduxToken

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file redux_token-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for redux_token-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 7b7bdc296c40c6f8ae9e11b65505c90a2dd21d101f0287ed93a6b2df51683a1c
MD5 807e4aa7a8aaa4567991a4b1c94c2340
BLAKE2b-256 259a67d5d397a75925537abb2ce1fba62f347491b97d1b397330c99f9f0f6895

See more details on using hashes here.

Provenance

The following attestation bundles were made for redux_token-0.2.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on ElizioMartins/ReduxToken

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file redux_token-0.2.1-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for redux_token-0.2.1-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 fdda04e4b570e01e7e6fd9c87ece3edf8fafeb6919f429791344f96806dfb41b
MD5 f750b3312cefd7bc5f89bfebbe974c9b
BLAKE2b-256 052439d0b0675a11eb27a0e9e09829bfac1b0276ce7af201d1c5671e4b25c097

See more details on using hashes here.

Provenance

The following attestation bundles were made for redux_token-0.2.1-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: release.yml on ElizioMartins/ReduxToken

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file redux_token-0.2.1-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: redux_token-0.2.1-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 797.6 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for redux_token-0.2.1-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 1328d2978527b69596af50a0e9f0496bd1ae51d1553e7c02a837d60e4743b2dd
MD5 abdb914dddca3a0e1ccd66757c84607f
BLAKE2b-256 5b27ea02b1ad90a06ea2b52d658b7bbc0bca11f6f5df6bc1c5347df241fdedef

See more details on using hashes here.

Provenance

The following attestation bundles were made for redux_token-0.2.1-cp310-cp310-win_amd64.whl:

Publisher: release.yml on ElizioMartins/ReduxToken

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file redux_token-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl.

File metadata

File hashes

Hashes for redux_token-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Algorithm Hash digest
SHA256 db4a59e5d304c9aac87fd3e78828417b57f3803f320e54a1a752575210021bf8
MD5 4c6a3709618b80f51225276639666e42
BLAKE2b-256 d2380458b2f848d19b73f2c60734c435f8a6aba6fc4b8f0baad8420c976738c1

See more details on using hashes here.

Provenance

The following attestation bundles were made for redux_token-0.2.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl:

Publisher: release.yml on ElizioMartins/ReduxToken

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file redux_token-0.2.1-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for redux_token-0.2.1-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 1ee5dd3a36aab53696a469924b28594958bfb8f07032f5960b7d0ad37023b250
MD5 e43c9ba1603f07128b780fe6e22dfea9
BLAKE2b-256 8751c7362471aca984f34ea8eb3e2fd7e1f592284b02425279bb6184c3c71226

See more details on using hashes here.

Provenance

The following attestation bundles were made for redux_token-0.2.1-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: release.yml on ElizioMartins/ReduxToken

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page