Tokenectomy Razor について
Tokenectomy Razorは、エラーログの簡略化、認証情報のマスキング、プロンプトのキャッシュを行う、コーディングエージェント向けのローカルAIゲートウェイ兼MCPサーバーです。診断ツールも備え、異なるLLMのリクエスト形式を中継できます。
主な機能
- 01エラーログからフレームワークのスタックを削減
- 02ログ内の認証情報やキーをマスキング
- 03プロンプトをキャッシュしローカルゲートウェイで転送
- 04AnthropicとOpenAIのリクエスト形式を変換
- 05エラーコンテキスト、コード分析、パッチのツール
- 06トークン削減とマスキング状況の表示
活用シーン
- 01テスト出力を整理してコーディングエージェントに分析させる
- 02エラーログをモデルへ送る前に認証情報を除去
- 03MCPツールでエラー情報を取得してコードを分析
MCP 対応
付属のMCPサーバーは、エラーコンテキストの取得、コード分析、コードパッチ適用のツールをエージェントに提供します。ゲートウェイは単独でも動作し、MCPサーバーはstdioで設定できます。
設定
ローカルサーバーの設定はどのクライアントでも共通です。コピーしてクライアントの MCP 設定ファイルに貼り付けてください。
ツール
ローカルサーバーのツールはマシン上で起動して初めて取得できます。メンテナーはまだツール一覧を提供していません。
詳細
Tokenectomy Razor
Claude CodeとCursorのレート制限を解消:Rust製のゼロレイテンシー・ローカルAIゲートウェイ&コンテキスト手術MCPサーバー
node_modulesのスタックトレースに20,000トークンを浪費するのはやめましょう。Tokenectomy Razorは、安全なRustで書かれた、サブミリ秒のローカルAIゲートウェイ・リバースプロキシ(127.0.0.1:8080)と連携MCPサーバーです。ターミナルのエラーログからフレームワークのノイズを41.7%~99.7%除去し、漏えいしたDB認証情報やJWTを伏せ字にし、プロンプトを無料でキャッシュします。
クイックスタート(10秒) • アーキテクチャ • 問題点 • 導入前と導入後 • インタラクティブなライブデモ • ベンチマーク
┌────────────────────────────────────────────────────────┐
│ 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)
⚡ クイックスタート(10秒)
0. 設定不要のワンライナーラッパー(wrap)
環境変数を手動で設定することなく、任意のコーディングエージェントやテストスイートをTokenectomyのプライバシー保護・キャッシュゲートウェイ経由で直接実行できます。
# 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. スタンドアロンAIゲートウェイを起動する(手動モード)
npx -y tokenectomy-razor --proxy
💡 スマートな複数プロバイダー自動ルーティング&ユニバーサルLLMトランスパイラーはデフォルトで有効です! Tokenectomyはリクエストパスとヘッダーを自動的に分析します。Claude CodeをDeepSeekやOllamaで実行したいですか? TokenectomyはAnthropicの
/v1/messages形式をOpenAIの/v1/chat/completions形式に、またその逆にも、実行時に透過的に変換します。
2. お好みのエージェントを接続する
コーディングエージェントまたはCLIを、127.0.0.1:8080のローカルゲートウェイに接続します。
| エージェント/環境 | セットアップコマンドまたは設定 | 自動ルーティング先 |
|---|---|---|
| Claude Code | export ANTHROPIC_BASE_URL="http://127.0.0.1:8080" | https://api.anthropic.com |
| Cursor | モデル > OpenAIベースURL: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 | プロバイダー:OpenAI互換 • ベースURL:http://127.0.0.1:8080/v1 | https://api.openai.com |
| Ollama/ローカルLLM | ベースURL:http://127.0.0.1:8080 | http://localhost:11434 |
3. リアルタイム FinOps とセキュリティのダッシュボード
ブラウザーで http://127.0.0.1:8080/dashboard を開くと、トークン削減量、プロンプトキャッシュのヒット数、コスト削減額、マスキングされた認証情報をリアルタイムで確認できます。
4. コンパニオン MCP サーバーのセットアップ(サブコーテックス)
詳細な診断ツール(get_error_context、analyze_code、apply_code_patch)を呼び出すエージェント向け:
Claude Code CLI
claude mcp add tokenectomy npx -y tokenectomy-razor --mcp
Google Antigravity / Gemini CLI
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. ターミナルのパイプ処理と CLI のスクラビング
npm test 2>&1 | npx tokenectomy-razor
🛑 問題:AI がレート制限に達し、幻覚を起こす理由
開発中にアプリがクラッシュすると(Next.js、Express、FastAPI、Tokio)、ランタイムは node_modules や site-packages にあるサードパーティ製ライブラリーの処理を何百行も出力します。
この未加工のクラッシュダンプを Cursor や Claude に貼り付けると:
- 5 時間のレート制限を消費します:Express / Prisma のエラーが 1 つ発生しただけで、作成した覚えのないサードパーティーライブラリーのコードが 5,000~45,000 トークン出力されることがあります。クラッシュループが数回起きれば、セッションの上限を簡単に使い切ってしまいます。
- AI の幻覚を引き起こします:Claude はフレームワーク内部(
node_modules/express/lib/router/layer.jsやstarlette/routing.py)の解析に行き詰まり、実際のアプリケーションコードではなく、ライブラリーファイルを編集しようとします。 - 秘密情報と認証情報が漏えいします:生のデータベースパスワードを含む接続文字列、JWT ベアラートークン、エラートレースに埋め込まれたクラウドキーが、外部のモデルサーバーに転送されます。
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)
🔍 導入前後の比較
❌ Tokenectomy なし:AI が幻覚を起こし、コンテキストを浪費します
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:[email protected]:5432/primary
API key leaked: sk-ant-api03-abcdef1234567890abcdef1234567890
Claude の動作:
load-components.jsとnext-server.jsを解析し、Webpack / Next.js の内部について推測し、接続認証情報をリモート推論ログに漏えいさせます。
✅ Tokenectomy あり:整理されたコンテキストですばやく修正
// [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]
Claude の動作:
checkout.tsの 42 行目で、未定義のヘッダーに対して.tokenにアクセスしようとしたことをすぐに特定します。オプショナルチェーンreq.headers.authorization?.tokenをただちに提案します。認証情報は送信前にマスキングされます。
🔬 検証可能なベンチマーク
すべてのパフォーマンスに関する主張はハードウェアに基づいており、実機で独立して再現できます(Arch Linux、Kernel 6.13 を実行する 10-Core Intel Core i5-1235U @ 15W で測定):
ハードウェア依存性に関する注意: パフォーマンスはハードウェアに依存します。報告されたスループットは、指定したテスト用ハードウェア(10-Core Intel Core i5-1235U @ 15W TDP)で測定した結果です。スループットは、TDP の高いデスクトップ/サーバー向け CPU と、より高速なメモリーバスで向上します。開発者の皆様には、以下の再現コマンドを使ってパフォーマンスを独自に検証することをおすすめします。
📋 クリックしてベンチマーク端末ログの全体を展開($ 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
| ベンチマーク対象 | テスト対象のワークロード | 検証済みの測定値 | 結果 |
|---|---|---|---|
| ログのマスキングスループット | API キーと接続 URI を含む 250,000 行(24.44 MB)のエンタープライズダンプ | 530,735 行/秒(471.0 ms、51.9 MB/s) | 合格 |
| ReDoS 耐性 | 病的なバックトラッキングを引き起こす 50,000 文字の正規表現ペイロード | 1.16 ms(決定論的な線形 $O(N)$ DFA 評価) | 合格 |
| スレッド並行性 | 100 個の OS スレッドで同時にマスキングを実行 | 17,688 ops/秒(11.31 ms で 100/100 件完了) | 合格 |
| メモリーフットプリント | 250k 行の連続ストレステスト中の最大常駐メモリー | /proc/self/status による 76.05 MB VmRSS(入力バッファーサイズの約 3 倍) | 合格 |
| リリーステストスイート | 抽出器、フィルター、アナライザーを対象とした統合テスト一式 | 90 / 90 件が検証済みで成功(パニック、リークともにゼロ) | 合格 |
🛡️ 自動レダクションとシークレットのサニタイズに関するベンチマーク
22 個の正解資格情報とクリーンなネガティブコントロールを含む、12 個の複数言語によるクラッシュトレース(Rust、Python、TypeScript、Go、YAML)の内部ベンチマーク用テストフィクスチャ(tests/fixtures/)で評価しました。Gitleaks v8.30.1(デフォルトのルールセット)と直接比較して評価しました。
アーキテクチャに関する注記: Gitleaks は主にリポジトリのコミットや差分をスキャンするように設計されており、メモリー上のランタイムトレースをレダクションするためのものではありません。Tokenectomy Razor は、ランタイムストリームのサニタイズとスタックトレースの編集に特化して設計されています。
1. カテゴリー別の適合率、再現率、F1 スコア
| シークレットのカテゴリー | 正解数 | Razor の再現率 | Razor の F1 | Gitleaks の再現率 | Gitleaks の F1 | サニタイズの優位性 |
|---|---|---|---|---|---|---|
Anthropic Claude API キー(sk-ant-...) | 1 | 100.0% | 100.0% | 0.0% | 0.0% | 再現率 +100%(M2M で漏えいゼロ) |
AWS アクセスキー ID(AKIA...) | 1 | 100.0% | 100.0% | 0.0% | 0.0% | 再現率 +100%(M2M で漏えいゼロ) |
| AWS シークレットアクセスキー | 1 | 100.0% | 100.0% | 0.0% | 0.0% | 再現率 +100%(M2M で漏えいゼロ) |
| データベース URI(PostgreSQL、MySQL、Redis、Mongo) | 4 | 100.0% | 100.0% | 0.0% | 0.0% | 再現率 +100%(M2M で漏えいゼロ) |
| 一般的なパスワード/認証シークレット(YAML/JSON) | 3 | 100.0% | 100.0% | 0.0% | 0.0% | 再現率 +100%(M2M で漏えいゼロ) |
GitHub 個人用アクセストークン(ghp_...) | 1 | 100.0% | 100.0% | 0.0% | 0.0% | 再現率 +100%(M2M で漏えいゼロ) |
GitLab 個人用アクセストークン(glpat-...) | 1 | 100.0% | 100.0% | 100.0% | 100.0% | 同等(100% 検出) |
HuggingFace API トークン(hf_...) | 1 | 100.0% | 100.0% | 0.0% | 0.0% | 再現率 +100%(M2M で漏えいゼロ) |
| JSON Web Token(RFC 7519/切り詰められたもの) | 2 | 100.0% | 100.0% | 100.0% | 100.0% | 同等(100% 検出) |
npm レジストリアクセストークン(npm_...) | 1 | 100.0% | 100.0% | 0.0% | 0.0% | 再現率 +100%(M2M で漏えいゼロ) |
OpenAI API キー(sk-...、sk-proj-...) | 1 | 100.0% | 100.0% | 100.0% | 100.0% | 同等(100% 検出) |
| PEM 秘密 RSA キーブロック | 1 | 100.0% | 100.0% | 100.0% | 100.0% | 同等(100% 検出) |
PyPI パッケージアップロードトークン(pypi-AgEI...) | 1 | 100.0% | 100.0% | 100.0% | 100.0% | 同等(100% 検出) |
SendGrid API キー(SG...) | 1 | 100.0% | 100.0% | 0.0% | 0.0% | 再現率 +100%(M2M で漏えいゼロ) |
Slack ボット/ユーザートークン(xoxb-...) | 1 | 100.0% | 100.0% | 100.0% | 100.0% | 同等(100% 検出) |
Stripe ライブ/テストシークレットキー(sk_live_...) | 1 | 100.0% | 100.0% | 100.0% | 100.0% | 同等(100% 検出) |
2. 直接比較によるパフォーマンスとアーキテクチャの概要
| 項目 | Tokenectomy Razor(--scrub) | Gitleaks v8.30.1 | アーキテクチャ上の根拠 |
|---|---|---|---|
| シークレット全体の再現率 | 100.0%(22/22) | 36.4%(8/22) | Razor は、差分向けルールで見逃される引用符なし URI、DB ポート、AI キーを検出します |
| 全体の適合率 | 100.0%(偽陽性 0 件) | 88.9% | コンパイラーエラーや圧縮トレースで誤検出がありません |
| 全体の F1 スコア | 100.0%(内部フィクスチャ) | 51.6% | クラッシュのコンテキストに特化した包括的なカバレッジを実現するよう設計されています |
| 実行エンジン | 高スループットの Rust DFA($O(N)$) | Go の正規表現スキャナー+Git ツリークローラー | エージェントがバックトレースをストリーミングする際のレイテンシーは 1 ミリ秒未満です |
| ReDoS 耐性 | 決定論的な線形時間($O(N)$) | エンジンに依存 | バックトラッキングを行わない DFA 正規表現により、テスト済みダンプでの壊滅的なバックトラッキングを防止します |
| サニタイズ処理 | トークンをインラインでレダクション([KEY_REDACTED]) | 警告ログのみ(スクラブなし) | LLM の中枢に取り込まれる前に、テキストを直接サニタイズします |
3. トークン削減と LLM コンテキストの節約(tiktoken cl100k_base)
| 指標 | 測定値 | AI コーディングエージェントにおける運用上の効果 |
|---|---|---|
| 平均トークン削減率 | 41.67% | 生のクラッシュトレースのトークン数を一貫して削減します |
| 中央値の削減率(P50) | 42.95% | 認証情報や接続情報のダンプを典型的な割合で削減します |
| 90 パーセンタイル(P90) | 61.42% | 複数行にわたる長いキーや認証情報を取り除きます |
| 最小/最大の範囲 | 0.00% — 81.36% | クリーンなネガティブコントロールでは 0%(歪みなし)、漏えい時は最大 81.4% です |
| 保持/削減したトークンの合計 | 920 トークン(純削減率 44.02%) | コンテキストウィンドウの飽和を防ぎ、LLM の利用料金を削減します |
🔌 エージェントとゲートウェイの高度な設定
1. マルチプロバイダー AI ゲートウェイのオプション(--proxy)
Tokenectomy のゲートウェイは、手動設定なしでローカルの 127.0.0.1:8080 上で動作します。複雑な開発環境やコンテナ化されたエージェントの構成では、バインドとルーティングをカスタマイズできます。
# 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"
リアルタイムメトリクスと Prometheus エクスポート
Tokenectomy は、FinOps とトークンエコノミクスに関するライブデータを JSON で公開します。
curl http://127.0.0.1:8080/v1/metrics
rate_limits_mitigated、circuit_breaker_trips、last_latency_ms、current_hourly_tokens、cache_hits、cache_tokens_saved、estimated_cost_saved_usd のテレメトリを即時に返します。
2. スタンドアロン CLI とターミナルのスクラブ
デバッグ時や、ターミナルのテスト出力を直接パイプで渡す場合:
# 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
🛠️ 公開されている MCP ツール
Tokenectomy Razor は、明示的なパラメーター境界を備え、**Glama Grade A ツール定義品質スコア(TDQS)**に準拠しています。
| ツール名 | 機能の説明 |
|---|---|
get_error_context | エラーダンプのトレースを解析し、フレームワーク由来のノイズを除去して認証情報を秘匿し、ワークスペース内に限定した関連するローカルソースのコンテキストを抽出します。 |
analyze_code | 静的な AST コード解析を実行し、リソースリーク、未クローズのハンドル、構文上の脆弱性を検出します。実行制限を設け、正確な LSP UTF-16 座標を使用します。 |
apply_code_patch | ファイルの変更をアトミックに適用し、書き込み後に言語構文を検証(cargo check、py_compile、node --check)して、失敗時には自動でロールバックします。 |
search_stack_overflow | サニタイズして秘匿処理した検索語を使い、Stack Exchange API で関連するエラーシグネチャを検索します。 |
audit_context_health | 生のログ、トレース、プロンプトのペイロードを監査し、トークンの過剰な使用、フレームワーク由来のノイズ、認証情報を検出します。M2M テレメトリ、削減メトリクス、コンテキストの健全性評価を返します。 |
🌐 対応するポリグロットエコシステム
| 言語 | 対応フレームワーク | 除外されるフレームワーク内部要素 |
|---|---|---|
| Rust | Tokio、Actix-web、Axum | .cargo/registry、.rustup、target/debug/build |
| TypeScript / JS | Next.js、Express、NestJS、Vite | node_modules、.next、dist、webpack 内部要素 |
| Python | Django、FastAPI、Flask、PyTorch | site-packages、dist-packages、venv、__pycache__ |
| Golang | Gin、Fiber、Stdlib Panics | go/src(標準ライブラリ)、go/pkg/mod、vendor |
| Java / Kotlin | Spring Boot 3、Tomcat、Netty | .m2/repository、.gradle/caches、内部バイトコード |
| 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、内部 rack ハンドラー |
| PHP | Laravel、Symfony | vendor/composer、vendor/symfony |
📦 インストール方法
方法 1:npx ですぐに利用(ツールチェーンのセットアップ不要)
npx -y tokenectomy-razor --mcp
方法 2:Cargo(crates.io)
cargo install tokenectomy
方法 3:コンパイル済みスタンドアロンバイナリ
依存関係が不要なスタンドアロンのリリースバイナリを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
方法 4:マルチアーキテクチャ対応 Docker コンテナ(GHCR)
docker pull ghcr.io/tokenectomy-labs/razor:latest
docker run -i ghcr.io/tokenectomy-labs/razor:latest --mcp
⚖️ エディションの比較
| 機能 | Razor(コミュニティ OSS) | Sentinel(商用ティア) |
|---|---|---|
| 多言語スタックトレースの修復 | はい(9 つのランタイム言語) | はい(9 言語すべて + AST による深いセマンティック修復) |
| O(N) ReDoS 対策済みシークレットのマスキング | はい | はい |
| JSON-RPC 2.0 MCP サーバー | はい | はい |
AI ゲートウェイのリバースプロキシ(--proxy) | はい | はい |
| SHA-256 冪等性キャッシュ(TTL 24 時間) | はい | はい |
| FinOps メトリクスダッシュボード | はい | はい |
| 構文検証ロールバック(コンパイラー/リンター) | はい | はい |
| 自動テストスイートのロールバック(差分ゼロ) | — | はい |
| Tree-sitter AST 構文修復 | — | はい |
| ハルシネーション防止スコープガード | — | はい |
| 複数ファイルのアトミックトランザクション | — | はい |
タイムマシン巻き戻しエンジン(--undo) | — | はい |
| 自律修復ステートマシン | — | はい |
エンタープライズ向け AST 自己修復が必要ですか? Sentinel ティアをご覧ください
🗺️ ロードマップとマイルストーン
| マイルストーン/機能 | ステータス | 目標 |
|---|---|---|
| コアの多言語ログ修復と $O(N)$ ReDoS のレダクション | ✅ 完了 | v1.0.0 |
AI ゲートウェイのリバースプロキシ(--proxy)と冪等性キャッシュ | ✅ 完了 | v1.1.0 |
| マルチアーキテクチャ Docker と GitHub Actions Marketplace アクション | ✅ 完了 | v1.1.3 |
静的 AST 解析エンジン(analyze_code)と UTF-16 LSP | ✅ 完了 | v1.1.5 |
| Glama.ai ツール定義品質スコア(TDQS グレード A) | ✅ 完了 | v1.1.5 |
| プリコンパイル済みスタンドアロンバイナリ(Linux、macOS、Windows) | ✅ 完了 | v1.1.6 |
公式 MCP レジストリへの掲載(io.github.Tokenectomy-Labs/razor) | ✅ 完了 | v1.1.7 |
mcpservers.org ディレクトリへの掲載 | ✅ 完了 | v1.1.7 |
| Java/Kotlin(Spring Boot 3)と C/C++(ASan)の抽出器 | ✅ 完了 | v1.2.0 |
| C#(.NET)と Ruby on Rails の詳細なスタック修復 | ✅ 完了 | v1.2.2 |
ユーザー定義のカスタムレダクションルールとノイズルール(~/.tokenectomy.toml) | ✅ 完了 | v1.2.2 |
自律型コンテキスト健全性監査(audit_context_health)と M2M アドバイザリー | ✅ 完了 | v1.2.2 |
| レダクションの自動ベンチマークと CI ゲート | ✅ 完了 | v1.2.2 |
宣言型アドバイザリー M2M 制御プレーン([:TOKENECTOMY:M2M_CONTROL_PLANE:v1.3.0]) | ✅ 完了 | v1.3.0 |
対話型マルチ戦略バジェット設定(aggressive、conservative、lossless_compact) | ✅ 完了 | v1.2.3 |
| GitHub Actions OIDC 公式レジストリ公開ゲート | ✅ 完了 | v1.2.3 |
awesome-mcp-servers コミュニティカタログへの掲載 | ✅ 完了 | v1.2.4 |
インラインの破棄フレーム識別情報([DROPPED_FRAMES: ...])とサイレント切り捨て防止監査 | ✅ 完了 | v1.3.1 |
コンテンツアドレス指定型の生ログキャッシュと検証ハッシュ(--diff-verify) | ✅ 完了 | v1.3.1 |
| スマートなマルチプロバイダー自動ルーティング(Anthropic、OpenAI、Ollama)とコストゼロのプロンプトキャッシュ | ✅ 完了 | v1.3.3 |
エージェント安全回路ブレーカー(--max-hourly-tokens)、429 自動再試行緩和機能、CORS プリフライト | ✅ 完了 | v1.3.3 |
ユニバーサル LLM 形式トランスパイラー(OpenAI /v1/chat/completions ⇄ Anthropic /v1/messages) | ✅ 完了 | v1.3.4 |
ゼロ設定のエージェントコマンドラッパー(razor wrap -- <cmd>)と Git プレコミットフック | ✅ 完了 | v1.3.4 |
| マルチプロバイダーの高可用性と自動障害時フォールバック | 📋 計画中 | v1.4.0 |
宣言型 AI ゲートウェイ設定(gateway.toml / tokenectomy.yaml) | 📋 計画中 | v1.4.0 |
| 完全な SSE ストリーミングトークンキャッシュエンジン | 📋 計画中 | v1.4.0 |
| VS Code と JetBrains のネイティブコンパニオン拡張機能 | 📋 計画中 | v1.4.0 |
| Server-Sent Events(SSE)リモート MCP トランスポート | 📋 計画中 | v1.4.0 |
🔒 セキュリティと不変条件
- デフォルトでローカル実行: スタックトレースの解析、フレームの削減、シークレットのレダクションは、すべて物理ハードウェア上でローカルに実行されます。
- ネットワーク送信の明示: MCP サーバーモードでは、外部ネットワークへ接続するツールは
search_stack_overflowのみです(api.stackexchange.comへの HTTPS 接続)。送信ペイロードはサニタイズおよびレダクション済みのエラーシグネチャテキストに厳密に限定され(コード行、ローカルパス、認証情報は含まれません)、エアギャップ環境では--local-onlyを使用してネットワーク検索を完全に無効化できます。 - 決定論的な線形時間パターンマッチング: すべてのパターンマッチャーは、バックトラッキングを行わない DFA 正規表現エンジン($O(N)$ の線形時間)と Aho-Corasick オートマトン評価を使用します。
- パストラバーサル境界の隔離: ファイル操作は、アクティブなワークスペースのルート(
CWD)内に厳密に制限されます。パストラバーサル(../)と許可されていないシンボリックリンクはブロックされます。 - 安全な Rust 実装: コア実行パスでは安全な Rust のメモリ保証を適用し、上限付きストリームリーダー(
.take())によってリソースの枯渇を防ぎます。
脆弱性の報告については、セキュリティポリシーをご確認ください。
⚖️ 法的事項および派生フォークに関する免責事項
Tokenectomy Razor は、合法的な開発者の生産性向上、可観測性、ログの編集、ならびに防御目的の認証情報の秘匿に限って提供されています。派生フォーク、クローン、再配布、またはプライベート環境へのデプロイは、元の作成者とは完全に独立して運用されます。Tokenectomy Labs およびそのメンテナーは、このコードベースまたはその派生物を使用した第三者による違法、悪意のある、または無許可の行為について、一切の責任を負いません。すべての派生版の運用者は、各自の責任において、地域および国際的なサイバーセキュリティ法令を遵守するものとします。法的条件の全文は DISCLAIMER.md をご覧ください。
❓ よくある質問(FAQ)
Tokenectomy Razor は Claude Code と Cursor のレート制限への到達をどのように防ぎますか?
テストやターミナルでのビルドがクラッシュすると、Next.js、Express、Jest、Django などのフレームワークは、内部のスタックフレーム(node_modules、site-packages)を数千行にわたって出力します。クラッシュログをそのまま 5,000 行送信すると、1 プロンプトあたり 15,000~45,000 トークンを消費し、5 時間のセッション制限に数分で達してしまいます。Tokenectomy Razor はログを傍受し、実行可能なアクションにつながらないフレームワークの処理の 95% を取り除くことで、40,000 文字のクラッシュログを 0.2ms 未満で、重要なトークン 200 個未満に削減します。
Cursor から LLM へ node_modules のエラーログが送信されないようにするにはどうすればよいですか?
Tokenectomy Razor をローカル AI ゲートウェイのリバースプロキシとして実行します(npx -y tokenectomy-razor --proxy)。Cursor の設定で、OpenAI Base URL を http://127.0.0.1:8080/v1 に設定してください。Composer に貼り付けたり参照させたりしたターミナルのエラー出力は、モデルサーバーに届く前に自動でサニタイズ、除去、キャッシュされます。
Tokenectomy はエラーログから認証情報が漏えいするのをどのように防ぎますか?
ログの編集とシークレットの秘匿はすべて、外部へ送信する前に、マシン上でメモリ内の処理として 100% ローカルに実行されます。Razor は決定的な線形時間の正規表現と Aho-Corasick オートマトンを使用し、PostgreSQL/MongoDB の接続 URI、JWT ベアラートークン、クラウド API キーを検出して、[REDACTED] トークンで秘匿します。秘匿処理にクラウドへのデータ送信は必要ありません。
🤝 コミュニティとリソース
- 🌐 公式ウェブサイト
- 📖 ドキュメント
- 🏗️ システムアーキテクチャ
- 📋 変更履歴
- 🤝 貢献ガイドライン
- 🔒 セキュリティポリシー
- ⚖️ 免責事項および責任
コメント
AI アプリケーションが外部のツールやデータソースに統一的な方法で接続するためのオープンなプロトコルです。クライアントはモデルとの対話を担い、MCP サーバーはツール・リソース・プロンプトテンプレートを提供します。標準メッセージでやり取りするため、1 つのサーバーを複数のクライアントで再利用できます。