<?xml version="1.0" encoding="UTF-8"?><rss version="2.0" xmlns:content="http://purl.org/rss/1.0/modules/content/"><channel><title>JasonShane</title><description>七月初七，淮水竹亭</description><link>https://blog.xshan.top/</link><templateTheme>Firefly</templateTheme><templateThemeVersion>6.6.13</templateThemeVersion><templateThemeUrl>https://github.com/CuteLeaf/Firefly</templateThemeUrl><lastBuildDate>2026年3月19日 17:26:09</lastBuildDate><item><title>游戏杂谈 - 关于开拓者身份的思考</title><link>https://blog.xshan.top/posts/starrail-01/</link><guid isPermaLink="true">https://blog.xshan.top/posts/starrail-01/</guid><description>崩坏：星穹铁道中的玩家主角真实身份目前仍未揭晓，但游戏中存在多种提示</description><pubDate>Thu, 19 Mar 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;《崩坏：星穹铁道》的玩家都应该了解主角团御三家的记忆缺失问题，随着游戏剧情的不断推进，其中三月七的真身基本揭晓，作为记忆星神「浮黎」破碎后的六相冰孕育出的角色，也在翁法罗斯大版本中得到了进一步的确认，并且通过长夜月和流光忆庭的侧面证实，三月七确定为“无漏净子”；而丹恒的真身也在仙舟篇最早的解封，关于“云上五骁”的故事也肯定还未彻底结束。&lt;/p&gt;
&lt;p&gt;目前只有主角“开拓者”虽然解锁了众多命途，但是对于核心的真实身份在剧情主线中并没有正面得到解答，但是我们也从中多多少少得到了一些官方的侧面提醒。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;首先就是在一切故事的开始，卡芙卡携银狼入侵黑塔空间站，窃取星核植入主角身体，卡芙卡在这时候说了一些贯穿整个游戏的言论。
&lt;/p&gt;&lt;figure&gt;&lt;img src=&quot;https://xshan.dpdns.org/202603-4PXe.png&quot; alt=&quot;&quot; /&gt;&lt;figcaption&gt;卡芙卡剧情1&lt;/figcaption&gt;&lt;/figure&gt;
&lt;figure&gt;&lt;img src=&quot;https://xshan.dpdns.org/202603-s8mu.png&quot; alt=&quot;&quot; /&gt;&lt;figcaption&gt;卡芙卡剧情2&lt;/figcaption&gt;&lt;/figure&gt;
在旅途的尽头一切都会被揭开~&lt;p&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;其次是在翁法罗斯大版本中出现了两个值得注意的点。&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;其一是在&lt;a href=&quot;https://www.bilibili.com/video/BV1HsKbznEZg/&quot; target=&quot;_blank&quot;&gt;千星纪游PV：「有关星空的寓言集•其二」&lt;/a&gt;中，绝灭大君·归寂提到的“再度启程的「阿基维利」”，暗指主角开拓者是开拓星神「阿基维利」，之所以这样考虑是因为如果官方非此意的话，归寂更应该说的是“再次启程的「开拓」”；
&lt;figure&gt;&lt;img src=&quot;https://xshan.dpdns.org/202603-Y3Zr.png&quot; alt=&quot;&quot; /&gt;&lt;figcaption&gt;归寂言论&lt;/figcaption&gt;&lt;/figure&gt;&lt;/li&gt;
&lt;li&gt;其二是在主线剧情中，首次败于绝灭大君·铁墓后剧情中首次出现男女开拓者同屏的画面，按照正常情况来说，我们所理解的主角依据玩家选择，当玩家选择男主时女主就不会在剧情中出现，反之亦然。但这次出现官方似乎在暗示玩家，与自己选择相反的那个主角很有可能是终末星神「末王」，一名主角行于开拓，从时间的过去走向未来；另一名主角行于终末，从时间的未来走向过去。
&lt;figure&gt;&lt;img src=&quot;https://xshan.dpdns.org/202603-QGTp.png&quot; alt=&quot;&quot; /&gt;&lt;figcaption&gt;两名主角同屏&lt;/figcaption&gt;&lt;/figure&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;综合上面的剧情提示和推论，结合开拓星神「阿基维利」疑似陨落的情况，我们可以合理猜测，「阿基维利」并没有真正陨落，而是开拓到了尽头转升终末，形成无尽循环，而这一点也是翁法罗斯无尽循环的侧面提示，卡芙卡之所以用星核唤醒主角，也是为了补全艾利欧剧本中的循环因果，如果开拓不复存在，那么终末也将消逝，寰宇便会出现逻辑缺陷，走向毁灭。&lt;/p&gt;
&lt;p&gt;以上言论均为个人思考与猜测，与游戏官方任何声明无关。&lt;/p&gt;</content:encoded></item><item><title>又是新的一年</title><link>https://blog.xshan.top/posts/newyear/</link><guid isPermaLink="true">https://blog.xshan.top/posts/newyear/</guid><description>时间过的真快，一转眼又到了除夕</description><pubDate>Mon, 16 Feb 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;不知不觉又到了新一年的除夕夜，窗外静悄悄的，才惊觉时间竟过得这么快。回头看刚刚过去的 2025 年，大概是因为 AI 一路飞速发展，生活节奏被拉得飞快，连对时间的感知都变得模糊。常常是一睁眼一闭眼，一天就这么悄无声息地过去，忙忙碌碌一整年，静下心来回想，却又说不清自己到底收获了什么，只觉得日子被推着走，少了几分踏实的落点。&lt;/p&gt;
&lt;p&gt;今年的除夕，依旧没什么鞭炮声。如今全国各地大多禁止燃放烟花，少了烟火炸开的声响，年味儿好像也淡了一截。就连春晚，也早已没了当年守在电视机前的期待，不用看，大概也能猜到是什么模样。心里忍不住怀念小时候的过年 —— 那时候天刚擦黑，鞭炮声就此起彼伏，烟花在夜空里炸开，亮得能照清每个人脸上的笑。&lt;/p&gt;
&lt;p&gt;长大后，连过年的仪式感都慢慢变淡了。小时候走亲访友、挨家挨户拜年，能热热闹闹花上小半天，一句句吉祥话，一声声寒暄，满是真诚又热闹的烟火气。可这几年，拜年变得随意又快捷，微信群发几句祝福，亲戚间简单走动，往往一个小时就草草结束。剩下大把时间，一个人待在房间里，刷着手机，看着屏幕里热闹的画面，心里却空落落的，不知道该做些什么，也说不清是在怀念新年，还是在怀念再也回不去的小时候。&lt;/p&gt;</content:encoded></item><item><title>开源推荐(1)</title><link>https://blog.xshan.top/posts/open-source-1/</link><guid isPermaLink="true">https://blog.xshan.top/posts/open-source-1/</guid><description>推荐日常生活或开发过程中常用的开源工具、软件或平台</description><pubDate>Mon, 26 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;AI Skills&lt;a href=&quot;#ai-skills&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;ui-ux-pro-max-skill&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;UI/UX Pro Max 是面向 AI 编码助手的智能设计系统技能，它提供跨平台、框架和行业的全面 UI/UX 专业知识。它作为一个设计智能层，将自然语言请求转换为具有行业特定建议的完整、专业的设计系统，确保用户界面的一致性和精致度&lt;/p&gt;&lt;a href=&quot;https://github.com/nextlevelbuilder/ui-ux-pro-max-skill&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;nextlevelbuilder&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;ui-ux-pro-max-skill&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;知识归纳&lt;a href=&quot;#知识归纳&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;memos&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;Memos 是一款隐私优先、可自托管的知识库，可无缝用于个人笔记、团队 Wiki 和知识管理。它采用结合 Go 后端和 React 前端的现代技术栈构建，在功能性和易用性不打折扣的前提下，提供闪电般的性能。作为 MIT 许可下的开源项目，Memos 让你拥有对数据的完全控制权，零遥测、无跟踪、无厂商锁定&lt;/p&gt;&lt;a href=&quot;https://github.com/usememos/memos&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;usememos&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;memos&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;ul&gt;
&lt;li&gt;AFFiNE&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;AFFiNE 是一个开源的一体化工作空间平台，将文档编辑、白板协作和知识管理整合为单一、统一的体验。作为 Notion 和 Miro 的以隐私为中心、本地优先的替代方案，AFFiNE 赋予用户对数据的完全所有权，同时支持跨 Web、桌面和移动平台的实时协作&lt;/p&gt;&lt;a href=&quot;https://github.com/toeverything/AFFiNE&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;toeverything&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;AFFiNE&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;AI翻译&lt;a href=&quot;#ai翻译&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;SmartSub&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;SmartSub 是一款专为音视频内容创作者设计的智能字幕生成和多语言翻译解决方案。作为一款基于 Electron + Next.js 的混合应用，它结合了本地 Whisper 语音识别的强大功能与灵活的 AI 翻译服务，能够在保护隐私和性能的同时，实现媒体文件的批量处理&lt;/p&gt;&lt;a href=&quot;https://github.com/buxuku/SmartSub&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;buxuku&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;SmartSub&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;热点归纳&lt;a href=&quot;#热点归纳&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;TrendRadar&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;TrendRadar 是一个轻量级、易于部署的新闻聚合与分析工具，旨在帮助你关注真正关心的新闻资讯。该平台能自动从多个来源（社交媒体热榜、RSS 订阅源）爬取热门话题，应用智能关键词过滤，生成结构化报告，并通过多种渠道发送通知——包括启用 AI 驱动的深度分析功能&lt;/p&gt;&lt;a href=&quot;https://github.com/sansan0/TrendRadar&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;sansan0&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;TrendRadar&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;AI绘画&lt;a href=&quot;#ai绘画&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;ComfyUI&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;ComfyUI 是一个强大且模块化的视觉 AI 引擎，使你能够通过基于图形的界面设计和执行高级 diffusion 管道。你无需编写代码，而是通过视觉连接节点来创建用于图像生成、视频创作、音频处理和 3D 模型生成的复杂工作流。ComfyUI 支持 Windows、Linux 和 macOS，并适用于各种 GPU 类型，包括 NVIDIA、AMD、Intel、Apple Silicon 和 Ascend&lt;/p&gt;&lt;a href=&quot;https://github.com/Comfy-Org/ComfyUI&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Comfy-Org&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;ComfyUI&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;/section&gt;</content:encoded></item><item><title>AI笔记 - Stable Diffusion绘图(1)</title><link>https://blog.xshan.top/posts/stablediffusion-1/</link><guid isPermaLink="true">https://blog.xshan.top/posts/stablediffusion-1/</guid><description>Stable Diffusion绘图笔记</description><pubDate>Sun, 11 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;模型网站&lt;a href=&quot;#模型网站&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://civitai.green/&quot; target=&quot;_blank&quot;&gt;Civitai&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://huggingface.co/&quot; target=&quot;_blank&quot;&gt;Huggingface&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.liblib.art/&quot; target=&quot;_blank&quot;&gt;LibLibAI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tusi.cn/&quot; target=&quot;_blank&quot;&gt;吐司&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://modelscope.cn/&quot; target=&quot;_blank&quot;&gt;魔搭社区&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;section&gt;&lt;h3&gt;模型分类&lt;a href=&quot;#模型分类&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;












































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;真实系模型&lt;/th&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;2.5D系模型&lt;/th&gt;&lt;th&gt;&lt;/th&gt;&lt;th&gt;二次元系模型&lt;/th&gt;&lt;th&gt;&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;真实的&lt;/td&gt;&lt;td&gt;realistic&lt;/td&gt;&lt;td&gt;三维的&lt;/td&gt;&lt;td&gt;3d&lt;/td&gt;&lt;td&gt;动漫&lt;/td&gt;&lt;td&gt;anime&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;照片般真实的&lt;/td&gt;&lt;td&gt;photorealistic&lt;/td&gt;&lt;td&gt;计算机图像&lt;/td&gt;&lt;td&gt;CG/CGI&lt;/td&gt;&lt;td&gt;数字绘画&lt;/td&gt;&lt;td&gt;digital illustration&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;摄影&lt;/td&gt;&lt;td&gt;photography&lt;/td&gt;&lt;td&gt;半现实的&lt;/td&gt;&lt;td&gt;semi-realistic&lt;/td&gt;&lt;td&gt;插画&lt;/td&gt;&lt;td&gt;illustration&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;写实主义&lt;/td&gt;&lt;td&gt;realism&lt;/td&gt;&lt;td&gt;电子游戏&lt;/td&gt;&lt;td&gt;video game&lt;/td&gt;&lt;td&gt;卡通动画片&lt;/td&gt;&lt;td&gt;cartoon&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;提示词(基于SD1.5模型)&lt;a href=&quot;#提示词基于sd15模型&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;基础起手式&lt;a href=&quot;#基础起手式&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;正面提示词&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;(masterpiece, best quality:1.2), 8K, RAW, highres, anime screencap&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;负面提示词&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;NSFW, (worst quality:2), (low quality:2), (normal quality:2), lowres, normal quality, ((monochrome)), ((grayscale)), skin spots, acnes, skin blemishes, age spot, (ugly:1.331), (duplicate:1.331), (morbid:1.21), (mutilated:1.21), (tranny:1.331), mutated hands, (poorly drawn hands:1.5), blurry, (bad anatomy:1.21), (bad proportions:1.331), extra limbs, (disfigured:1.331), (missing arms:1.331), (extra legs:1.331), (fused fingers:1.61051), (too many fingers:1.61051), (unclear eyes:1.331), lowers, bad hands, missing fingers, extra digit,bad hands, missing fingers, (((extra arms and legs)))&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;真实系起手式&lt;a href=&quot;#真实系起手式&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;正面提示词&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;(masterpiece, best quality:1.2), highres, realistic, photorealistic, photography, 8k, RAW&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;负面提示词&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;semi-realistic, cgi, 3d, render, sketch, cartoon, drawing, anime, (worst quality, low quality:2), nsfw, naked, nude, deformed iris, deformed pupils, mutated hands and fingers, poorly drawn, bad anatomy, wrong anatomy, extra limb, missing limb, floating limbs, disconnected limbs, mutation, mutated, ugly, disgusting, amputation&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2.5D系提示词&lt;a href=&quot;#25d系提示词&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;正面提示词&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;(masterpiece, best quality:1.2), 3d, 3d rendering, professional 3d model, rendered, cgi&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;负面提示词&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;sketch, cartoon, drawing, anime,(worst quality, low quality, normal quality:2), nsfw, naked, nude, deformed iris, deformed pupils, mutated hands and fingers, poorly drawn, bad anatomy, wrong anatomy, extra limb, missing limb, floating limbs, disconnected limbs, mutation, mutated, ugly, disgusting, amputation&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;二次元系提示词&lt;a href=&quot;#二次元系提示词&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;正面提示词&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;(masterpiece, best quality:1.2), anime, illustration, very aesthetic, wallpaper&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;负面提示词&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;photorealistic, realistic, (worst quality, low quality, normal quality:2), nsfw, naked, nude, deformed iris, deformed pupils, mutated hands and fingers, poorly drawn, bad anatomy, wrong anatomy, extra limb, missing limb, floating limbs, disconnected limbs, mutation, mutated, ugly, disgusting, amputation&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;提示词网站&lt;a href=&quot;#提示词网站&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://supagruen.github.io/StableDiffusion-CheatSheet/&quot; target=&quot;_blank&quot;&gt;Stable Diffusion 1.5 - Cheat Sheet&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;带标签二次元图库
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://e-shuushuu.net/&quot; target=&quot;_blank&quot;&gt;E-Shuushuu&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://safebooru.donmai.us/&quot; target=&quot;_blank&quot;&gt;SafeBooru&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://safebooru.donmai.us/wiki_pages/tag_groups&quot; target=&quot;_blank&quot;&gt;SafeBooru标签组&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.zerochan.net/&quot; target=&quot;_blank&quot;&gt;ZeroChan&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;筛选提示词
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.a.tools/Tool.php?Id=62&quot; target=&quot;_blank&quot;&gt;A.Tools&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://wolfchen.top/tag/&quot; target=&quot;_blank&quot;&gt;NovelAI Tag生成器&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://tags.novelai.dev/&quot; target=&quot;_blank&quot;&gt;NovelAI 标签超市&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;</content:encoded></item><item><title>2025年度总结</title><link>https://blog.xshan.top/posts/2025sum/</link><guid isPermaLink="true">https://blog.xshan.top/posts/2025sum/</guid><description>转眼间2025年就这样悄无声息的过去了，这一年成长了很多，也学会了很多知识，但是有更多的不足等待提升</description><pubDate>Tue, 06 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;2025年转瞬即逝，在这一年中是我转型变化最大的一年，在各领域都有了诸多尝试和突破，但仍存在许多不足，例如年度todo达成率很低，一方面是自身的惰性严重，另一方面是在年中更改了核心方向，这也侧向证明自己的年度todo规划也存在严重问题。&lt;/p&gt;
&lt;p&gt;在2025年，AI领域的发展超过了我的预期，在这一年中对于AI的应用与理解也有了更深入的认知。&lt;/p&gt;
&lt;p&gt;接下来就以&lt;strong&gt;认知成长篇&lt;/strong&gt;、&lt;strong&gt;技术实践篇&lt;/strong&gt;、&lt;strong&gt;创作表达篇&lt;/strong&gt;、&lt;strong&gt;数字生活篇&lt;/strong&gt;、&lt;strong&gt;效能管理篇&lt;/strong&gt;和&lt;strong&gt;健康数据篇&lt;/strong&gt;这六大部分对我自身在2025年全年的内容进行归纳总结。&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;认知成长篇&lt;a href=&quot;#认知成长篇&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;微信读书&lt;a href=&quot;#微信读书&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;数据源：@微信读书年度报告&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;2025年全年共计&lt;code&gt;354天&lt;/code&gt;与书相伴，&lt;code&gt;401小时57分钟&lt;/code&gt;里沉浸在书中的一方天地不知疲倦；在这一年中，读过&lt;code&gt;51本&lt;/code&gt;书籍，读完了&lt;code&gt;32本&lt;/code&gt;书籍，共计&lt;code&gt;1425万&lt;/code&gt;字。&lt;/p&gt;&lt;p&gt;2025个人阅读年度书籍：&lt;/p&gt;


































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;标准&lt;/th&gt;&lt;th&gt;书籍&lt;/th&gt;&lt;th&gt;阅读时长&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;阅读时长最久&lt;/td&gt;&lt;td&gt;《人间喜剧精选集》&lt;/td&gt;&lt;td&gt;69小时34分钟&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;连续阅读27天&lt;/td&gt;&lt;td&gt;《经典密室杀人推理小说合集》&lt;/td&gt;&lt;td&gt;61小时24分钟&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;连续阅读32天&lt;/td&gt;&lt;td&gt;《史记》&lt;/td&gt;&lt;td&gt;53小时04分钟&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;连续阅读13天&lt;/td&gt;&lt;td&gt;《福尔摩斯探案全集（中）》&lt;/td&gt;&lt;td&gt;12小时07分钟&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;连续阅读16天&lt;/td&gt;&lt;td&gt;《福尔摩斯探案全集（上）》&lt;/td&gt;&lt;td&gt;8小时03分钟&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;在这一年中，共计读过&lt;code&gt;29位&lt;/code&gt;作家的书籍，并与&lt;code&gt;巴尔扎克&lt;/code&gt;、&lt;code&gt;柯南·道尔&lt;/code&gt;、&lt;code&gt;刘慈欣&lt;/code&gt;、&lt;code&gt;司马迁&lt;/code&gt;、&lt;code&gt;斯蒂芬·霍金&lt;/code&gt;等作者深度拥抱。有&lt;code&gt;43个&lt;/code&gt;星期保持了每天阅读的全勤记录，留下了&lt;code&gt;84条&lt;/code&gt;笔记，创作了&lt;code&gt;2条&lt;/code&gt;书评(记录，让无声的思考拥有了回响)。&lt;/p&gt;&lt;p&gt;2025年1月1日，&lt;code&gt;《三体前传：球状闪电》&lt;/code&gt;陪伴我开启了新的一年；3月14日，我04:54才合上&lt;code&gt;《水浒传》&lt;/code&gt;(守夜的星星，等到了ta的伙伴)；五一假期期间，&lt;code&gt;《史记》&lt;/code&gt;陪伴了闲暇的时间；520那天，我选择了与&lt;code&gt;《催眠师手记》&lt;/code&gt;为伴💗；7月2日，我把喧嚣关在门外&lt;code&gt;《人间喜剧精选集》&lt;/code&gt;与我共度了&lt;code&gt;4小时53分钟&lt;/code&gt;；偷得浮生半日闲，在十一假期期间，我选择阅读&lt;code&gt;《经典密室杀人推理小说合集》&lt;/code&gt;。&lt;/p&gt;&lt;p&gt;2025年我的年度阅读词汇：&lt;code&gt;同理心&lt;/code&gt;、&lt;code&gt;充盈&lt;/code&gt;、&lt;code&gt;沉静&lt;/code&gt;。&lt;/p&gt;&lt;blockquote&gt;&lt;p&gt;我想文学写的不外乎人性人情，只要人性不变，文学便有存在的必要。
——白先勇《树犹如此》&lt;/p&gt;&lt;/blockquote&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;技术实战篇&lt;a href=&quot;#技术实战篇&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;编程能力&lt;a href=&quot;#编程能力&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;在2025年度中，自身的编程能力提升并不明显，一方面因为自身精力分配存在严重问题；另一方面也是因为非科班出身的局限性，从零开始摸索直到现在，其中踩的无数的坑，只能自身一遍又一遍的寻找答案，不过这也让我能够深刻的从底层开始逐步扎根，缺点便是进度十分缓慢。&lt;/p&gt;&lt;p&gt;如果非要给今年自身的编程能力提升给予一个量化的话，我考虑了许久，大概就是Python中阶 -&amp;gt; 准高阶，前端部分初阶 -&amp;gt; 准中阶。&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;数据源：@watatime年度报告&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;在2025年中，占据watatime开发者前&lt;code&gt;Top13%&lt;/code&gt;，共计编程&lt;code&gt;256小时&lt;/code&gt;，日均编程&lt;code&gt;57分钟&lt;/code&gt;，年度活跃日为&lt;code&gt;2025年09月23日&lt;/code&gt;，年度高频IDE为&lt;code&gt;Trae&lt;/code&gt;，年度编程语言是&lt;code&gt;Python&lt;/code&gt;。&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;数据源：@Trae年度报告&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;作为2025年我使用的最多IDE，在&lt;code&gt;3月26日&lt;/code&gt;创建Trae账号，踏入AI辅助编程领域，年度活跃天数&lt;code&gt;97天&lt;/code&gt;，全年一共采纳&lt;code&gt;34,990行&lt;/code&gt;代码，相当于从零开始创造了2个FC版《超级玛丽》。在9月13日怒刷&lt;code&gt;4218行&lt;/code&gt;代码，&lt;code&gt;9月27日23点31分&lt;/code&gt;，我仍在TRAE LAND的世界里冒险。年度代码量超越&lt;code&gt;99%&lt;/code&gt;的用户，荣获&lt;code&gt;创世神&lt;/code&gt;稀有称号。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202601-oYJF.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;开源项目&lt;a href=&quot;#开源项目&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;数据源：@Github&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;在2025年共计开源8个项目，其中5个公开，3个私有。&lt;/p&gt;&lt;p&gt;贡献数据：全年共计贡献&lt;code&gt;655次&lt;/code&gt;，其中&lt;code&gt;92%Commits&lt;/code&gt;、&lt;code&gt;2%Issues&lt;/code&gt;、&lt;code&gt;3%Pull requests&lt;/code&gt;、&lt;code&gt;3%Code review&lt;/code&gt;，参与了2个他人项目。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202601-pZZo.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;领域开发&lt;a href=&quot;#领域开发&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;在2025年我重新规划了对自身领域开发的定位，2025年1月9日购置了10年的&lt;code&gt;xshan.top&lt;/code&gt;域名，并借助Vercel、Cloudflare、EdgeOne、AliESA等平台部署了&lt;code&gt;个人主页&lt;/code&gt;、&lt;code&gt;博客&lt;/code&gt;、&lt;code&gt;图库&lt;/code&gt;、&lt;code&gt;资源站&lt;/code&gt;、&lt;code&gt;热点&lt;/code&gt;、&lt;code&gt;导航&lt;/code&gt;、&lt;code&gt;RSS&lt;/code&gt;(私人使用)等站点，同时&lt;code&gt;个人网盘&lt;/code&gt;、&lt;code&gt;音乐站&lt;/code&gt;处于在建期，在这一年中，从半懂到全部熟悉，从平台部署到各大开源项目的自定义，二改等内容开始愈加熟练，为后续的计划打好了良好的基础。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202601-a655.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;AI赋能&lt;a href=&quot;#ai赋能&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;数据源：@aigodlike&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;在AI领域，2025年自身获得重大突破，一方面源自于2025年AI大模型和各分支领域百花齐放；另一方面在于我自身拥有更多的精力能够在这个领域扩展。&lt;/p&gt;&lt;p&gt;在AI绘画领域中，2025年我对&lt;code&gt;Stable Diffusion&lt;/code&gt;绘画从初阶 -&amp;gt; 高阶，成功的入门了&lt;code&gt;ComfyUI&lt;/code&gt;绘画，深入了解了多模态的各模型框架，并且使用了多种checkpoint、LoRA等模型进行制图。&lt;/p&gt;&lt;p&gt;在AI其他领域，例如&lt;code&gt;TTS&lt;/code&gt;(文生音频)、&lt;code&gt;TTV&lt;/code&gt;(文生视频)中涉及较少，尤其是TTV领域，一方面是因为在这领域目前领先的模型均为国外模型，另一方面是因为对配置要求过高，目前我的硬件配置还难以承担，不过随着AI的发展，现在云端的AI应用也逐步完善，我相信以后AI的模型应用将会逐步成为民生级产品。&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;创作表达篇&lt;a href=&quot;#创作表达篇&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;内容输出&lt;a href=&quot;#内容输出&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;数据源：@blog&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;2025年中，共计输出&lt;code&gt;18篇&lt;/code&gt;原创博客文(因更改框架，部分文章因过时删除)，其中技术类文章9篇，生活类文章7篇，其他类文章2篇。&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;数据源：@Notion、@Obsidian&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;笔记类内容共计产出&lt;code&gt;337篇&lt;/code&gt;，存储占用共计&lt;code&gt;339.13MB&lt;/code&gt;，其中大部分倾向于技术类笔记，少部分倾向于生活类内容和杂项内容。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;剪辑输出&lt;a href=&quot;#剪辑输出&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;数据源：@bilibili、@内部视频&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;在2025年中，@bilibili平台共计发布&lt;code&gt;41个视频&lt;/code&gt;，而在内部进行宣传和归纳视频共计发布&lt;code&gt;13个视频&lt;/code&gt;，但整体剪辑质量并不优质，只能算是初等水平，当前正在转移剪辑工作流和构建自己的剪辑思路中。&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;数字生活篇&lt;a href=&quot;#数字生活篇&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;观影记录&lt;a href=&quot;#观影记录&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;数据源：@豆瓣年度报告&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;2025年观影&lt;code&gt;37部&lt;/code&gt;，影片评分均值为&lt;code&gt;6.3分&lt;/code&gt;，发布影评&lt;code&gt;12篇&lt;/code&gt;，电影类型占比TOP3中&lt;code&gt;喜剧类34%&lt;/code&gt;，&lt;code&gt;动作类29%&lt;/code&gt;，&lt;code&gt;动画类27%&lt;/code&gt;；常看影人是&lt;code&gt;成龙&lt;/code&gt;和&lt;code&gt;沈腾&lt;/code&gt;。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;观番笔记&lt;a href=&quot;#观番笔记&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;数据源：@Bangumi&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;2025年对于番剧的记录平台转到@Bangumi，其中在2025年实际计划内的&lt;code&gt;想看163部&lt;/code&gt;、&lt;code&gt;看过54部&lt;/code&gt;、&lt;code&gt;在看8部&lt;/code&gt;、&lt;code&gt;搁置1部&lt;/code&gt;、&lt;code&gt;抛弃1部&lt;/code&gt;。至于其他数据Bangumi并未披露。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;音乐世界&lt;a href=&quot;#音乐世界&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;数据源：@网易云音乐年度报告&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;2025年共计听歌&lt;code&gt;552首&lt;/code&gt;，其中新探索的歌曲占比&lt;code&gt;53%&lt;/code&gt;，听歌时长仅为&lt;code&gt;57小时05分钟&lt;/code&gt;，自2019年时长历史最低；一共听了&lt;code&gt;361位&lt;/code&gt;歌手，其中邂逅与重逢了&lt;code&gt;252位&lt;/code&gt;新歌手，听过&lt;code&gt;35种&lt;/code&gt;曲风，其中&lt;code&gt;19种&lt;/code&gt;全新探索，&lt;code&gt;7种&lt;/code&gt;外语歌曲(英语、法语、俄语、德语、越南语、日语、韩语)。&lt;/p&gt;&lt;p&gt;其中，&lt;code&gt;21%主动探索&lt;/code&gt;(主动搜索241次)，&lt;code&gt;36%重复所爱&lt;/code&gt;，&lt;code&gt;43%惊喜推荐&lt;/code&gt;(317首歌曲来源于平台推荐)。&lt;/p&gt;&lt;p&gt;年度关键词：&lt;code&gt;相信&lt;/code&gt;(91次)&lt;/p&gt;&lt;p&gt;年度曲风TOP5：&lt;code&gt;国风&lt;/code&gt;(46%)、&lt;code&gt;轻音乐&lt;/code&gt;(17%)、&lt;code&gt;流行摇滚&lt;/code&gt;(14%)、&lt;code&gt;民谣&lt;/code&gt;(12%)、&lt;code&gt;嘻哈说唱&lt;/code&gt;(11%)&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img src=&quot;https://xshan.dpdns.org/202601-ns0l.jpg&quot; alt=&quot;&quot; /&gt;&lt;figcaption&gt;2021-2025曲风品味进化史&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img src=&quot;https://xshan.dpdns.org/202601-4LOD.jpg&quot; alt=&quot;&quot; /&gt;&lt;figcaption&gt;年度听歌日历&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;2025年度歌手依旧&lt;code&gt;薛之谦&lt;/code&gt;，这是自2017年起，每年都没有变更的歌手。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img src=&quot;https://xshan.dpdns.org/202601-grvA.jpg&quot; alt=&quot;&quot; /&gt;&lt;figcaption&gt;历年年度歌手&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;在2025年是首次开通年度会员的一年，但是近6年听歌时长最低的一年，经典超低性价比。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;游戏领域&lt;a href=&quot;#游戏领域&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ul&gt;
&lt;li&gt;数据源：@TapTap、@bilibili游戏&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;2025年共计预约&lt;code&gt;3款&lt;/code&gt;游戏，在玩&lt;code&gt;5款&lt;/code&gt;游戏，已玩&lt;code&gt;33款&lt;/code&gt;游戏，退坑率为&lt;code&gt;86.85%&lt;/code&gt;，共计游戏时长为&lt;code&gt;647.13小时&lt;/code&gt;。&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;效能管理篇&lt;a href=&quot;#效能管理篇&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;2025年我的多个领域所用工具都进行了多次迭代，使自己的工作流或者效能流更加标准和高效。&lt;/p&gt;&lt;section&gt;&lt;h3&gt;1.笔记&lt;a href=&quot;#1笔记&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Notion -&amp;gt; Obsidian -&amp;gt; Obsidian + 飞书文档 -&amp;gt; Obsidian + Notion&lt;/p&gt;&lt;p&gt;在笔记工具这方面兜兜转转最终还是没有逃离Notion的”魔爪”，不得不承认的是，截至目前，在笔记或知识归纳领域，Notion毫无对手，它唯一的缺点就是在大陆的网络访问和数据安全，如果它是单机软件，它将无人能敌。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2.剪辑工作流&lt;a href=&quot;#2剪辑工作流&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;剪映 + OBS -&amp;gt; 剪映 + 必剪 + OBS -&amp;gt; 剪映 + 达芬奇 +OBS -&amp;gt; 达芬奇 + OBS(在建)&lt;/p&gt;&lt;p&gt;达芬奇是7月下载的，教程是一直没打开的，只能说拖延症加重，但达芬奇替代剪映是必须完成的任务，对于剪映高占用和高额费用已经到了无法忍受的地步，最重要的是对于高质量和高技术含量的剪辑任务，剪映所需要耗费的时间与精力都是达芬奇等专业软件的多倍。&lt;/p&gt;&lt;p&gt;达芬奇有更加完善和人性的剪辑工作流，虽然上手难度较高，但是一款软件兼顾专业的剪辑、Fusion、调色、Fairlight和发布模块，几乎将一个视频从头到尾的内容全部兼顾。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202601-SGl8.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3.编程IDE&lt;a href=&quot;#3编程ide&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;VS Code -&amp;gt; Trae + VS Code -&amp;gt; Trae + PyCharm -&amp;gt; Trae + PyCharm + 微信开发者工具&lt;/p&gt;&lt;p&gt;放弃陪伴许久的VS Code的原因是Trae使用了VS Code的内核，基本与VS Code差别不大，而在2025年更需要对AI辅助编程的支持；又回到PyCharm的怀抱的原因很简单，因为PyCharm仍然是Python编程领域难以绕开的IDE，至少它对Python的专业度其他IDE还难以超越。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;4.知识归纳&lt;a href=&quot;#4知识归纳&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Xmind -&amp;gt; ima + Xmind&lt;/p&gt;&lt;p&gt;这个板块无需多言，本来它应该在笔记板块，但是思来想去它更倾向于知识归纳，与笔记还是有很多不同，Xmind帮助我快速理清需求，ima帮助我构建自己的第二大脑。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202601-koDM.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;5.站点部署&lt;a href=&quot;#5站点部署&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;Vercel + Cloudflare -&amp;gt; Cloudflare + EdgeOne + AliESA&lt;/p&gt;&lt;p&gt;目前算是半放弃Vercel平台，因为最近发现它对中国大陆的速度是薛定谔的猫，另一方面原因是腾讯的EdgeOne全新出炉，整体来说性价比较高，未来会逐步将Vercel平台部署的内容转移，除了专有性的站点。&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;健康数据篇&lt;a href=&quot;#健康数据篇&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;数据源：@小米运动健康、@Redmi Watch 2&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;在今年，我深感身体状态和精神力都不太好，所以特意导出了一下2025年的健康数据，平时虽然手表一直记录，但不看不知道，一看吓一跳，各项数据都不容乐观。&lt;/p&gt;












































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;项目&lt;/th&gt;&lt;th&gt;平均值&lt;/th&gt;&lt;th&gt;最小值&lt;/th&gt;&lt;th&gt;最大值&lt;/th&gt;&lt;th&gt;正常值&lt;/th&gt;&lt;th&gt;特殊值&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;心率&lt;/td&gt;&lt;td&gt;81次/分&lt;/td&gt;&lt;td&gt;52次/分&lt;/td&gt;&lt;td&gt;169次/分&lt;/td&gt;&lt;td&gt;55~80次/分&lt;/td&gt;&lt;td&gt;静息心率：72次/分&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;血氧饱和度&lt;/td&gt;&lt;td&gt;93%&lt;/td&gt;&lt;td&gt;87%&lt;/td&gt;&lt;td&gt;99%&lt;/td&gt;&lt;td&gt;95%~100%&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;压力&lt;/td&gt;&lt;td&gt;54&lt;/td&gt;&lt;td&gt;24&lt;/td&gt;&lt;td&gt;89&lt;/td&gt;&lt;td&gt;1~25&lt;/td&gt;&lt;td&gt;&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;睡眠&lt;/td&gt;&lt;td&gt;5小时53分钟&lt;/td&gt;&lt;td&gt;1小时06分钟&lt;/td&gt;&lt;td&gt;11小时09分钟&lt;/td&gt;&lt;td&gt;7~9小时&lt;/td&gt;&lt;td&gt;&lt;strong&gt;睡眠严重不足&lt;/strong&gt;&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;&lt;p&gt;在2026年，对于自身健康的关注需求要提到一定高度，希望能够拥有一个良好的睡眠。&lt;/p&gt;&lt;p&gt;以上是自己2025年的年度总结报告，在今年我并没有对以往数据进行环比，一方面是因为不想造成自身的内卷，有更多时间和精力的我发现，其实do比todo更重要；另一方面是因为在今年尝试了很多AI领域的内容，摒弃了以往很多的领域，所以也没有什么环比的必要性，希望2026能够聚焦少数领域，走得远比走的多更重要。&lt;/p&gt;&lt;/section&gt;</content:encoded></item><item><title>技术笔记 - 常用Git命令</title><link>https://blog.xshan.top/posts/git-command/</link><guid isPermaLink="true">https://blog.xshan.top/posts/git-command/</guid><description>分享或记录常用的Git命令</description><pubDate>Fri, 02 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;Git配置相关&lt;a href=&quot;#git配置相关&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;配置全局用户名和邮箱&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git config --global user.name &quot;&amp;lt;Your Name&amp;gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git config --global user.email &quot;&amp;lt;your@example.com&amp;gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;仓库初始化与克隆&lt;a href=&quot;#仓库初始化与克隆&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;初始化本地仓库&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git init&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;克隆远程仓库&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git clone &amp;lt;remote-repo-url&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;克隆远程仓库到指定目录&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git clone &amp;lt;remote-repo-url&amp;gt; &amp;lt;local-directory&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;基础工作流&lt;a href=&quot;#基础工作流&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;查看工作区状态&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git status&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;添加文件到暂存区&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git add &amp;lt;file&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;提交变更&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git commit -m &quot;&amp;lt;Commit message&amp;gt;&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;查看提交历史&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git log&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;查看提交历史（简洁图形化格式）&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git log --oneline --graph --decorate --all&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;查看所有分支操作记录&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git reflog&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;分支管理&lt;a href=&quot;#分支管理&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;查看分支&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git branch                             # 查看本地分支&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git branch -r                          # 查看远程分支&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git branch -a                          # 查看所有分支（本地+远程）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;创建并切换新分支&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git checkout -b &amp;lt;new-branch-name&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;切换到已存在分支&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git checkout &amp;lt;branch-name&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;合并分支&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git merge &amp;lt;branch-name&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git merge --no-ff &amp;lt;branch-name&amp;gt;        # 禁用Fast Forward合并，保留合并提交&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;删除分支&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git branch -d &amp;lt;branch-name&amp;gt;            # 安全删除已合并分支&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git branch -D &amp;lt;branch-name&amp;gt;            # 强制删除未合并分支&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;重命名分支&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git branch -m &amp;lt;old-branch-name&amp;gt; &amp;lt;new-branch-name&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;远程仓库操作&lt;a href=&quot;#远程仓库操作&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;查看远程仓库信息&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git remote -v&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;添加远程仓库&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git remote add origin &amp;lt;remote-repo-url&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;推送&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git push -u origin &amp;lt;branch-name&amp;gt;       # 首次推送需加-u建立关联&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git push                               # 后续推送直接使用&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git push origin &amp;lt;branch-name&amp;gt;          # 推送指定分支到远程仓库&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;拉取&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git pull                               # 拉取并自动合并(相当于fetch+merge)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git fetch origin                       # 仅拉取不合并(安全)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git fetch --prune                      # 同步远程已删除的分支&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;追踪远程分支&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git checkout -b local-branch origin/remote-branch&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;撤销与回退&lt;a href=&quot;#撤销与回退&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;工作区撤销(未add)&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git checkout -- &amp;lt;filename&amp;gt;             # 撤销工作区修改&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git checkout -- .                      # 撤销所有未add的变更&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;暂存区撤销(已add未commit)&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git reset HEAD &amp;lt;filename&amp;gt;              # 撤销暂存区修改&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git reset HEAD .                       # 撤销所有暂存区修改&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;回退版本(已commit未push)&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git reset --soft HEAD~&amp;lt;n&amp;gt;              # 回退n个版本，保留变更&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git reset --mixed HEAD~&amp;lt;n&amp;gt;             # 默认，回退n个版本并清空暂存区&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git reset --hard HEAD~&amp;lt;n&amp;gt;              # 彻底回退n个版本(危险，会丢失修改)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;回退到指定版本&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git reset --hard &amp;lt;commit-hash&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;远程回退(已push)&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git revert &amp;lt;commit-hash&amp;gt;               # 生成新提交抵消旧提交(保留变更历史，安全)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;标签管理(版本发布)&lt;a href=&quot;#标签管理版本发布&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;创建标签&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git tag &amp;lt;tag-name&amp;gt;                     # 当前提交标注标签&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git tag &amp;lt;tag-name&amp;gt; &amp;lt;commit-hash&amp;gt;       # 指定提交标注标签&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git tag -a &amp;lt;tag-name&amp;gt; -m &quot;&amp;lt;message&amp;gt;&quot;   # 创建附注标签(带注释信息)&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;查看标签&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git tag                                # 查看所有标签&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git show &amp;lt;tag-name&amp;gt;                    # 查看标签详情&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;推送标签&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git push origin &amp;lt;tag-name&amp;gt;             # 推送指定标签到远程仓库&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git push origin --tags                 # 推送所有标签到远程仓库&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;删除标签&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git tag -d &amp;lt;tag-name&amp;gt;                  # 删除本地标签&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git push origin --delete &amp;lt;tag-name&amp;gt;    # 删除远程标签&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;高阶技巧&lt;a href=&quot;#高阶技巧&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt;暂存当前工作&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git stash                              # 暂存当前工作&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git stash list                         # 查看stash列表&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git stash apply                        # 恢复最近stash（不删除）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git stash pop                          # 恢复并删除最近stash&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git stash drop stash@{0}               # 删除指定stash&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;交互式添加(分块提交)&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git add -p                             # 按块选择要添加的内容&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;查看某行代码最后提交者&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git blame &amp;lt;filename&amp;gt; -L &amp;lt;line-number&amp;gt;,&amp;lt;line-number&amp;gt;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;查找提交&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git log --grep=&quot;&amp;lt;关键词&amp;gt;&quot;               # 按提交信息搜索&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git log -S &quot;&amp;lt;代码内容&amp;gt;&quot;                  # 按代码变动搜索&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ul&gt;
&lt;li&gt;清理无效文件&lt;/li&gt;
&lt;/ul&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git clean -fd                          # 删除未跟踪的文件和目录（危险）&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;</content:encoded></item><item><title>2026年度待办清单</title><link>https://blog.xshan.top/posts/2026todo/</link><guid isPermaLink="true">https://blog.xshan.top/posts/2026todo/</guid><description>又是一年元旦日，又要梳理新的一年的待办todo了</description><pubDate>Thu, 01 Jan 2026 00:00:00 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h1&gt;认知成长&lt;a href=&quot;#认知成长&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;section&gt;&lt;h2&gt;微信阅读&lt;a href=&quot;#微信阅读&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt; 阅读时长：400小时&lt;/li&gt;
&lt;li&gt; 阅读书籍：20本&lt;/li&gt;
&lt;li&gt; 阅读笔记：12篇&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;知识变现&lt;a href=&quot;#知识变现&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt; 探索知识变现方式&lt;/li&gt;
&lt;li&gt; 经营知识变现平台&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;技术实战&lt;a href=&quot;#技术实战&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;section&gt;&lt;h2&gt;编程提升&lt;a href=&quot;#编程提升&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt; Python：项目开发&lt;/li&gt;
&lt;li&gt; TypeScript：语言入门&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;开源项目&lt;a href=&quot;#开源项目&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt; Github开源12个项目(活跃更新)&lt;/li&gt;
&lt;li&gt; 参与6个开源项目贡献&lt;/li&gt;
&lt;li&gt; 贡献分布
&lt;ul&gt;
&lt;li&gt; 70%commit&lt;/li&gt;
&lt;li&gt; 10%Issues&lt;/li&gt;
&lt;li&gt; 10%Pull requests&lt;/li&gt;
&lt;li&gt; 10%Code review&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;BM建模&lt;a href=&quot;#bm建模&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt; 学习Blender建模&lt;/li&gt;
&lt;li&gt; 联合MMD制作动态视频&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;剪辑工作流&lt;a href=&quot;#剪辑工作流&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt; 剪映-&amp;gt;达芬奇&lt;/li&gt;
&lt;li&gt; 剪辑自动流&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;AI创作&lt;a href=&quot;#ai创作&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt; Stable Diffusion高阶绘图&lt;/li&gt;
&lt;li&gt; ComfyUI入门&lt;/li&gt;
&lt;li&gt; AI视频入门&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;创作表达&lt;a href=&quot;#创作表达&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;section&gt;&lt;h2&gt;博客分享&lt;a href=&quot;#博客分享&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt; 更新12篇技术笔记&lt;/li&gt;
&lt;li&gt; 更新24篇观番笔记&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;视频剪辑&lt;a href=&quot;#视频剪辑&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt; 剪辑12个视频(高质)&lt;/li&gt;
&lt;li&gt; 发布20个MMD视频&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;数字生活&lt;a href=&quot;#数字生活&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;section&gt;&lt;h2&gt;娱乐&lt;a href=&quot;#娱乐&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;ul&gt;
&lt;li&gt; 观看36部电影&lt;/li&gt;
&lt;li&gt; 观番50部&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;/section&gt;</content:encoded></item><item><title>从零开始用CNB云部署ComfyUI绘图</title><link>https://blog.xshan.top/posts/cnb-teach/</link><guid isPermaLink="true">https://blog.xshan.top/posts/cnb-teach/</guid><description>使用腾讯云CNB平台每月免费额度部署云端ComfyUI进行AI绘图体验</description><pubDate>Sun, 28 Dec 2025 00:00:00 GMT</pubDate><content:encoded>&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Warning&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;注意本文内的部署、配置以及AI生成内容均属于技术教学，对于他人使用该技术生成的任何内容，均不承担任何责任。&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;section&gt;&lt;h2&gt;CNB平台注册及认证流程&lt;a href=&quot;#cnb平台注册及认证流程&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;官方链接：&lt;a href=&quot;https://cnb.cool/&quot; target=&quot;_blank&quot;&gt;腾讯云CNB&lt;/a&gt;&lt;/p&gt;&lt;p&gt;前往CNB平台注册账号登陆，或者使用官网提供的微信登陆方式进行快捷登陆。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-6XzX.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;登陆完成之后前往CNB平台的个人设置页面进行实名认证不进行实名认证很多功能将受到限制，跟随指引使用手机微信进行认证即可。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-CQuw.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;创建组织&lt;a href=&quot;#创建组织&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;CNB平台以组织为基础单位进行管理，所以在Fork他人仓库之前，需要先创建一个组织。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-qudZ.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-mRSO.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;注：组织名尽量不要使用已存在的著名域名，例如：baidu、bilibili等内容，否则将会要求进行域名CNAME认证。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Fork仓库部署&lt;a href=&quot;#fork仓库部署&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;CNB平台是腾讯云团队提出的在线云版本控制平台，如果你懂得Git和Github操作，那么CNB平台的操作将会非常简单。&lt;/p&gt;&lt;p&gt;本次使用的ComfyUI仓库为@SKDZSS90作者进行创建和维护的，具体的仓库名称为&lt;a href=&quot;https://cnb.cool/SKDZSS90/ComfyUI-yi_dian_tong&quot; target=&quot;_blank&quot;&gt;ComfyUI-yi_dian_tong&lt;/a&gt;，可以在CNB平台进行搜索或者直接点击文章的超链接直达。&lt;/p&gt;&lt;p&gt;注意，拥有star星数最多的那个才是，也注意作者名称，不要Fork错仓库。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-c1Hl.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;进入仓库后点击Fork按钮进入Fork页面，选择之前创建的组织，自定义Fork之后的仓库名称进行Fork操作。推荐为该仓库点一个&lt;strong&gt;Star星星&lt;/strong&gt;，给原作者一个鼓励。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-rEuO.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;这里有两点需要注意，第一是仓库名称不要使用与原作者一样的名称，自定义一个仓库名称；第二是选择fork整个仓库，而不是只fork仓库的某个分支。&lt;/p&gt;&lt;p&gt;CNB平台Fork他人仓库并不会占用自己账号的LFS(大文件)的存储额度，除非原仓库删除或者私有化。&lt;/p&gt;&lt;p&gt;CNB平台具体的额度标准可以前往&lt;a href=&quot;https://docs.cnb.cool/zh/saas/pricing.html&quot; target=&quot;_blank&quot;&gt;CNB平台定价标准&lt;/a&gt;进行查看，或者前往我的博客文章&lt;a href=&quot;/posts/tencent-cnb&quot;&gt;好物推荐 - 腾讯云CNB：云原生平台&lt;/a&gt;查看。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-j1Vh.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;启动项目&lt;a href=&quot;#启动项目&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;前往Fork完成之后的仓库，点击&lt;strong&gt;AI-创作启动&lt;/strong&gt;按钮即可，原作者已经部署和优化好ComfyUI，直接点击启动即可，并且他为整个仓库提前上传好超多热门模型，可以直接在云端ComfyUI中使用好人一生平安。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-m9CJ.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;首次启动需要进行配置和初始化，可能需要数分钟，耐心等待即可。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-Q11H.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;加载完成后会进入云端vscode界面，此时不需要任何操作，脚本会直接自动启动ComfyUI，等待启动完成点击弹出的链接即可打开云端ComfyUI界面。&lt;/p&gt;&lt;p&gt;有的人启动后可能不是这个页面，选择推荐的vscode即可，我这里因为启动多次之后，默认打开的就是这个页面，所以就没有截图。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-vUpQ.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;软件自动启动成功之后会弹出以下弹窗，点击open即可跳转云端ComfyUI界面。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-bgWk.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;如果没有弹出，等待加载完成之后也可以自行点击URL链接跳转，&lt;strong&gt;注意选择8188端口的链接&lt;/strong&gt;。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-Y9FX.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;云端ComfyUI使用&lt;a href=&quot;#云端comfyui使用&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;接下来就是标准的ComfyUI界面，你可以在云端使用ComfyUI进行绘图，自由创作工作流，或者直接在vscode导入工作流。&lt;/p&gt;&lt;p&gt;原作者在脚本中启用的是腾讯云的&lt;strong&gt;H20显卡，32核CPU资源和128G内存资源&lt;/strong&gt;，所以目前市面上的绝大多数模型都能够在CNB中运行。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-CD63.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;上传本地工作流：在vscode界面的workflows文件夹右键选择upload，选择本地文件夹内的工作流文件即可上传到云端。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-6dIz.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;在本教程中不涉及ComfyUI的具体使用，想要学习ComfyUI请自行搜索相关教程。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;关闭项目&lt;a href=&quot;#关闭项目&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;注意CNB平台是云端原生与构建平台，所以关闭网页不代表该程序停止运行，忘记关闭项目会造成额度的持续消耗，容易造成额度超标而付费的情况。&lt;/p&gt;&lt;p&gt;所以，在使用完ComfyUI之后，建议及时关闭项目，避免不必要的费用消耗。&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;关闭打开的ComfyUI界面和vscode界面；&lt;/li&gt;
&lt;li&gt;前往CNB项目页面，进入云原生构建，找到正在运行的项目，点击进入；&lt;/li&gt;
&lt;li&gt;点击右上角的停止构建，点击确认即可(注意，如果勾选同时停止endStages选项，则会跳过作者的脚本，直接关闭项目，将会导致自己上传的工作流或模型丢失)。
&lt;img src=&quot;https://xshan.dpdns.org/202512-GARu.png&quot; alt=&quot;&quot; /&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-ROQu.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;额外补充&lt;a href=&quot;#额外补充&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;虽然原作者已经添加了很多常用模型，但是由于个人需求或者自训练模型需要使用，所以需要我们自行上传模型到CNB平台进行使用。&lt;/p&gt;&lt;section&gt;&lt;h3&gt;创建个人仓库&lt;a href=&quot;#创建个人仓库&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;在CNB平台创建用于存储模型的个人仓库，仓库名称自定义，公开或者私有根据需求选择，公开代表CNB平台其他用户可以访问或Fork你的仓库，私有仅当前组织的成员可以访问。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-FVa5.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-ePps.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;配置仓库及上传模型&lt;a href=&quot;#配置仓库及上传模型&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;在创建好的仓库点击云原生开发，等待构建完成即可进入云端操作页面。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-HBtt.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;注意接下来需要动用Git版本操作命令，如果已经懂得Git LFS操作的用户将会十分简单。&lt;/p&gt;&lt;p&gt;首先推荐在vscode工作区中提前创建好分类文件夹，例如：models、checkpoints、workflows、loars、vae等文件夹，用于后续的模型上传和工作流管理。&lt;/p&gt;&lt;p&gt;我这里为了演示仅上传一个ae的vae模型，在文件夹右键选择upload，选择本地文件夹内的vae模型文件即可上传到云端。或者直接在本地文件夹拖动文件到对应的云端文件夹即可。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-Gd3X.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;注意：一定要等待文件上传完成！！！在上传完成后检查一下上传的文件存储占用是否正确！&lt;/p&gt;&lt;p&gt;等待文件正常上传之后，接下来开始使用Git命令将上传文件添加到远端仓库中。&lt;/p&gt;&lt;p&gt;由于现在模型都是大文件，所以在上传时必须使用LFS指令上传至LFS仓库。&lt;/p&gt;&lt;ol&gt;
&lt;li&gt;初始化Git环境并启用LFS功能&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git lfs install&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;跟踪.safetensors文件(即模型文件，如果使用其他文件格式的模型，注意添加对应的文件格式)&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git lfs track &quot;*.safetensors&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;添加.gitattributes文件至暂存区&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git add .gitattributes&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;添加所有变动文件至暂存区&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git add .&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;添加提交信息&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git commit -m &quot;自定义提交信息&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;ol&gt;
&lt;li&gt;推送所有变动到远端仓库&lt;/li&gt;
&lt;/ol&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git push origin main&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-XbBs.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;至此，模型文件已经上传到远端仓库，在ComfyUI项目中可以使用clone命令将自己的仓库拉取到ComfyUI项目中使用。&lt;/p&gt;&lt;p&gt;&lt;strong&gt;注意，本仓库的云操作同样需要关闭项目构建，具体方法和关闭ComfyUI项目相同。&lt;/strong&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;</content:encoded></item><item><title>好物推荐 - 腾讯云CNB：云原生平台</title><link>https://blog.xshan.top/posts/tencent-cnb/</link><guid isPermaLink="true">https://blog.xshan.top/posts/tencent-cnb/</guid><description>一个基于云原生的构建平台，提供一站式的构建服务，帮助开发者快速、可靠地构建和部署应用</description><pubDate>Wed, 24 Dec 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;你是否还在因为自己的电脑配置不够而无法构建或开发应用，在这个AI大模型时代，内存和GPU等资源的需求也在成倍增加，而腾讯云的CNB平台提供了一站式的构建服务，帮助开发者快速、可靠地构建和部署应用&lt;/p&gt;
&lt;p&gt;&lt;a href=&quot;https://cnb.cool/&quot; target=&quot;_blank&quot;&gt;腾讯云CNB&lt;/a&gt;平台为用户每月提供了一定的免费额度，具体额度如下：&lt;/p&gt;















































