<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[gitblog_00641的博客]]></title><description><![CDATA[]]></description><link>https://blog.csdn.net/gitblog_00641</link><language>zh-cn</language><generator>https://blog.csdn.net/</generator><copyright><![CDATA[Copyright &copy; gitblog_00641]]></copyright><item><title><![CDATA[三步搞定完整备份：免费的QQ空间历史说说搬运工具上手指南]]></title><link>https://blog.csdn.net/gitblog_00641/article/details/153992695</link><guid>https://blog.csdn.net/gitblog_00641/article/details/153992695</guid><author>gitblog_00641</author><pubDate>Mon, 21 Sep 2026 12:18:18 +0800</pubDate><description><![CDATA[GetQzonehistory 是一款免费开源的QQ空间历史说说备份工具，通过扫码登录逐条抓取空间历史动态、下载配图，并整理成 Excel 表格和离线网页。适合想把十年空间记忆完整搬到本地硬盘、又不太会敲命令的新手。

QQ空间历史说说备份产出文件示意

## 说说找不回来是什么体验

某次想翻几年前的空间，发现列表停在某个年份，再往前的内容一条都不剩。没有删除提示，没有撤回通知，就是没了。平台清]]></description><category></category></item><item><title><![CDATA[抖音视频 video_id 提取指南：aweme_id 与 video_id 如何区分]]></title><link>https://blog.csdn.net/gitblog_00641/article/details/163975096</link><guid>https://blog.csdn.net/gitblog_00641/article/details/163975096</guid><author>gitblog_00641</author><pubDate>Mon, 21 Sep 2026 11:45:08 +0800</pubDate><description><![CDATA[在做 douyin 这个仿抖音项目的数据层时，你大概率会踩到同一个坑：拿列表接口返回的 ID 去请求播放地址，404；拿播放地址里的 ID 去查视频元数据，又是空。根源在于抖音体系里有两个长得完全不同、又不能互相替换的 ID——`aweme_id` 和 `video_id`，本文以本仓库的真实数据文件为例，讲清楚各自从哪来、在哪用、怎么用代码提取。

## aweme_id 与 video_id ]]></description><category></category></item><item><title><![CDATA[Yii 2.0 法语版权威指南（Guide définitif pour Yii 2.0）完整导航与知识地图]]></title><link>https://blog.csdn.net/gitblog_00641/article/details/153513098</link><guid>https://blog.csdn.net/gitblog_00641/article/details/153513098</guid><author>gitblog_00641</author><pubDate>Mon, 21 Sep 2026 11:23:30 +0800</pubDate><description><![CDATA[本文以当前仓库 [docs/guide-fr/README.md](https://link.gitcode.com/i/a21bf0da851d4417bbf1501e52ecd9d3) 为骨架，系统梳理 Yii 2.0 法语版权威指南的完整章节体系：从安装入门、MVC 应用结构、请求生命周期、核心概念（组件/事件/行为/配置/依赖注入），到数据库 DAO、Active Record、缓存、RE]]></description><category></category></item><item><title><![CDATA[Zephyr 双核移植实战：Renesas RA8P1 Titan Mini 开发板（Cortex-M85 + Cortex-M33）使用指南]]></title><link>https://blog.csdn.net/gitblog_00641/article/details/166239760</link><guid>https://blog.csdn.net/gitblog_00641/article/details/166239760</guid><author>gitblog_00641</author><pubDate>Mon, 21 Sep 2026 11:20:22 +0800</pubDate><description><![CDATA[本指南围绕 Zephyr RTOS 对 **Ruiside（睿赛德）RA8P1 Titan Mini** 开发板的官方支持展开，系统讲解这颗基于 Renesas R7KA8P1（RA8P1 系列）双核 MCU 的板卡在 Zephyr 中的板级配置、双核内存划分、烧录与调试流程，以及基于 sysbuild 的 MCUboot 引导方案。读完本文，你将掌握如何基于该板卡构建 `hello_world`]]></description><category></category></item><item><title><![CDATA[Apache Arrow C++ Dataset：面向多文件语义数据集的读写与并行扫描 API 解析]]></title><link>https://blog.csdn.net/gitblog_00641/article/details/163012103</link><guid>https://blog.csdn.net/gitblog_00641/article/details/163012103</guid><author>gitblog_00641</author><pubDate>Mon, 21 Sep 2026 10:13:05 +0800</pubDate><description><![CDATA[本文围绕 [cpp/src/arrow/dataset/README.md](https://link.gitcode.com/i/26a6a62e473a4b96d3eebcc5f253b4a9) 中定义的 `arrow::dataset` 子组件展开，讲解其如何为"存储在不同位置、采用不同格式的语义数据集"提供统一的读写 API，并处理分区（partitioning）、列级与分区级过滤（fil]]></description><category></category></item><item><title><![CDATA[如何让一块ESP32变成能聊天、能控灯的AI语音助手：xiaozhi-esp32 上手指南]]></title><link>https://blog.csdn.net/gitblog_00641/article/details/155219980</link><guid>https://blog.csdn.net/gitblog_00641/article/details/155219980</guid><author>gitblog_00641</author><pubDate>Mon, 21 Sep 2026 10:11:38 +0800</pubDate><description><![CDATA[桌上有个小盒子，对它说"你好小智"它会应声，说"把灯调成蓝色"灯真的会变蓝。这就是 xiaozhi-esp32 这款 ESP32 AI 语音助手做到的事：离线唤醒、云端对话、控制硬件。下面用四个场景带你看完它的能力，再讲怎么把固件刷进设备、怎么改造成自己的。

