重要的
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 来帮助改进它。