项目简介
claude-unofficial-api
是一个轻量级的 JavaScript 库,用于与 Claude AI 聊天机器人的非官方内部 API 进行交互。它不依赖任何外部库,因此特别适合需要简单直接集成的开发者。这个项目由 GitHub 用户 @Explosion-Scratch 创建和维护。
项目背景
然而,最近 Claude 似乎屏蔽了所有非浏览器对其内部 API 的访问,这使得这个项目暂时无法正常使用。如果有人有解决方法或者可以绕过这一限制,欢迎提交 Pull Request。
项目特性
claude-unofficial-api
提供了一些有趣且实用的功能:
- 可以启动新的对话
- 支持文件上传
- 包含单元测试,且代码覆盖率达到 85%,测试通过率为 100%
- 提供异步/等待支持,现代化的语法
- 支持获取和回复现有对话
- 支持所有 Claude 模型 (
claude-2
,claude-1.3
,claude-instant-100k
)
此外,项目正在开发的新功能包括:
- 更好的错误处理和缓存层
- 事件钩子和代币使用统计
- 更丰富的命令行界面 (CLI) 和 API 支持
安装指南
要使用 claude-unofficial-api
,可以通过 npm 安装:
npm install claude-ai
另外,对于命令行使用,可以全局安装 CLI:
npm install -g claude-cli
安装完成后,可以运行 claude --help
了解更多关于 CLI 的使用信息。
使用说明
首先,需要导入该库:
const Claude = require('claude-ai');
然后,使用您的会话密钥初始化一个新的 Claude 实例:
const claude = new Claude({
sessionKey: 'YOUR_SESSION_KEY'
});
接下来,通过调用 startConversation()
开始一个对话:
const conversation = await claude.startConversation('Hello Claude!');
通过 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?');
文档
主要类 Claude
提供了接口与 Claude API 进行交互,支持的方法包括:
startConversation(prompt)
:使用给定的提示信息开始新的对话getConversations()
:获取最近的对话clearConversations()
:清除所有对话uploadFile(file)
:上传文件
Conversation
类的方法:
sendMessage(message, options)
:在对话中发送后续消息getInfo()
:获取对话信息delete()
:删除对话
贡献与合作
社区欢迎贡献!如果您有兴趣为该库贡献代码,可以通过提交 Pull Request 来帮助改进。项目的创建者是 GitHub 用户 @Explosion-Scratch。