## 桌面陪伴场景：唤醒一句话就开始聊天

它能不能一直待命，又不至于把云端的请求刷爆？上电后设备大部分时间只跑一个轻量离线唤醒模型，基于]]></description><category></category></item><item><title><![CDATA[Rust By Practice 异步编程实战：从 async/await 到 Future、Pin 与 Stream 的完整路径]]></title><link>https://blog.csdn.net/gitblog_00641/article/details/161110507</link><guid>https://blog.csdn.net/gitblog_00641/article/details/161110507</guid><author>gitblog_00641</author><pubDate>Mon, 21 Sep 2026 10:10:59 +0800</pubDate><description><![CDATA[Rust By Practice 是一本面向 Rust 新手与进阶开发者的实战练习书，其异步编程章节系统覆盖了 async/await 语法、Future 机制、Pin 与 Unpin 以及 Stream 流处理四大核心主题。本书采用"示例 + 大量练习 + 实战项目"的练习驱动模式，帮助你从零开始真正掌握 Rust 异步编程，而不仅仅是停留在概念层面。

[![Rust By Practice ]]></description><category></category></item><item><title><![CDATA[beets unimported 插件：扫描音乐库文件夹中未入库文件的完整指南]]></title><link>https://blog.csdn.net/gitblog_00641/article/details/166229636</link><guid>https://blog.csdn.net/gitblog_00641/article/details/166229636</guid><author>gitblog_00641</author><pubDate>Mon, 21 Sep 2026 09:56:46 +0800</pubDate><description><![CDATA[`unimported` 是 beets 自带的一款轻量级实用插件，核心功能是扫描整个音乐库文件夹，列出所有**未登记在 beets 库数据库中**的文件——包括封面图、扫描图、说明文档等非音频文件。它适用于导入后的文件清查、寻找漏网之鱼、排查艺术文件缺失等场景。读完本文你将掌握 `beet unimported` 命令的完整用法、`ignore_extensions` 与 `ignore_sub]]></description><category></category></item><item><title><![CDATA[用10分钟语音数据训练RVC AI变声模型：从环境到首次推理]]></title><link>https://blog.csdn.net/gitblog_00641/article/details/159903884</link><guid>https://blog.csdn.net/gitblog_00641/article/details/159903884</guid><author>gitblog_00641</author><pubDate>Mon, 21 Sep 2026 09:35:33 +0800</pubDate><description><![CDATA[你有一段10分钟的目标人语音素材，想把自己的声音或一段干声的音色换成 TA 的。RVC（Retrieval-based-Voice-Conversion-WebUI）是一个网页版语音音色转换/变声框架：用10-50分钟低噪语音数据训练出一个AI变声模型，把任意输入的说话或歌声转换为目标音色，并通过检索索引抑制音色泄漏。本文带你从装环境到跑出第一条转换结果。