&lt;table&gt;&lt;thead&gt;&lt;tr&gt;&lt;th&gt;计费项&lt;/th&gt;&lt;th&gt;免费额度&lt;/th&gt;&lt;th&gt;超额计费标准&lt;/th&gt;&lt;th&gt;统计范围&lt;/th&gt;&lt;/tr&gt;&lt;/thead&gt;&lt;tbody&gt;&lt;tr&gt;&lt;td&gt;仓库存储&lt;/td&gt;&lt;td&gt;100GiB&lt;/td&gt;&lt;td&gt;1元/GiB/月&lt;/td&gt;&lt;td&gt;Git对象&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;对象存储&lt;/td&gt;&lt;td&gt;100GiB&lt;/td&gt;&lt;td&gt;1元/GiB/月&lt;/td&gt;&lt;td&gt;制品、LFS对象、图片及附件&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;云原生构建-CPU&lt;/td&gt;&lt;td&gt;160核时/月&lt;/td&gt;&lt;td&gt;0.125元/核时&lt;/td&gt;&lt;td&gt;云原生构建流水线使用的CPU资源&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;云原生开发-CPU&lt;/td&gt;&lt;td&gt;1600核时/月&lt;/td&gt;&lt;td&gt;0.125元/核时&lt;/td&gt;&lt;td&gt;云原生开发空间使用的CPU资源&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;云原生构建-GPU&lt;/td&gt;&lt;td&gt;160核时/月&lt;/td&gt;&lt;td&gt;0.5元/核时&lt;/td&gt;&lt;td&gt;云原生构建流水线使用的GPU资源&lt;/td&gt;&lt;/tr&gt;&lt;tr&gt;&lt;td&gt;云原生开发-GPU&lt;/td&gt;&lt;td&gt;1600核时/月&lt;/td&gt;&lt;td&gt;0.5元/核时&lt;/td&gt;&lt;td&gt;云原生开发空间使用的GPU资源&lt;/td&gt;&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;
&lt;p&gt;在腾讯云CNB平台可以Fork其他大佬的仓库运行很多又去的东西，并且Fork仓库时上游仓库的LFS文件并不会占用自己的存储额度，只会占用上游仓库Git的仓库存储额度&lt;/p&gt;
&lt;p&gt;所以，目前腾讯云给予的免费额度已经基本够所有用户的使用&lt;/p&gt;
&lt;p&gt;CNB平台仓库推荐：&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;在线ComfyUI：
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://cnb.cool/SKDZSS90/ComfyUI-yi_dian_tong&quot; target=&quot;_blank&quot;&gt;ComfyUI-yi_dian_tong&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cnb.cool/fuliai/comfyui&quot; target=&quot;_blank&quot;&gt;comfyui&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cnb.cool/zhan_zhi/ComfyUI&quot; target=&quot;_blank&quot;&gt;ComfyUI&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cnb.cool/fuliai/comfyui_base&quot; target=&quot;_blank&quot;&gt;comfyui_base&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cnb.cool/aca233/comfyui&quot; target=&quot;_blank&quot;&gt;comfyui&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;AI TTS
&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://cnb.cool/fangwaii/index-tts-v2&quot; target=&quot;_blank&quot;&gt;index-tts-v2&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://cnb.cool/SKDZSS90/b-IndexTTS-2&quot; target=&quot;_blank&quot;&gt;b-IndexTTS-2&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;每个项目的具体使用方法可以参考仓库的README文件~&lt;/p&gt;</content:encoded></item><item><title>技术笔记 - 手把手部署照片博客</title><link>https://blog.xshan.top/posts/photoblog/</link><guid isPermaLink="true">https://blog.xshan.top/posts/photoblog/</guid><description>从零开始免费部署一个属于自己的照片博客</description><pubDate>Thu, 18 Dec 2025 00:00:00 GMT</pubDate><content:encoded>&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Warning&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;1.本教程采用Vercel + Cloudflare R2 + Github 部署，中国大陆访问速度可能较慢，有条件的伙伴可以采用国内服务器 + 国内对象存储等，当然这需要比本教程更加复杂的配置，本文并不涉及；&lt;/p&gt;&lt;p&gt;2.本文由于涉及图片较多，故采用R2图床，部分地区加载速度可能较慢，请耐心等待。&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;section&gt;&lt;h1&gt;准备工作&lt;a href=&quot;#准备工作&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/&quot; target=&quot;_blank&quot;&gt;Github&lt;/a&gt;账号&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://vercel.com/&quot; target=&quot;_blank&quot;&gt;Vercel&lt;/a&gt;账号&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.cloudflare.com/&quot; target=&quot;_blank&quot;&gt;Cloudflare&lt;/a&gt;账号&lt;/li&gt;
&lt;li&gt;一个域名(没有域名Vercel国内访问较慢甚至失败)&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;注：本文不会扩展上述账号的注册流程，如有需要请自行在网络上搜索。&lt;/p&gt;&lt;section&gt;&lt;h2&gt;部署流程&lt;a href=&quot;#部署流程&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;section&gt;&lt;h3&gt;1.Fork开源项目&lt;a href=&quot;#1fork开源项目&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;我个人推荐在Github上Fork项目，然后在Vercel上部署，这种方式便于后续更新项目代码，Fork仓库可以一键拉取项目作者更新内容，直接Vercel部署会自动创建私有仓库，失去与原作者项目的关联，不利于后续的项目代码更新和维护。&lt;/p&gt;&lt;p&gt;点击下方Github卡片进入开源项目仓库，点击右上角的Fork按钮，填写信息后点击确认即可Fork项目。如果想直接Vercel部署项目可以前往项目仓库的README文件点击Deploy按钮跳转部署页面即可&lt;/p&gt;&lt;a href=&quot;https://github.com/sambecker/exif-photo-blog&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;sambecker&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;exif-photo-blog&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-cekg.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-wMk6.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;2.Vercel部署&lt;a href=&quot;#2vercel部署&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;前往&lt;a href=&quot;https://vercel.com/&quot; target=&quot;_blank&quot;&gt;Vercel&lt;/a&gt;平台，根据流程选择Github Fork仓库，着手开始部署项目。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-gONe.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-JKoq.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;Vercel会自动识别项目为Next.js项目，如果识别错误需要手动修改，点击Deploy开始自动构建。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-DWas.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;等待部署完成，预计3~5分钟左右，部署成功后点击Continue to Dashboard进入详情页面。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-23TJ.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;3.绑定域名&lt;a href=&quot;#3绑定域名&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;前往部署好的项目设置页面绑定自己的域名，便于后续项目配置修改访问。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-SC73.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-udgk.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;添加好绑定的域名后，根据Vercel的CNAME记录前往自己域名的解析设置，完成记录解析，各大运营商记录解析方法自行查询，在此不做赘述。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-Daj4.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;4.配置数据库+R2存储&lt;a href=&quot;#4配置数据库r2存储&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;访问绑定好的域名，首次进入会跳转到项目配置界面，界面上显示x的项目代表当前项目未配置完成，需要进行配置。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-blWT.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;接下来逐个进行配置，让我们开始！&lt;/p&gt;&lt;section&gt;&lt;h4&gt;4.1配置Vercel Neon数据库&lt;a href=&quot;#41配置vercel-neon数据库&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;在Vercel项目界面点击Storage，选择Neon数据库。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-XEXp.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-pwu3.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-ROji.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;选择数据库位置，一般默认Washington,D.C.,USA(East)美国华盛顿哥伦比亚区域即可，当然如果在其他区域，例如非中国区域可能默认的近距离地区可能不一样，根据实际情况选择即可，套餐选择Free免费即可。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-wW2W.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;填写数据库名称，默认即可。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-4tdS.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-SJs0.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-3W0l.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;返回Vercel项目界面，重新前往Storage界面，连接刚才创建的Neon数据库，直接选择默认状态连接即可。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-Kz18.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-ITpm.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;返回Vercel项目界面，前往Deployments界面，重新部署项目，检查Neon数据库是否成功连接。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-RRTB.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-WZgS.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;等待项目重新部署完成，访问绑定好的域名，检查项目第一项数据库是否已经绿灯。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;4.2配置Cloudflare R2存储&lt;a href=&quot;#42配置cloudflare-r2存储&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;p&gt;前往&lt;a href=&quot;https://www.cloudflare.com/&quot; target=&quot;_blank&quot;&gt;Cloudflare&lt;/a&gt;平台，找到R2存储服务，新建一个存储桶用于存放上传的图片。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-vvFF.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-ugfA.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;前往存储桶设置页面，添加CORS策略。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-eBRE.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;[{&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;AllowedHeaders&quot;: [&quot;*&quot;],&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;AllowedMethods&quot;: [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;GET&quot;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;      &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;PUT&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;6&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;],&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;7&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;AllowedOrigins&quot;: [&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;8&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;http://localhost:3000&quot;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;9&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;https://{VERCEL_PROJECT_NAME}*.vercel.app&quot;,&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;10&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;       &lt;/span&gt;&lt;/span&gt;&lt;span&gt;&quot;{PRODUCTION_DOMAIN}&quot;&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;11&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&lt;span&gt;    &lt;/span&gt;&lt;/span&gt;&lt;span&gt;]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;12&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;}]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;注意其中：&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;{VERCEL_PROJECT_NAME}&lt;/code&gt; 填写Vercel项目名称，例如exif-photo-blog&lt;/li&gt;
&lt;li&gt;&lt;code&gt;{PRODUCTION_DOMAIN}&lt;/code&gt; 填写域名，注意填写全面，例如&lt;a href=&quot;https://photo.xshan.top/&quot; target=&quot;_blank&quot;&gt;https://photo.xshan.top/&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;两个参数要保持正确，不确定的可以前往Vercel项目主页查看。&lt;/p&gt;&lt;p&gt;启用公共开发URL，以便存储桶能够被访问。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-rcTE.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;5.配置环境变量&lt;a href=&quot;#5配置环境变量&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;接下来将在Vercel项目设置页面进行环境变量的配置，根据项目要求和自定义内容注意添加。&lt;/p&gt;&lt;p&gt;每点击一次Save就会添加一个环境变量。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-nE9Y.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;接下来根据下方教程内容逐一添加环境变量。注意，当你添加一个环境变量之后Vercel会提醒你重新部署，推荐全部添加完成后再进行重新部署，否则多次部署会造成大量资源浪费。&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;AUTH_SECRET&lt;/code&gt;: 认证密钥，源自项目配置页面随机生成，访问绑定域名复制即可注意防止泄露&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-jTFU.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;ADMIN_EMAIL&lt;/code&gt;: 管理员账号，为邮箱格式，自行填写，用于访问后台&lt;/li&gt;
&lt;li&gt;&lt;code&gt;ADMIN_PASSWORD&lt;/code&gt;: 管理员密码，自行填写，用于访问后台&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NEXT_PUBLIC_LOCALE&lt;/code&gt;: 项目语言，默认为&lt;code&gt;en-us&lt;/code&gt;，推荐修改为&lt;code&gt;zh-cn&lt;/code&gt;&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NEXT_PUBLIC_DOMAIN&lt;/code&gt;: 项目域名，填写绑定的域名，例如：photo.xshan.top&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;接下来进行Cloudflare相关的环境变量配置。&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;NEXT_PUBLIC_CLOUDFLARE_R2_BUCKET&lt;/code&gt;: R2存储桶名称，可以前往Cloudflare R2存储页面查看&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NEXT_PUBLIC_CLOUDFLARE_R2_PUBLIC_DOMAIN&lt;/code&gt;: R2存储桶公开域名，在可以前往Cloudflare R2存储页面查看，&lt;strong&gt;注意复制结果取消&lt;code&gt;https://&lt;/code&gt;的前缀才可以&lt;/strong&gt;，例如：pub-6f05b76a6e44406399d9cd6b72512345.r2.dev&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NEXT_PUBLIC_CLOUDFLARE_R2_ACCOUNT_ID&lt;/code&gt;: Cloudflare账号ID，在R2概述页面可以查看&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-cJkO.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-G7C7.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;接下来创建Cloudflare API令牌，用于项目访问R2存储，创建完成之后注意不要点击完成，记录两个关键令牌值。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-dN1h.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-01Wm.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-8EJ5.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-fH7O.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;CLOUDFLARE_R2_ACCESS_KEY&lt;/code&gt;和&lt;code&gt;CLOUDFLARE_R2_SECRET_ACCESS_KEY&lt;/code&gt;的值见上图，注意不要填写反了&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;6.重新部署项目&lt;a href=&quot;#6重新部署项目&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;填写完上述的环境变量之后，前往Vercel项目界面，重新部署项目，检查项目是否能够正常访问，并且项目是否正常。&lt;/p&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Warning&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;注意：如果你在部署项目时使用了类似EdgeOne等服务商的加速CDN服务，那么你可能会遇到重新部署之后Vercel预览窗正常，但访问域名后仍然是重新部署之前的情况，这很有可能是CDN缓存的问题，可以尝试前往你的CDN加速服务服务商清除缓存即可。&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;如果出现下面的账号登陆界面，说明项目部署成功，填写之前设定的管理员账号和密码之后登陆后台就可以尝试上传和删除图片了，至此这个项目基本完成，后续可以根据需要进行自定义配置。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-oHEi.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;登陆管理员界面之后，可以点击图片中的标识部分进入之前的项目配置页面，通过之前的配置成功后，项目的配置界面解锁了很多新的内容。&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-ZGlq.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;&lt;img src=&quot;https://xshan.dpdns.org/202512-kAj1.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;&lt;p&gt;可以通过原作者的描述进行配置，也可以查看Github仓库的README文档，其中也有详细的介绍。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;7.自定义配置&lt;a href=&quot;#7自定义配置&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;p&gt;接下来我将介绍一些推荐的配置，注意这并不是必须修改的内容，而是通过这些配置可以更加完善和优化你的照片博客。&lt;/p&gt;&lt;section&gt;&lt;h4&gt;7.1标题类&lt;a href=&quot;#71标题类&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;NEXT_PUBLIC_META_TITLE&lt;/code&gt;: 元标题，显示在浏览器和搜索结果中&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NEXT_PUBLIC_META_DESCRIPTION&lt;/code&gt;: 元描述，博客的描述内容&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NEXT_PUBLIC_NAV_TITLE&lt;/code&gt;: 导航栏标题，显示在博客的右上角&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NEXT_PUBLIC_NAV_CAPTION&lt;/code&gt;: 导航说明，显示在导航栏标题下方&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NEXT_PUBLIC_PAGE_ABOUT&lt;/code&gt;: 关于页面，显示在侧边栏处&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;&lt;section&gt;&lt;h4&gt;7.2性能相关&lt;a href=&quot;#72性能相关&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h4&gt;&lt;ul&gt;
&lt;li&gt;&lt;code&gt;NEXT_PUBLIC_PRESERVE_ORIGINAL_UPLOADS&lt;/code&gt;: 设置为&lt;code&gt;1&lt;/code&gt;时将会保持原图上传，不设置将会进行压缩上传，具体看需求，原图上传可能会影响加载速度、带宽和存储成本&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NEXT_PUBLIC_IMAGE_QUALITY&lt;/code&gt;: 图片压缩质量，默认值为&lt;code&gt;75&lt;/code&gt;，范围为&lt;code&gt;0-100&lt;/code&gt;，建议根据需求调整，值越高压缩效果越好，但也会增加加载时间和带宽消耗&lt;/li&gt;
&lt;li&gt;&lt;code&gt;NEXT_PUBLIC_BLUR_DISABLED&lt;/code&gt;: 图像模糊显示，设置为&lt;code&gt;1&lt;/code&gt;时将会禁用图像模糊效果，默认值为&lt;code&gt;0&lt;/code&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;p&gt;其他配置内容可以自行查阅内容进行自定义，本教程在此不再赘述。&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;&lt;section&gt;&lt;h3&gt;8.温馨提醒&lt;a href=&quot;#8温馨提醒&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h3&gt;&lt;ol&gt;
&lt;li&gt;
&lt;p&gt;本方案采用Cloudflare R2存储作为图片存储，免费套餐每月提供10GB存储注意这里的10GB存储是GB/月单位，并非我们通常意义上的10GB，基本足够个人使用&lt;a href=&quot;https://developers.cloudflare.com/r2/pricing/#free-tier&quot; target=&quot;_blank&quot;&gt;查看官方介绍&lt;/a&gt;。&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;注意数据资产的价值，推荐做好备份，避免数据丢失。&lt;/p&gt;
&lt;/li&gt;
&lt;/ol&gt;&lt;/section&gt;&lt;/section&gt;&lt;/section&gt;</content:encoded></item><item><title>技术笔记 - 拉取上游仓库且解决冲突</title><link>https://blog.xshan.top/posts/upmerge/</link><guid isPermaLink="true">https://blog.xshan.top/posts/upmerge/</guid><description>记录笔者第一次拉取上游仓库更新且解决冲突的经历</description><pubDate>Mon, 15 Dec 2025 00:00:00 GMT</pubDate><content:encoded>&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;Warning&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;p&gt;本文中提到的命令与方法均源自网络与AI，这是笔者第一次尝试解决上游仓库拉取和解决冲突，其中可能存在不合理的地方，欢迎指正！&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;
&lt;p&gt;这篇文章主要记录在Github上的Fork仓库与上游仓库都进行修改后如何将上游仓库的代码拉取并解决冲突，既是作为技术分享，更是自己的备忘录，本文就以博客系统更新的代码拉取为案例展开。&lt;/p&gt;
&lt;p&gt;案例属性：Github托管仓库、Fork子仓库与上游仓库均修改、拉取代码冲突&lt;/p&gt;
&lt;section&gt;&lt;h1&gt;预备工作&lt;a href=&quot;#预备工作&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;section&gt;&lt;h2&gt;子仓库创建分支&lt;a href=&quot;#子仓库创建分支&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;虽然很多教程与AI的结果都是不推荐创建新分支处理，但作为案例中的情况，一旦拉取后存在问题，而主分支又是自动触发构建的分支，将会造成构建失败或者构建结果并不理想的情况，所以个人认为创建新分支，将上游仓库更改拉取到新分支并处理冲突后，本地构建无问题之后再将新分支推送到主分支的方法。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git checkout -b [新分支名称]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading=&quot;lazy&quot; width=&quot;861&quot; height=&quot;297&quot; src=&quot;/_astro/20251215-170550.Bit-Yl0S_11fJYq.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;本地添加上游仓库&lt;a href=&quot;#本地添加上游仓库&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git remote add upstream [上游仓库git地址]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;检查远程仓库配置，确保上游仓库添加成功&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git remote -v&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1428&quot; height=&quot;250&quot; src=&quot;/_astro/20251215-170659.qGdsacjC_Z1V7tTv.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;拉取上游仓库更改&lt;a href=&quot;#拉取上游仓库更改&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git fetch upstream&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1347&quot; height=&quot;497&quot; src=&quot;/_astro/20251215-171003.CcnWxsuz_Z1E1wuP.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;切换至自己的新分支&lt;a href=&quot;#切换至自己的新分支&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;如果按照本教程第一步使用的&lt;code&gt;git checkout -b [新分支名称]&lt;/code&gt;方式创建的分支，那么当前分支已经在新分支，则此步骤可以省略。&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git checkout [分支名]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;合并且解决冲突&lt;a href=&quot;#合并且解决冲突&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;section&gt;&lt;h2&gt;尝试合并上游仓库更改&lt;a href=&quot;#尝试合并上游仓库更改&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git merge upstream/[上游分支名]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;解决冲突&lt;a href=&quot;#解决冲突&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt;&amp;lt; HEAD&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;自己代码&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;3&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;=======&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;4&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;上游代码&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;5&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt;&amp;gt; upstream/[分支名]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;本地验证合并代码&lt;a href=&quot;#本地验证合并代码&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;在本地验证合并后的代码是否存在运行问题，如果存在进一步处理，如果不存在提交合并结果。&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;提交合并结果&lt;a href=&quot;#提交合并结果&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git add .&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;2&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git commit&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;推送至云端仓库&lt;a href=&quot;#推送至云端仓库&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git push origin [分支名]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;后续处理&lt;a href=&quot;#后续处理&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;section&gt;&lt;h2&gt;将新分支合并到主分支&lt;a href=&quot;#将新分支合并到主分支&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;在Github中将新分支推送到主分支，合并后删除新分支。&lt;/p&gt;&lt;p&gt;&lt;img loading=&quot;lazy&quot; width=&quot;2549&quot; height=&quot;1191&quot; src=&quot;/_astro/20251215-172632.CpQJ9Gzp_Z23HLMK.webp&quot; /&gt;
&lt;img loading=&quot;lazy&quot; width=&quot;2549&quot; height=&quot;1191&quot; src=&quot;/_astro/20251215-175137.DtF5pMdf_Z2dEB0k.webp&quot; /&gt;
&lt;img loading=&quot;lazy&quot; width=&quot;2549&quot; height=&quot;1191&quot; src=&quot;/_astro/20251215-175232.DdsxAbBQ_7PEIH.webp&quot; /&gt;&lt;/p&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;本地删除新分支&lt;a href=&quot;#本地删除新分支&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;首先同步云端仓库分支&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git remote prune origin&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;删除云端已经删除的分支&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git branch -d [分支名]&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;/section&gt;&lt;section&gt;&lt;h2&gt;本地解绑上游仓库(可选)&lt;a href=&quot;#本地解绑上游仓库可选&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;如果以后仍然需要拉取上游仓库更新，推荐暂不解绑&lt;/p&gt;&lt;div&gt;&lt;figure&gt;&lt;figcaption&gt;&lt;/figcaption&gt;&lt;pre&gt;&lt;code&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;1&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;span&gt;git remote remove upstream&lt;/span&gt;&lt;/div&gt;&lt;/div&gt;&lt;/code&gt;&lt;/pre&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;/figure&gt;&lt;/div&gt;&lt;p&gt;至此全部流程结束。&lt;/p&gt;&lt;/section&gt;&lt;/section&gt;</content:encoded></item><item><title>观番笔记《我想吃掉你的胰脏》</title><link>https://blog.xshan.top/posts/pancreas/</link><guid isPermaLink="true">https://blog.xshan.top/posts/pancreas/</guid><description>这是一部悲伤且悲伤的电影</description><pubDate>Sun, 14 Dec 2025 00:00:00 GMT</pubDate><content:encoded>&lt;p&gt;我思索了许久，不知道如何描述这部动漫，因为它不是纯粹的爱情故事，甚至不知道“我”和樱良之间是否真的存在爱情，他们两人是互相救赎？亦或者是他们只是在寻找彼此的答案？我都不知道，也许这部动漫令人伤感的是樱良的死是戛然而止，没有预料的结果，而她还有一半的愿望没有实现，或者说如果她因为胰脏病患而死，其实对“我”的冲击也许真的没有那么惨烈，因为这是早已预知的未来罢了。&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;607&quot; src=&quot;/_astro/p2543886293.BRSL4YUy_1sjqoD.webp&quot; /&gt;&lt;figcaption&gt;&quot;无话不说&quot;&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;电影从一开始就告诉了我们樱良已死，采用倒叙的手法直截了当，塑造一场让观众踏入陷阱的骗局，让观众自以为能够接受樱良的离去，慢慢的接受樱良的死亡，可她却就是那样戛然而止了，甚至没有给观众表现凶手的样貌，以及整个过程，樱良在等待死亡时是否留有遗憾，我们都无法得知。&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;603&quot; src=&quot;/_astro/p2579012620.YVSAMQZ9_1eqcf1.webp&quot; /&gt;&lt;figcaption&gt;&quot;樱良之死&quot;&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;
&lt;p&gt;我认为这是继《你的名字》、《天气之子》、《秒速5厘米》等等之后，又一部让人难以释怀的电影，在打开前我其实已经做好了心理准备，这部电影在我的待看列表里躺了很久，直到今天我才鼓起勇气打开它，我想这部剧口碑褒贬不一的主要原因是它的情感深度，表面上是樱良与“我”之间的故事，可实际上是生与死的探讨，就像樱良说的：人都是会死的，那么&lt;strong&gt;何时死、因何死和如何死&lt;/strong&gt;，是本来这三点疑问对于樱良而言相比其他人是比较清晰的，但是这便是命运，亦或者并非命运，无论是什么都因为一场意外被全部打破；那么为何生，樱良在医院也给了我们答案。&lt;/p&gt;
&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;607&quot; src=&quot;/_astro/p2545717966.DuSN1raA_Z1F76LG.webp&quot; /&gt;&lt;figcaption&gt;&quot;生与死&quot;&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;
&lt;section&gt;&lt;h2&gt;自我争辩的两点&lt;a href=&quot;#自我争辩的两点&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;在这部电影中，有两个点我思索许久都无法得到准确的答案，甚至我都不知道何为对错：&lt;/p&gt;&lt;p&gt;其一，樱良在邀请“我”去她家时的刻意挑逗，站在一个普通的角度来说，像樱良这样的女孩并不会做出如此轻浮的行为，包括两人旅游时在酒店的真心话大冒险，都是樱良在放下身段去不断试探“我”，如果是普通女孩，这种挑拨我无权评价，可是樱良作为将死之人刻意在他人心中留下“情感”，是否是一种残忍，让一个普通人难以忘怀，虽然他们貌似做到了彼此救赎，但我也仍然不知道这个问题的答案；&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;607&quot; src=&quot;/_astro/p2588350150.B-z9EY-O_pjQo2.webp&quot; /&gt;&lt;figcaption&gt;&quot;不解挑逗&quot;&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;p&gt;其二，在樱良出院约“我”见面，“我”在咖啡厅等待许久都没能见到樱良赴约，而后直接返回了家中，我认为即使是一个冷漠的人至少也肯定要打电话，甚至是紧张与慌张，而不是什么都不做直接回到家中沉默，如果当时“我”在长时间没有收到樱良的回信后抓紧时间去找她，是否能够更早一点知道樱良的离开，当然这一切都是不可知的，我也无法评判“我”。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;以“我”视角拉观众入局&lt;a href=&quot;#以我视角拉观众入局&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;在这部电影的叙事中刻意规避“我”的名字，只是在片段中提到，这种方法并不多见，它旨在拉观众入局，进入电影中男主的视角，“亲身”经历这段故事，结识樱良，了解她的故事，接纳她的“死亡”，与她相伴逐步走出自己封闭的世界，然后经历她的死亡，切身体会伤感与遗憾。&lt;/p&gt;&lt;p&gt;&lt;/p&gt;&lt;figure&gt;&lt;img loading=&quot;lazy&quot; width=&quot;1080&quot; height=&quot;607&quot; src=&quot;/_astro/p2542689425.B_0ZwCmL_1jf3nn.webp&quot; /&gt;&lt;figcaption&gt;&quot;共病文库&quot;&lt;/figcaption&gt;&lt;/figure&gt;&lt;p&gt;&lt;/p&gt;&lt;/section&gt;</content:encoded></item><item><title>从NotionNext -&gt; Hexo -&gt; Astro的心路历程</title><link>https://blog.xshan.top/posts/mental/</link><guid isPermaLink="true">https://blog.xshan.top/posts/mental/</guid><description>作为一个从零开始摸爬滚打吃足了教训的人，给后来者一些经验和建议</description><pubDate>Fri, 12 Dec 2025 00:00:00 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h2&gt;NotionNext的血与泪&lt;a href=&quot;#notionnext的血与泪&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;如果没有记错的话，知道NotionNext这个博客构建方式是源自于bilibili无意间刷到的视频，一开始看着非常不错，主要原因有亮点：其一，它是基于Notion为主要载体的，而我恰巧在使用Notion，这无疑降低了我的学习成本和搭建的时间成本；其二，它在当时的我看来是一个比较简易的搭建方式，几乎不用面对代码至少低代码，大部分配置都可以在Notion中完成。&lt;/p&gt;&lt;p&gt;而这个架构搭建起来的博客弊端也十分的明显，虽然它支持vercel等函数式的一键部署，整体部署过程十分的快，但是它有天生的问题，就是Notion的访问速度，就算不是NotionNext搭建博客，用过Notion的人都知道，它在大陆的访问就像&lt;strong&gt;薛定谔的猫&lt;/strong&gt;一样，有时快的像国内服务器一样，有时慢的怀疑人生，甚至有的时候直接访问失败，这无疑是一个很大的雷，另一个方面就是可扩展性并不强，说白了就是博客的配置基本定死在Notion的数据库中了，一个普通小白很难去自定义内容，尤其是涉及Notion软件相关的内容，所以在使用了半年之后我依然决然的转变了平台。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Hexo的痛苦经历&lt;a href=&quot;#hexo的痛苦经历&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;在选择Hexo的时候其实很简单，因为它是目前国际上相对占比较大的博客构建工具，其他的像&lt;strong&gt;WordPress&lt;/strong&gt;等又过于老牌，导致它们的核心优化和功能都没有新生代强势，并且安装步骤也没有新生代的博客构建工具那么简单，所以我才最终选择了Hexo。&lt;/p&gt;&lt;p&gt;起初，在使用Hexo的时候也尝到了很多甜头，例如它部署的方式相对没有那么复杂，支持vercel部署等等，并且相对于NotionNext部署，至少我可以不用面对那薛定谔的猫，让我有精力能够对博客的整体架构进行自定义，并且Hexo的插件生态相对还是比较不错的，所以当初我用了将近一年多的Hexo架构。&lt;/p&gt;&lt;p&gt;后来我也给它换了新的主题，那是在bilibili上刷到的anzhiyu主题，当时我对这个整体布局和功能十分感兴趣，例如它支持追番、音乐、Markdown扩展语法等等内容，这也是支撑我继续使用Hexo的主要原因。直到原作者对anzhiyu主题失去了开发热情，转而开发更加高效和功能更加强大的主题，然而他所做的新主题并不支持vercel部署，这对我来说十分困惑，因为我暂时还没有必要专门为一个博客购置一台服务器。&lt;/p&gt;&lt;a href=&quot;https://github.com/anzhiyu-c/hexo-theme-anzhiyu&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;anzhiyu-c&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;hexo-theme-anzhiyu&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;所以，我不得不放弃Hexo，转而选择了Astro。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;Astro的优势&lt;a href=&quot;#astro的优势&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;选择Astro的主要原因有两点：其一，它的部署方式和Hexo类似，都是支持vercel等函数式的一键部署，整体部署过程十分的快；其二，它的插件生态相对Hexo来说要更加完善，例如它支持Markdown扩展语法、代码高亮、图片懒加载等等内容，这也使得我在使用Astro的时候能够更加方便地自定义博客的功能。&lt;/p&gt;&lt;p&gt;更重要的是，Astro的主题生态目前还是比较完善的，在bilibili有很多人开源自己开发的主题，而且部署起来也十分的简单方便，可扩展性比较强，目前在社区比较活跃的主题有很多，例如Mizuki也有很多基于它进行二改的主题，而目前这个博客构建使用的就是基于Mizuki主题二改的&lt;strong&gt;Firefly&lt;/strong&gt;主题，之所以选择这个主题还是基于作为星铁流萤为核心，而整体的布局和审美也都符合我的需求，配置修改方面也相对完善能够实现很多自定的内容，后续二次开发也应该问题不大。&lt;/p&gt;&lt;a href=&quot;https://github.com/CuteLeaf/Firefly&quot; target=&quot;_blank&quot;&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;div&gt;&lt;/div&gt;&lt;div&gt;CuteLeaf&lt;/div&gt;&lt;/div&gt;&lt;div&gt;/&lt;/div&gt;&lt;div&gt;Firefly&lt;/div&gt;&lt;/div&gt;&lt;div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div&gt;Waiting for api.github.com...&lt;/div&gt;&lt;div&gt;&lt;div&gt;00K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;div&gt;0K&lt;/div&gt;&lt;span&gt;Waiting...&lt;/span&gt;&lt;/div&gt;&lt;/a&gt;&lt;p&gt;对于我而言，至少目前还是十分满意这个主题，加载性能等方面也都符合要求，鉴于目前国内对vercel部署的速度和稳定性也出现了不小的问题，所以这次我选择了腾讯云EdgeOne作为部署平台，没有实名制的情况下它和其他平台一样，只支持全球加速(中国大陆除外)，但综合测速下来，其实对国内用户来说访问速度和响应还是能够接受的，后续等待流量高起来之后，再考虑部署服务器和备案。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;经验教训&lt;a href=&quot;#经验教训&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;其实，在一个博客部署的过程中，我也吸取了很多血泪教训。&lt;/p&gt;&lt;p&gt;其一：&lt;strong&gt;选择比执行更重要&lt;/strong&gt;，在搭建和部署之前，认真花一段时间问问自己，“我”需要什么样的博客，是简约素朴，还是功能丰富和美观的，是稳定社区活跃的，还是性能优化良好的，是小白一键部署的，还是能够自定义配置的等等，这真的很重要，因为当你满怀热情和心血去部署完成上线之后你发现这似乎不是你想要的，推倒重来的成本十分巨大，更重要的是这个过程会消磨你很多的热情；&lt;/p&gt;&lt;p&gt;其二：&lt;strong&gt;耐心是关键&lt;/strong&gt;，在搭建和部署的过程中，会遇到很多问题，这是正常的，但是要保持耐心，不要因为遇到问题就放弃，而是要去解决它，找到解决的方法，这才是最重要的。&lt;/p&gt;&lt;p&gt;其三：&lt;strong&gt;保持学习的态度&lt;/strong&gt;，在部署上线之后也依旧保持学习，不只是对框架的学习，更重要的是合理利用博客这个载体，在这个AI大模型和信息密度极高的时代，静下心来写一篇博客，记录平淡的生活或者分享自己的技术知识，都会让你获得更多的自我提升价值。&lt;/p&gt;&lt;p&gt;其四：&lt;strong&gt;有条件选择大陆服务器&lt;/strong&gt;，虽然现在函数部署相关的服务商比较多，例如：Vercel、Netlify、Cloudflare、腾讯云EdgeOne等，但对中国大陆的加速都是有限的，在用户访问量增加之后，用户访问响应时间的影响会逐渐明显，所以，在有资金条件的情况之下，我还是推荐部署在国内服务器，给予用户更好的访问体验。&lt;/p&gt;&lt;/section&gt;
&lt;section&gt;&lt;h2&gt;总结&lt;a href=&quot;#总结&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h2&gt;&lt;p&gt;在博客部署这件事上吃了不少的亏，但其实也增加了我很多相关的技术知识，如果单纯的去学习，可能并没有一步一步实践获得的扎实，所以不必厌恶这个过程，而是需要保持学习的态度，去不断的探索与尝试，就会发现其中的乐趣和价值。&lt;/p&gt;&lt;/section&gt;</content:encoded></item><item><title>Minecraft常用网站及工具</title><link>https://blog.xshan.top/posts/mcres/</link><guid isPermaLink="true">https://blog.xshan.top/posts/mcres/</guid><description>推荐一些常用的Minecraft网站及工具</description><pubDate>Fri, 18 Apr 2025 00:00:00 GMT</pubDate><content:encoded>&lt;section&gt;&lt;h1&gt;常用网站&lt;a href=&quot;#常用网站&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;ul&gt;
&lt;li&gt;通用解决网站：&lt;a href=&quot;https://www.deepseek.com/&quot; target=&quot;_blank&quot;&gt;DeepSeek&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Minecraft官网：&lt;a href=&quot;https://www.minecraft.net/zh-hans&quot; target=&quot;_blank&quot;&gt;Minecraft&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;MC wiki：&lt;a href=&quot;https://zh.minecraft.wiki/&quot; target=&quot;_blank&quot;&gt;Minecraft wiki&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;MC筛选：&lt;a href=&quot;https://joakimthorsen.github.io/MCPropertyEncyclopedia/&quot; target=&quot;_blank&quot;&gt;Minecraft Block Property Encyclopedia&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;MC百科：&lt;a href=&quot;https://www.mcmod.cn/&quot; target=&quot;_blank&quot;&gt;MC百科&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;MOD相关&lt;a href=&quot;#mod相关&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://modrinth.com/&quot; target=&quot;_blank&quot;&gt;Modrith&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://www.curseforge.com/minecraft/search?class=mc-mods&quot; target=&quot;_blank&quot;&gt;curseforge&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;资源相关&lt;a href=&quot;#资源相关&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://vanillatweaks.net/picker/resource-packs/&quot; target=&quot;_blank&quot;&gt;自定义材质包&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://mcdreforged.com/zh-CN/plugins&quot; target=&quot;_blank&quot;&gt;插件仓库MCDR&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;查询网站&lt;a href=&quot;#查询网站&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://www.chunkbase.com/apps/&quot; target=&quot;_blank&quot;&gt;种子内容查询&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;工具软件&lt;a href=&quot;#工具软件&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://pcl.ruanmao.net/&quot; target=&quot;_blank&quot;&gt;PCL启动器&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://hmcl.huangyuhui.net/&quot; target=&quot;_blank&quot;&gt;HMCL启动器&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://multimc.org/&quot; target=&quot;_blank&quot;&gt;MultiMC启动器&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://prismlauncher.org/download/&quot; target=&quot;_blank&quot;&gt;Prism启动器&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://github.com/Cubitect/cubiomes-viewer&quot; target=&quot;_blank&quot;&gt;种子筛选&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;材质包&amp;amp;光影&lt;a href=&quot;#材质包光影&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://modrinth.com/resourcepack/xk-redstone-display/versions&quot; target=&quot;_blank&quot;&gt;XeKr红石显示&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://modrinth.com/resourcepack/protect-my-eyes/versions&quot; target=&quot;_blank&quot;&gt;黑叔的护眼大补丸&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://modrinth.com/shader/complementary-unbound/versions&quot; target=&quot;_blank&quot;&gt;Complementary光影(仿真水体)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://modrinth.com/shader/complementary-reimagined/versions&quot; target=&quot;_blank&quot;&gt;Complementary光影(MC风格水体)&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;
&lt;section&gt;&lt;h1&gt;地毯全家桶&lt;a href=&quot;#地毯全家桶&quot;&gt;&lt;span&gt;#&lt;/span&gt;&lt;/a&gt;&lt;/h1&gt;&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;https://modrinth.com/mod/carpet/versions&quot; target=&quot;_blank&quot;&gt;carpet&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://modrinth.com/mod/carpet-extra/versions&quot; target=&quot;_blank&quot;&gt;carpet extra&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://modrinth.com/mod/carpet-tis-addition/versions&quot; target=&quot;_blank&quot;&gt;TIS carpet&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;https://modrinth.com/mod/gca/versions&quot; target=&quot;_blank&quot;&gt;GCA&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;&lt;/section&gt;</content:encoded></item></channel></rss>