COW AI接入到微信 保姆教程 (部署在服务器,插件安装)

news2024/10/7 12:24:42

此文章不涉及国外的AI模型,也无需翻墙,跟某AI模型无关,审核大哥别弄错了

最近的AI开始越开越火了,开始介入到我们生活中的方方面面。就有人好奇AI是否能接入到微信吗?我在GitHub上搜索的时候还真有除了对话外还可以通过插件来实现画图,定时提醒,快递查询等等功能,也不要太方面。下面我给大家讲讲如何在服务器上安装和他的插件的安装。

这些安装是我一步步摸索出来的,可能并不是最方便的,但就是成功了。

GitHub地址:https://github.com/zhayujie/chatgpt-on-wechat

准备工作

  1. 需要一个实名认证过的微信(最好是小号 原由我就不多说了,DDDD)
  2. 一台服务器:我选的是浪浪云服务器。别问为什么,问就是便宜好用。地址:浪浪云浪浪云服务器https://idc.langlangy.com/?i69ffe6
  3. LinkAI账号:需要此账号来实现刚才说的功能。地址:LinkAILink.AI 智能对话 midjourney AI绘画 AI应用创建 wechat接入 企业微信接入 公众号接入 ChatGPT4.0https://chat.link-ai.tech/home?share=oZaCnV
  4.  ALAPI账号:此账号是用查询快递、天气等信息的。地址:ALAPIhttps://admin.alapi.cn/account/center
  5. 下载堡塔SSH终端,当然你喜欢别的远程工具也可以。

 

第一步:购买服务器

先注册登录浪浪云,在实名认证。浪浪云浪浪云服务器https://idc.langlangy.com/?i69ffe6之后打开云服务器——购买服务器

73549f36f89f4401a6807cc92a09ecc8.png

 你要是想搞来玩玩那就选跟我一样的,如果有别的要求那就自行选择

我习惯了CentOS7,你喜欢别的你随意

e06a4f6bbb4d47efb29cc7898ca33054.png

 操作系统选ContOS7(宝塔国内版),其他根据自身需求更改

575feb65cbea4cfb8501fa33e102e15c.png

 等你支付完以后打开云服务器——打开管理

ad62584547fd4d79895a05fcd284a8f7.png

 在我标红的地方有一个IP地址和端口号,记住他!待会儿有用。密码可以点击复制

 

f41161a8575e4ef884492cf0e5a7cb85.png

 

 第二步,下载堡塔SSH终端

在这个网址下载宝塔SSH终端:一款同时支持SSH和SFTP客户端的免费软件! 下载堡塔SSH终端

下载完打开下载堡塔SSH终端。点击添加服务器

7b9d007d290e4d19a663ddcbd1c48a9f.png

 会出现填写信息的地方,选Linux——IP地址(填写上面记住的IP地址)——端口(也修改成上面记住的端口地址)——密码(填写刚才复制的密码)

09d6eb33678c4ab98159a80fd20ab231.png

 

第三步:在服务器上部署 chatgpt-on-wechat

安装python

        因为chatgpt-on-wechat 需要在python3 环境下运行,但ContOS 7默认的是python2.7,所以我们需要下载一个python3.8版本。

8ba0730caa09426084624c2c3e96597c.png

         1.安装依赖

编译python源码时,需要一些依赖包,一次安装完毕

yum install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gcc make libffi-devel

注意:安装过程中别乱动电脑

 

        2. 安装wget

这个包是为了下载python源码用的

yum install wget

注意:安装过程中别乱动电脑

 

        3.下载源码包

我是下载的最新的python3.8,如果想安装其他版本,去python官网下载页面下载对应的版本即可。

这个下载会很慢,请耐心等待!

wget https://www.python.org/ftp/python/3.8.1/Python-3.8.1.tgz

注意:安装过程中别乱动电脑

 

        4.解压安装

解压压缩包

tar -zxvf Python-3.8.1.tgz 

