「 我开源了一个AI工具SDK 」能帮大家免费、快速接入Coze自定义的智能体 | 个人开源项目 | SDK

JIEKE-AI SDK 使用指南 | 一款能够快速将coze创建的智能体对接到自己的业务系统的SDK | 开源工具

作者:令狐荣豪 | 个人博客:linghu.blog.csdn.net

📋开源项目概述

📜 该项目主要封装了coze api接口,用于公司、个人项目,能够帮助公司或个人开发者更好的将coze 与 个人或企业业务系统进行交互连接。

目前coze的个人版是不提供sdk的,只有企业版才提供sdk,这个开源的sdk项目能够帮助个人开发者免费使用coze的api接口。

🗃 Why? | 这个开源项目解决的痛点

coze是字节推出的一款ai智能体编程平台,目前分为海外、国内版本,国内版本分为个人和企业版本。目前个人版本没有sdk,需要升级到企业版,花钱才有sdk,这个项目能让个人开发者和企业都免费用上个人版本。

  • 能够快速将coze创建的智能体对接到自己的业务系统中。

  • coze 推出的企业版sdk过于复杂,各种认证,各种Auth,个人觉得没必要这么复杂,明明就是几个api的事情,非要用coze那一套Auth应用。

  • API 接口封装:提供 Java 接口,方便开发者调用 coze 平台的 API 功能。

  • 智能体功能:支持创建自定义智能体,用于处理特定类型的内容(如新闻推送、个性化推荐等)。

  • 快速初始化:支持快速创建和管理聊天会话,简化开发流程。

🚀 特点

  • 开源:免费提供,适合个人或企业使用。
  • Java 语言:基于 Maven 项目工程,支持 Java 编程语言的开发。
  • 企业级功能:主要面向企业版用户,个人版暂未提供 SDK。

💡此项目主要通过maven项目工程搭建、服务的编程语言为:Java

🗃 迭代情况

  • 0.2

    • 修复bug,传参错误已修复
    • 简化了调用流程,只需要提供tokenBotIduserID即可
  • 0.0.1

    • 能够调用coze平台自定义的智能体

🛠快速入门

💻 引入依赖

首先引入这个开源工具的POM依赖

 <dependency>
     <groupId>io.github.jackieling</groupId>
     <artifactId>jieke-ai-sdk</artifactId>
     <version>0.2</version>
 </dependency>

💻 获取Coze token

等录coze官网:主页 - 扣子

在这里插入图片描述

在这里插入图片描述

点击确定以后,这里可以获取到token值,请务必保存好这个token,后面会用到。

💻 创建智能体

在coze官网创建一个智能体,这里我准备用新闻推送这个案例做演示。创建一个新闻推送的demo智能体:

在这里插入图片描述

创建智能体成功以后,在插件这个位置,添加一个头条新闻的插件:

在这里插入图片描述

左边的提示词模板为:

# 角色
你是一个专业的新闻推送员,专注于为用户提供AI相关的最新新闻资讯。

## 技能
### 技能 1: 推送AI新闻
1. 使用getToutiaoNews搜索关键词“人工智能最新新闻”。
2.整理新闻内容包含新闻标题、发布时间、主要内容和链接。
===回复示例===
- 📰 新闻标题:<新闻具体标题>
- 📅 发布时间:<新闻发布的具体时间>
- 💡 新闻概要:<对新闻核心内容的简要概括,不超过100字>
===示例结束===

## 限制:
- 只推送与AI相关的新闻,拒绝回答与AI无关的话题。
- 所输出的内容必须按照给定的格式进行组织,不能偏离框架要求。
- 新闻概要部分不能超过 100 字。

这些工作完成以后你直接点击右上方发布智能体即可。

当你发布智能体以后,你点击进入智能体,将botId存一下,后面要用到:

在这里插入图片描述

📈 代码编写

再上面的工作中,我们需要获取到的重要信息为:

  • token
  • 智能体的botId

如果你获取到了这两个重要信息,那接下来我们就开始用代码来实现了。

📈 初始化聊天+查看对话详情+获取消息列表

我们在引入jieke-ai-sdk以后首先需要初始化聊天,可以直接用 new JieKeAiClient.Builder初始化。

初始化一定需要用到我们的 tokenbotId。 至于userId你可以自己定义。

