重要的
Claude 似乎已經阻止了所有非瀏覽器到其內部 API 的流量——有效地使這個專案變得毫無用處。如果您有解決方案/方法來解決此問題,請 PR 。抱歉 – @Explosion-Scratch
這是一個輕量級(同構、0 依賴)JavaScript 函式庫,用於與 Claude AI 聊天機器人的非官方內部 API 進行互動。 CLI安裝、API安裝+使用
噓。它還可以編碼完整的項目並輸出有效的 JSON
開始新的對話
?上傳文件
?單元測試包括 85% 的程式碼覆蓋率和 100% 的通過率!
?同構(假設你設定了代理,這讓我很難過)
使用現代語法準備非同步/等待
?取得並回覆現有對話
即將推出
setActiveModel
,列出可用模型,直接向現有對話發送訊息?支援所有 claude 模型( claude-2
、 claude-1.3
、 claude-instant-100k
- 請參閱--model
標誌)
npm install claude-ai
npm install -g claude-cli
請注意運行
claude --help
或參閱 CLI_DOCS.md 以了解有關 CLI 的更多信息
首先,導入庫:
const Claude = require ( 'claude-ai' ) ;
使用您的會話金鑰初始化一個新的 Claude 實例:
注意透過 Claude 網站從
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/
://claude.ai/參數:
sessionKey
- 您的 Claude sessionKey
cookie方法(在實例上):
startConversation(prompt)
- 使用給定的提示訊息開始新對話getConversations()
- 取得最近的對話clearConversations()
- 清除所有對話uploadFile(file)
- 上傳文件Conversation
由Claude.startConversation()
傳回。
方法:
sendMessage(message, options)
- 在對話中發送後續訊息getInfo()
- 取得對話(包括訊息、名稱、created_at、update_at 等)delete()
- 刪除對話(返回獲取回應)發送訊息選項:
timezone
- 完成的時區attachments
- 檔案附件數組model
- 要使用的 Claude 模型(預設值: claude-2
,我知道的其他模型包括claude-1.3
和claude-instant-100k
。似乎也接受claude-1
但將其轉換為claude-1.3
)done
- 完成時回調progress
- 進度回調歡迎投稿!該庫由 GitHub 上的 @Explosion-Scratch 建立。請提交 PR 來幫助改進它。