进入文件夹

cd Python-3.8.1

配置安装位置

./configure prefix=/usr/local/python3

安装

make && make install

如果最后没提示出错,就代表正确安装了,在/usr/local/目录下就会有python3目录

6bc3b84cfdfe4c5d8cef778239ea086d.png

 

        5.添加软连接 

添加python3的软链接

ln -s /usr/local/python3/bin/python3.8 /usr/bin/python3

添加 pip3 的软链接

ln -s /usr/local/python3/bin/pip3.8 /usr/bin/pip3

        6.测试

如果上述代码都没有报错说明安装成功,可用python3命令来测试

cd ~ 命令可以退回根目录

f47e5c0f58ce425ca329a8d28be55e72.png

想退出 Ctrl+Z 就可以退出

 

部署项目

        1.安装git命令

sudo yum install git

这里选 就可以可以了

7a2f3c27da8843c09d4553d31aa847ad.png

 注意:安装过程中别乱动电脑

         2.下载源码

安装完git以后就可以下载从GitHub下载源码

git clone https://github.com/zhayujie/chatgpt-on-wechat

8ae7033c78264ec9b8f17c1b1431f987.png

 注意:安装过程中别乱动电脑

        3.安装依赖

先进入 chatgpt-on-wechat 目录

cd chatgpt-on-wechat/
pip3 install -r requirements-optional.txt

 升级pip命令

 sudo pip3 install --upgrade pip

这是必须依赖的,所以一定要下载

pip3 install -r requirements.txt

 这是非必选,语音、tool插件等功能需要,根据自己需求来安排(我建议下载)

pip3 install -r requirements-optional.txt

 

        4.注册LinkAI
LinkAILink.AI 智能对话 midjourney AI绘画 AI应用创建 wechat接入 企业微信接入 公众号接入 ChatGPT4.0https://chat.link-ai.tech/home?share=oZaCnV

进入注册一个账号

注册号账号以后打开 应用接入 会看到一个创建API Key 如果没显示你就创建一个Key,有的话直接复制待会儿有用

29df5c6b9dba4bb6ae6bd2599d73e7da.png

 然后打开我的应用——点击创建应用

853ea9c2f9b34e23907ae8c464315f72.png

 填写完信息后会出现 我的应用 会有code有一个记住他待会儿有用,然后打开设置

6b3ec0025bbf43a89375b7393cf0c49d.png

 这里会有一个模型设置根据自己情况来选择

c73afa4154154e7782f762bbec2aa777.png

 往下拉,会有插件配置,也是根据自己的情况来定。定完点击上面的保存

e2079ebaa1ec49c3961e8e8002bb9d35.png

返回首页可以看到别人公开的知识库你也可以调用

 这个LinkAI调用并不是免费的,用积分来消费,每天签到都可以领积分,也可以花钱购买积分,详细的你们自己去 我的账户 哪里看看

 

        5.配置

因为项目在更新所以配置文件也会随之需要调一下参数,可以看一下config.py文件的参数
或者可以关注一下我的专栏,有好玩的更新我会出教程告知大家

https://blog.csdn.net/m0_69655483/category_12492160.html

也有大家在常见的问题的解答

打开SSH远程登录工具在  chatgpt-on-wechat 目录下完成下面的操作

复制项目中的模板文件 config-template.json,来生成最终起效果的配置文件config.json,你可以通过执行以下命令完成

cp config-template.json config.json

然后用 vi 命令打开 config.json 文件

vi config.json

打开后,用英文输入法状态下点击键盘上的字母 i 开始编辑

我们可以用我们刚才注册的LinkAI账号来配置,如果不在会可以参考一下我的配置

根据自己的需求来配置就好了

注意:

  1. 只能调用一个模型,你用LinkAI其他模型就调用不了,个人觉得LinkAI挺好的,注意积分消耗,详细自己登录查看
  2. 如果像实现语音识别那就的有的第三方的语音识别API,比如百度语音。