## 🖥️ RVC 的能力与边界：1]]></description><category></category></item><item><title><![CDATA[CodeFormer 三阶段训练指南：从 VQGAN 到可控人脸复原模型的完整实战手册]]></title><link>https://blog.csdn.net/gitblog_00641/article/details/152494995</link><guid>https://blog.csdn.net/gitblog_00641/article/details/152494995</guid><author>gitblog_00641</author><pubDate>Sun, 20 Sep 2026 23:27:43 +0800</pubDate><description><![CDATA[CodeFormer（Towards Robust Blind Face Restoration with Codebook Lookup Transformer，NeurIPS 2022）采用「VQGAN 离散码本 + Transformer 码本查找」的思路解决盲人脸复原问题。其官方训练流程被刻意拆解为**阶段 I（VQGAN 自编码器）→ 阶段 II（码序列预测模块，w=0）→ 阶段 III]]></description><category></category></item><item><title><![CDATA[python-sdk 服务端 Context 注入机制全解析：在 MCP Tool 中访问请求、资源与回连通道]]></title><link>https://blog.csdn.net/gitblog_00641/article/details/152764675</link><guid>https://blog.csdn.net/gitblog_00641/article/details/152764675</guid><author>gitblog_00641</author><pubDate>Sun, 20 Sep 2026 22:54:34 +0800</pubDate><description><![CDATA[在 Model Context Protocol（MCP）服务端开发中，工具的**参数**来自模型，而其余一切——当前正在服务的请求、所处的服务器、与客户端对话的通道——都汇聚在一个对象上：**`Context`**。本文以官方 python-sdk 的 [Context 文档](https://link.gitcode.com/i/ae8f94a546214ed1d426d18fd0d9ed0c]]></description><category></category></item><item><title><![CDATA[claude-seo 的 Google SEO 数据代理：基于 CrUX、GSC、GA4 的分层 API 审计工作流]]></title><link>https://blog.csdn.net/gitblog_00641/article/details/151979694</link><guid>https://blog.csdn.net/gitblog_00641/article/details/151979694</guid><author>gitblog_00641</author><pubDate>Sun, 20 Sep 2026 21:06:05 +0800</pubDate><description><![CDATA[<output_article>
# claude-seo 的 Google SEO 数据代理：基于 CrUX、GSC、GA4 的分层 API 审计工作流

