喜樂君技术博客 - 开源网站管家解决方案 | 益益AI - 技术分享
type: channel
link: https://xlj0.com/index.php/category/jsfx/
description: 技术分析
items: 腾讯云竞价实例防销毁策略 编译方法
items: 腾讯云竞价实例怕销毁?
items: 益益AI - 网站管家 已开源到Github
items: STM32 电池状态，附近雷达检测系统
items: 益益AI - 网站管家 守护您的网站和您的用户
items: Typecho 益益AI评论总结文章回复助手
items: 益益大模型

腾讯云竞价实例防销毁策略 编译方法
type: item
date: 2026-02-19T19:11:00+08:00
description: 防痴呆，防遗忘，防脑神经元不经用Q：编译后的机器（新购买的服务器）必须具备 Python 环境和编译程序吗？A：不需要！完全不需要。这正是我们使用 Nuitka 打包的目的。编译机（你的开发机）： 必须有 Python、Nuitka、SDK 等所有环境。运行机（新买的服务器）： 只需要是一个干净的 Linux 系统（CentOS/Ubuntu）即可。打包好的程序就像一个自带了“微型 Python 环境”的手提箱，走到哪里都能直接运行。以下是为你准备的博客文档内容（复制 --- 中间的内容即可）：Python 自动化运维：使用 Nuitka 将脚本打包为 Linux 独立可执行文件 (无需 Python 环境运行)📖 前言：为什么要打包？在云服务器容灾或自动化运维场景中，我们需要在新购买的服务器上立即运行脚本。但是，新服务器通常是“干净”的，没有安装我们需要的 Python 库（如 tencentcloud-sdk、requests 等）。如果我们每次都要先 pip install ... 再运行，既浪费时间又容易出错。解决方案：使用 Nuitka 将 Python 脚本及其依赖库、解释器全部打包成一个独立的二进制文件。这样，新服务器只要能开机，就能运行我们的程序！🛠️ 第一步：准备编译环境注意：这一步只需要在你的开发机（或者作为母板的服务器）上操作。1. 基础环境要求确保你的开发机安装了 Python 3 和 GCC 编译器（Nuitka 需要它来将 Python 转译为 C 语言）。# CentOS 系统安装基础编译工具 yum install -y python3 python3-devel gcc gcc-c++ make # Ubuntu/Debian 系统 apt-get install -y python3 python3-dev gcc g++ make 2. 安装 Python 依赖库安装你的脚本用到的库，以及打包工具 Nuitka。# 1. 安装打包工具 Nuitka pip3 install nuitka # 2. 安装脚本需要的业务库 (根据你的脚本需求) pip3 install requests tencentcloud-sdk-python # 3. 建议更新 pip (可选) pip3 install --upgrade pip 📝 第二步：核心代码逻辑 (防踩坑指南)在容灾场景下（旧服务器销毁 -> 自动买新服务器 -> 恢复业务），有一个巨大的逻辑坑：身份验证失效。通常我们用机器硬件信息（MAC地址、Machine-ID）生成指纹。但是，云服务器生成的新实例，硬件信息全变了，导致程序认为这是“盗版拷贝”。解决方案：在代码中加入“指纹存档”逻辑。程序首次运行：生成指纹 -> 写入 bot_identity.lic 文件。程序打包镜像：这个文件被一起打包进镜像。新机器启动：程序发现 bot_identity.lic 存在 -> 直接读取，不再重新计算。这样，新机器就完美继承了“老机器”的身份。🚀 第三步：执行编译命令 (核心)这是最关键的一步。请确保你在脚本所在的目录下执行。编译指令详解python3 -m nuitka \ --onefile \ --standalone \ --include-package=tencentcloud \ --include-package=requests \ --remove-output \ --jobs=4 \ --output-filename=AutoBot_VIP \ auto_bot_vip3.py 参数说明 (小白必看)--onefile: 最重要。告诉编译器把所有东西（依赖库、解释器、代码）塞进一个文件里。--standalone: 制作独立环境，不依赖系统 Python。--include-package=...: 强制打包某些库。tencentcloud 和 requests 必须强制包含，否则容易漏掉。--remove-output: 编译完自动删除临时的 build 文件夹，保持清爽。--output-filename=AutoBot_VIP: 指定生成出来的程序名字。auto_bot_vip3.py: 你的源代码文件名。🏃‍♂️ 第四步：部署与运行编译完成后，你会得到一个名为 AutoBot_VIP 的文件（没有后缀名）。1. 测试运行在开发机上赋予权限并运行：chmod +x AutoBot_VIP ./AutoBot_VIP 2. 检查身份文件运行一次后，查看目录下是否生成了 bot_identity.lic：ls -la bot_identity.lic 如果这个文件存在，说明身份持久化成功了！3. 分发使用你可以把这个 A…

