BetterClaude Workers(BetterClaude API Gateway)
概要
BetterClaude Workersは、AnthropicのClaude系APIをCloudflare Workers上でプロキシし、API呼び出し時に発生する「孤立した(orphaned)tool_result」などの不正なメッセージブロックを自動で検出・除去して400エラーを防ぐミドルウェアです。送信前にペイロードを解析して問題を未然に取り除く能動的(proactive)なクリーニングと、万が一エラーになった場合に応急処置的に再処理して再試行する反応的(reactive)なリトライを組み合わせ、ヘッダーやクライアント情報を保持したまま透過的に中継します。TypeScriptで実装された軽量なWorkersアプリケーションとして、既存のClaudeクライアントの前に置くだけで導入できます。
リポジトリの統計情報
- スター数: 27
- フォーク数: 5
- ウォッチャー数: 27
- コミット数: 3
- ファイル数: 11
- メインの言語: TypeScript
主な特徴
- Auto Error Fix: 孤立したtool_resultブロックを自動検出して削除し、400エラーを回避
- Proactive Cleanup: API呼び出し前にメッセージをクリーニングして事前防止
- Smart Retry: 失敗時にリアクティブに再解析・再送信して回復を試みる
- Transparent Proxy: ヘッダーやクライアントIPなどを保持する透過的な中継
技術的なポイント
BetterClaude WorkersはCloudflare Workersの「エッジでの処理能力」を活かしたAPIゲートウェイとして設計されています。主な技術的アプローチは、受け取ったリクエストボディ(Claude向けのメッセージ配列)をJSONとして解析し、messageブロック内のtool_resultや不整合な構造を検出するパーシング/正規化ロジックを適用する点です。能動的モードではAPIへ送る前に検査・クリーニングを行い、問題のある要素を取り除くことでそもそものエラー発生を抑制します。一方で、予期せぬケースではAPIが400を返すことがあるため、レスポンスのステータスやエラーメッセージを監視して「反応的クリーニング→再試行」のワークフローを実装。これによりエッジでのフォールトトレランスが向上します。
実装面ではTypeScriptによる型安全性を保ちつつ、Cloudflare Workersのfetchを用いたプロキシング、リクエスト/レスポンスヘッダーの透過的コピー、必要に応じたボディの再構築を行います。レスポンスのストリーミングや大きなペイロード処理を考慮し、無駄なシリアライズ/デシリアライズを抑えることや、Workersの実行時間制約を意識した軽量な処理フロー設計がポイントです。また、プロキシとして動作するためロギングやデバッグ向けに検査モードを用意すると導入が容易になります。セキュリティ面では、認証トークンやクライアント情報を適切に転送しつつ、不要な情報漏洩がないよう最小限の加工で済ませることが重要です。結果として、現場でよくある「Claude APIに特定のツール結果が混入して400になる」問題を運用レベルで軽減する実装になっています。
プロジェクトの構成
主要なファイルとディレクトリ:
- .editorconfig: file
- .gitignore: file
- .prettierrc: file
- README.md: file
- package-lock.json: file
…他 6 ファイル
まとめ
Cloudflare Workers上でClaude API呼び出しを安定化する実用的なプロキシ実装です。
リポジトリ情報:
- 名前: betterclaude-workers
- 説明: BetterClaude API Gateway
- スター数: 27
- 言語: TypeScript
- URL: https://github.com/AkideLiu/betterclaude-workers
- オーナー: AkideLiu
- アバター: https://avatars.githubusercontent.com/u/41593290?v=4
READMEの抜粋:
BetterClaude Gateway
An intelligent Claude API proxy built on Cloudflare Workers that automatically fixes orphaned tool_result errors.
Features
- Auto Error Fix: Automatically detects and removes orphaned
tool_resultblocks that cause 400 errors - Proactive Cleanup: Cleans messages before API calls to prevent errors
- Smart Retry: Falls back to reactive cleanup if proactive detection misses edge cases
- Transparent Proxy: Preserves all headers and client information
- …