Claude Codeをリバースエンジニアリングして、SDK全体を4つの言語で作り直しました。1ファイル構成。依存関係ゼロで、オープンソースです。既存のPro/Maxサブスクリプションをそのまま使います。
なぜ:Claude Codeは190MBのBunバンドルです。私は、巨大なバイナリやnpmに依存せずに、自分のプロジェクト内でその機能(ストリーミング、ツール呼び出し、マルチターンのエージェントループ)を使いたかったのです。どんなリポジトリにもそのままコピーできる「1ファイル」が目標でした。
わかったこと:サブスクリプションの認証プロトコルには同時に4つのものが必要でした。macOSのキーチェーンからのOAuthトークン、特定のベータヘッダー、システムプロンプト内に隠された請求(ビリング)ヘッダー、そしてブラウザアクセス用ヘッダーです。これらはすべて公開ドキュメント化されていません。
SDK:
- Node.js(claude-native.mjs)— 依存関係0
- Python(claude-native.py)— 依存関係0
- Go(claude-native.go)— 依存関係0
- Rust(rust-sdk/)— serde + reqwest
それぞれが提供するもの:
- OAuthまたはAPIキー認証
- ストリーミング+ツール利用を含む完全なエージェントループ
- 内蔵ツール(bash、read、write、glob、grep)
- 自動化用のNDJSONブリッジ(サブプロセスとして起動し、stdin/stdoutでJSON)
- インタラクティブREPL
- MCPサーバー対応
使い方はシンプルです: cp claude-native.py your-project/ → python3 claude-native.py -p "explain this code"。以上です。
MITライセンスです。フィードバックやPR歓迎です :)
[link] [comments]