JieKeAiClient chatClient = new JieKeAiClient.Builder(TOKEN)
                .botId("写你的botId")
                .userId("123123")
    			.additionalMessage(Message.builder()
                        .contentType("text")
                        .content("人工智能")
                        .role("user")
                        .type("question")
                        .build())
                .build();

完整代码:

import com.jieke.coze.client.JieKeAiClient;

import java.io.IOException;

/**
 * @Author: linghu
 * @CreateTime: 2025-03-20
 * @Description: 测试
 */

public class Demo {
     private static final String TOKEN = "填你自己的token";

    public static void main(String[] args) throws IOException, InterruptedException {
        // 1. 初始化聊天
        JieKeAiClient chatClient = new JieKeAiClient.Builder(TOKEN)
                .botId("填你自己的botId")
                .userId("123123")
                .additionalMessage(Message.builder()
                        .contentType("text")
                        .content("人工智能")
                        .role("user")
                        .type("question")
                        .build())
                .build();
        String chatResponse = chatClient.initializeChat();
        Gson gson = new Gson();
        ChatResponse response = gson.fromJson(chatResponse, ChatResponse.class);

        // 获取 id
        String id = response.getData().getId();
        String conversationId = response.getData().getConversation_id();
        log.info("智能体SDK收到参数---->chatId:{}",id);
        log.info("智能体SDK收到参数---->conversation_Id:{}",conversationId);

        Thread.sleep(6000);

        // 2. 查看对话详情
        JieKeAiClient conversationClient = new JieKeAiClient.Builder(TOKEN)
                .conversationId(conversationId)
                .chatId(id)
                .build();
        String conversationResponse = conversationClient.retrieveChat();
        System.out.println("对话详情响应: " + conversationResponse);

//         3. 查看消息列表
        String messageListResponse = conversationClient.getMessageList();
        System.out.println("消息列表响应: " + messageListResponse);
    }
}

初始化聊天以后会得到如下结果:

Request Body: {"additional_messages":[{"role":"user","content_type":"text","type":"question","content":"人工智能"}],"user_id":"123123","bot_id":"7485191777520009228"}
10:59:57.164 [main] INFO com.linghu.Demo - 智能体SDK收到参数---->chatId:7485205416863924234
10:59:57.166 [main] INFO com.linghu.Demo - 智能体SDK收到参数---->conversation_Id:7485205416863907850
对话详情响应: {"code":0,"data":{"bot_id":"7485191777520009228","conversation_id":"7485205416863907850","created_at":1742785197,"id":"7485205416863924234","status":"in_progress"},"detail":{"logid":"202503241100035C19ED03C3B7801A4CDF"},"msg":""}
消息列表响应: {"code":0,"data":[{"bot_id":"7485191777520009228","chat_id":"7485205416863924234","content":"{\"name\":\"toutiaoxinwen-getToutiaoNews\",\"arguments\":{\"q\":\"人工智能最新新闻\"},\"plugin_id\":7362080779243094070,\"plugin_name\":\"toutiaoxinwen\",\"api_id\":7362080779243110454,\"api_name\":\"getToutiaoNews\",\"plugin_type\":1}","content_type":"text","conversation_id":"7485205416863907850","created_at":1742785199,"id":"7485205429807497243","role":"assistant","type":"function_call","updated_at":1742785199},{"bot_id":"7485191777520009228","chat_id":"7485205416863924234","content":"{\"news\":[{\"media_name\":\"全国党媒信息公共平台\",\"categories\":[\"science_all/other\",\"news_finance/other\",\"news_tech/artificial_intelligence\",\"news_tech\",\"news_finance\",\"science_all\"],\"title\":\"2024世界人工智能大会:从“+AI”到“AI+”,新技术重塑千行百业\",\"cover\":\"https://p6-img.searchpstatp.com/tos-cn-i-vvloioitz3/03151cb5cfb34300bdd4ab4894d7bd9c~tplv-vvloioitz3-6:190:124.jpeg\",\"time\":\"2024-07-06 10:37\",\"url\":\"https://api-m.hubpd.com/transfer?nextUrl=https%3A%2F%2Fwww.hubpd.com%2Fhubpd%2Frss%2Ftoutiao%2Findex.html\u0026contentId=8358680908402631382\",\"summary\":\"来源:【人民网】人民网上海7月5日电 (记者葛俊俊、董志雯、王文娟)7月4日,2024世界人工智能大会暨人工智能全球治理高级别会议在上海世博中心开幕。\"},{\"title\":\"芯片、算法、数据多管齐下 人工智能产业加速实现核心技术自主可控\",\"cover\":\"\",\"time\":\"2025-03-17 09:36\",\"url\":\"https://3w.huanqiu.com/a/2ac16b/4LtYFp07AsP?agt=143\",\"summary\":\"来源:证券日报 原标题:芯片、算法、数据多管齐下 人工智能产业加速实现核心技术自主可控科技创新的宏伟蓝图正加速绘就。2025年《政府工作报告》(以下简称《报告》)明确提出,推进高水平科技自立自强。\",\"media_name\":\"环球网\",\"categories\":[\"news_finance/other\",\"news_tech/artificial_intelligence\",\"news_tech\",\"news_finance\"]},{\"cover\":\"\",\"time\":\"2024-07-02 07:35\",\"url\":\"https://m.thepaper.cn/newsDetail_forward_27918678?from=toutiao\",\"summary\":\"2024世界人工智能大会暨人工智能全球治理高级别会议(简称“WAIC 2024”)即将于7月4日开幕,围绕核心技术、智能终端、应用赋能三大板块,大会将为观众带来众多首发新秀和打卡亮点。据主办方介绍,今年的大会展览持续扩容升级,展览面积超5.\",\"media_name\":\"澎湃新闻\",\"categories\":[\"news_finance/other\",\"news_tech/artificial_intelligence\",\"news_tech\",\"news_finance\"],\"title\":\"2024世界人工智能大会五大看点:25款人形机器人亮相,大模型继续“涌现”\"},{\"url\":\"http://m.ce.cn/ttt/202503/24/t20250324_39328206.shtml\",\"summary\":\"来源:经济日报近年来,人工智能赋能各行各业蓬勃发展,成为推动经济高质量增长的重要力量。从传统制造业到现代服务业,从能源领域到医疗健康,人工智能的应用场景不断拓展,为产业发展带来了前所未有的变革。助推传统产业升级在传统产业中,人工智能的应用推动了生产流程的智能化升级。\",\"media_name\":\"中国经济网\",\"categories\":[\"news_finance/other\",\"news_tech/artificial_intelligence\",\"news_tech\",\"news_finance\"],\"title\":\"“人工智能+”赋能千行百业\",\"cover\":\"\",\"time\":\"2025-03-24 06:49\"},{\"media_name\":\"澎湃新闻\",\"categories\":[\"news_finance/other\",\"news_tech/artificial_intelligence\",\"news_tech\",\"news_finance\"],\"title\":\"2024世界人工智能大会将于7月4日开幕,展品数量超1500项\",\"cover\":\"https://p6-img.searchpstatp.com/tos-cn-i-vvloioitz3/0aec21c057124ee2c5307572804070d7~tplv-vvloioitz3-6:190:124.jpeg\",\"time\":\"2024-06-20 10:43\",\"url\":\"https://m.thepaper.cn/newsDetail_forward_27795856?from=toutiao\",\"summary\":\"6月20日上午,上海市政府新闻办举行新闻发布会,介绍2024世界人工智能大会暨人工智能全球治理高级别会议筹备进展情况,并回答记者提问。新闻发布会现场。澎湃新闻记者 俞凯 摄澎湃新闻(thepaper.\"}]}","content_type":"text","conversation_id":"7485205416863907850","created_at":1742785200,"id":"7485205429807726619","role":"assistant","type":"tool_response","updated_at":1742785200}],"detail":{"logid":"2025032411000301921ACC8CFA3E3EE977"},"msg":""}

我们需要的值是:

  • id
  • conversation_id

我们一定要保存好上面这两个值,其中status表示我们的智能体会话创建状态。

你可以根据你的业务系统的需要,去获取响应的信息。

上述sdk的使用相当于你在coze官方UI使用自己的智能体:

在这里插入图片描述

📈 完整代码

这个完整代码是上述步骤代码 的集合:

注意你需要自己替换里面的参数配置。

package com.linghu;