060e6e8db7bc4572b50663bbb7c7a87e.png

 这是开发者提供的给我们配置参考

    # openai api配置
    "open_ai_api_key": "",  # openai api key
    # openai apibase,当use_azure_chatgpt为true时,需要设置对应的api base
    "open_ai_api_base": "https://api.openai.com/v1",
    "proxy": "",  # openai使用的代理
    # chatgpt模型, 当use_azure_chatgpt为true时,其名称为Azure上model deployment名称
    "model": "gpt-3.5-turbo",  # 还支持 gpt-3.5-turbo-16k, gpt-4, wenxin, xunfei
    "use_azure_chatgpt": False,  # 是否使用azure的chatgpt
    "azure_deployment_id": "",  # azure 模型部署名称
    "azure_api_version": "",  # azure api版本
    # Bot触发配置
    "single_chat_prefix": ["bot", "@bot"],  # 私聊时文本需要包含该前缀才能触发机器人回复
    "single_chat_reply_prefix": "[bot] ",  # 私聊时自动回复的前缀,用于区分真人
    "single_chat_reply_suffix": "",  # 私聊时自动回复的后缀,\n 可以换行
    "group_chat_prefix": ["@bot"],  # 群聊时包含该前缀则会触发机器人回复
    "group_chat_reply_prefix": "",  # 群聊时自动回复的前缀
    "group_chat_reply_suffix": "",  # 群聊时自动回复的后缀,\n 可以换行
    "group_chat_keyword": [],  # 群聊时包含该关键词则会触发机器人回复
    "group_at_off": False,  # 是否关闭群聊时@bot的触发
    "group_name_white_list": ["ChatGPT测试群", "ChatGPT测试群2"],  # 开启自动回复的群名称列表
    "group_name_keyword_white_list": [],  # 开启自动回复的群名称关键词列表
    "group_chat_in_one_session": ["ChatGPT测试群"],  # 支持会话上下文共享的群名称
    "group_welcome_msg": "",  # 配置新人进群固定欢迎语,不配置则使用随机风格欢迎 
    "trigger_by_self": False,  # 是否允许机器人触发
    "image_create_prefix": ["画", "看", "找"],  # 开启图片回复的前缀
    "concurrency_in_session": 1,  # 同一会话最多有多少条消息在处理中,大于1可能乱序
    "image_create_size": "256x256",  # 图片大小,可选有 256x256, 512x512, 1024x1024
    # chatgpt会话参数
    "expires_in_seconds": 3600,  # 无操作会话的过期时间
    # 人格描述
    "character_desc": "你是ChatGPT, 一个由OpenAI训练的大型语言模型, 你旨在回答并解决人们的任何问题,并且可以使用多种语言与人交流。",
    "conversation_max_tokens": 1000,  # 支持上下文记忆的最多字符数
    # chatgpt限流配置
    "rate_limit_chatgpt": 20,  # chatgpt的调用频率限制
    "rate_limit_dalle": 50,  # openai dalle的调用频率限制
    # chatgpt api参数 参考https://platform.openai.com/docs/api-reference/chat/create
    "temperature": 0.9,
    "top_p": 1,
    "frequency_penalty": 0,
    "presence_penalty": 0,
    "request_timeout": 60,  # chatgpt请求超时时间,openai接口默认设置为600,对于难问题一般需要较长时间
    "timeout": 120,  # chatgpt重试超时时间,在这个时间内,将会自动重试
    # Baidu 文心一言参数
    "baidu_wenxin_model": "eb-instant",  # 默认使用ERNIE-Bot-turbo模型
    "baidu_wenxin_api_key": "",  # Baidu api key
    "baidu_wenxin_secret_key": "",  # Baidu secret key
    # 讯飞星火API
    "xunfei_app_id": "",  # 讯飞应用ID
    "xunfei_api_key": "",  # 讯飞 API key
    "xunfei_api_secret": "",  # 讯飞 API secret
    # claude 配置
    "claude_api_cookie": "",
    "claude_uuid": "",
    # wework的通用配置
    "wework_smart": True,  # 配置wework是否使用已登录的企业微信,False为多开
    # 语音设置
    "speech_recognition": False,  # 是否开启语音识别
    "group_speech_recognition": False,  # 是否开启群组语音识别
    "voice_reply_voice": False,  # 是否使用语音回复语音,需要设置对应语音合成引擎的api key
    "always_reply_voice": False,  # 是否一直使用语音回复
    "voice_to_text": "openai",  # 语音识别引擎,支持openai,baidu,google,azure
    "text_to_voice": "baidu",  # 语音合成引擎,支持baidu,google,pytts(offline),azure,elevenlabs
    # baidu 语音api配置, 使用百度语音识别和语音合成时需要
    "baidu_app_id": "",
    "baidu_api_key": "",
    "baidu_secret_key": "",
    # 1536普通话(支持简单的英文识别) 1737英语 1637粤语 1837四川话 1936普通话远场
    "baidu_dev_pid": "1536",
    # azure 语音api配置, 使用azure语音识别和语音合成时需要
    "azure_voice_api_key": "",
    "azure_voice_region": "japaneast",
    # elevenlabs 语音api配置
    "xi_api_key": "",    #获取ap的方法可以参考https://docs.elevenlabs.io/api-reference/quick-start/authentication
    "xi_voice_id": "",   #ElevenLabs提供了9种英式、美式等英语发音id,分别是“Adam/Antoni/Arnold/Bella/Domi/Elli/Josh/Rachel/Sam”
    # 服务时间限制,目前支持itchat
    "chat_time_module": False,  # 是否开启服务时间限制
    "chat_start_time": "00:00",  # 服务开始时间
    "chat_stop_time": "24:00",  # 服务结束时间
    # 翻译api
    "translate": "baidu",  # 翻译api,支持baidu
    # baidu翻译api的配置
    "baidu_translate_app_id": "",  # 百度翻译api的appid
    "baidu_translate_app_key": "",  # 百度翻译api的秘钥
    # itchat的配置
    "hot_reload": False,  # 是否开启热重载
    # wechaty的配置
    "wechaty_puppet_service_token": "",  # wechaty的token
    # wechatmp的配置
    "wechatmp_token": "",  # 微信公众平台的Token
    "wechatmp_port": 8080,  # 微信公众平台的端口,需要端口转发到80或443
    "wechatmp_app_id": "",  # 微信公众平台的appID
    "wechatmp_app_secret": "",  # 微信公众平台的appsecret
    "wechatmp_aes_key": "",  # 微信公众平台的EncodingAESKey,加密模式需要
    # wechatcom的通用配置
    "wechatcom_corp_id": "",  # 企业微信公司的corpID
    # wechatcomapp的配置
    "wechatcomapp_token": "",  # 企业微信app的token
    "wechatcomapp_port": 9898,  # 企业微信app的服务端口,不需要端口转发
    "wechatcomapp_secret": "",  # 企业微信app的secret
    "wechatcomapp_agent_id": "",  # 企业微信app的agent_id
    "wechatcomapp_aes_key": "",  # 企业微信app的aes_key
    # chatgpt指令自定义触发词
    "clear_memory_commands": ["#清除记忆"],  # 重置会话指令,必须以#开头
    # channel配置
    "channel_type": "wx",  # 通道类型,支持:{wx,wxy,terminal,wechatmp,wechatmp_service,wechatcom_app}
    "subscribe_msg": "",  # 订阅消息, 支持: wechatmp, wechatmp_service, wechatcom_app
    "debug": False,  # 是否开启debug模式,开启后会打印更多日志
    "appdata_dir": "",  # 数据目录
    # 插件配置
    "plugin_trigger_prefix": "$",  # 规范插件提供聊天相关指令的前缀,建议不要和管理员指令前缀"#"冲突
    # 是否使用全局插件配置
    "use_global_plugin_config": False,
    # 知识库平台配置
    "use_linkai": true,
    "linkai_api_key": "输入你记得key",
    "linkai_app_code": "输入你记得code",
    "linkai_api_base": "https://api.link-ai.chat",  # linkAI服务地址,若国内无法访问或延迟较高可改为 https://api.link-ai.tech

