教你一步步在 服务器/本地(Linux/Windows) 部署鸣潮QQ机器人,并将其接入大语言模型,实现通过机器人进行库街区签到、练度查询、攻略查询等功能 (1)

准备工作

一台轻量级服务器/ 本地windows/linux能够在服务器/本地 科学上网

环境部署

笔者所演示的环境为阿里云服务器(2核CPU,2GIB内存,40GIB系统盘),操作系统为

Ubuntu 24.04.



确保已成功安装Python环境(版本须>3.8, 建议>=3.12,不建议>=3.13



确保已成功安装git
如果你没有安装git且的系统是ubuntu,安装git只需要输入

如果系统为Windows,则自行前往 🔗官网 下载安装包安装即可

创建虚拟环境

从 Python 3.11 开始,Debian 和 Ubuntu 默认启用了 "Externally-Managed-Environment"(外部管理环境)保护机制,防止用户直接使用 pip 安装包到系统 Python 环境中,以避免破坏系统依赖。因此我们选择创建一个虚拟环境,每次使用之前只需要启动环境即可。

Windows可直接运行pip install uv

如果直接安装uv可能会出现以下错误

安装虚拟环境包



(退出虚拟环境的命令:deactivate)

激活虚拟环境并安装uv

# 激活虚拟环境 source mcvenv/bin/activate # 在虚拟环境安装uv pip install uv

安装插件

安装GsCore

早柚核心文档http://​https://docs.sayu-bot.com/​

进入opt/mcbot,输入如下命令

git clone https://github.com/Genshin-bots/gsuid_core.git --depth=1 --single-branch cd gsuid_core

运行GsCore

uv run core

忽视警告

如在服务器上部署请按照说明修改config.json中的host为0.0.0.0,如在本地部署请忽略





Ctrl + x 退出并保存,回车确认

配置服务器端口8765

由于Gscore运行在8765端口,我们需要在服务器的防火墙处添加对应的规则

安装XutheringWavesUID鸣潮插件

进入插件目录,安装XWUID

cd gsuid_core/plugins # 安装XutheringWavesUID git clone https://github.com/Loping151/XutheringWavesUID.git

安装库街区签到插件

# 在plugins目录下安装库街区签到插件 git clone --depth=1 https://github.com/Loping151/RoverSign

重启早柚插件

可以看到刚刚安装的插件成功导入了

安装nonebot

另外创建一个会话窗口,进入mcbot目录,运行虚拟环境,安装nonebot

cd opt/mcbot # 激活虚拟环境 source mcvenv/bin/activate # 安装nb pip install nb-cli-plugin-bootstrap nb-clil

运行nb bs,将文件夹命名为onebot,空格选中,回车确定

配置图如下

进入onebot目录,连接早柚插件,可能需要科学上网

cd onebot nb plugin install nonebot-plugin-genshinuid

运行onebot

nb run

配置防火墙端口8080

Read more

Gemini cli 源码分析之工具篇-WebFetch工具

Gemini cli 源码分析之工具篇-WebFetch工具

查看完整的Gemini cli 源码分析系列课程 Gemini CLI源码启示录:AI工程师必须掌握的终端开发范式 WebFetch工具深度分析 概述 WebFetch工具 (packages/core/src/tools/web-fetch.ts) 是Gemini CLI项目中的一个核心工具,用于从URL获取和处理网页内容。该工具结合了AI能力和传统网页抓取技术,提供了智能的内容获取和处理功能。 核心架构 主要组件 WebFetchTool(主工具类) ├── WebFetchToolInvocation(工具调用实现) ├── parsePrompt(URL解析函数) └── GroundingMetadata(引用和元数据接口) 继承关系 * WebFetchTool 继承自 BaseDeclarativeTool<WebFetchToolParams, ToolResult> * WebFetchToolInvocation 继承自 BaseToolInvocation<WebFetchToolParams, ToolResult> 核心功能分析

前端跨子域通讯深度解读:跳出基础,聚焦避坑

在前端开发中,“跨域”是绕不开的话题,而“跨子域”作为跨域的一种特殊场景(如 a.example.com 与 b.example.com),因主域一致、子域不同的特性,既有别于完全跨域(如 example.com 与 test.com),也存在专属的通讯技巧和避坑点。 多数文章仅罗列“可用方案”,却忽略了不同场景下的选型逻辑、实际落地中的细节问题,以及生产环境中的最佳实践。本文将从“痛点拆解→方案深度解析(含代码+场景)→避坑指南→最佳实践”四个维度,真正了解跨子域通讯,而非停留在“知道有哪些方法”的层面。 一、先搞懂:跨子域通讯的核心痛点(区别于普通跨域) 跨子域的核心特点是「主域相同,子域不同」,这就决定了它的痛点的特殊性,而非普通跨域的“

前端安全问题深度剖析与防护策略

前端安全问题深度剖析与防护策略

🤍 前端开发工程师、技术日更博主、已过CET6 🍨 阿珊和她的猫_ZEEKLOG博客专家、23年度博客之星前端领域TOP1 🕠 牛客高级专题作者、打造专栏《前端面试必备》 、《2024面试高频手撕题》、《前端求职突破计划》 🍚 蓝桥云课签约作者、上架课程《Vue.js 和 Egg.js 开发企业级健康管理项目》、《带你从入门到实战全面掌握 uni-app》 文章目录 * * 摘要 * 一、引言 * 二、常见前端安全问题及原理 * 2.1 跨站脚本攻击(Cross-Site Scripting,XSS) * 2.2 跨站请求伪造(Cross-Site Request Forgery,CSRF) * 2.3 点击劫持(Clickjacking) * 2.4 不安全的依赖引入 * 2.5 敏感信息泄露

别再被a标签download坑了!前端文件下载重命名的终极解决方案(含后端header设置技巧)

前端文件下载重命名的实战指南:突破a标签download限制的完整方案 当用户点击下载按钮时,文件名显示乱码或保持原始名称——这是许多开发者都遇到过的痛点。传统解决方案依赖a标签的download属性,但实际开发中你会发现这个看似简单的功能隐藏着诸多兼容性和跨域陷阱。本文将带你深入理解文件下载的底层机制,并提供一套覆盖前后端的完整解决方案。 1. 为什么a标签的download属性总让你失望 几乎所有前端开发者最初接触文件下载时,都会使用这样的代码: <a href="report.pdf" download="2023年度报告.pdf">下载报告</a> 理论上这行代码应该让用户下载的文件自动重命名为"2023年度报告.pdf",但现实往往事与愿违。经过大量项目实践,我总结了download属性失效的三大典型场景: 1. 跨域限制:当文件域名与当前页面不同时(包括http/https协议差异),Chrome和Firefox会直接忽略download属性 2. 浏览器兼容性:Safari直到2020年才部分支持此属性,而某些移动端浏览器仍存在兼容问题 3. 特殊文