本篇技术指南围绕 claude-seo 仓库中的 `seo-google` 子代理（[agents/seo-google.md](https://link.gitcode.com/i/b95200cb609ca19d39a4845fbf6bc]]></description><category></category></item><item><title><![CDATA[Medium Editor 扩展体系完全指南：Extension、Button 与 Form Extension 的接口、生命周期与实战]]></title><link>https://blog.csdn.net/gitblog_00641/article/details/152294903</link><guid>https://blog.csdn.net/gitblog_00641/article/details/152294903</guid><author>gitblog_00641</author><pubDate>Sun, 20 Sep 2026 20:49:06 +0800</pubDate><description><![CDATA[本篇技术指南以 Medium Editor 官方扩展文档为核心，系统讲解其扩展体系的三层抽象：通用 **Extension**、与工具栏建立契约的 **Button Extension**、以及负责收集用户输入的 **Form Extension**。你将掌握扩展的注册方式、全部生命周期方法与辅助工具、按钮状态的判定机制，并通过两个官方 Walkthrough（禁用右键菜单扩展与高亮按钮）获得可直]]></description><category></category></item><item><title><![CDATA[docker-mailserver 出站 SMTP 绑定指定 IP 地址：多 IP 主机的发信源地址控制实战]]></title><link>https://blog.csdn.net/gitblog_00641/article/details/151417267</link><guid>https://blog.csdn.net/gitblog_00641/article/details/151417267</guid><author>gitblog_00641</author><pubDate>Sun, 20 Sep 2026 19:33:34 +0800</pubDate><description><![CDATA[本文是一份针对 docker-mailserver（DMS）的实战指南，解决 Docker 主机拥有多个公网 IPv4 / IPv6 地址时，如何让容器发出的外发 SMTP 连接稳定地使用指定源 IP 的问题。文章基于 [docs/content/examples/use-cases/bind-smtp-network-interface.md](https://link.gitcode.com/]]></description><category></category></item><item><title><![CDATA[TensorFlow.js Converter 实战：在浏览器中加载并运行 MobileNet SavedModel 图像分类]]></title><link>https://blog.csdn.net/gitblog_00641/article/details/166139448</link><guid>https://blog.csdn.net/gitblog_00641/article/details/166139448</guid><author>gitblog_00641</author><pubDate>Sun, 20 Sep 2026 19:29:44 +0800</pubDate><description><![CDATA[本文基于 [tfjs-converter/demo/mobilenet/README.md](https://link.gitcode.com/i/c5dd1de0f2a086452a861db7526012cb) 及其配套源码，完整讲解如何在浏览器中运行一个已经由 TensorFlow SavedModel 转换而来的 MobileNet v2.0 图像分类模型。你将掌握 demo 的启动方式、]]></description><category></category></item><item><title><![CDATA[cAdvisor v2.0 远程 REST API 完全指南：机器信息、容器统计与摘要查询实战]]></title><link>https://blog.csdn.net/gitblog_00641/article/details/152489097</link><guid>https://blog.csdn.net/gitblog_00641/article/details/152489097</guid><author>gitblog_00641</author><pubDate>Sun, 20 Sep 2026 18:46:21 +0800</pubDate><description><![CDATA[cAdvisor 除了通过 Web 页面与 Prometheus 指标暴露监控数据外，还内置了一套带版本号（versioned）的远程 REST API，用于以 JSON 形式按需获取机器与容器的原始及聚合统计数据。本文基于仓库中的 [docs/api_v2.md](https://link.gitcode.com/i/2203873423093eee463c248f8d78d9d8) 官方文档，]]></description><category></category></item><item><title><![CDATA[Biome Markdown 格式化器如何处理被引用块中断的段落：interrupt-others 测试用例与源码实现解析]]></title><link>https://blog.csdn.net/gitblog_00641/article/details/166138520</link><guid>https://blog.csdn.net/gitblog_00641/article/details/166138520</guid><author>gitblog_00641</author><pubDate>Sun, 20 Sep 2026 18:22:13 +0800</pubDate><description><![CDATA[本篇文章围绕 Biome 仓库中 `crates/biome_markdown_formatter` 的测试用例 `interrupt-others.md` 展开，深入讲解 Markdown 格式化器在面对"引用块中断段落"（blockquote interrupting paragraph）、链接内引用块以及引用块内部续行结构时的格式化决策，并结合源码分析其与 Prettier 的行为差异。读完]]></description><category></category></item><item><title><![CDATA[TinyMCE 依赖库 Sugar 11.0.0 版本解析：SugarFragment.fromHtml 新 API、浏览器兼容代码清理与回归修复]]></title><link>https://blog.csdn.net/gitblog_00641/article/details/153108122</link><guid>https://blog.csdn.net/gitblog_00641/article/details/153108122</guid><author>gitblog_00641</author><pubDate>Sun, 20 Sep 2026 17:46:58 +0800</pubDate><description><![CDATA[本指南以当前仓库 [.changes/sugar/11.0.0.md](https://link.gitcode.com/i/f38236fff5dc2865a7d7490d61ba8d94) 为核心，结合 [modules/sugar](https://link.gitcode.com/i/73fab65661af07b772c22136b8356d25) 模块的源码与测试，系统梳理 Sugar]]></description><category></category></item><item><title><![CDATA[如何更换游戏里的 DLSS 版本：DLSS Swapper 从安装到实战的完整指南]]></title><link>https://blog.csdn.net/gitblog_00641/article/details/155871521</link><guid>https://blog.csdn.net/gitblog_00641/article/details/155871521</guid><author>gitblog_00641</author><pubDate>Sun, 20 Sep 2026 17:12:11 +0800</pubDate><description><![CDATA[你手上的游戏已经支持 DLSS，但版本停留在一年前，画面和帧数都不如新版；想换版本，却只能等游戏官方更新。DLSS Swapper 就是干这个的：它帮你下载、管理并替换游戏里的 DLSS、FSR、XeSS 这几个 DLL 文件，不用等补丁就能升级或回退版本。适合想折腾 PC 游戏超分辨率版本的普通玩家。

[![DLSS Swapper 主界面按游戏库管理游戏](https://raw.gitco]]></description><category></category></item><item><title><![CDATA[PouchDB 文档更新与删除实战：理解并驾驭 `_rev` 修订机制与删除墓碑]]></title><link>https://blog.csdn.net/gitblog_00641/article/details/152769516</link><guid>https://blog.csdn.net/gitblog_00641/article/details/152769516</guid><author>gitblog_00641</author><pubDate>Sun, 20 Sep 2026 16:35:45 +0800</pubDate><description><![CDATA[本文是 PouchDB 官方指南中「Working with documents」系列的实战续篇（对应仓库文档 [docs/guides/updating-deleting.md](https://link.gitcode.com/i/7a9c3f96846a9372c5bb40b271f0a913)），聚焦两个日常开发中最高频也最容易出错的操作：**更新（update）与删除（delete）文档]]></description><category></category></item></channel></rss>