配置完成后 点击键盘上的 Esc —— 然后用英文输入法状态下 Shift + :—— 在输入wq —— 按回车就好了

 

        6. 运行程序

打开SSH远程登录工具在  chatgpt-on-wechat 目录下完成下面的操作

首次运行需要新建日志文件

touch nohup.out

在后台运行程序并通过日志输出二维码

nohup python3 app.py & tail -f nohup.out

扫码登录 (最好用实名认证过的小号) 后程序即可运行于服务器后台,此时可通过 ctrl+c 关闭日志,不会影响后台程序的运行。在日志关闭后如果想要再次打开只需输入 tail -f nohup.out

8dc495627a014c5491e08d4fb6ccfa69.png

项目已经部署完了,下面我们安装一下插件

 

插件安装

 godcmd(管理员插件)

这个必须安装因为,有些插件需要管理员权限才可以使用或下载

打开SSH远程登录工具在  chatgpt-on-wechat 目录下完成下面的操作

打开 plugins/godcmd 目录

cd plugins/godcmd

f60ec4878cb9444a8eada73f92cfdc6f.png

 config.json.template 复制为 config.json

cp config.json.template config.json

25c9089ad14e4e84a49d6bd31b5db43a.png

 再用 vi 命令打开 config.json 文件

vi config.json

