位置: IT常识 - 正文

自己的智能AI聊天机器人,可自定义头像,免费html源码分享,粘贴即用!(自己的智能ai聊天怎么用)

编辑:rootadmin
自己的智能AI聊天机器人,可自定义头像,免费html源码分享,粘贴即用! 1.展示效果

推荐整理分享自己的智能AI聊天机器人,可自定义头像,免费html源码分享,粘贴即用!(自己的智能ai聊天怎么用),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:你的智能聊天是怎么使用呢,智能ai聊天软件,ai智能对话app,自己的智能ai聊天软件,ai智能语音聊天系统,自己的智能ai聊天在哪里,智能ai聊天,自己的智能ai聊天怎么用,内容如对您有帮助,希望把文章链接给更多的朋友!

效果预览图:

新增小功能:

① 在原有的基础上加入了本地实时存档的功能,按照下面的步骤便可以随时在本地查看以往和智能AI所有的聊天记录哦!再也不用担心关闭网页后先前的聊天内容全部消失啦!

PS:最新的谷歌和Edge浏览器都有本地存档这个功能哦~

②实时监控本地储存空间余量(5MB)

③还有炫酷彩虹按钮,可以一键清空自己的本地存档,这样就不会被其他人不小心看到自己的聊天记录了!

④在使用的时候发现最下方的输入框容易遮挡文字影响截图与使用,所以便加入了隐藏按钮,点击便隐藏对话框,方便查看与截图~

⑤加入了可自定的头像哦!按照下方步骤便可以更换自己与智能AI的头像哦,聊天更有代入感~

自己的智能AI聊天机器人,可自定义头像,免费html源码分享,粘贴即用!(自己的智能ai聊天怎么用)

⑥当遇见服务器无法回复的情况时,会自主提出异常,不用重启网页便可以直接在发送一次哦!

原版参考:(53条消息) 网页版chatGPT,国内直接打开就用的chatgpt_小袁同学.的博客-CSDN博客

2.修改头像の步骤

修改自己头像的位置,修改src地址就可以哦,可以使用网络上和本地的图。(网络上的图片就自己用用哦,有版权风险)

智能机器人头像修改同理哦

如果是本地图片粘帖上图片在电脑中的绝对路劲就可以哦!

但如果需要放网图的话要复制图像链接哦~

3.查看本地存档

以Edge浏览器为例:右键打开菜单点击检查,将会有如右侧的控制台弹出

找到应用程序,点进去

就可以在本地储存中看到你和AI的聊天记录啦!

4.全部html代码以及注意事项

使用的前提是需要有chatGPT的账号去获取apikey,然后把拿到的apikey放在下面代码中,

可以先创建txt文本将内容粘贴进去并且填写api后,将文件后缀名改为.html哦~

