重要
Claude は内部 API へのブラウザ以外のトラフィックをすべてブロックしたようです。事実上、このプロジェクトは役に立たなくなりました。これを回避する修正/方法がある場合は、 PR してください。ごめんなさい – @Explosion-Scratch
これは、Claude AI チャットボットの非公式内部 API と対話するための軽量 (同型、依存関係なし) JavaScript ライブラリです。 CLIのインストール、APIのインストール+使用方法
追記。完全なプロジェクトをコーディングして有効な JSON を出力することもできます
新しい会話を始める
?ファイルをアップロードする
?コードのカバー率が 85%、合格率が 100% の単体テストが含まれています。
?同型 (プロキシを設定すると仮定すると、cors が悲しくなります)
最新の構文で非同期/待機に対応
?既存の会話を取得して応答する
今後の予定
setActiveModel
、利用可能なモデルをリストし、既存の会話にメッセージを直接送信します?すべてのクロード モデルをサポートします ( claude-2
、 claude-1.3
、 claude-instant-100k
- --model
フラグを参照)
npm install claude-ai
npm install -g claude-cli
注CLI の詳細については、
claude --help
を実行するか、CLI_DOCS.md を参照してください。
まず、ライブラリをインポートします。
const Claude = require ( 'claude-ai' ) ;
セッション キーを使用して新しい Claude インスタンスを初期化します。
注: Claude Web サイトを介して
sessionKey
Cookie からsessionKey
取得します。
const claude = new Claude ( {
sessionKey : 'YOUR_SESSION_KEY'
} ) ;
プロンプト メッセージを指定してstartConversation()
を呼び出して会話を開始します (または.getConversations()
を介して既存の会話を取得します)。
const conversation = await claude . startConversation ( 'Hello Claude!' ) ;
Conversation
インスタンスは、チャットを継続するためのsendMessage()
などのメソッドを公開します。
await conversation . sendMessage ( 'How are you today?' ) ;
完全なコードは次のようになります。
const Claude = require ( 'claude-ai' ) ;
const claude = new Claude ( {
sessionKey : 'YOUR_SESSION_KEY'
} ) ;
await claude . init ( ) ;
const conversation = await claude . startConversation ( 'Hello Claude!' ) ;
await conversation . sendMessage ( 'How are you today?' ) ;
完全な API リファレンスについては、以下のドキュメントを参照してください。
Claude
Claude API とインターフェイスするためのメイン クラス。
コンストラクタ:
const claude_instance = new Claude ( {
sessionKey : string ,
proxy : string | ( { endpoint , options } ) => ( { endpoint , options } )
} )
claude.request
関数を変更することもできます (詳細についてはソースを参照してください)。proxy
が文字列の場合、API エンドポイントの前に単純に追加されます。例: https://claude.ai/
パラメータ:
sessionKey
- クロードのsessionKey
クッキーメソッド (インスタンス上):
startConversation(prompt)
- 指定されたプロンプト メッセージで新しい会話を開始しますgetConversations()
- 最近の会話を取得しますclearConversations()
- すべての会話をクリアしますuploadFile(file)
- ファイルをアップロードしますConversation
Claude.startConversation()
によって返されます。
方法:
sendMessage(message, options)
- 会話内でフォローアップ メッセージを送信しますgetInfo()
- 会話を取得します (メッセージ、名前、created_at、update_at などを含む)delete()
- 会話を削除します (フェッチ応答を返します)SendMessage オプション:
timezone
- 完了のタイムゾーンattachments
- 添付ファイルの配列model
- 使用するクロード モデル (デフォルト: claude-2
、私が知っている他のモデルにはclaude-1.3
、およびclaude-instant-100k
があります。 claude-1
も受け入れられるようですが、 claude-1.3
に変換されます)done
- 完了時のコールバックprogress
- 進行状況コールバック貢献は大歓迎です!このライブラリは、GitHub 上の @Explosion-Scratch によって作成されました。改善のために PR を送信してください。