腾讯云竞价实例怕销毁?
type: item
date: 2026-02-02T21:40:00+08:00
description: 内容教腾讯云竞价实例被销毁如何提前防范于未然，使用 python 进行自动化控制，自动检测元数据是否有异常，并发送邮件提醒，并自动化备份快照，创建镜像，创建新的服务器并且进行CDN源站地址更改成新的服务器，实现全流程自动化防止实例销毁的风险注: 内容开源 MIT License 开源地址第一步：安装 pip在命令行中依次复制并运行以下命令：安装 EPEL 源（pip通常在这个源里）：yum -y install epel-release安装 pip：yum -y install python3-pip # 升级 pip（可选，防止版本过低报错）：pip3 install --upgrade pip第二步：重新安装腾讯云 SDK安装完 pip 后，再次运行之前的安装命令（注意这里我用了 pip3，在 CentOS 上更稳妥）：pip3 install tencentcloud-sdk-python提示：如果安装成功，你应该能看到类似 Successfully installed ... 的提示。安装完成第三步: 实现实现自动化通知，即将被销毁的服务器 和 自动备份当前时刻的快照默认快照到期时间是 7天 可自行设定创建vi monitor.py按 i 键 然后按 SHIFT + ins键 ，粘贴完 按 esc键 再按 SHIFT + : 键输入 wq 然后回车复制这个import time import urllib.request import urllib.error import smtplib import datetime import os import socket from email.mime.text import MIMEText from email.header import Header from email.utils import formataddr # 引入腾讯云 SDK try: from tencentcloud.common import credential from tencentcloud.common.profile.client_profile import ClientProfile from tencentcloud.common.profile.http_profile import HttpProfile from tencentcloud.cbs.v20170312 import cbs_client, models except ImportError: print("❌ 错误: 请先安装 SDK: pip3 install tencentcloud-sdk-python") exit() # ================= 配置区域 ================= # 1. 邮件配置 MAIL_SENDER = 'xlj@xlj0.com' # 发件人 MAIL_PASSWORD = '这里是你的邮件密码' MAIL_RECEIVER = '480003862@qq.com' # 收件人 SMTP_SERVER = 'smtp.qq.com' SMTP_PORT = 465 # 2. 腾讯云 API 配置 TENCENT_SECRET_ID = '这是你的 腾讯云API秘钥ID' TENCENT_SECRET_KEY = '这是你的 腾讯云API秘钥ID KEY (去腾讯云获取)' REGION = 'ap-chongqing' # 重庆 (这里是服务器区域) # 3. 备份保留策略 # 设置为 7 表示快照会在 7 天后自动删除 # 建议设置 3-7 天，足够你恢复数据，又不会长期扣费 RETENTION_DAYS = 7 # =========================================== BASE_URL = "http://metadata.tencentyun.com/latest/meta-data/" SPOT_URL = BASE_URL + "spot/termination-time" def log(msg): print(f"[{datetime.datetime.now().strftime('%Y-%m-%d %H:%M:%S')}] {msg}") def get_meta_data(key): try: url = BASE_URL + key req = urllib.request.Request(url) with urllib.request.urlopen(req, timeout=2) as response: return response.read().decode('utf-8') ex…