用英文输入法状态下点击键盘上的字母 i 开始编辑

修改其中password的值为你想设置的口令,比如:123456,都行

修改完成后 点击键盘上的 Esc —— 然后用英文输入法状态下 Shift + :—— 在输入wq —— 按回车就好了

 

先返回到 chatgpt-on-wechat 目录下

cd ~/chatgpt-on-wechat

然后重新日志输出二维码,重新登录

nohup python3 app.py & tail -f nohup.out

之后私聊中输入#auth 12345(这里是你设置的口令) 进行管理员认证

df3b0d2e5d6d4abaa6035721dd6b13f7.png

认证之后对话框发送#help可以打印出管理员相关指令

通用指令
#help : 回复此帮助
#help 插件名: 回复指定插件的详细帮助
#model : 查看和设置全局模型
#reset : 重置会话

可用插件
linkai:用于集成 LinkAI 提供的知识库、Midjourney绘画、文档总结、联网搜索等能力。
Apilot:发送特定指令以获取早报、查询天气、星座运势、快递信息等!
tool:这是一个能让chatgpt联网,搜索,数字运算的插件,将赋予强大且丰富的扩展能力。
角色扮演:让机器人扮演不同的角色。
文字冒险:可以和机器人一起玩文字冒险游戏。

 

        画图插件

在 chatgpt-on-wechat 打开 plugins 下的 linkai 文件

cd plugins/linkai

e1635438eb5248b3a19c2faad4dad3fd.png

 跟刚才一样 config.json.template 复制为 config.json

cp config.json.template config.json

  再用 vi 命令打开 config.json 文件

用英文输入法状态下点击键盘上的字母 i 开始编辑

vi config.json

在下面填写参数 "linkai_api_key": "Link_MnBxoUvKxxxxxxHwGtP6" 即可(里面的API Key填

你们的,刚刚注册过忘了回去看)

43a6130c125a4603ba7a7a5750b9ebca.png

注意:在倒数第二个花括号后面有一个逗号

 修改完成后 点击键盘上的 Esc —— 然后用英文输入法状态下 Shift + :—— 在输入wq —— 按回车就好了

