# Claude2-JavaAPI **Repository Path**: hty741203776/claude2-java-api ## Basic Information - **Project Name**: Claude2-JavaAPI - **Description**: 一个使用java实现Claude2 创建会话、聊天、发送附件、获取历史会话,清理历史记录等功能的api接口,可以对接第三方系统作为二次开发使用,且性能优越 - **Primary Language**: Java - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 4 - **Forks**: 2 - **Created**: 2023-11-29 - **Last Updated**: 2024-02-04 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 🤖 Claude2 Java API #### 🎉介绍 一个使用java实现Claude2 创建会话、聊天、发送附件、获取历史会话,清理历史记录等功能的api接口,可以对接第三方系统作为二次开发使用,且性能优越 #### 🎉需要环境 需要jdk 9+ 最好jdk17 #### 🎉使用说明 结合[easyHttp](https://gitee.com/hty741203776/easy-http) 高效请求,高度封装,使得使用非常简单 ```java // 综合测试代码 Claude2Model claude2Model = new Claude2Model(); claude2Model.setCookie("411230a; intercom-123123NXd701157665-0-ATr88VFiZgSTZqcMq2FbEaqGS3vXMUjkBpTdeKGFKO1RkZQAg8="); // cookie claude2Model.setOrganizationId("123456"); // 组织号 claude2Model.setConversationId("345678"); // 会话号 claude2Model.setProxy(true); claude2Model.setProxyHost("xx"); claude2Model.setProxyPort(1111); ``` ##### 🎉查看历史会话 ```java Claude2Api.list_all_conversations(claude2Model); ``` ##### 🎉删除某个会话 ```java Claude2Api.delete_chat(claude2Model); ``` ##### 🎉重命名某个会话 ```java Claude2Api.rename_chat(claude2Model,"~~~我是一朵花儿~~~"); ``` ##### 🎉查看某个会话的对话 ```java Claude2Api.chat_conversation_history(claude2Model); ``` ##### 🎉创建新会话 ```java Claude2Api.new_chat(claude2Model); ``` ##### 🎉发送消息(可带多附件)(不带files为null即可) ```java Claude2Api.append_message(claude2Model,files,"~~~叽里呱啦叽里呱啦~~~"); ``` ```java Claude2Api.append_message(claude2Model,null,"~~~叽里呱啦叽里呱啦~~~"); ``` #### 🎉sdk的model model在com.mqxb.common.xxxx下 注意:如果使用gson没有自带的转化类,如 LocalTimeDate 则需要写序列化/反序列化转化器 否则会报错 反序列化都写在com.mqxb.common.jsonDeserializer下,如果你新增,会自动读取 ```java package com.mqxb.common.jsonDeserializer; import com.google.gson.JsonDeserializationContext; import com.google.gson.JsonDeserializer; import com.google.gson.JsonElement; import java.lang.reflect.Type; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; import com.google.gson.JsonParseException; /** * LocalDateTime 转化器 * @Author: Herche Jane * @Date: 2023/11/29 */ public class LocalDateTimeDeserializer implements JsonDeserializer { @Override public LocalDateTime deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context) throws JsonParseException { return LocalDateTime.parse(json.getAsString(), DateTimeFormatter.ISO_DATE_TIME); } } ``` 序列化都写在com.mqxb.common.jsonSerializer下,如果你新增,会自动读取 ```java package com.mqxb.common.jsonSerializer; import com.google.gson.JsonElement; import com.google.gson.JsonPrimitive; import com.google.gson.JsonSerializationContext; import com.google.gson.JsonSerializer; import java.lang.reflect.Type; import java.time.LocalDateTime; import java.time.format.DateTimeFormatter; /** * LocalDateTime 序列化器 */ public class LocalDateTimeSerializer implements JsonSerializer { @Override public JsonElement serialize(LocalDateTime src, Type typeOfSrc, JsonSerializationContext context) { return new JsonPrimitive(src.format(DateTimeFormatter.ISO_DATE_TIME)); } } ``` ### 🎉🎉🎉🎉🎉🎉🎉🎉后续更新方向 后续会接入钉钉,企业微信,还有slack ,群组中只需 @小八 就可以出来为你服务! 如果你喜欢这个项目,不妨点一个star小星星吧! 如果你想加入我,