益益AI - 网站管家 已开源到Github
type: item
date: 2026-01-22T12:37:00+08:00
description: -AI-一个 7 x 24 小时 不抱怨的网站小AI客服 Github 开源 "YiYiAi Core (核心版)"。YiYiAi Management Core (益益AI 管理核心)YiYiAi Management Core 是一款专为前端开发与网站管理设计的轻量级 AI 辅助引擎。作为一个单文件（Single-file）解决方案，它能无缝嵌入任何网页，提供 DOM 实时可视化编辑、AI 代码辅助修改、智能对话调试以及SEO 深度分析功能。注意: 本仓库开源的是 YiYiAi 的核心管理引擎。它包含了所有功能逻辑、编辑器和 AI 交互能力。(注：移动端适配插件与高级 UI 主题包属于商业版组件，不包含在此开源版本中，但核心功能完全可用。)✨ 核心功能1. 🛠 可视化 DOM 智能编辑器深度探查: 提供类似 Chrome DevTools 的元素树状视图，支持折叠/展开。双向编辑: 支持“代码视图”与“实时预览”分屏操作，所见即所得。安全沙箱: 编辑操作在隔离环境中进行，确保页面稳定性。2. 🤖 AI 代码修改 (Text-to-Code)自然语言指令: 选中页面任意元素，告诉 AI “把这个按钮改成圆角并加阴影”，AI 将自动生成代码并应用。智能回滚: 支持撤销 AI 的修改操作，保留修改历史。3. 🧠 深度思考 AI 助手流式对话: 集成 SSE (Server-Sent Events) 流式响应。思维链展示: 支持显示 AI 的 reasoning_content (深度思考过程)，适合复杂逻辑调试。上下文感知: 可配置 Persona (人设) 和外部知识库 URL。4. 📊 SEO 智能诊断一键分析: 自动抓取页面 HTML 结构。专业报告: 生成包含 Head 标签优化、内容策略、关键词布局的 Markdown 格式建议书。🚀 快速集成只需将 YiYiAi-manage.js 引入您的 HTML 页面即可（通常放置在 之前）。 配置参数id="yiyiai-boot-script": 必须保留，用于脚本识别自身配置。persona: (可选) 定义 AI 的角色设定。data-url: (可选) 传递给 AI 的额外上下文链接。⚙️ 后端接口配置 (必读)本项目是一个纯前端引擎，需要配合后端接口使用以连接 LLM（如 OpenAI, Claude, DeepSeek 等）。前端默认请求地址为 /YiYiAi-manage.php。您需要实现一个满足以下协议的后端接口：请求方式: POST数据格式: JSON{ "messages": [ {"role": "system", "content": "..."}, {"role": "user", "content": "..."} ], "stream": true } 响应格式: 标准 SSE (Server-Sent Events) 流。(如果您有自己的后端地址，请在 JS 文件中全局搜索 /YiYiAi-manage.php 并替换为您自己的 API URL。)📦 项目结构. ├── YiYiAi-manage.js # 核心引擎 (包含所有逻辑、样式注入与编辑器) ├── README.md # 说明文档 └── LICENSE # 开源协议 🛠 开发指南本项目采用 "All-in-One" 架构，无需 Webpack/Vite 打包。样式管理: CSS 通过 WIDGET_CSS 常量直接注入，修改 JS 内的 CSS 字符串即可实时生效。外部依赖: 自动通过 CDN 加载 marked.js, purify.js, highlight.js，无需本地安装。开源代码YiYiAi-manage.js// 使用IIFE（立即调用函数表达式）来创建私有作用域，避免污染全局命名空间 (function() { // --- 获取启动脚本和自定义属性 --- const bootScript = document.getElementById('yiyiai-boot-script'); let customPersona = null; let contextUrl = null; if (bootScript) { customPersona = bootScript.getAttribute('persona'); contextUrl = bootScript.getAttribute('data-url'); console.log( '%c益益AI', 'color: #4285f4; text-decoration: underline; cursor: pointer', '-> 益益AI 为您的网站保驾护航：https://ai.xlj0.co…