返回到wechat 目录,重新扫码登录

nohup python3 app.py & tail -f nohup.out

在私人聊天框输入 #help linkai 获取插件的帮助信息了。如果提示不存在或者未启用,先打开管理员权限 #auth 后面是你设置的口令,然后输入#enablep linkai 就可以启用了

我这设置的是在私信里不用前缀就可以调用,你们要是设置了那就按设置的走

46180967b2e34f8a956066d1b9920a35.png

这里注意: 这个命令 $linkai app Kv2fXJcH  后面加上你自己的或者首页别人的 code 就可以可以调用这个知识库或者扮演的角色

 就可以私信里命令他给你画图,比如画一个小猫

8a96f79925ce4f6d9a6f327f2087fa8e.png

因为我的这个参数有画,所以我用画开头就可以调用绘画功能

0bcb68e741b944c3962679b90c850a62.png

 

        Apliot插件

目前可返回早报(图片形式)、微博热搜、摸鱼日历、星座运势,快递信息,天气等

  • 快递查询格式:快递+快递编号。如:快递YT2505082504474
  • 对话框发送“早报”、“摸鱼”、"微博热搜(已更新为"微博热榜)"、”任意星座名称”可以直接返回对应的内容!
  • 天气查询格式:城市+天气。如:成都天气。(支持3400+城市天气,输入不正确或者查询失败返回北京天气)
  • 热榜查询。支持:<微博/虎扑/知乎/哔哩哔哩/36氪/抖音/少数派/IT最新/IT科技>

注册ALAPI账号

只要你注册就送你一个年免费使用

ALAPIhttps://admin.alapi.cn/dashboard/workplace注册完以后在 个人管理——个人中心——可以看到token 复制好他

d220205aaab44596a651dc13eca6ad28.png

安装插件

返回到微信聊天界面,#auth 12345(后面是你自己设置的命令) 命令进行管理员权限,

在微信上用这段命令来进行安装插件,请耐心等待这一步有点慢。

#installp https://github.com/6vision/Apilot.git

 扫描插件

 #scanp

开启插件

#enablep Apilot

ba43d444889b4c46861bf55da524c989.png

 

 配置文件

 到这一步也可以使用一部分接口,部分接口(快递、天气)需要配置alapi的token

所以打开运程工具在 chatgpt-on-wechat 打开 plugins 下的 Apilot文件

cd plugins/Apilot

10056a431199401291fc5207221c53e0.png

跟刚才一样 config.json.template 复制为 config.json

cp config.json.template config.json

  再用 vi 命令打开 config.json 文件

用英文输入法状态下点击键盘上的字母 i 开始编辑

vi config.json

在这里填写你刚才复制token

85515ce5a60b4281b9816396bc2310f5.png

修改完成后 点击键盘上的 Esc —— 然后用英文输入法状态下 Shift + :—— 在输入wq —— 按回车就好了

返回到  chatgpt-on-wechat 目录,日志输出二维码扫码登录就好了

nohup python3 app.py & tail -f nohup.out

 

timetask(定时任务插件)

返回到微信聊天界面,#auth 12345(后面是你自己设置的命令) 命令进行管理员权限,

在微信上用这段命令来进行安装插件,请耐心等待这一步有点慢。

#installp https://github.com/haikerapples/timetask.git 

 扫描插件

 #scanp

开启插件

#enablep timetask

 

9c305c4eda5647b799549fcb17b4282a.png

 

教程到这里就结束了,还有其他玩法和规则就交给大家自己来摸索吧!

都看到这里了点个赞再走吧!

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1418058.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

编译Opencv3.3 版本遇到的Cuda版本变更导致:CUDA_nppicom_LIBRARY (ADVANCED)链接找不到的问题根本解法:

前言&#xff1a; Opencv 开源库的使用是必须的&#xff0c;但是&#xff0c;开源项目的特性&#xff0c;造成&#xff0c;版本的依赖性比较复杂&#xff0c; 尤其是针对某一款老硬件的SDK&#xff0c;往往随着某个开源库的使用&#xff0c;导致&#xff0c;无法编译的问题&am…

Windows XP x86 sp3 安装 Python3.4.4

1 下载 Python3.4.4&#xff0c;下载地址&#xff0c;点击红色部分。 Python Release Python 3.4.4 | Python.org 2 一路 Next&#xff0c;将 C:\Python34 和 C:\Python34\Scripts 加入环境变量。 3 python 查看版本&#xff0c;python -m pip list 查看安装的包。 4 其他(打…

关东升老师Python著作推荐(由电子工业出版社出版)

前言&#xff1a;关东升老师简单介绍 一个在IT领域摸爬滚打20多年的老程序员、软件架构师、高级培训讲师、IT作家。熟悉Java、Kotlin、Python、iOS、Android、游戏开发、数据库开发与设计、软件架构设计等多种IT技术。参与设计和开发北京市公交一卡通百亿级大型项目&#xff0c…

OpenAI、斯坦福大学提出Meta-Prompting,有效提升语言模型的性能

为了研究如何提高语言模型的性能&#xff0c;使其更充分有效地输出对于提问的回答&#xff0c;来自斯坦福和 OpenAI 的学者强强联手&#xff0c;通过提出一种名为元提示&#xff08;meta-prompting&#xff09;的方法来深入探索。元提示通过让单个语言模型&#xff08;如 GPT-4…

微信小程序(二十二)获取全局实例

注释很详细&#xff0c;直接上代码 上一篇 新增内容&#xff1a; 1.全局实例的定义位置 2.全局实例中数据的修改方法 源码&#xff1a; app.js App({//数据可以包括在第二级globalData:{userInfo:null,token:1243,userInfo:null},//globalData并不是关键词&#xff0c;数据可以…

TCP_拥塞控制

引言 24年春节马上就要到了&#xff0c;作为开车党&#xff0c;最大的期盼就是顺利回家过年不要堵车。梦想是美好的&#xff0c;但现实是骨感的&#xff0c;拥堵的道路让人苦不堪言。 在网络世界中&#xff0c;类似于堵车的问题也存在&#xff0c;而TCP&#xff08;Transmissi…

智慧矿山数字孪生三维可视化平台,赋能矿业新型工业化数字化转型

智慧矿山数字孪生三维可视化平台&#xff0c;赋能矿业新型工业化数字化转型。随着科技的不断发展&#xff0c;数字化转型已经成为各行各业发展的必然趋势。矿业作为传统产业&#xff0c;也需要紧跟时代步伐&#xff0c;通过数字化转型实现更加高效、安全和环保的生产方式。智慧…

STM32_JTAG引脚及复用代码

目录 1.JTAG引脚1.1 说明&#xff08;可以不看&#xff09;1.2 引脚 2.复用代码3. 手册介绍&#xff08;可以不看&#xff09; 总是忘记有些引脚是JTAG复用的&#xff0c;导致偶尔浪费一些时间&#xff0c;记录一下。 1.JTAG引脚 1.1 说明&#xff08;可以不看&#xff09; …

修改el-date-picker datetimerange内部样式 或 popper-class不生效

看官网介绍 需要添加一个 popper-class类名去控制 有可能发现 popper-class不生效。 这时我们需要看 样式 是否加了 scoped。这个的作用就是样式隔离了。 所以我们需要在重新写个style在这当前页面下即可&#xff0c;或者在最外层重新写个样式。我这里直接放在了当前页面下。…

muduo网络库剖析——接受新连接Acceptor类

muduo网络库剖析——接受新连接Acceptor类 前情从muduo到my_muduo 概要框架与细节成员函数使用方法 源码结尾 前情 从muduo到my_muduo 作为一个宏大的、功能健全的muduo库&#xff0c;考虑的肯定是众多情况是否可以高效满足&#xff1b;而作为学习者&#xff0c;我们需要抽取…