import com.google.gson.Gson;
import com.jieke.coze.client.JieKeAiClient;
import com.jieke.coze.model.Message;
import com.jieke.coze.model.response.ChatResponse;
import lombok.extern.slf4j.Slf4j;

import java.io.IOException;

/**
 * @Author: linghu
 * @CreateTime: 2025-03-24
 * @Description: 测试用
 */
@Slf4j
public class Demo {
    private static final String TOKEN = "你自己的token";

    public static void main(String[] args) throws IOException, InterruptedException {
        // 1. 初始化聊天
        JieKeAiClient chatClient = new JieKeAiClient.Builder(TOKEN)
                .botId("你自己的botId")
                .userId("123123")
                .additionalMessage(Message.builder()
                        .contentType("text")
                        .content("人工智能")//填写关键词
                        .role("user")
                        .type("question")
                        .build())
                .build();
        String chatResponse = chatClient.initializeChat();
        Gson gson = new Gson();
        ChatResponse response = gson.fromJson(chatResponse, ChatResponse.class);

        // 获取 id
        String id = response.getData().getId();
        String conversationId = response.getData().getConversation_id();
        log.info("智能体SDK收到参数---->chatId:{}",id);
        log.info("智能体SDK收到参数---->conversation_Id:{}",conversationId);

        Thread.sleep(6000);

        // 2. 查看对话详情
        JieKeAiClient conversationClient = new JieKeAiClient.Builder(TOKEN)
                .conversationId(conversationId)
                .chatId(id)
                .build();
        String conversationResponse = conversationClient.retrieveChat();
        System.out.println("对话详情响应: " + conversationResponse);

//         3. 查看消息列表
        String messageListResponse = conversationClient.getMessageList();
        System.out.println("消息列表响应: " + messageListResponse);
    }
}

🚀 总结

OK,上述便是我的开源工具jieke-ai-sdk工具的使用教程了,欢迎大家来使用,也可以帮忙维护哈。

💻项目源码

大家可以一起维护:https://github.com/JackieLing/ai-jieke-sdk

### 实现Coze智能体个人微信对接的方法 为了使Coze智能体能够与个人微信进行对接,需遵循一系列特定配置流程。值得注意的是,官方文档或现有资料主要聚焦于企业级应用如微信公众账号而非私人微信号的集成方案[^1]。 #### 准备工作 - **获取开发者权限**:对于希望将智能体链接至个人微信的情况而言,通常需要通过微信开放平台申请成为开发者并获得相应API接口访问权。 #### 配置过程概述 - **创建应用程序**:登录微信开放平台后,在平台上创建一个新的移动应用项目,并记录下分配给该项目的关键参数(AppID, AppSecret),这些将在后续步骤中用于身份验证。 - **设置回调URL和服务端口**:根据所选开发框架的要求设定合适的服务器环境来接收来自WeChat的消息推送通知;确保该地址可以被外部网络访问以便顺利完成OAuth认证流程。 - **编写业务逻辑代码** 在此阶段涉及具体编程实现部分,下面给出Python版本的一个简单实例作为参考: ```python from flask import Flask, request, make_response import hashlib import xml.etree.ElementTree as ET app = Flask(__name__) @app.route('/wechat', methods=['GET', 'POST']) def wechat_auth(): if request.method == 'GET': token = "your_token" query = request.args signature = query.get('signature','') timestamp = query.get('timestamp','') nonce = query.get('nonce','') echostr = query.get('echostr','') list_tmp = [token, timestamp, nonce] list_tmp.sort() sha1 = hashlib.sha1() map(sha1.update, list_tmp) hashcode = sha1.hexdigest() if hashcode == signature: response = make_response(echostr) return response else: return "" if __name__ == "__main__": app.run(port=80) ``` 此段脚本主要用于处理来自微信服务器的身份验证请求以及消息交互响应机制。实际部署时还需考虑安全性加固措施比如HTTPS加密传输等。 由于目前公开资源里关于直接绑定到私聊场景的支持较为有限,上述方法更适用于基于订阅号/服务号模式下的自动化回复等功能扩展。如果确实有需求针对好友聊天界面内嵌入AI助手,则可能涉及到更加复杂的社交关系链管理及隐私政策合规审查等问题[^2]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

CodeLinghu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值