STM32 电池状态，附近雷达检测系统
type: item
date: 2025-10-18T16:04:00+08:00
description: 项目硬件规格与引脚分配说明 (量-产-参-考)1. 项目概述本项目是一个基于 STM32F103C8T6 微控制器的多功能显示终端。它集成了OLED显示、电池电压监测、环境温度测量和人体感应功能，并通过丰富的动态UI（粒子系统、充放电动画）来展示信息。本文档旨在为该项目的硬件定型和批量生产提供清晰的引脚连接和元器件选型参考。实物图2. 核心控制器 (MCU)型号: STM32F103C8T6封装: LQFP48核心: ARM Cortex-M3 @ 72MHz供电电压: 2.0V ~ 3.6V (项目中通常使用 3.3V)3. 引脚分配总览 (Pin Allocation)MCU 引脚主要功能连接模块信号/功能描述备注PA0ADC1_IN0电池电压检测电路V_BATT_SENSE (模拟输入)ADC 采样引脚PA1GPIODS18B20 温度传感器DQ (单总线数据)开漏输出/上拉输入PA2GPIOOLED 显示屏CS (片选)SPI 片选信号，推挽输出PA3GPIOOLED 显示屏DC (数据/命令)数据/命令选择信号，推挽输出PA4GPIOOLED 显示屏RES (复位)屏幕硬件复位，推挽输出PA5SPI1_SCKOLED 显示屏SCK / D0 (时钟)SPI 时钟信号PA7SPI1_MOSIOLED 显示屏MOSI / D1 (数据)SPI 主机输出数据PB9GPIO人体红外感应模块 (PIR)OUT (数字信号输入)感应器输出信号，高电平有效3.3VPOWER所有模块VCC系统主供电GNDPOWER所有模块GND系统地VBATPOWER电池Battery +连接电池正极 (经过分压电路到 PA0)GNDPOWER电池Battery -连接电池负极4. 外设模块详解 (Peripheral Details)4.1 OLED 显示屏模块名称: OLED 显示屏型号/规格: 128x64 分辨率, SSD1306 驱动芯片连接方式: 4-Wire Hardware SPI (硬件SPI)引脚连接:MCU 引脚信号连接至 OLED 模块引脚PA2CSCS (Chip Select)PA3DCDC (Data/Command)PA4RESRES (Reset)PA5SCKD0 / SCK (Clock)PA7MOSID1 / SDA (Data)3.3VVCCVCCGNDGNDGND注意事项:请确保购买的OLED模块支持SPI模式。有些模块需要通过焊接模块背面的电阻(BS0/BS1)来切换SPI/I2C模式。本设计未使用 MISO (PA6) 引脚，因为屏幕是只写设备。4.2 电池电压检测电路模块名称: 电池电压检测电路核心原理: 使用电阻分压将电池电压 (6.0V ~ 8.4V) 降低到 ADC 的安全测量范围 (0V ~ 3.3V)。电路连接:电池正极 -> 电阻 R1 -> MCU PA0 引脚 -> 电阻 R2 -> GND电阻选型 (重要):代码中的校准系数 4.659f 反映了分压比，即 (R1 + R2) / R2 = 4.659。推荐选型: 为保证精度，请使用 1% 精度的贴片电阻。示例组合: R1 = 36kΩ, R2 = 10kΩ。此时分压比为 (36+10)/10 = 4.6，与代码中系数非常接近。量产校准: 在批量生产时，由于元器件公差，建议保留一个校准流程，或者直接在固件中预留一个可调整的校准系数宏定义。4.3 DS18B20 温度传感器模块名称: 数字温度传感器型号/规格: Dallas DS18B20连接方式: 1-Wire (单总线)引脚连接:MCU 引脚信号连接至 DS18B20 引脚PA1DQDQ (Data)3.3VVCCVDDGNDGNDGND注意事项:必须在 DQ 数据线和 VCC (3.3V) 之间接一个 4.7kΩ 的上拉电阻。虽然代码中配置了MCU内部上拉，但外部上拉电阻能提供更稳定和可靠的信号质量，是1-Wire总线的标准要求。4.4 人体红外感应模块 (PIR)模块名称: 被动红外 (PIR) 运动传感器参考型号: HC-SR501, HC-SR505 等连接方式: 数字信号输入引脚连接:MCU 引脚信号连接至 PIR 模块引脚PB9INOUT (Signal Output)5V/3.3VVCCVCCGNDGNDGND注意事项:代码中将 PB9 配置为内部下拉输入，这是正确的，因为PIR模块在检测到人体时输出高电平。请注意PIR模块的供电电压范围。HC-SR501 通常需要 4.5V 以上供电，但其输出信号通常是 3.3V，可以直接连接到STM32。在设计电源时需要考虑这一点。如果整个系统只有3.3V，请选择支持3.3V供电的PIR模块。采购清单高压发生包 * 2 成本 12…