Hbuilder真机调试

1.找到adbs文件&#xff0c;执行adb.exe文件 2.手机找到开发人员选项&#xff08;设置-系统和更新-开发人员选项&#xff09; 打开之后在调试里面打开USB调试&#xff0c;数据线连接电脑 手机会弹窗提示&#xff0c;点击确定 然后就准备运行啦 3.Hbuilder运行 点击运行就可以…

Kotlin快速入门5

Kotlin的继承与重写 kotlin的继承 Kotlin中所有类都继承自Any类&#xff0c;Any类是所有类的超类&#xff0c;对于没有超类型声明的类是默认超类&#xff08;Any 不是 java.lang.Object&#xff09;&#xff1a; class LearnKotlin // 默认继承自Any Any类默认提供三个函数…

LeetCode力扣题解(随机每日一题)——使数组为空的最少操作次数

目录 题目链接 题目描述 输入输出示例 代码 复杂度分析 题目链接 2870. 使数组为空的最少操作次数 - 力扣&#xff08;LeetCode&#xff09; 题目描述 给你一个下标从 0 开始的正整数数组 nums 。 你可以对数组执行以下两种操作 任意次 &#xff1a; 从数组中选择 两个…

Ubuntu的应用

记得看目录哦&#xff01; 1. root用户1.1 root介绍1.2 hello Python 2. APT2.1 APT原理机制2.2 Ubuntu软件操作的相关命令2.3 更新Ubuntu软件下载地址2.4 安装一下vim2.5 使用vim 3. 远程登录Ubuntu3.1 ssh介绍3.2 原理图3.3 安装ssh3.4 安装net-tools3.5 查看端口号&#xff…

【Web前端实操17】导航栏效果——滑动门

滑动门 定义: 类似于这种: 滑到导航栏的某一项就会出现相应的画面,里面有对应的画面出现。 箭头图标操作和引用: 像一些图标,如果需要的话,可以找字体图标,比如阿里巴巴矢量图标库:iconfont-阿里巴巴矢量图标库 选择一个——>添加至购物车——>下载代码 因…

Abp 从空白WebApplication开始

开发环境&#xff1a;VS2022、.NET6 1、创建项目&#xff1a;BasicAspNetCoreApplication 2、NuGet添加&#xff1a;Volo.Abp.AspNetCore.Mvc和Volo.Abp.Autofac&#xff0c;如下图所示&#xff1a; 3、开始写代码&#xff0c;目录如下图所示&#xff1a; 3.1、添加启动模块Ap…

2023年:个人年度成长与团队协作成就

文章目录 个人职业发展的喜悦团队成就的辉煌公众号CSDN申请了移动安全领域新星创作者获得6月城市之星北京TOP 10获得23年博客之星TOP 41年度总结 知识星球 开拓新领域的决心免费知识大陆付费知识大陆 展望未来福利时间知识星球会员一年知识星球立减88券 在这个充满挑战与机遇的…

【Spark系列1】DAG中Stage和Task的划分全流程

本文字数在7800字左右&#xff0c;预计时间在15分钟 一、整体流程 每个Aciton操作会创建一个JOB&#xff0c;JOB会提交给DAGScheduler&#xff0c;DAGScheduler根据RDD依赖的关系划分为多个Stage&#xff0c;每个Stage又会创建多个TaskSet&#xff0c;每个TaskSet包含多个Tas…

解决 微信退款,本地退款可以,但是测试环境退款失败问题

1.问题描述 微信小程序退款操作&#xff0c;测试环境一直退款失败&#xff0c;但是本地测试退款却没问题 2.原因分析 本地退款可以&#xff0c;但是测试环境不行&#xff0c;说明问题出在测试环境上 经过排查发现是测试环境的微信商户证书是另一个小程序的&#xff0c;不是正在…