Tokenectomy Razor
officielServeur MCP rapide et léger basé sur Rust, conçu pour optimiser les charges utiles de prompts et réduire la surcharge de tokens pour les LLM.
Que pouvez-vous faire avec Tokenectomy Razor MCP ?
- Trace surgery sur les dumps d’erreur — Demandez à votre assistant de supprimer le bruit du framework et de masquer les identifiants d’un journal de crash via
get_error_context. - Analyse statique de code — Faites détecter par votre assistant les fuites de ressources, les handles non fermés et les vulnérabilités de syntaxe dans les fichiers source à l’aide de
analyze_code. - Application de patchs atomiques — Demandez des modifications de fichiers sûres avec vérification automatique de la syntaxe et restauration en cas d’échec via
apply_code_patch. - Audit de santé du contexte — Demandez à votre assistant de noter les journaux ou les invites pour détecter le gonflement des tokens, le bruit et les fuites d’identifiants avec
audit_context_health. - Recherche d’erreurs assainies — Obtenez des réponses Stack Overflow pour des signatures d’erreur masquées sans fuite de code ni de secrets via
search_stack_overflow.
Documentation
Tokenectomy Razor
Corrigez les limites de débit de Claude Code et Cursor : passerelle IA locale à latence nulle et serveur MCP de chirurgie de contexte en Rust
Cessez de brûler 20 000 jetons sur des traces de pile node_modules. Tokenectomy Razor est une passerelle inverse IA locale (127.0.0.1:8080) en sous-milliseconde et un serveur MCP compagnon écrit en Rust sûr. Il excise 41,7 % à 99,7 % du bruit des frameworks dans les journaux d'erreurs du terminal, masque les identifiants de base de données et les JWT divulgués, et met en cache les invites gratuitement.
Démarrage rapide (10 s) • Architecture • Le problème • Avant et après • Démo interactive en direct • Benchmarks
┌────────────────────────────────────────────────────────┐
│ Autonomous Agents │
│ Claude Code • Cursor • Antigravity • Cline • Windsurf │
└───────────────────────────┬────────────────────────────┘
│
▼ (HTTP / SSE Outbound Prompts)
┌──────────────────────────────────────────────────────────────────────────────────────────────────────────────────┐
│ ⚡ TOKENECTOMY AI GATEWAY (127.0.0.1:8080) │
│ │
│ ┌─────────────────────────┐ ┌───────────────────────────┐ ┌──────────────────────────────────────────────┐ │
│ │ Zero-Cost Prompt │ │ Zero-Leak Credential │ │ Polyglot Trace Surgery │ │
│ │ Cache │ │ Redaction │ │ (9 Languages) │ │
│ │ <1ms Hit • 100% Free │ │ API Keys • JWTs • DB URIs│ │ node_modules • site-packages • .cargo │ │
│ └───────────┬─────────────┘ └─────────────┬─────────────┘ └──────────────────────┬───────────────────────┘ │
│ │ │ │ │
│ └───────────────────────────────┼────────────────────────────────────────┘ │
│ ▼ │
│ Smart Upstream Auto-Router │
│ (Anthropic • OpenAI • Groq • Ollama Local) │
└──────────────────────────────────────────────┬───────────────────────────────────────────────────────────────────┘
│
┌────────────────────────────────┼────────────────────────────────┐
▼ ▼ ▼
api.anthropic.com api.openai.com localhost:11434
(Claude 3.5 / 3.7 Sonnet) (GPT-4o / o1 / o3-mini) (DeepSeek / Llama)
⚡ Démarrage rapide (10 s)
0. Wrapper en une ligne sans configuration (wrap)
Exécutez n'importe quel agent de codage ou suite de tests directement derrière la passerelle de confidentialité et de mise en cache de Tokenectomy, sans configuration manuelle de variables d'environnement :
# Wrap Claude Code CLI
razor wrap -- claude
# Wrap Aider with DeepSeek or Ollama (Auto-Transpiled on the fly!)
razor wrap -- aider --model deepseek/deepseek-chat
# Wrap test runs to scrub logs and prevent accidental credential leakage
razor wrap npm test
1. Lancez la passerelle IA autonome (mode manuel)
npx -y tokenectomy-razor --proxy
💡 Acheminement automatique multi-fournisseurs intelligent et transpileur LLM universel activés par défaut ! Tokenectomy analyse automatiquement les chemins de requêtes et les en-têtes. Besoin d'exécuter Claude Code avec DeepSeek ou Ollama ? Tokenectomy transpile de manière transparente le format Anthropic
/v1/messagesen format OpenAI/v1/chat/completionsà la volée, et vice-versa.
2. Connectez votre agent préféré
Pointez votre agent de codage ou votre CLI vers la passerelle locale sur 127.0.0.1:8080 :
| Agent / Environnement | Commande de configuration ou configuration | Amont acheminé automatiquement |
|---|---|---|
| Claude Code | export ANTHROPIC_BASE_URL="http://127.0.0.1:8080" | https://api.anthropic.com |
| Cursor | Modèles > URL de base OpenAI : http://127.0.0.1:8080/v1 | https://api.openai.com |
| Google Antigravity / Gemini | export OPENAI_BASE_URL="http://127.0.0.1:8080/v1" | https://api.openai.com |
| Cline / Roo Code | Fournisseur : compatible OpenAI • URL de base : http://127.0.0.1:8080/v1 | https://api.openai.com |
| Ollama / LLM locaux | URL de base : http://127.0.0.1:8080 | http://localhost:11434 |
3. Tableau de bord FinOps et sécurité en temps réel
Ouvrez http://127.0.0.1:8080/dashboard dans votre navigateur pour observer en temps réel les réductions de jetons, les hits de cache d'invites, les économies en dollars et les identifiants masqués.
4. Configuration du serveur MCP compagnon (sous-cortex)
Pour les agents appelant des outils de diagnostic avancés (get_error_context, analyze_code, apply_code_patch) :
CLI Claude Code
claude mcp add tokenectomy npx -y tokenectomy-razor --mcp
CLI Google Antigravity / Gemini
agy mcp add tokenectomy-razor -- npx -y tokenectomy-razor --mcp
Cursor Composer (.cursor/mcp.json)
{
"mcpServers": {
"tokenectomy": {
"command": "npx",
"args": ["-y", "tokenectomy-razor", "--mcp"]
}
}
}
Claude Desktop (claude_desktop_config.json)
{
"mcpServers": {
"tokenectomy": {
"command": "npx",
"args": ["-y", "tokenectomy-razor", "--mcp"]
}
}
}
5. Piping terminal et nettoyage CLI
npm test 2>&1 | npx tokenectomy-razor
🛑 Le problème : pourquoi votre IA atteint les limites de débit et hallucine
Lorsque votre application plante pendant le développement (Next.js, Express, FastAPI, Tokio), le runtime déverse des centaines de lignes de plomberie tierce provenant de node_modules ou site-packages.
Lorsque vous collez ce dump de crash brut dans Cursor ou Claude :
- Consume votre limite de débit de 5 heures : une seule erreur Express/Prisma peut déverser 5 000 à 45 000 jetons de code de bibliothèque tierce que vous n'avez jamais écrit. Quelques boucles de crash épuisent facilement votre limite de session.
- Déclenche des hallucinations de l'IA : Claude se perd dans les internals des frameworks (
node_modules/express/lib/router/layer.jsoustarlette/routing.py) et tente de modifier les fichiers de bibliothèque au lieu de votre code applicatif réel. - Fuit des secrets et identifiants : les chaînes de connexion avec mots de passe de base de données bruts, jetons porteurs JWT et clés cloud intégrés dans les traces d'erreurs sont transmises aux serveurs de modèles externes.
Raw Terminal Crash (45,820 tokens + Leaked Secrets)
│
▼ <0.2ms Local Rust DFA Engine
[Redact Passwords & Keys] ──► [Strip Third-Party Framework Frames] ──► [Isolate Root Cause]
│
▼
Clean Context (118 tokens • Zero Secrets • Sub-millisecond)
🔍 Comparaison avant et après
❌ Sans Tokenectomy : l'IA hallucine et brûle le contexte
TypeError: Cannot read properties of undefined (reading 'token')
at loadComponents (/app/node_modules/next/dist/server/load-components.js:14:2)
at renderToHTML (/app/node_modules/next/dist/server/render.js:50:5)
at nextServer (/app/node_modules/next/dist/server/next-server.js:80:12)
at processTicksAndRejections (node:internal/process/task_queues:95:5)
at runMicrotasks (node:internal/process/task_queues:120:3)
at checkoutHandler (/app/pages/api/checkout.ts:42:15)
Database connection failed: postgresql://admin:super_secret_password@db.prod.internal:5432/primary
API key leaked: sk-ant-api03-abcdef1234567890abcdef1234567890
Ce que fait Claude : analyse
load-components.jsetnext-server.js, spécule sur les internals de Webpack / Next.js et fuit les identifiants de connexion vers les journaux d'inférence distants.
✅ Avec Tokenectomy : contexte propre et correctif instantané
// [Tokenectomy Surgery: 5 internal framework frames pruned (83.3%)]
// Source: /app/pages/api/checkout.ts:42:15
42 | const sessionToken = req.headers.authorization.token;
| ^ TypeError: Cannot read properties of undefined (reading 'token')
🛡️ [CONNECTION_STRING_REDACTED]
🛡️ [ANTHROPIC_KEY_REDACTED]
Ce que fait Claude : identifie instantanément que la ligne 42 de
checkout.tstentait d'accéder à.tokensur des en-têtes non définis. Suggère immédiatement le chaînage optionnelreq.headers.authorization?.token. Identifiants masqués avant transmission.
🔬 Benchmarks vérifiables
Toutes les affirmations de performance sont ancrées sur du matériel et reproductibles indépendamment sur du matériel physique (mesurées sur un Intel Core i5-1235U à 10 cœurs @ 15 W sous Arch Linux, noyau 6.13) :
Avis de dépendance matérielle : les performances dépendent du matériel ; le débit rapporté représente les résultats mesurés sur le matériel de test spécifié (Intel Core i5-1235U à 10 cœurs @ 15 W TDP). Le débit évolue avec les CPU de bureau/serveur à TDP plus élevé et les bus mémoire plus rapides. Les développeurs sont encouragés à auditer indépendamment les performances à l'aide de la commande de reproduction ci-dessous.
📋 Cliquez pour développer le journal terminal brut complet du benchmark ($ cargo test --release)
$ cargo test --release --test stress_benchmark -- --nocapture
=====================================================================================
🧪 TOKENECTOMY OSS VERIFIABLE HEAVY STRESS BENCHMARK (100% REPRODUCIBLE IN OSS)
Hardware: 10-Core / 12-Thread Intel Core i5-1235U | OS: Arch Linux | Kernel Telemetry Active
Initial Baseline Process Memory (VmRSS): 3.45 MB
=====================================================================================
🔥 [TEST 1/3] QUARTER-MILLION LINES LOG REDACTION TORTURE (250,000 LINES / 25MB+ BUFFER)
├── Buffer Size: 24.44 MB (250000 lines)
├── Redaction Latency: 471.05ms (51.9 MB/sec)
├── Line Throughput: 530,735 lines/sec
├── Peak Memory (VmRSS): 76.05 MB (Delta: +72.60 MB)
└── Status: ✅ PASSED (100% of 250,000 lines sanitized, zero memory balloon)
🔥 [TEST 2/3] REDOS CATASTROPHIC BACKTRACKING TORTURE (50,000 CHARS PAYLOAD)
├── Attack Payload Size: 50,082 characters
├── Execution Latency: 1.165 ms
└── Status: ✅ PASSED (Linear O(N) evaluation, ReDoS-resistant on tested payloads)
🔥 [TEST 3/3] HIGH-CONCURRENCY TORTURE (100 PARALLEL OS THREADS)
├── Thread Concurrency: 100 concurrent OS threads
├── Successful Operations: 100/100 (100.0%)
├── Total Elapsed: 11.31ms
├── Concurrency Throughput: 17,688 ops/sec
├── Final VmRSS: 78.99 MB
└── Status: ✅ PASSED (Zero race condition, zero deadlock)
=====================================================================================
🏆 TOKENECTOMY OSS STRESS BENCHMARK: 3/3 PASSED (100% GREEN)
Total Suite Duration: 580.83ms
Bounded Final VmRSS: 78.99 MB
=====================================================================================
test test_oss_heavy_stress_benchmark ... ok
test result: ok. 1 passed; 0 failed; 0 ignored; 0 measured; 0 filtered out; finished in 0.58s
| Cible du benchmark | Charge de travail testée | Mesure vérifiée | Résultat |
|---|---|---|---|
| Débit de masquage de journaux | 250 000 lignes (24,44 Mo) de dump d'entreprise avec clés API et URI de connexion | 530 735 lignes/s (471,0 ms, 51,9 Mo/s) | Réussi |
| Résilience ReDoS | Charge utile regex de backtracking pathologique de 50 000 caractères | 1,16 ms (évaluation DFA linéaire déterministe $O(N)$) | Réussi |
| Concurrence de threads | 100 threads OS simultanés exécutant un masquage en parallèle | 17 688 op/s (100/100 terminés en 11,31 ms) | Réussi |
| Empreinte mémoire | Mémoire résidente maximale pendant un test de stress continu de 250 000 lignes | 76,05 Mo VmRSS via /proc/self/status (~3× la taille du tampon d'entrée) | Réussi |
| Suite de tests de version | Matrice de tests d'intégration complète sur extracteurs, filtres et analyseurs | 90 / 90 verts vérifiés (zéro panique, zéro fuite) | Réussi |
🛡️ Benchmark automatisé de masquage et d'assainissement des secrets
Évalué sur un fixture de test interne (tests/fixtures/) de 12 traces de crash polyglottes (Rust, Python, TypeScript, Go, YAML) contenant 22 identifiants de vérité terrain et des contrôles négatifs propres. Évalué en tête-à-tête contre Gitleaks v8.30.1 (règles par défaut).
Note architecturale : Gitleaks est principalement conçu comme un scanner de commits/diffs de dépôt, pas comme un masqueur de traces d'exécution en mémoire. Tokenectomy Razor est spécifiquement conçu pour l'assainissement de flux en temps réel et la chirurgie de traces de pile.
1. Précision, rappel et score F1 par catégorie
| Catégorie de secret | Vérité terrain | Rappel Razor | F1 Razor | Rappel Gitleaks | F1 Gitleaks | Avantage d'assainissement |
|---|---|---|---|---|---|---|
Clé API Anthropic Claude (sk-ant-...) | 1 | 100,0 % | 100,0 % | 0,0 % | 0,0 % | +100 % de rappel (zéro fuite M2M) |
ID de clé d'accès AWS (AKIA...) | 1 | 100,0 % | 100,0 % | 0,0 % | 0,0 % | +100 % de rappel (zéro fuite M2M) |
| Clé d'accès secrète AWS | 1 | 100,0 % | 100,0 % | 0,0 % | 0,0 % | +100 % de rappel (zéro fuite M2M) |
| URI de base de données (PostgreSQL, MySQL, Redis, Mongo) | 4 | 100,0 % | 100,0 % | 0,0 % | 0,0 % | +100 % de rappel (zéro fuite M2M) |
| Mots de passe génériques / secrets d'authentification (YAML/JSON) | 3 | 100,0 % | 100,0 % | 0,0 % | 0,0 % | +100 % de rappel (zéro fuite M2M) |
Jeton d'accès personnel GitHub (ghp_...) | 1 | 100,0 % | 100,0 % | 0,0 % | 0,0 % | +100 % de rappel (zéro fuite M2M) |
Jeton d'accès personnel GitLab (glpat-...) | 1 | 100,0 % | 100,0 % | 100,0 % | 100,0 % | Parité (100 % détectés) |
Jeton API HuggingFace (hf_...) | 1 | 100,0 % | 100,0 % | 0,0 % | 0,0 % | +100 % de rappel (zéro fuite M2M) |
| Jeton Web JSON (RFC 7519 / tronqué) | 2 | 100,0 % | 100,0 % | 100,0 % | 100,0 % | Parité (100 % détectés) |
Jeton d'accès au registre npm (npm_...) | 1 | 100,0 % | 100,0 % | 0,0 % | 0,0 % | +100 % de rappel (zéro fuite M2M) |
Clé API OpenAI (sk-..., sk-proj-...) | 1 | 100,0 % | 100,0 % | 100,0 % | 100,0 % | Parité (100 % détectés) |
| Bloc de clé privée RSA PEM | 1 | 100,0 % | 100,0 % | 100,0 % | 100,0 % | Parité (100 % détectés) |
Jeton de téléversement de package PyPI (pypi-AgEI...) | 1 | 100,0 % | 100,0 % | 100,0 % | 100,0 % | Parité (100 % détectés) |
Clé API SendGrid (SG...) | 1 | 100,0 % | 100,0 % | 0,0 % | 0,0 % | +100 % de rappel (zéro fuite M2M) |
Jeton Slack bot/utilisateur (xoxb-...) | 1 | 100,0 % | 100,0 % | 100,0 % | 100,0 % | Parité (100 % détectés) |
Clé secrète Stripe live/test (sk_live_...) | 1 | 100,0 % | 100,0 % | 100,0 % | 100,0 % | Parité (100 % détectés) |
2. Résumé comparatif des performances et de l'architecture
| Dimension | Tokenectomy Razor (--scrub) | Gitleaks v8.30.1 | Justification architecturale |
|---|---|---|---|
| Rappel global des secrets | 100,0 % (22/22) | 36,4 % (8/22) | Razor capture les URI non cités, les ports de base de données et les clés IA manqués par les règles de diff |
| Précision globale | 100,0 % (0 faux positifs) | 88,9 % | Zéro déclenchement faux sur les erreurs de compilateur et les traces minifiées |
| Score F1 global | 100,0 % (fixture interne) | 51,6 % | Couverture complète conçue spécifiquement pour le contexte de crash |
| Moteur d'exécution | DFA Rust à haut débit ($O(N)$) | Scanner regex Go + explorateur d'arborescence Git | Latence sous-milliseconde pour les backtraces en streaming des agents |
| Résilience ReDoS | Temps linéaire déterministe ($O(N)$) | Dépend du moteur | La regex DFA sans backtracking empêche le backtracking catastrophique sur les dumps testés |
| Action d'assainissement | Masquage de jetons en ligne ([KEY_REDACTED]) | Journal d'avertissement uniquement (aucun nettoyage) | Assainit directement le texte avant ingestion par le cortex LLM |
3. Réduction de jetons et économies de contexte LLM (tiktoken cl100k_base)
| Métrique | Valeur mesurée | Impact opérationnel pour les agents de codage IA |
|---|---|---|
| Réduction moyenne de jetons | 41,67 % | Réduit systématiquement l'empreinte en jetons des traces de crash brutes |
| Réduction médiane (P50) | 42,95 % | Réduction typique des dumps d'identifiants et de connexions |
| 90e percentile (P90) | 61,42 % | Élimine les longues clés et identifiants multilignes |
| Écart min / max | 0,00 % — 81,36 % | 0 % sur les contrôles négatifs propres (zéro distorsion), jusqu'à 81,4 % sur les fuites |
| Total de jetons préservés / économisés | 920 jetons (44,02 % net) | Empêche la saturation de la fenêtre de contexte et réduit la facturation LLM |
🔌 Configuration avancée de l'agent et de la passerelle
1. Options de passerelle IA multi-fournisseurs (--proxy)
La passerelle de Tokenectomy s'exécute localement sur 127.0.0.1:8080 sans configuration manuelle. Dans les environnements de développement complexes ou les topologies d'agents conteneurisés, vous pouvez personnaliser la liaison et l'acheminement :
# Default Smart Auto-Routing (routes Anthropic, OpenAI, and Ollama requests dynamically):
razor --proxy
# Safety Circuit Breaker: Prevent runaway agent loops from burning your hourly budget or 5-hour window:
razor --proxy --max-hourly-tokens 200000
# Resilient 429 Auto-Retry: Automatically pause and retry when hitting upstream rate limits (default: on):
razor --proxy --max-retries 5
# Explicit upstream override (e.g. Groq, vLLM, or OpenRouter):
razor --proxy --upstream-url https://api.groq.com/openai/v1
# Secure remote container binding with mandatory bearer token:
razor --proxy --proxy-bind 0.0.0.0:8080 --allow-remote --proxy-token "$MY_GATEWAY_TOKEN"
Métriques en temps réel et export Prometheus
Tokenectomy expose des données FinOps et d'économie de jetons en direct via JSON :
curl http://127.0.0.1:8080/v1/metrics
Renvoie la télémétrie instantanée pour rate_limits_mitigated, circuit_breaker_trips, last_latency_ms, current_hourly_tokens, cache_hits, cache_tokens_saved et estimated_cost_saved_usd.
2. CLI autonome et nettoyage de terminal
Lors du débogage ou du piping direct de la sortie de tests de terminal :
# Pipe terminal test failures through the surgical redactor:
npm test 2>&1 | razor --scrub
# Sanitize a specific raw log file:
razor --scrub --file /var/log/app/error.log > sanitized.log
# Offline local air-gapped mode (zero external network calls):
cat failure.log | razor --scrub --local-only
🛠️ Outils MCP exposés
Tokenectomy Razor est conforme à la norme Glama Grade A Tool Definition Quality Score (TDQS) avec des limites de paramètres explicites :
| Nom de l'outil | Description de la capacité |
|---|---|
get_error_context | Effectue une chirurgie de trace sur les dumps d'erreurs, supprime le bruit des frameworks, masque les identifiants et extrait le contexte source local pertinent limité à l'espace de travail. |
analyze_code | Effectue une analyse statique AST du code pour détecter les fuites de ressources, les handles non fermés et les vulnérabilités de syntaxe avec des limites d'exécution bornées et des coordonnées LSP UTF-16 précises. |
apply_code_patch | Applique des modifications atomiques de fichiers avec vérification syntaxique post-écriture (cargo check, py_compile, node --check) et rollback automatique en cas d'échec. |
search_stack_overflow | Interroge l'API Stack Exchange pour les signatures d'erreurs pertinentes en utilisant des termes de recherche assainis et masqués. |
audit_context_health | Audite les journaux bruts, les traces ou les charges utiles de prompts pour détecter le gonflement des jetons, le bruit des frameworks et les identifiants. Renvoie la télémétrie M2M, les métriques d'économies et les notes de santé du contexte. |
🌐 Écosystèmes polyglottes pris en charge
| Langage | Frameworks pris en charge | Internes de framework exclus |
|---|---|---|
| Rust | Tokio, Actix-web, Axum | .cargo/registry, .rustup, target/debug/build |
| TypeScript / JS | Next.js, Express, NestJS, Vite | node_modules, .next, dist, internes webpack |
| Python | Django, FastAPI, Flask, PyTorch | site-packages, dist-packages, venv, __pycache__ |
| Golang | Gin, Fiber, Panics Stdlib | go/src (stdlib), go/pkg/mod, vendor |
| Java / Kotlin | Spring Boot 3, Tomcat, Netty | .m2/repository, .gradle/caches, bytecode interne |
| C / C++ | AddressSanitizer, GDB / LLDB | /usr/include, /usr/lib, vcpkg_installed |
| C# (.NET) | ASP.NET Core, .NET Runtime | System.Private.CoreLib, Microsoft.AspNetCore |
| Ruby on Rails | Rails, Sinatra, Bundler | /gems/, ruby/gems, gestionnaires rack internes |
| PHP | Laravel, Symfony | vendor/composer, vendor/symfony |
📦 Options d'installation
Méthode 1 : Instantanée via npx (configuration zéro outillage)
npx -y tokenectomy-razor --mcp
Méthode 2 : Cargo (crates.io)
cargo install tokenectomy
Méthode 3 : Binaires autonomes précompilés
Binaires de version autonomes sans dépendance disponibles sur GitHub Releases :
- Linux :
x86_64-unknown-linux-gnu,x86_64-unknown-linux-musl,aarch64-unknown-linux-gnu - macOS :
aarch64-apple-darwin(Apple Silicon M1/M2/M3/M4),x86_64-apple-darwin(Intel) - Windows :
x86_64-pc-windows-msvc.exe
Méthode 4 : Conteneur Docker multi-architectures (GHCR)
docker pull ghcr.io/tokenectomy-labs/razor:latest
docker run -i ghcr.io/tokenectomy-labs/razor:latest --mcp
⚖️ Comparaison des éditions
| Capacité | Razor (OSS Communautaire) | Sentinel (Niveau Commercial) |
|---|---|---|
| Chirurgie de trace polyglotte | Oui (9 langages d'exécution) | Oui (les 9 langages + guérison sémantique AST profonde) |
| Masquage de secrets anti-ReDoS O(N) | Oui | Oui |
| Serveur MCP JSON-RPC 2.0 | Oui | Oui |
Proxy inverse de passerelle IA (--proxy) | Oui | Oui |
| Cache d'idempotence SHA-256 (TTL 24h) | Oui | Oui |
| Tableau de bord des métriques FinOps | Oui | Oui |
| Rollback de validation syntaxique (compilateurs / linters) | Oui | Oui |
| Rollback automatisé de la suite de tests (0 diff sale) | — | Oui |
| Guérison syntaxique AST Tree-sitter | — | Oui |
| Garde de portée anti-hallucination | — | Oui |
| Transactions atomiques multi-fichiers | — | Oui |
Moteur d'annulation Time Machine (--undo) | — | Oui |
| Machine à états de guérison autonome | — | Oui |
Besoin d'auto-guérison AST d'entreprise ? Explorez le niveau Sentinel
🗺️ Feuille de route et jalons
| Jalon / Capacité | Statut | Cible |
|---|---|---|
| Chirurgie de journaux polyglotte de base et masquage ReDoS $O(N)$ | ✅ Terminé | v1.0.0 |
Proxy inverse de passerelle IA (--proxy) et cache d'idempotence | ✅ Terminé | v1.1.0 |
| Docker multi-architectures et action de marketplace GitHub Actions | ✅ Terminé | v1.1.3 |
Moteur d'analyse AST statique (analyze_code) et LSP UTF-16 | ✅ Terminé | v1.1.5 |
| Score de qualité de définition d'outil Glama.ai (TDQS Grade A) | ✅ Terminé | v1.1.5 |
| Binaires autonomes précompilés (Linux, macOS, Windows) | ✅ Terminé | v1.1.6 |
Liste officielle du registre MCP (io.github.Tokenectomy-Labs/razor) | ✅ Terminé | v1.1.7 |
Liste d'annuaire mcpservers.org | ✅ Terminé | v1.1.7 |
| Extracteurs Java/Kotlin (Spring Boot 3) et C/C++ (ASan) | ✅ Terminé | v1.2.0 |
| Chirurgie de pile profonde C# (.NET) et Ruby on Rails | ✅ Terminé | v1.2.2 |
Règles de masquage et de bruit personnalisées définies par l'utilisateur (~/.tokenectomy.toml) | ✅ Terminé | v1.2.2 |
Audit autonome de la santé du contexte (audit_context_health) et conseil M2M | ✅ Terminé | v1.2.2 |
| Benchmark de masquage automatisé et porte CI | ✅ Terminé | v1.2.2 |
Plan de contrôle M2M déclaratif et consultatif ([:TOKENECTOMY:M2M_CONTROL_PLANE:v1.3.0]) | ✅ Terminé | v1.3.0 |
Budgétisation interactive multi-stratégies (aggressive, conservative, lossless_compact) | ✅ Terminé | v1.2.3 |
| Porte de publication officielle du registre GitHub Actions OIDC | ✅ Terminé | v1.2.3 |
Liste du catalogue communautaire awesome-mcp-servers | ✅ Terminé | v1.2.4 |
Identités de trames supprimées en ligne ([DROPPED_FRAMES: ...]) et audit anti-troncature silencieuse | ✅ Terminé | v1.3.1 |
Cache de journaux bruts adressable par contenu et hachage de vérification (--diff-verify) | ✅ Terminé | v1.3.1 |
| Routage automatique intelligent multi-fournisseurs (Anthropic, OpenAI, Ollama) et mise en cache de prompts à coût nul | ✅ Terminé | v1.3.3 |
Disjoncteur de sécurité d'agent (--max-hourly-tokens), atténuateur de nouvelle tentative 429 et préflight CORS | ✅ Terminé | v1.3.3 |
Transpileur de format LLM universel (OpenAI /v1/chat/completions ⇄ Anthropic /v1/messages) | ✅ Terminé | v1.3.4 |
Wrapper de commande d'agent sans configuration (razor wrap -- <cmd>) et hook Git pre-commit | ✅ Terminé | v1.3.4 |
| Haute disponibilité multi-fournisseurs et basculement automatique en cas de panne | 📋 Planifié | v1.4.0 |
Configuration déclarative de passerelle IA (gateway.toml / tokenectomy.yaml) | 📋 Planifié | v1.4.0 |
| Moteur complet de mise en cache de jetons en streaming SSE | 📋 Planifié | v1.4.0 |
| Extensions compagnons natives VS Code et JetBrains | 📋 Planifié | v1.4.0 |
| Transport MCP distant Server-Sent Events (SSE) | 📋 Planifié | v1.4.0 |
🔒 Sécurité et invariants
- Exécution locale par défaut : Tout l'analyse des traces de pile, l'élagage des trames et le masquage des secrets s'exécutent localement sur le matériel physique.
- Sortie réseau documentée : En mode serveur MCP,
search_stack_overflowest le seul outil avec sortie réseau sortante (HTTPS versapi.stackexchange.com). La charge utile est strictement limitée au texte de signature d'erreur assaini et masqué (aucune ligne de code, aucun chemin local, zéro identifiant). Dans les environnements isolés, utilisez--local-onlypour désactiver entièrement la recherche réseau. - Correspondance de motifs déterministe en temps linéaire : Tous les matcheurs de motifs utilisent des moteurs regex DFA sans retour arrière (temps linéaire $O(N)$) et une évaluation d'automate Aho-Corasick.
- Isolation des limites de traversée de chemin : Les opérations sur les fichiers sont strictement verrouillées dans la racine de l'espace de travail actif (
CWD). Les traversées de chemin (../) et les liens symboliques non autorisés sont bloqués. - Implémentation Rust sûre : Les chemins d'exécution principaux appliquent les garanties de mémoire sûre de Rust avec des lecteurs de flux bornés (
.take()) empêchant l'épuisement des ressources.
Pour les divulgations de vulnérabilités, veuillez consulter notre Politique de sécurité.
⚖️ Mentions légales et avertissement sur les forks en aval
Tokenectomy Razor est fourni strictement pour la productivité légale des développeurs, l'observabilité, la chirurgie de journaux et le masquage défensif des identifiants. Tous les forks en aval, clones, redistributions ou déploiements privés fonctionnent complètement indépendamment des auteurs originaux. Tokenectomy Labs et ses mainteneurs déclinent toute responsabilité pour les actions illégales, malveillantes ou non autorisées commises par des tiers utilisant ce codebase ou ses dérivés. Tous les opérateurs en aval portent 100 % de responsabilité individuelle pour la conformité aux lois de cybersécurité locales et internationales. Voir DISCLAIMER.md pour les conditions légales complètes.
❓ Questions fréquemment posées (FAQ)
Comment Tokenectomy Razor empêche-t-il Claude Code et Cursor d'atteindre les limites de débit ?
Lorsque les tests ou les builds de terminal plantent, des frameworks comme Next.js, Express, Jest et Django déversent des milliers de trames de pile internes (node_modules, site-packages). L'envoi de journaux de crash bruts de 5 000 lignes consomme 15 000 à 45 000 jetons par prompt, épuisant votre limite de session de 5 heures en quelques minutes. Tokenectomy Razor intercepte les journaux et supprime 95 % de la plomberie de framework non actionnable, réduisant un journal de crash de 40 000 caractères à moins de 200 jetons essentiels en <0,2 ms.
Comment empêcher Cursor d'envoyer les journaux d'erreurs node_modules aux LLM ?
Exécutez Tokenectomy Razor comme proxy inverse de passerelle IA locale (npx -y tokenectomy-razor --proxy). Dans les paramètres de Cursor, pointez votre URL de base OpenAI vers http://127.0.0.1:8080/v1. Toute sortie d'erreur de terminal collée ou référencée par Composer sera automatiquement assainie, nettoyée et mise en cache à la volée avant d'atteindre les serveurs de modèles.
Comment Tokenectomy empêche-t-il la fuite d'identifiants dans les journaux d'erreurs ?
Toute la chirurgie de journaux et le masquage de secrets s'exécutent 100 % localement sur votre machine en mémoire avant la transmission sortante. Razor utilise des regex déterministes en temps linéaire et des automates Aho-Corasick pour détecter et masquer les URI de connexion PostgreSQL/MongoDB, les jetons porteurs JWT et les clés API cloud avec des jetons [REDACTED]. Aucune sortie cloud n'est requise pour le nettoyage.
🤝 Communauté et ressources
- 🌐 Site web officiel
- 📖 Documentation
- 🏗️ Architecture système
- 📋 Journal des modifications
- 🤝 Directives de contribution
- 🔒 Politique de sécurité
- ⚖️ Avertissement et responsabilité
Tokenectomy Labs • Sous-cortex M2M autonome
Ingénierie de précision par Daffa (@daffa2555)
Sous licence MIT License