益益AI - 网站管家 守护您的网站和您的用户
type: item
date: 2025-07-23T12:56:00+08:00
description: 益益AI 网站管家 网站客服功能文件大小: 0.008Mb (浓缩精华)需要环境PHP 8.0 + (及以上)“网站管家”是益术AI为您提供的轻量级、嵌入式网站智能客服解决方案。它允许您在自己的网站上快速集成一个由AI驱动的对话窗口，无需复杂的开发，即可为您的访客提供7x24小时的智能问答服务。大大降低成本，提高沟通效率后续会推出 投喂文档和角色扮演功能，把一整本书都能喂给大模型学习，然后帮助用户解决各种疑难杂症让人头痛的问题视频教程 poster="https://xlj0.com/thumbnail.jpg" preload="metadata" 您的浏览器不支持HTML5视频播放，请升级浏览器或点击这里直接观看。 效果视频 poster="https://xlj0.com/thumbnail.jpg" preload="metadata" 您的浏览器不支持HTML5视频播放，请升级浏览器或点击这里直接观看。 安装与配置第一步：获取并上传核心请求文件此文件是保障您通信安全和功能实现的核心，它将作为您网站与AI服务器之间的安全桥梁。前往 益术AI会员中心 -> 点击 【API密钥】 选项卡。找到并点击 【下载PHP-YiYiAi-manage.php】 按钮。系统会自动为您生成一份已包含您个人密钥的 YiYiAi-manage.php 文件并开始下载。将下载好的 YiYiAi-manage.php 文件，通过FTP或网站管理后台，上传到您网站的根目录下。例如，如果您的域名是 example.com，那么上传后，文件的访问路径应该是 example.com/YiYiAi-manage.php。第二步：在您的网站中嵌入脚本将以下代码添加到您网站每个需要显示AI客服的页面的 标签结束之前。基础安装要启用AI客服，您必须在代码中包含一个带有特定id的 注意: id="yiyiai-boot-script" 是必须的，以便AI助手能正确加载高级配置。高级配置 (使用新功能)您可以通过在 2. 投喂文档/URL (data-url)通过 data-url 属性，您可以让AI学习并基于特定网页的内容来回答问题。AI会抓取该URL的文本内容作为上下文。注意: 当使用投喂文档功能和角色扮演其中任何一个的时候，请在角色扮演最后添加一句你是一个精通所有领域的专家，请使用严谨、精确的语言回答所有问题。如果用户问你非文档内容以外的内容，请你根据跳出文档回答，再如果用户问的问题如果在所拥有的文档内找不到相关内容请你根据你知道的其他内容进行引导解决问题(这个指令权重最大)当然如果不需要这个问文档以外也能回答的时候可以不加，那么大模型就会只回答文档以内的内容了 3. 组合使用您可以同时使用这两个属性，实现更强大的定制效果。

Typecho 益益AI评论总结文章回复助手
type: item
date: 2025-07-19T17:47:00+08:00
description: 文件名: YiyiAiReply.zip文件大小: 8.78 KB介绍: 根据每个文章的内容，给评论区评论的人进行回复，可自定义角色扮演，细致入微的教程和回复 poster="https://xlj0.com/thumbnail.jpg" preload="metadata" 您的浏览器不支持HTML5视频播放，请升级浏览器或点击这里直接观看。 下载文件上传到 typecho index.php同级目录 解压缩到后台 -> 控制台 -> 插件 -> YiyiAiReply 开启 -> 设置 -> 输入你的key找到typecho目录下的 usr 文件夹下的 themes 文件夹下的 你的主题文件夹下的 footer.php然后找到 这个代码， 可以ctrl + f也可以用鼠标找在这个 代码上方 填入以下代码去评论区 试试吧<?php if ($this->is('post')): // 这段代码只在文章页面执行 ?> <?php endif; ?>

