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 ?
- Nettoyer les journaux d’erreurs — Demander de supprimer le bruit du framework et de masquer les identifiants d’une trace de pile avec
get_error_context, en ne renvoyant que le code source local pertinent. - Rechercher des correctifs connus — Faire interroger à l’assistant Stack Exchange via
search_stack_overflowen utilisant des signatures d’erreurs nettoyées pour trouver des solutions pertinentes. - Appliquer des correctifs de code validés — Demander des modifications de fichiers atomiques avec
apply_code_patch, qui exécute des vérifications de syntaxe et annule automatiquement en cas d’échec. - Détecter les défauts de code — Utiliser
analyze_codepour une analyse statique AST afin de trouver les fuites de ressources, les problèmes de sécurité et les bogues avec des coordonnées LSP précises. - Exécuter un proxy de masquage local — Configurer le mode
--proxypour intercepter et nettoyer le trafic API LLM sur localhost avant de le transmettre en amont.
Documentation
Tokenectomy Razor
Chirurgie de journaux rapide et déterministe et rédaction de secrets pour les agents de codage IA — éliminez 90 %+ du bruit des frameworks, masquez les identifiants avec une immunité ReDoS en O(N), latence inférieure à la milliseconde. Écrit en Rust sûr.
Tokenectomy (nom) : token + -ectomy (ablation chirurgicale) — l'excision précise des jetons inutiles des fenêtres de contexte des LLM.
Moteur haute performance de chirurgie de journaux et de rédaction de secrets pour agents de codage IA
- Registre MCP officiel :
mcp-name: io.github.Tokenectomy-Labs/razor
📋 Table des matières
- Ce que ça fait
- Fonctionnalités clés
- Benchmarks
- Installation
- Intégration MCP
- Utilisation par cas d'usage
- Fonctionnalités avancées
- Comparaison
- FAQ
- Feuille de route
- Sécurité
- Contribution
Ce que ça fait
Tokenectomy Razor est un serveur MCP (Model Context Protocol) autonome de machine à machine (M2M) et un moteur de traitement de flux écrit en Rust sûr. Il intercepte les journaux d'erreurs des agents IA, élimine 90 %+ du bruit des frameworks, masque automatiquement les secrets (JWT, clés API, identifiants de base de données) et met en cache les contextes assainis avec une durée de vie de 24 heures — le tout sans envoyer de données brutes à des services externes.
En 30 secondes
Le problème :
- Les agents IA gaspillent des jetons sur le bruit des frameworks (
node_modules,site-packages,.cargo/registry) - Des identifiants sensibles fuient accidentellement dans les journaux des LLM (clés AWS, URL de bases de données, jetons API)
- Des erreurs identiques répétées coûtent de l'argent à chaque nouvelle tentative
La solution :
Raw Error Log (38K tokens + secrets)
↓
[Redact secrets locally] → [Filter framework frames] → [Extract user code]
↓
Sanitized Context (2K tokens, no secrets) → Safe to send to LLM
Exemple réel
Avant :
$ cat error.log | head -20
Error in /home/user/.cargo/registry/src-xxx/tokio-1.35/src/runtime/mod.rs:12345
at /home/user/.cargo/registry/src-yyy/serde/src/lib.rs:456
Database connection failed: postgresql://admin:secretpass@db.example.com:5432/mydb
JWT Auth token: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJzdWIiOiIxMjM0NTY3ODkwIn0...
[... 500+ more framework frames ...]
Après :
$ cat error.log | razor --scrub
Error in /home/user/src/main.rs:42
at /home/user/src/utils.rs:18
Database connection failed: [CONNECTION_STRING_REDACTED]
JWT Auth token: [JWT_REDACTED]
Avantages :
- ✅ Contexte réduit de 95 % (2K contre 38K jetons) → Économisez de l'argent sur les appels API LLM
- ✅ Zéro secret dans les journaux → Dormez mieux la nuit
- ✅ Erreurs identiques mises en cache → La deuxième tentative coûte 0 $
Points techniques clés
┌──────────────────────────────────────────────┐
Agent Error │ TOKENECTOMY RAZOR │ Sanitized Context
Dump (38K toks) │ - Polyglot Stack Frame Filter │ ──► (2K toks) ──► LLM
────────────────►│ - Deterministic Secret Redactor (O(N)) │
│ - SHA-256 Idempotency Cache (24h TTL) │
└──────────────────────────────────────────────┘
- Chirurgie de traces polyglotte approfondie : Analyse en mémoire des traces Rust, Python, TypeScript/JavaScript, Go, Java/Kotlin (Spring Boot 3, Tomcat, Hibernate, Netty, Undertow, HikariCP), C/C++ (AddressSanitizer, GDB, glibc) et PHP. Filtre chirurgicalement les internals bruyants des frameworks et le boilerplate d'exécution tout en isolant les véritables frames de code applicatif utilisateur.
- Moteur d'analyse statique AST (
analyze_code) : Analyse statique AST à haut débit détectant les handles non fermés, les fuites de ressources et les vulnérabilités de sécurité avec des limites d'exécution bornées (50 000 nœuds AST, limite de fichier de 10 Mo) et des coordonnées LSP UTF-16 précises. - Conformité TDQS Grade A Glama : Score de qualité de définition d'outils de 100 % avec des limites de schéma explicites, des préconditions d'exécution et une divulgation complète sur tous les outils MCP.
- Proxy inverse de passerelle IA (
--proxy) : Intercepte de manière transparente les flux de prompts sur127.0.0.1:8080, effectuant une excision de jetons en temps réel et un assainissement des identifiants avant le transfert en amont vers OpenAI, Anthropic ou Ollama. - Rédaction de secrets sans connaissance : Moteur regex déterministe en temps linéaire qui supprime les JWT, les jetons API, les clés d'accès cloud, les chaînes de connexion et les clés privées avant la transmission réseau. Tout le traitement se fait localement.
- Cache d'idempotence SHA-256 : Stocke les réponses déterministes avec une durée de vie de 24 heures. Les échecs répétés de CI/CD ou de boucles d'agents n'entraînent aucun coût API en amont.
- Contention des traversées de chemins : Tout accès aux fichiers MCP est canonisé et verrouillé à la racine de l'espace de travail (
CWD). Pas d'échappements../ni de sorties par liens symboliques. - Conformité au protocole M2M : Serveur stdio JSON-RPC 2.0 natif conforme à la spécification officielle du Model Context Protocol.
Benchmarks vérifiables
Les métriques de performance sont ancrées sur le matériel et reproductibles via des suites de benchmarks autonomes :
| Cible du benchmark | Charge de travail testée | Mesure vérifiée | Résultat |
|---|---|---|---|
| Rédaction de journaux à volume élevé | 250 000 lignes (24,44 Mo) de dump d'entreprise contenant des clés API et des URI de connexion | 333,49 ms (73,3 Mo/s, 749 652 lignes/s) | Réussi |
| Résistance ReDoS | Chaîne pathologique de backtracking de 50 000 caractères | 1,44 ms (évaluation linéaire $O(N)$) | Réussi |
| Concurrence de threads | 100 threads OS simultanés exécutant rédaction et extraction en parallèle | 100/100 terminés en 27,35 ms (7 312 op/s) | Réussi |
| Empreinte mémoire noyau | Mémoire résidente maximale pendant un test de stress continu de 250 000 lignes | 76,24 Mo VmRSS via /proc/self/status | Réussi |
Comprendre les benchmarks
| Métrique | Pourquoi c'est important | À quoi s'attendre |
|---|---|---|
| Débit de rédaction de 73,3 Mo/s | La plupart des journaux font <5 Mo ; vous les masquerez en quelques millisecondes | <10 ms pour les journaux CI typiques |
| Immunité ReDoS de 1,44 ms | Empêche les charges utiles de journaux malveillantes de faire tomber votre système | Sûr en production avec des entrées non fiables |
| Mémoire maximale de 76,24 Mo | Adapté aux runners CI/CD contraints (GitHub Actions, GitLab) | Tient confortablement dans les limites de 256 Mo |
| 7 312 op/s en concurrence | Plusieurs agents IA interrogeant simultanément | 100 requêtes simultanées gérées en toute sécurité |
Reproduire localement :
cargo test --release --test stress_benchmark -- --nocapture
Installation
Méthode 1 : Instantanée via npx (recommandé pour les clients MCP)
Aucune chaîne d'outils Rust, compilation native ou configuration manuelle de chemin requise :
npx -y tokenectomy-razor --mcp
Ou installez globalement via npm :
npm install -g tokenectomy-razor
Méthode 2 : Cargo (crates.io)
cargo install tokenectomy
Méthode 3 : Binaires natifs précompilés (versions GitHub)
Téléchargez des binaires autonomes précompilés sans dépendance directement depuis GitHub Releases :
- Linux :
tokenectomy-linux-x86_64(glibc),tokenectomy-linux-x86_64-musl,tokenectomy-linux-aarch64 - macOS :
tokenectomy-darwin-arm64(Apple Silicon M1/M2/M3/M4),tokenectomy-darwin-x86_64(Intel) - Windows :
tokenectomy-windows-x86_64.exe
Méthode 4 : Compilation depuis les sources
git clone https://github.com/Tokenectomy-Labs/Tokenectomy.git
cd Tokenectomy
cargo build --release
sudo cp target/release/razor /usr/local/bin/razor
Méthode 5 : Conteneur multi-architecture (GHCR)
docker pull ghcr.io/tokenectomy-labs/razor:latest
docker run -it ghcr.io/tokenectomy-labs/razor:latest --help
Intégration au Model Context Protocol (MCP)
Configurez Tokenectomy Razor comme serveur d'arrière-plan autonome dans les principaux environnements d'agents IA :
Claude Desktop
Ajoutez à ~/Library/Application Support/Claude/claude_desktop_config.json (macOS) ou %APPDATA%\Claude\claude_desktop_config.json (Windows) :
{
"mcpServers": {
"tokenectomy": {
"command": "npx",
"args": ["-y", "tokenectomy-razor", "--mcp"]
}
}
}
Cursor
Ajoutez à .cursor/mcp.json à la racine de votre projet :
{
"mcpServers": {
"tokenectomy": {
"command": "npx",
"args": ["-y", "tokenectomy-razor", "--mcp"]
}
}
}
VS Code (MCP natif / Agent GitHub Copilot / Continue)
Pour VS Code avec support MCP natif, créez ou modifiez .vscode/mcp.json dans votre espace de travail :
{
"mcpServers": {
"tokenectomy": {
"command": "npx",
"args": ["-y", "tokenectomy-razor", "--mcp"]
}
}
}
Ou utilisez le binaire natif à ultra-faible latence (si installé via cargo install tokenectomy) :
{
"mcpServers": {
"tokenectomy": {
"command": "razor",
"args": ["--mcp"]
}
}
}
VS Code + Cline
Ouvrez les paramètres Cline dans VS Code (ou modifiez cline_mcp_settings.json) :
- macOS :
~/Library/Application Support/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json - Linux :
~/.config/Code/User/globalStorage/saoudrizwan.claude-dev/settings/cline_mcp_settings.json - Windows :
%APPDATA%\Code\User\globalStorage\saoudrizwan.claude-dev\settings\cline_mcp_settings.json
{
"mcpServers": {
"tokenectomy": {
"command": "npx",
"args": ["-y", "tokenectomy-razor", "--mcp"],
"disabled": false,
"autoApprove": [
"get_error_context",
"search_stack_overflow",
"analyze_code"
]
}
}
}
VS Code + Roo Code
Dans les paramètres Roo Code (ou modifiez cline_mcp_settings.json dans le stockage Roo) :
- Linux :
~/.config/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json - macOS :
~/Library/Application Support/Code/User/globalStorage/rooveterinaryinc.roo-cline/settings/cline_mcp_settings.json
{
"mcpServers": {
"tokenectomy": {
"command": "npx",
"args": ["-y", "tokenectomy-razor", "--mcp"],
"disabled": false,
"autoApprove": ["get_error_context", "analyze_code"]
}
}
}
Windsurf (Codeium)
Ajoutez à ~/.codeium/windsurf/mcp_config.json :
{
"mcpServers": {
"tokenectomy": {
"command": "npx",
"args": ["-y", "tokenectomy-razor", "--mcp"]
}
}
}
CLI Google Antigravity
agy mcp add tokenectomy-razor -- npx -y tokenectomy-razor --mcp
Outils MCP exposés
| Nom de l'outil | Description de la capacité |
|---|---|
get_error_context | Effectue une chirurgie de traces sur les dumps d'erreurs, supprime le bruit des frameworks, masque les identifiants et extrait le contexte source local pertinent borné à l'espace de travail. |
search_stack_overflow | Interroge l'API Stack Exchange pour les signatures d'erreurs pertinentes en utilisant des termes de recherche assainis. |
apply_code_patch | Applique des modifications de fichiers atomiques avec vérification syntaxique du langage après écriture (cargo check, py_compile, node --check) et rollback automatique en cas d'échec de validation. |
analyze_code | Effectue une analyse statique AST du code pour détecter les fuites de ressources, les vulnérabilités de sécurité et les défauts de code avec des limites d'exécution bornées et des coordonnées LSP UTF-16 précises. |
Démarrage rapide
J'utilise Claude Desktop
# 1. Add to claude_desktop_config.json (see MCP Integration section above)
# 2. When Claude encounters errors, it automatically uses "get_error_context" tool
# 3. Errors stay sanitized without any additional setup
J'utilise GitHub Actions
# Add to your workflow (.github/workflows/build.yml)
- name: Sanitize Build Failure Log
if: failure()
uses: daffa2555/tokenectomy-action@v1
with:
log-file: 'build.log'
output-file: 'sanitized.log'
# Now you can safely share sanitized.log without leak concerns
Paramètres :
| Paramètre | Type | Défaut | Description |
|---|---|---|---|
log-file | String | '' | Chemin vers le fichier de journal d'erreurs brut à traiter |
log-content | String | '' | Contenu de chaîne direct si le fichier n'est pas spécifié |
output-file | String | tokenectomy-sanitized.log | Chemin pour le fichier de sortie nettoyé |
version | String | v1.2.1 | Version cible de la version binaire |
Je veux une confidentialité maximale (environnement isolé)
# All redaction happens locally—no network calls except to your LLM
cargo install tokenectomy
# Process logs without any cloud services
echo $ERROR_LOG | razor --scrub --local-only
# Or from a file:
razor --scrub --file /var/log/app/error.log > sanitized.log
Utilisation avancée
CLI autonome
En plus du mode agent M2M, Razor fournit des commandes CLI pour le piping en terminal et les scripts shell locaux :
# Scrub framework frames and output clean log
npm test 2>&1 | razor --scrub > sanitized.log
# Sanitize a specific log file
razor --scrub --file /var/log/app/error.log > sanitized.log
# CLI diagnosis with specific AI provider
razor --file error.log --provider openai
razor --file error.log --provider anthropic
razor --file error.log --local-only
Mode proxy inverse de passerelle IA
Tokenectomy Razor peut fonctionner comme un proxy inverse HTTP local transparent. Il se place entre les applications clientes et les fournisseurs LLM en amont (OpenAI, Anthropic, Ollama, OpenRouter), effectuant une excision de jetons en temps réel et un assainissement des identifiants avant le transfert en amont.
Développement local (loopback par défaut) :
# Forward to OpenAI
razor --proxy --proxy-bind 127.0.0.1:8080 --upstream-url https://api.openai.com/v1
# Forward to local Ollama instance
razor --proxy --proxy-bind 127.0.0.1:8080 --upstream-url http://127.0.0.1:11434/v1
Pointez n'importe quel SDK standard ou client IDE vers le proxy local :
export OPENAI_BASE_URL="http://127.0.0.1:8080/v1"
# Now all API calls are automatically sanitized
Durcissement du proxy en production
La liaison à des interfaces externes (0.0.0.0) nécessite une autorisation explicite par jeton :
razor --proxy --proxy-bind 0.0.0.0:8080 --upstream-url https://api.openai.com/v1 --allow-remote --proxy-token "YOUR_SECURE_TOKEN"
Limites de ressources appliquées : MAX_HEADER_SIZE (64 Ko), MAX_BODY_SIZE (10 Mo), délais d'attente client/amont (30 s / 60 s) et un plafond de concurrence de 128 connexions.
Configuration
Les valeurs de configuration peuvent être définies via ~/.tokenectomy.toml :
default_provider = "openai" # openai | anthropic | ollama | mock
openai_api_key = "sk-..."
anthropic_api_key = "sk-ant-..."
ollama_base_url = "http://localhost:11434"
context_lines = 10
max_context_chars = 10000
Écosystèmes pris en charge
| Langage | Frameworks principaux | Chemins de frameworks exclus |
|---|---|---|
| Rust | Tokio, Actix-web, Axum | .cargo/registry, .rustup, target/debug/build |
| Python | Django, FastAPI, Flask, PyTorch | site-packages, dist-packages, venv, __pycache__ |
| TypeScript / JavaScript | Next.js, Express, NestJS, Vite | node_modules, .next, dist, internals webpack |
| Golang | Gin, Fiber, paniques stdlib | go/src (stdlib), go/pkg/mod, vendor |
| Java / Kotlin | Spring Boot, Quarkus, Gradle | .m2/repository, .gradle/caches, internals de frameworks |
| C / C++ | Backtraces GDB, AddressSanitizer | /usr/include, /usr/lib, vcpkg_installed |
| PHP | Laravel, Symfony | vendor/composer, vendor/symfony, vendor/laravel |
Remarque : Actuellement fourni avec des extracteurs robustes pour Rust, Python, TypeScript/JavaScript et Go. Le support Java/Kotlin, C/C++ et PHP arrive dans la v1.2. Voir #1 pour le suivi de progression.
Comment Tokenectomy se compare
| Fonctionnalité | Tokenectomy | Splunk Log Obfuscation | Datadog Logs | git-secrets |
|---|---|---|---|---|
| Configuration instantanée (sans installation d'agent) | ✅ | ❌ | ❌ | ✅ |
| Fonctionne avec les agents IA (MCP) | ✅ | ❌ | ❌ | ❌ |
| Traitement uniquement local | ✅ | ❌ | ❌ | ✅ |
| Traces de pile polyglottes | ✅ | ✅ | ✅ | ❌ |
| Cache de rédaction (économies de coûts) | ✅ | ❌ | ✅ | ❌ |
| Open source (MIT) | ✅ | ❌ | ❌ | ✅ |
| Prix | OSS gratuit | $$$ /mois | $$$ /mois | Gratuit |
Quand utiliser Tokenectomy :
- ✅ Vous utilisez des agents de codage IA (Claude, Cursor, Cline, etc.)
- ✅ Vous vous souciez de la confidentialité et du traitement local d'abord
- ✅ Vous voulez réduire les coûts de jetons LLM
- ✅ Vous craignez les fuites de secrets dans les journaux Quand utiliser autre chose :
- ❌ Vous avez seulement besoin d'une analyse statique des secrets → utilisez
truffleHog,detect-secrets - ❌ Vous avez besoin de tableaux de bord de surveillance en temps réel → utilisez
Datadog,New Relic,Splunk - ❌ Vos journaux d'erreurs sont naturellement <100 tokens → la surcharge n'en vaut pas la peine
- ❌ Vous êtes entièrement isolé du réseau → En fait, Tokenectomy est parfait ! (traitement 100 % local)
Foire aux questions
Q : Tokenectomy envoie-t-il mes journaux à des serveurs externes ?
R : Non. Toute la rédaction, l'analyse et le filtrage se font localement sur votre machine. Le seul appel réseau est vers le LLM de votre choix (OpenAI, Anthropic, Ollama) après la fin de l'assainissement. Voir SECURITY.md pour la garantie zéro connaissance.
Q : Quels secrets Tokenectomy rédige-t-il ?
R : Les PAT GitHub, les clés AWS, les clés API OpenAI/Anthropic, les JWT, les chaînes de connexion de base de données (PostgreSQL, MySQL, MongoDB, Redis), les clés SSH privées, les webhooks Slack/Discord, et plus encore. Liste complète dans src/redact.rs.
Q : Et si mon secret ne correspond pas aux modèles de rédaction ?
R : Ouvrez un ticket avec un exemple (assaini). Nous ajouterons le modèle. Pour l'instant, vous pouvez ajouter des modèles personnalisés dans ~/.tokenectomy.toml (fonctionnalité à venir en v1.3).
Q : Tokenectomy est-il sûr pour la production ?
R : Oui. Écrit en Rust sûr (zéro code unsafe dans les chemins de sécurité), immunisé contre les ReDoS et audité via RustSec. Voir SECURITY.md pour tous les détails.
Q : Puis-je utiliser Tokenectomy hors ligne ?
R : Oui—sauf pour la recherche Stack Overflow. Utilisez le drapeau --local-only pour désactiver tout accès réseau (sauf votre LLM).
Q : Comment supprimer Tokenectomy ?
R : Il suffit de désinstaller :
npm uninstall -g tokenectomy-razor
# OR
cargo uninstall tokenectomy
Aucun nettoyage de configuration nécessaire—aucun fichier laissé derrière.
Q : Puis-je utiliser Tokenectomy dans mon pipeline CI/CD ?
R : Oui ! Utilisez l'action GitHub Marketplace (voir la section Démarrage rapide) ou le conteneur Docker. Fonctionne avec GitHub Actions, GitLab CI, Jenkins, etc.
Q : Quelle est la différence entre Razor (OSS) et Sentinel (Commercial) ?
R : Razor est la version gratuite et communautaire avec toutes les fonctionnalités essentielles. Sentinel ajoute des capacités avancées comme la guérison AST tree-sitter, les garde-fous anti-hallucination et l'annulation machine à remonter le temps. Voir Comparaison des éditions ci-dessous.
Comparaison des éditions
| Capacité | Razor (OSS communautaire) | Sentinel (niveau commercial) |
|---|---|---|
| Filtrage des journaux de framework | Oui | Oui |
| Extraction de traces polyglottes (4 langages) | Oui | Oui (7 langages) |
Passerelle inverse proxy IA (--proxy) | Oui | Oui |
| Intégration Stack Overflow | Oui | Oui |
| Cache d'idempotence SHA-256 | Oui | Oui |
| Rédaction de secrets sûre contre les ReDoS | Oui | Oui |
| Serveur de protocole MCP (JSON-RPC) | Oui | Oui |
| Compétences d'agent incluses | 2 compétences (Spec TDD & Fuzzer) | Suite complète de 4 compétences |
| Guérison syntaxique AST tree-sitter | Non | Oui |
| Garde-fou de portée anti-hallucination | Non | Oui |
| Boucle de retour de test automatisé | Non | Oui |
| Transactions atomiques multi-fichiers | Non | Oui |
Moteur d'annulation machine à remonter le temps (--undo) | Non | Oui |
| Véritable moteur de chirurgie profonde Ectomy | Non | Oui |
| Diagnostics Docker et port de base de données en direct | Non | Oui |
Intéressé par Sentinel ? Voir les tarifs et fonctionnalités
Feuille de route
| Jalon / Capacité | Statut | Version cible |
|---|---|---|
| Chirurgie de journaux polyglottes de base et rédaction de secrets immunisée contre les ReDoS $O(N)$ | ✅ Terminé | v1.0.0 |
Passerelle inverse proxy IA (--proxy) et cache d'idempotence SHA-256 | ✅ Terminé | v1.1.0 |
| Docker multi-arch (GHCR) et action GitHub Marketplace | ✅ Terminé | v1.1.3 |
Moteur d'analyse de code AST statique (analyze_code) et décalages 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 précompilés multi-arch autonomes (Linux, macOS, Windows) | ✅ Terminé | v1.1.6 |
Liste officielle du registre MCP Anthropic (io.github.Tokenectomy-Labs/razor) | ✅ Terminé | v1.1.7 |
mcpservers.org Synchronisation du répertoire officiel et badge | ✅ Terminé | v1.1.7 |
| Extracteurs de traces de pile de framework Java / Kotlin (Spring Boot 3, Gradle) | ✅ Terminé | v1.2.0 |
| Nettoyeur de backtrace C / C++ (AddressSanitizer et GDB/LLDB) | ✅ Terminé | v1.2.0 |
| Heuristiques de compression de panique et de vidage goroutine Go | ✅ Terminé | v1.2.0 |
awesome-mcp-servers Liste du catalogue du répertoire communautaire | 🔄 En cours | v1.2.0 |
Modèles de rédaction personnalisés définis par l'utilisateur via ~/.tokenectomy.toml | 📋 Prévu | v1.3.0 |
| Seuils de bruit configurables et modèles d'exclusion personnalisés | 📋 Prévu | v1.3.0 |
| Tableau de bord des métriques d'économies de tokens d'agent local et de réduction des coûts | 📋 Prévu | v1.3.0 |
| Extensions compagnons natives VS Code et JetBrains | 📋 Prévu | v1.4.0 |
| Transport MCP distant SSE (Server-Sent Events) | 📋 Prévu | v1.4.0 |
| Guérison et réparation syntaxique AST tree-sitter | ✅ Sentinel (payant) | Disponible maintenant |
Transactions atomiques multi-fichiers et retour en arrière machine à remonter le temps (--undo) | ✅ Sentinel (payant) | Disponible maintenant |
Invariants de sécurité et de fiabilité
- Traitement zéro connaissance : Toute l'analyse et la rédaction se font sur le matériel local avant que les données ne quittent la limite du système.
- Immunité ReDoS : Tous les matchers de modèles utilisent une évaluation par automate fini avec des garanties de temps linéaire. Vérifié dans des benchmarks.
- Isolation contre le traversement de chemin : Les opérations sur les fichiers sont strictement verrouillées dans les limites de l'espace de travail via le module de sécurité
WorkspaceBoundary. - Sécurité mémoire : Implémenté en Rust sûr avec des lecteurs de flux bornés (
.take()) empêchant les attaques d'épuisement des ressources. - Vérification d'audit : Audit continu des dépendances maintenu via les bases de données d'avis RustSec.
Divulgation de vulnérabilité : Voir SECURITY.md pour les procédures de divulgation responsable.
Contribuer
Vous avez trouvé un bug ? Vous avez une demande de fonctionnalité ? Vous voulez ajouter la prise en charge d'un nouveau langage ?
- Tickets : github.com/Tokenectomy-Labs/Tokenectomy/issues
- Demandes de tirage : Fork, créez une branche de fonctionnalité et soumettez une PR avec des tests
- Sécurité : Voir SECURITY.md pour la divulgation privée de vulnérabilités
Voir CONTRIBUTING.md pour les directives de contribution détaillées.
Ressources
- 📖 Documentation — Guides complets, référence API et tutoriels d'intégration
- 📋 Journal des modifications — Historique des versions et changements notables
- 🤝 Contribuer — Comment contribuer, flux de travail de développement et tests
- 🔒 Politique de sécurité — Détails de divulgation des vulnérabilités et d'audit
- 🏗️ Architecture — Conception interne et architecture du système
Licence
Licence MIT. Voir LICENSE pour les conditions complètes.
Fait avec ❤️ par @daffa2555
Des questions ? Ouvrez un ticket ou lancez une discussion sur GitHub.