<script src="https://unpkg.com/vue@3/dist/vue.global.js"></script><script src="https://unpkg.com/axios/dist/axios.min.js"></script><!-- 用来显示本地存储还有多少空间 --><div id="storageInfo"></div><!-- 清空本地储存可以写在标签内的炫酷一点的按钮 --><button style="align-items: center;background: linear-gradient(45deg, #F44336, #FFEB3B, #4CAF50, #2196F3, #9C27B0);background-size: 400%;animation: rainbow 10s ease infinite;color: white;padding: 10px 20px;border: none;border-radius: 30px;box-shadow: 0px 4px 10px rgba(0, 0, 0, 0.2);cursor: pointer;font-size: 16px;font-weight: bold;letter-spacing: 1px;outline: none;text-transform: uppercase;"onclick="confirmClearLocalStorage()">清空localStorage</button><style>button {display: block;margin: 0 auto;}@keyframes rainbow {0% {background-position: 0%;}50% {background-position: 100%;}100% {background-position: 0%;}}#chat-container {position: relative;width: 500px;height: 500px;}#chat-window {position: absolute;top: 50px;left: 50px;width: 400px;height: 400px;background-color: #fff;overflow-y: scroll;}/* 使view标签隐藏 *//* .show {display: flex;}.hide {display: none;} *//* .nav-visible .toggle-view {display: flex;}.nav-hidden .toggle-view {display: none;} */</style><div id="app" style="display: flex;flex-flow: column;margin: 20 "><scroll-view scroll-with-animation scroll-y="true" style="width: 100%;"><!-- 用来获取消息体高度 --><view id="okk" scroll-with-animation><!-- 消息 --><view v-for="(x,i) in msgList" :key="i"><!-- 用户消息 头像可选加入--><view v-if="x.my" style="display: flex;flex-direction: column;align-items: flex-end;"><view style="width: 400rpx; display: flex; align-items: center;"><view style="border-radius: 35rpx;"><text style="word-break: break-all;">{{x.msg}}&nbsp;&nbsp;</text></view><image src="您的头像地址哦" style="width: 40px; height: 40px; border-radius: 20px;"></image><!-- <image src="https://img2.woyaogexing.com/2017/07/07/67ca73a32fe97f63!400x400_big.jpg" style="width: 40px; height: 40px; border-radius: 80rpx;"></image> --></view></view><!-- 机器人消息 --><view v-if="!x.my" style="display: flex;flex-direction: row;align-items: flex-start;"><view style="width: 500rpx;display: flex; align-items: center;"><image src="机器人的头像地址哦" style="width: 40px; height: 40px; border-radius: 20px;"></image><view style="border-radius: 35rpx;background-color: #f9f9f9;"><text style="word-break: break-all;">&nbsp;&nbsp;{{x.msg}}</text><!-- &nbsp;加两个空格,美观一些 --></view></view></view></view><view style="height: 130rpx;"></view></view></scroll-view><!-- 底部导航栏 --><view ref="toggleView" style="position: fixed;bottom:0px;width: 100%;display: flex;flex-direction: column;justify-content: center;align-items: center;"><view style="font-size: 55rpx;display: flex;flex-direction: row;justify-content: space-around;align-items: center;width: 75%;margin: 20;"><input v-model="msg" type="text" style="width: 75%;height: 45px;border-radius: 50px;padding-left: 20px;margin-left: 10px;background-color: #f0f0f0;" @confirm="sendMsg" confirm-type="search"placeholder-class="my-neirong-sm" placeholder="用一句简短的话描述您的问题" /><button @click="sendMsg" :disabled="msgLoad" style="height: 45px;width: 20%;;color: #030303; border-radius: 2500px;">{{sentext}}</button></view></view></view><!-- 点击按钮显示/隐藏导航栏 --><button v-on:click="toggleNav" style="position: fixed; bottom: 20px; right: 20px; width: 50px; height: 50px; background-color: #999; border: none; border-radius: 50%; color: #fff; font-size: 24px; text-align: center; line-height: 50px;"> {{ navVisible ? '显':'隐'}}</button></div><!-- 实时显示所剩余的本地储存内存大小 --><script>function updateStorageInfo() {const usedSpace = JSON.stringify(localStorage).length;const totalSpace = 5 * 1024 * 1024; // 5MBconst freeSpace = totalSpace - usedSpace;const usedPercentage = (usedSpace / totalSpace) * 100;const storageInfoDiv = document.getElementById("storageInfo");storageInfoDiv.innerHTML = `localStorage已使用 ${usedPercentage.toFixed(2)}%(${(usedSpace / 1024).toFixed(2)}KB),剩余 ${(freeSpace / 1024).toFixed(2)}KB`;}// 在页面加载时更新一次localStorage的使用情况updateStorageInfo();// 监听localStorage的变化,当有新的数据添加到localStorage中时更新使用情况window.addEventListener("storage", function() {updateStorageInfo();});// 在以上代码中,updateStorageInfo()函数会根据localStorage的占用大小和总大小计算出剩余大小和使用百分比,然后将这些信息显示在id为storageInfo的div元素中。// 为了保证在页面加载时就能显示localStorage的使用情况,我们在代码中首先调用了updateStorageInfo()函数。// 此外,为了实现实时更新localStorage使用情况的功能,我们还添加了一个storage事件监听器。当页面中有其他代码向localStorage中写入数据时,该事件监听器会自动被调用,从而更新localStorage的使用情况。</script><!-- 清空本地储存 --><script>function confirmClearLocalStorage() {if (confirm("您确定要清空localStorage吗?此操作不可撤销!")) {localStorage.clear();alert("localStorage已清空");}}// 当点击按钮后,会调用clearLocalStorage函数,该函数会调用localStorage.clear()方法来清空所有的localStorage数据。最后弹出一个提示框,告诉用户localStorage已经被清空了。//改进后↓// 当用户点击按钮后,会调用confirmClearLocalStorage函数,该函数会弹出一个确认框,询问用户是否确定要清空localStorage。如果用户点击确认,函数会调用localStorage.clear()方法来清空localStorage中的所有数据,并弹出提示框告诉用户localStorage已经被清空了。如果用户点击取消,则不会执行清空localStorage的操作。</script><script>const { createApp } = VuecreateApp({data() {return {navVisible: true,api: '换成你的api哦,使用上有疑问可以联系我企鹅756639910,记得备注来意哈',msgLoad: false,anData: {},sentext: '发送',animationData: {},showTow: false,msgList: [{my: false,msg: "你好我是openAI机器人,请问有什么问题可以帮助您?"}],msgContent: "",msg: "",//navVisible: true // 控制导航栏的显示/隐藏}},methods: {toggleNav() {//const toggleBtn = document.getElementById('toggleBtn');//const toggleView = document.getElementById('toggleView');const toggleView = this.$refs.toggleView; // 通过 ref 获取元素//toggleView.classList.toggle('hide');this.navVisible = !this.navVisible;console.log(this.navVisible);if(this.navVisible){toggleView.style.display = 'flex';}else{toggleView.style.display = 'none';}},sendMsg() {// 消息为空不做任何操作if (this.msg == "") {return 0;}this.sentext = '请求中'this.msgList.push({"msg": this.msg,"my": true})console.log(this.msg);this.msgContent += ('YOU:' + this.msg + "\n")// 添加聊天记录到localStorage中let chatHistory = localStorage.getItem('chatHistory') || '[]';chatHistory = JSON.parse(chatHistory);chatHistory.push({"msg": this.msg,"my": true});localStorage.setItem('chatHistory', JSON.stringify(chatHistory));this.msgLoad = true// 清除消息this.msg = ""axios.post('https://api.openai.com/v1/completions', {prompt: this.msgContent, max_tokens: 2048, model: "text-davinci-003"}, {headers: { 'content-type': 'application/json', 'Authorization': 'Bearer ' + this.api }}).then(res => {console.log(res);let text = res.data.choices[0].text.replace("openai:", "").replace("openai:", "").replace(/^\n|\n$/g, "")console.log(text);this.msgList.push({"msg": text,"my": false})this.msgContent += (text + "\n")// 添加聊天记录到localStorage中let chatHistory = localStorage.getItem('chatHistory') || '[]';chatHistory = JSON.parse(chatHistory);chatHistory.push({"msg": text,"my": false});localStorage.setItem('chatHistory', JSON.stringify(chatHistory));this.msgLoad = falsethis.sentext = '发送'}).catch(error => {alert(error);//弹出异常let text = "" //重置textthis.msgList.push({"msg": "服务异常,请重新发送..","my": false})this.msgContent += (text + "\n")this.msgLoad = falsethis.sentext = '发送'//再次点击发送});},}}).mount('#app')//这段代码的作用是将当前对话中的一条消息添加到聊天记录中,并将聊天记录存储在本地的localStorage中。// 首先,代码通过localStorage.getItem('chatHistory')获取了本地存储的聊天记录,如果没有聊天记录则初始化为空数组'[]'。接着,代码使用JSON.parse将获取到的聊天记录字符串解析为数组类型。此时,chatHistory变量中保存的就是之前存储在本地的聊天记录。// 然后,代码向chatHistory数组中添加了一条消息对象。该对象有两个属性,"msg"表示消息内容,"my"表示消息是否是自己发送的(即是否是用户自己发出的消息,true表示是,false表示否)。// 最后,代码使用localStorage.setItem将更新后的chatHistory数组再次存储到本地。这里需要使用JSON.stringify将数组转换为字符串格式,才能存储到localStorage中。// 这样一来,每次用户发送一条消息时,代码都会将该消息添加到聊天记录中,并将聊天记录保存到本地。下次用户再次访问页面时,就可以从localStorage中加载之前的聊天记录。</script>悄咪咪的说:

对您有帮助的话请关注我哦~关注后小作者会受到莫大的鼓励,回复您的问题也会更加积极哦!

本文链接地址:https://www.jiuchutong.com/zhishi/297297.html 转载请保留说明!

上一篇:XGBoost模型调参:GridSearchCV方法网格搜索优化参数(模型调参是调节什么)

下一篇:JS实现把表格数据导出,并生成为excel下载到本地(js处理表格数据)

  • 美团支付设置在哪里找(美团app支付设置)

    美团支付设置在哪里找(美团app支付设置)

  • ocam默认保存路径(ocam设置)

    ocam默认保存路径(ocam设置)

  • 微信语音键失灵(使用微信语音按键没有声音怎么办)

    微信语音键失灵(使用微信语音按键没有声音怎么办)

  • 美团红包会补给商家吗(美团红包补充在哪里)

    美团红包会补给商家吗(美团红包补充在哪里)

  • 闲鱼撤诉几天能恢复(闲鱼买家撤诉 要多久解除)

    闲鱼撤诉几天能恢复(闲鱼买家撤诉 要多久解除)

  • iphone11能否升级5g(iphone11能否升级ios15)

    iphone11能否升级5g(iphone11能否升级ios15)

  • qq怎样举报人(qq上如何举报人)

    qq怎样举报人(qq上如何举报人)

  • 小新pro13关盖子就关机吗(联想小新pro13关盖会自动关机吗)

    小新pro13关盖子就关机吗(联想小新pro13关盖会自动关机吗)

  • gmtds接入点免费的吗(接入点 cmtds)

    gmtds接入点免费的吗(接入点 cmtds)

  • 苹果手机晚上没有用为什么就没有电了(苹果手机晚上没有通知提醒)

    苹果手机晚上没有用为什么就没有电了(苹果手机晚上没有通知提醒)

  • ipadair3支持无线充电吗(iPadair3支持无线充吗?)

    ipadair3支持无线充电吗(iPadair3支持无线充吗?)

  • 语音助手是干什么用的(语音助手是什么)

    语音助手是干什么用的(语音助手是什么)

  • 苹果手机无法拍照是什么原因(苹果手机无法拍视频怎么回事)

    苹果手机无法拍照是什么原因(苹果手机无法拍视频怎么回事)

  • ios13支持iphonese吗(ios13支持iphone6plus吗)

    ios13支持iphonese吗(ios13支持iphone6plus吗)

  • 荣耀v30是什么屏幕(荣耀v30手机是什么屏幕)

    荣耀v30是什么屏幕(荣耀v30手机是什么屏幕)

  • vivo手机录制屏幕怎么没有声音(vivo手机录制屏幕在哪里开声音)

    vivo手机录制屏幕怎么没有声音(vivo手机录制屏幕在哪里开声音)

  • 怎么删除苹果手机下载过的软件(怎么删除苹果手机里的铃声)

    怎么删除苹果手机下载过的软件(怎么删除苹果手机里的铃声)

  • 什么是远程登录(什么是远程登录的两个特征)

    什么是远程登录(什么是远程登录的两个特征)

  • 苹果x云盘满了怎么删除(iphone云盘满了怎么办)

    苹果x云盘满了怎么删除(iphone云盘满了怎么办)

  • 苹果回收站删除的照片怎么恢复(苹果回收站照片也删了怎么办)

    苹果回收站删除的照片怎么恢复(苹果回收站照片也删了怎么办)

  • 手机吃鸡怎么调第三人称(手机吃鸡怎么调画质最清晰)

    手机吃鸡怎么调第三人称(手机吃鸡怎么调画质最清晰)

  • 手机网络可以和电脑怎么连接(手机网络可以和台式电脑共享吗)

    手机网络可以和电脑怎么连接(手机网络可以和台式电脑共享吗)

  • 如何让微信静音(苹果手机如何让微信静音)

    如何让微信静音(苹果手机如何让微信静音)

  • 保存到手机的图片在哪(保存到手机的图片画质变差)

    保存到手机的图片在哪(保存到手机的图片画质变差)

  • 苹果系统怎么修改IP地址 Mac修改IP地址图文教程(苹果系统怎么修改开机密码)

    苹果系统怎么修改IP地址 Mac修改IP地址图文教程(苹果系统怎么修改开机密码)

  • 如何在BIOS中进行安全设置?联想笔记本电脑BIOS基本设置图文教程(bios咋进入)

    如何在BIOS中进行安全设置?联想笔记本电脑BIOS基本设置图文教程(bios咋进入)

  • YOLOv5 txt标签转图像标签(多个标签)(yolov5标签格式)

    YOLOv5 txt标签转图像标签(多个标签)(yolov5标签格式)

  • 发给员工的福利费可以全部税前抵扣吗
  • 现金流量表和其他表的勾稽关系
  • 未出资到位的股东
  • 车辆商业险和强制险交完给退么
  • 特定业务预缴所得税不能填写
  • 销售费用的进项税额转出会计分录
  • 公司发工资如何操作
  • 附加税减免税会计处理怎么做?
  • 在建工程购买的设备计入哪个科目
  • 火车票退票手续费扣多少
  • 收到凭证的收据
  • 在建工程完工验收报告
  • 企业核税需要什么资料
  • 预缴企业所得税税率
  • 建筑业增值税税率11变为10
  • 缴纳残疾人就业保险金会计分录
  • 车辆租赁费可以开专票吗
  • 采购原材料未收到发票的会计分录
  • 报关单上的运费怎么看
  • 领用工程物资用于在建工程的进项税抵扣问题
  • 打印企业银行流水需要密码吗
  • 毛利润和纯利润的计算公式
  • 高新技术企业的研发费用比例
  • mac复制文件路径后怎么粘贴
  • qbupdate.exe - qbupdate是什么进程 有什么作用
  • linux和windows的区别和联系
  • 未抵扣的固定资产处理
  • PHP:time_nanosleep()的用法_misc函数
  • 销售旧设备如何开票
  • iis防盗链
  • 企业购买预付卡送人分录
  • 消费税的会计分录怎么写
  • 其他应收款超过一年是12个月吗?
  • linuxvim批量替换
  • 纳税人数字签名怎么填
  • 股东垫付款怎么处理
  • 左右等宽上下等高的字有哪些
  • 逾期增值税扣税凭证抵扣管理办法
  • 真题解析买谁的
  • linux 常用命令大全及其详解
  • 代销手续费的税率
  • cms和php的关系
  • 金蝶k3现金流量表编制如何生成数据
  • 三栏式明细账需要每笔结余额吗
  • sql server go语句
  • mysql常用查询语句大全
  • 预付账款主要核算哪些内容
  • 开票人是管理员可以报销吗
  • 分配水电费会计科目
  • 发票金额与付款金额不一致情况说明
  • 建筑行业收到工程款延期付款利息需不需要开票
  • 取得虚开
  • 零余额账户银行日记账
  • 公司注册实收资本
  • 金税盘清卡怎么弄
  • 红字发票怎么申报增值税
  • 建设工程中设备计入包干价是否合法
  • 已经开了发票需要退款怎么处理?
  • 会计写数字的技巧和方法
  • sql集合包含关系
  • sqlserver触发器语法
  • sqlserver2019的使用
  • ubuntu20.04 u盘
  • bootcamp您的磁盘未能分区
  • windows7如何设置电脑不待机
  • 在win7操作系统中通过什么可以查看计算机的配置
  • rtos用什么语言
  • perl-v
  • cocos2dx4.0入门
  • 如何编写一个完整的教学目标
  • jquery mobile实例
  • 在线视频爬取工具
  • Android使用HttpURLConnection和HttpClient请求服务器数据
  • jquery跨域请求有哪些方式
  • UIAutomator在AndroidStudio中的使用
  • 税收征管法规定税务机关在税款征收中可以采取哪些措施
  • 普票已开发票怎么作废
  • 车辆购置税需要每年都交吗
  • 小规模纳税人能开9个点的发票吗
  • 国税局信息中心事业编待遇
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设