益益大模型
type: item
date: 2025-06-19T20:36:00+08:00
description: 益术AI API 对接文档 (V1)最后更新时间: 2025年7月18日欢迎使用益术AI API。本API提供了一个统一、标准化的接口，让您可以轻松地将“益益”系列大语言模型集成到您的应用程序中。API遵循与业界主流标准兼容的设计，支持流式响应与自定义AI角色，以实现实时、动态的交互体验。快速入门只需三步，即可开始使用益术AI API：获取API Key：访问 益术AI会员中心，登录后在“API密钥”标签页中生成您的专属API Key。选择模型：根据您的需求选择一个可用的模型，例如 YiYi-Thinking-V1。发送请求：参照下文的代码示例，向API端点 https://ai.xlj0.com/api.php 发送一个POST请求。认证 (Authentication)API使用 Bearer Token 方式进行认证。所有API请求都需要在HTTP头信息中包含Authorization字段，并提供您的API Key。请求头示例:Authorization: Bearer YOUR_API_KEY Content-Type: application/jsonAPI 端点 (Endpoint)请求地址: https://ai.xlj0.com/api.php请求方法: POST请求体 (Request Body)请求体必须是JSON格式。参数类型是否必需描述modelstring是要使用的模型ID。详情请见下方的“模型列表”。messagesarray是一个包含对话历史的消息对象数组。支持通过system角色自定义人设。streamboolean否如果设置为 true，API将以流式方式返回响应。推荐在聊天场景中使用。默认为 false。messages 数组详解messages 数组构成了对话的上下文。它由一个或多个消息对象组成。消息对象结构:参数类型描述rolestring消息的角色，可以是 user (用户), assistant (AI助手), 或 system (系统)。contentstring消息的具体内容。✨ 新功能：自定义人设 (Persona)您可以为AI定义一个特定的角色、个性和行为准则。要实现此功能，请将一个 role 为 system 的消息对象作为 messages 数组的第一个元素传入。如果提供了 system 消息：API将完全采用您定义的人设。如果未提供 system 消息：API将自动使用默认的“益益AI助手”人设。messages 示例 (使用自定义人设):[ {"role": "system", "content": "你是一个精通中国古诗词的AI助手，你的回答应尽可能地引用诗句，并保持文雅的风格。"}, {"role": "user", "content": "你好，请问今天天气如何？"} ]响应格式与详解响应格式总览 (非流式){ "id": "chatcmpl-xxxxxxxx", "object": "chat.completion", "created": 1721234567, "model": "YiYi-Thinking-V1", "choices": [ { "index": 0, "message": { "role": "assistant", "content": "当然可以。这是一个使用迭代方法计算斐波那...（完整回复内容）" }, "finish_reason": "stop" } ], "usage": { "prompt_tokens": 25, "completion_tokens": 120, "total_tokens": 145 } }响应参数详解参数类型描述idstring本次聊天补全的唯一标识符。objectstring对象类型，恒为 chat.completion 或 chat.completion.chunk。createdinteger本次补全创建时的Unix时间戳（秒）。modelstring您请求的自定义模型名称，如 YiYi-Thinking-V1。choicesarray包含聊天补全结果的数组，通常只包含一个元素。choices[].message.contentstring(非流式) 模型生成的完整回复内容。choices[].delta.contentstring(流式) 模型生成的回复内容片段。choices[].finish_reasonstring模型停止生成内容的原因。stop 表示正常结束。usageobject(仅在非流式请求中提供) 本次请求的Token消耗统计。代码示例1. cURL基础请求curl -N -X POST https://ai.xlj0.com/api.php \ -H "Content-T…