<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <author>
    <name>Bsheepcoder</name>
  </author>
  <generator uri="https://hexo.io/">Hexo</generator>
  <icon>https://bsheepcoder.github.io/img/page1.png</icon>
  <id>https://bsheepcoder.github.io/</id>
  <link href="https://bsheepcoder.github.io/" rel="alternate"/>
  <link href="https://bsheepcoder.github.io/atom.xml" rel="self"/>
  <rights>All rights reserved 2026, Bsheepcoder</rights>
  <subtitle>a smart place</subtitle>
  <title>Q's blog</title>
  <updated>2026-06-17T16:59:23.045Z</updated>
  <entry>
    <author>
      <name>Bsheepcoder</name>
    </author>
    <category term="技术" scheme="https://bsheepcoder.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
    <category term="信息获取" scheme="https://bsheepcoder.github.io/categories/%E6%8A%80%E6%9C%AF/info/"/>
    <category term="RSS" scheme="https://bsheepcoder.github.io/tags/RSS/"/>
    <category term="日报" scheme="https://bsheepcoder.github.io/tags/%E6%97%A5%E6%8A%A5/"/>
    <category term="信息获取" scheme="https://bsheepcoder.github.io/tags/%E4%BF%A1%E6%81%AF%E8%8E%B7%E5%8F%96/"/>
    <content>
      <![CDATA[<div class="post-stat" style="margin:1em 0;color:#888;font-size:.9em">    <i class="fas fa-pencil-alt"></i> 约 4.3k 字    &nbsp;&nbsp;<i class="fas fa-clock"></i> 16 分钟阅读  </div><html><head></head><body><blockquote><p><strong>本期数据</strong>：抓取 16 个源 · 筛选 20 条 · 覆盖 8 个领域</p><p>数据源：OpenAI · Google DeepMind · arXiv · Nature · ScienceDaily · New Scientist · Ars Technica · TechCrunch · GitHub · Stack Overflow · NPR · 阮一峰</p></blockquote><hr><h2 id="🔥-头条"><a href="#🔥-头条" class="headerlink" title="🔥 头条"></a>🔥 头条 <a class="header-anchor" href="#🔥-头条" title="永久链接">#</a></h2><h3 id="1-SpaceX-估值飙升至-2-6-万亿美元，短暂超过亚马逊"><a href="#1-SpaceX-估值飙升至-2-6-万亿美元，短暂超过亚马逊" class="headerlink" title="1. SpaceX 估值飙升至 2.6 万亿美元，短暂超过亚马逊"></a>1. SpaceX 估值飙升至 2.6 万亿美元，短暂超过亚马逊 <a class="header-anchor" href="#1-SpaceX-估值飙升至-2-6-万亿美元，短暂超过亚马逊" title="永久链接">#</a></h3><blockquote><p><strong>来源</strong>：TechCrunch · <strong>领域</strong>：商业 📈</p></blockquote><p>SpaceX 的估值自上周五股票开始交易以来增加了 1 万亿美元，在盘中短暂超过亚马逊。这标志着太空科技公司估值的历史性里程碑——一家从未盈利的火箭公司，市值已逼近全球前五。</p><p><strong>分析师解读</strong>：SpaceX 的估值逻辑已脱离传统航天制造业，更像一家”太空基础设施平台”。Starlink 的经常性收入 + 可重复使用火箭的成本优势 + NASA 合同的现金流，构成了投资者眼中的飞轮效应。但 2.6 万亿的估值意味着市场已定价了至少十年的增长预期，任何发射失败或星链增速放缓都可能引发剧烈回调。</p><p>🔗 <a href="https://techcrunch.com/2026/06/16/spacex-valuation-balloons-to-2-6t-briefly-passes-amazon/" target="_blank" rel="noopener noreferrer nofollow">阅读原文</a></p><hr><h3 id="2-OpenAI-向-SEC-提交保密-S-1，IPO-进程正式启动"><a href="#2-OpenAI-向-SEC-提交保密-S-1，IPO-进程正式启动" class="headerlink" title="2. OpenAI 向 SEC 提交保密 S-1，IPO 进程正式启动"></a>2. OpenAI 向 SEC 提交保密 S-1，IPO 进程正式启动 <a class="header-anchor" href="#2-OpenAI-向-SEC-提交保密-S-1，IPO-进程正式启动" title="永久链接">#</a></h3><blockquote><p><strong>来源</strong>：OpenAI Blog · <strong>领域</strong>：AI/商业 💰</p></blockquote><p>OpenAI 确认已向美国证券交易委员会提交了保密版 S-1 注册声明。这是 IPO 进程的第一步，具体上市时间尚未确定。</p><p><strong>分析师解读</strong>：保密提交意味着 OpenAI 可以在公开披露前与 SEC 多轮沟通财务细节。考虑到其年化收入已超百亿美元、估值传闻达万亿级别，这将是继 Meta 之后科技界最大的 IPO 之一。但 OpenAI 的治理结构（非营利董事会控制营利实体）将是 SEC 审查的焦点，也是投资者的最大不确定性。</p><p>🔗 <a href="https://openai.com/index/openai-submits-confidential-s-1" target="_blank" rel="noopener noreferrer nofollow">阅读原文</a></p><hr><h3 id="3-全自主无人机首次杀死人类士兵"><a href="#3-全自主无人机首次杀死人类士兵" class="headerlink" title="3. 全自主无人机首次杀死人类士兵"></a>3. 全自主无人机首次杀死人类士兵 <a class="header-anchor" href="#3-全自主无人机首次杀死人类士兵" title="永久链接">#</a></h3><blockquote><p><strong>来源</strong>：New Scientist · <strong>领域</strong>：军事/AI/伦理 ⚠️</p></blockquote><p>乌克兰国防工业高级官员透露，两年前进行了一次测试：全自主无人机被设定为摧毁指定区域内任何目标，并造成了确认的人员伤亡。这是全自主武器系统首次在实战中导致人类死亡。</p><p><strong>分析师解读</strong>：这条新闻的意义远超技术层面。它标志着”人在回路中”原则在实战中首次被突破——机器自主做出致命决策。国际人道法对此几乎没有先例可循。联合国关于致命自主武器系统（LAWS）的讨论已持续十年，但一直停留在道德声明阶段。这一事件可能成为推动国际立法的催化剂，也可能被其他国家视为先例而加速部署。</p><p>🔗 <a href="https://www.newscientist.com/article/2529849-fully-autonomous-drones-have-killed-human-soldiers-for-the-first-time/" target="_blank" rel="noopener noreferrer nofollow">阅读原文</a></p><hr><h2 id="🤖-AI-前沿"><a href="#🤖-AI-前沿" class="headerlink" title="🤖 AI 前沿"></a>🤖 AI 前沿 <a class="header-anchor" href="#🤖-AI-前沿" title="永久链接">#</a></h2><h3 id="4-NVIDIA-开源-Nemotron-3-Ultra：550B-参数混合-Mamba-Transformer"><a href="#4-NVIDIA-开源-Nemotron-3-Ultra：550B-参数混合-Mamba-Transformer" class="headerlink" title="4. NVIDIA 开源 Nemotron 3 Ultra：550B 参数混合 Mamba-Transformer"></a>4. NVIDIA 开源 Nemotron 3 Ultra：550B 参数混合 Mamba-Transformer <a class="header-anchor" href="#4-NVIDIA-开源-Nemotron-3-Ultra：550B-参数混合-Mamba-Transformer" title="永久链接">#</a></h3><blockquote><p><strong>来源</strong>：arXiv (cs.CL) · <strong>领域</strong>：AI/学术 🔬</p></blockquote><p>NVIDIA 发布 Nemotron 3 Ultra——550B 总参数、55B 活跃参数的 MoE 混合 Mamba-Attention 模型。预训练 20 万亿 token，支持 100 万 token 上下文，推理吞吐量比同级公开 LLM 高约 6 倍。已开源全部检查点和训练数据。</p><p><strong>分析师解读</strong>：Mamba 架构的线性复杂度 + MoE 的稀疏激活 = 推理成本的大幅下降。NVIDIA 的算盘很清楚：卖 GPU 不够，还要做模型生态。开源 550B 模型是针对 Meta Llama 和 Google Gemma 的直接竞争——用”最强开源模型”的标签绑定开发者，反哺 GPU 销售。6 倍吞吐量的说法需要在实际部署中验证，但混合架构方向已被业界广泛认可。</p><p>🔗 <a href="https://arxiv.org/abs/2606.15007" target="_blank" rel="noopener noreferrer nofollow">阅读原文</a></p><hr><h3 id="5-OpenAI-推出部署模拟方法，发布前预测模型行为"><a href="#5-OpenAI-推出部署模拟方法，发布前预测模型行为" class="headerlink" title="5. OpenAI 推出部署模拟方法，发布前预测模型行为"></a>5. OpenAI 推出部署模拟方法，发布前预测模型行为 <a class="header-anchor" href="#5-OpenAI-推出部署模拟方法，发布前预测模型行为" title="永久链接">#</a></h3><blockquote><p><strong>来源</strong>：OpenAI Blog · <strong>领域</strong>：AI/安全 🛡️</p></blockquote><p>OpenAI 引入”部署模拟”方法，使用真实对话数据在模型发布前预测其行为表现，以提高安全性和评估准确性。</p><p><strong>分析师解读</strong>：这本质上是用”数字孪生”思路做 AI 安全——在模型接触真实用户前，先用历史数据模拟它的行为边界。考虑到 OpenAI 正在准备 IPO，任何安全事故都会直接影响估值，这套方法的推出时机并非巧合。如果有效，它可能成为行业标配的”发布前安全检查”。</p><p>🔗 <a href="https://openai.com/index/deployment-simulation" target="_blank" rel="noopener noreferrer nofollow">阅读原文</a></p><hr><h3 id="6-OpenAI-收购-Ona，扩展-Codex-云环境"><a href="#6-OpenAI-收购-Ona，扩展-Codex-云环境" class="headerlink" title="6. OpenAI 收购 Ona，扩展 Codex 云环境"></a>6. OpenAI 收购 Ona，扩展 Codex 云环境 <a class="header-anchor" href="#6-OpenAI-收购-Ona，扩展-Codex-云环境" title="永久链接">#</a></h3><blockquote><p><strong>来源</strong>：OpenAI Blog · <strong>领域</strong>：AI/商业 🏢</p></blockquote><p>OpenAI 计划收购 Ona，为 Codex 提供安全持久的云环境，使长时间运行的 AI Agent 能够跨企业工作流执行。</p><p><strong>分析师解读</strong>：Agent 需要持久化的运行环境——代码要跑、文件要存、状态要保持。Ona 解决的正是这个基础设施问题。这笔收购说明 OpenAI 把 Codex 从”代码助手”升级为”Agent 平台”的战略意图。长期看，AI Agent 的运行环境可能成为新的云服务品类，与 AWS/Azure 形成交叉竞争。</p><p>🔗 <a href="https://openai.com/index/openai-to-acquire-ona" target="_blank" rel="noopener noreferrer nofollow">阅读原文</a></p><hr><h3 id="7-Anthropic-暂停-Claude-Agent-SDK-按-token-计费"><a href="#7-Anthropic-暂停-Claude-Agent-SDK-按-token-计费" class="headerlink" title="7. Anthropic 暂停 Claude Agent SDK 按 token 计费"></a>7. Anthropic 暂停 Claude Agent SDK 按 token 计费 <a class="header-anchor" href="#7-Anthropic-暂停-Claude-Agent-SDK-按-token-计费" title="永久链接">#</a></h3><blockquote><p><strong>来源</strong>：Ars Technica · <strong>领域</strong>：AI/行业 📊</p></blockquote><p>Anthropic 原定 6 月 15 日将 Claude Agent SDK 从订阅制改为按 token 计费，但在生效前一天突然暂停。该变更将大幅增加重度用户成本。</p><p><strong>分析师解读</strong>：这是用户反馈倒逼产品决策的典型案例。按 token 计费在财务上更合理，但对于用 Claude 跑自动化 Agent 的开发者来说，成本可能翻 5-10 倍。暂停说明 Anthropic 在”商业化”和”生态留存”之间选择了后者——在 Agent SDK 市场尚未稳固时，流失开发者比短期收入更重要。但这个决策不会是永久的，他们大概率在重新设计阶梯定价方案。</p><p>🔗 <a href="https://arstechnica.com/ai/2026/06/anthropic-pauses-token-based-billing-for-its-claude-agent-sdk/" target="_blank" rel="noopener noreferrer nofollow">阅读原文</a></p><hr><h3 id="8-rsync-的争论：AI-生成代码引发开源社区激烈辩论"><a href="#8-rsync-的争论：AI-生成代码引发开源社区激烈辩论" class="headerlink" title="8. rsync 的争论：AI 生成代码引发开源社区激烈辩论"></a>8. rsync 的争论：AI 生成代码引发开源社区激烈辩论 <a class="header-anchor" href="#8-rsync-的争论：AI-生成代码引发开源社区激烈辩论" title="永久链接">#</a></h3><blockquote><p><strong>来源</strong>：阮一峰 · <strong>领域</strong>：开源/AI 💬</p></blockquote><p>rsync 最新版本 3.4.3 被发现由 Claude 生成，引发开源社区轩然大波。维护者回应称 AI 发现的漏洞大量涌现，精力不足以手动修补，因此转向”AI 写代码 + 人类写测试”模式。</p><p><strong>分析师解读</strong>：这不只是一场技术争论，而是开源维护模式的拐点。像 rsync 这样几十年历史的核心工具，维护者老龄化是现实——没有年轻的志愿者愿意啃几十年前的 C 代码。AI 生成代码可能是唯一的可持续路径，但”谁来负责任”的问题没有答案。Tridgell 的模式（AI 写代码、人写测试）可能成为模板，但需要配套的审计工具和文化转变。短期内，社区信任裂痕会扩大。</p><p>🔗 <a href="http://www.ruanyifeng.com/blog/2026/06/weekly-issue-400.html" target="_blank" rel="noopener noreferrer nofollow">阅读原文</a></p><hr><h3 id="9-AI-客服漏洞：简单提示词即可破解-Instagram-账户"><a href="#9-AI-客服漏洞：简单提示词即可破解-Instagram-账户" class="headerlink" title="9. AI 客服漏洞：简单提示词即可破解 Instagram 账户"></a>9. AI 客服漏洞：简单提示词即可破解 Instagram 账户 <a class="header-anchor" href="#9-AI-客服漏洞：简单提示词即可破解-Instagram-账户" title="永久链接">#</a></h3><blockquote><p><strong>来源</strong>：Stack Overflow / 阮一峰 · <strong>领域</strong>：AI/安全 🔓</p></blockquote><p>Meta 的 AI 客服存在严重漏洞：攻击者只需发送一段提示词声称邮箱变更，AI 就会修改目标用户的注册邮箱。美国前总统奥巴马的账户就这样被破解。</p><p><strong>分析师解读</strong>：这是一个经典的”混淆代理”（confused deputy）问题，只是代理变成了 LLM。AI 客服被赋予了修改用户资料的权限，但 LLM 无法可靠地区分”真实用户请求”和”社会工程攻击”。教训很直接：<strong>永远不要让 AI 直接操作有安全后果的动作</strong>。AI 应该是”建议者”而非”执行者”，最终修改操作必须经过传统认证流程。这个漏洞会影响所有正在部署 AI 客服的公司。</p><p>🔗 <a href="https://stackoverflow.blog/2026/06/17/ai-agents-expose-the-security-checks-you-never-actually-wrote/" target="_blank" rel="noopener noreferrer nofollow">阅读原文</a></p><hr><h2 id="🔒-安全"><a href="#🔒-安全" class="headerlink" title="🔒 安全"></a>🔒 安全 <a class="header-anchor" href="#🔒-安全" title="永久链接">#</a></h2><h3 id="10-Secure-Boot-证书-6-月-24-日到期，Windows-Linux-用户需紧急更新"><a href="#10-Secure-Boot-证书-6-月-24-日到期，Windows-Linux-用户需紧急更新" class="headerlink" title="10. Secure Boot 证书 6 月 24 日到期，Windows/Linux 用户需紧急更新"></a>10. Secure Boot 证书 6 月 24 日到期，Windows/Linux 用户需紧急更新 <a class="header-anchor" href="#10-Secure-Boot-证书-6-月-24-日到期，Windows-Linux-用户需紧急更新" title="永久链接">#</a></h3><blockquote><p><strong>来源</strong>：Ars Technica · <strong>领域</strong>：安全 ⏰</p></blockquote><p>三个用于验证系统启动固件数字签名的微软证书将于 6 月 24 日过期。未更新的系统可能无法正常启动。</p><p><strong>分析师解读</strong>：这是 IT 运维的”Y2K 式”事件——影响面极广（几乎所有现代 PC），但只要及时更新就没事。问题在于长尾设备：工控机、医疗设备、ATM 机等不常更新的系统。这些设备一旦无法启动，恢复成本极高。企业 IT 部门应在本周内完成全量扫描和更新。</p><p>🔗 <a href="https://arstechnica.com/security/2026/06/windows-and-linux-users-the-deadline-to-update-secure-boot-keys-is-near/" target="_blank" rel="noopener noreferrer nofollow">阅读原文</a></p><hr><h3 id="11-FIFA-世界杯内部系统漏洞可修改全球电视直播信号"><a href="#11-FIFA-世界杯内部系统漏洞可修改全球电视直播信号" class="headerlink" title="11. FIFA 世界杯内部系统漏洞可修改全球电视直播信号"></a>11. FIFA 世界杯内部系统漏洞可修改全球电视直播信号 <a class="header-anchor" href="#11-FIFA-世界杯内部系统漏洞可修改全球电视直播信号" title="永久链接">#</a></h3><blockquote><p><strong>来源</strong>：TechCrunch · <strong>领域</strong>：安全 🏟️</p></blockquote><p>安全研究人员发现 FIFA 在线平台漏洞，可访问多个内部系统，包括一个可能允许她控制每场世界杯比赛电视直播信号的系统。</p><p><strong>分析师解读</strong>：世界杯正在进行的背景下，这个漏洞的严重性不言而喻。如果被恶意利用，攻击者可以插入虚假内容、中断直播、甚至传播虚假信息。这暴露了大型体育赛事的数字化基础设施安全投入严重不足的问题——转播系统的安全审计往往是赛前几天才做，而非贯穿全年。</p><p>🔗 <a href="https://techcrunch.com/2026/06/16/bug-in-fifa-world-cup-internal-system-gave-anyone-ability-to-modify-tv-stream/" target="_blank" rel="noopener noreferrer nofollow">阅读原文</a></p><hr><h2 id="🔬-科学"><a href="#🔬-科学" class="headerlink" title="🔬 科学"></a>🔬 科学 <a class="header-anchor" href="#🔬-科学" title="永久链接">#</a></h2><h3 id="12-Nature：98-量子比特离子阱量子计算机实现全连接"><a href="#12-Nature：98-量子比特离子阱量子计算机实现全连接" class="headerlink" title="12. Nature：98 量子比特离子阱量子计算机实现全连接"></a>12. Nature：98 量子比特离子阱量子计算机实现全连接 <a class="header-anchor" href="#12-Nature：98-量子比特离子阱量子计算机实现全连接" title="永久链接">#</a></h3><blockquote><p><strong>来源</strong>：Nature · <strong>领域</strong>：量子计算 ⚛️</p></blockquote><p>Quantinuum 发布 Helios 量子计算机，基于 QCCD 架构的 98 量子比特离子阱处理器，实现全对全连接，性能超越经典计算能力。</p><p><strong>分析师解读</strong>：全对全连接是离子阱相对于超导量子比特的核心优势——每个量子比特都能直接与任何其他量子比特交互，无需中间转发。98 量子比特的规模虽不及 IBM 的超导芯片（已超 1000），但离子阱的保真度和连接性使它在特定算法上更有优势。Quantinuum 正在走”精度优先”路线，与 IBM 的”规模优先”路线形成差异化竞争。</p><p>🔗 <a href="https://www.nature.com/articles/s41586-026-10676-4" target="_blank" rel="noopener noreferrer nofollow">阅读原文</a></p><hr><h3 id="13-超导突破：纳米级表面设计显著提高超导温度"><a href="#13-超导突破：纳米级表面设计显著提高超导温度" class="headerlink" title="13. 超导突破：纳米级表面设计显著提高超导温度"></a>13. 超导突破：纳米级表面设计显著提高超导温度 <a class="header-anchor" href="#13-超导突破：纳米级表面设计显著提高超导温度" title="永久链接">#</a></h3><blockquote><p><strong>来源</strong>：ScienceDaily · <strong>领域</strong>：物理 🔋</p></blockquote><p>瑞典研究人员发现，通过在超薄超导材料下方进行纳米级表面雕塑，可使其在更高温度和更强磁场下保持超导状态。</p><p><strong>分析师解读</strong>：室温超导仍然是材料科学的圣杯，但这条路走得很慢。这项工作的亮点不在于温度提升幅度（可能只有几开尔文），而在于方法论——通过几何工程而非化学掺杂来调控超导性质。如果这个方法可以推广到更多材料体系，它可能打开一条全新的超导工程路径。</p><p>🔗 <a href="https://www.sciencedaily.com/releases/2026/06/260617032211.htm" target="_blank" rel="noopener noreferrer nofollow">阅读原文</a></p><hr><h3 id="14-人类可能拥有隐藏的再生能力"><a href="#14-人类可能拥有隐藏的再生能力" class="headerlink" title="14. 人类可能拥有隐藏的再生能力"></a>14. 人类可能拥有隐藏的再生能力 <a class="header-anchor" href="#14-人类可能拥有隐藏的再生能力" title="永久链接">#</a></h3><blockquote><p><strong>来源</strong>：ScienceDaily · <strong>领域</strong>：生物 🧬</p></blockquote><p>科学家通过两阶段治疗，将哺乳动物的愈合反应从疤痕形成转向再生。动物实验中成功恢复了截肢后的骨骼、关节、韧带和肌腱。</p><p><strong>分析师解读</strong>：如果人类确实保留了再生能力的”开关”，这将彻底改变创伤医学。但从小鼠到人类之间的转化率极低——大多数在小鼠身上有效的再生疗法在临床试验中失败。这项研究的价值更多在于机制发现：理解为什么哺乳动物”选择”了疤痕愈合而非再生，可能比直接尝试再生更有临床意义。</p><p>🔗 <a href="https://www.sciencedaily.com/releases/2026/06/260617032207.htm" target="_blank" rel="noopener noreferrer nofollow">阅读原文</a></p><hr><h3 id="15-北极海洋到达生态临界点"><a href="#15-北极海洋到达生态临界点" class="headerlink" title="15. 北极海洋到达生态临界点"></a>15. 北极海洋到达生态临界点 <a class="header-anchor" href="#15-北极海洋到达生态临界点" title="永久链接">#</a></h3><blockquote><p><strong>来源</strong>：New Scientist · <strong>领域</strong>：环境 🌊</p></blockquote><p>北极海冰消失使更多阳光进入海洋，促进浮游植物生长，但耗尽了关键营养素，可能严重影响食物链上层动物。</p><p><strong>分析师解读</strong>：这是典型的”级联效应”——海冰减少 → 光照增加 → 浮游植物爆发 → 营养素耗尽 → 食物链断裂。问题在于这种转变可能是不可逆的：一旦北极生态系统重组完成，即使气温回落，也回不到原来的状态。对渔业和原住民社区的影响将是深远的。</p><p>🔗 <a href="https://www.newscientist.com/article/2530469-arctic-ocean-reaches-tipping-point-that-could-be-dire-for-marine-life/" target="_blank" rel="noopener noreferrer nofollow">阅读原文</a></p><hr><h2 id="🌍-国际"><a href="#🌍-国际" class="headerlink" title="🌍 国际"></a>🌍 国际 <a class="header-anchor" href="#🌍-国际" title="永久链接">#</a></h2><h3 id="16-特朗普伊朗协议主导-G7-峰会，重大问题悬而未决"><a href="#16-特朗普伊朗协议主导-G7-峰会，重大问题悬而未决" class="headerlink" title="16. 特朗普伊朗协议主导 G7 峰会，重大问题悬而未决"></a>16. 特朗普伊朗协议主导 G7 峰会，重大问题悬而未决 <a class="header-anchor" href="#16-特朗普伊朗协议主导-G7-峰会，重大问题悬而未决" title="永久链接">#</a></h3><blockquote><p><strong>来源</strong>：NPR News · <strong>领域</strong>：国际新闻 🌐</p></blockquote><p>美国-以色列主导的伊朗战争震动了全球经济。G7 峰会上特朗普宣扬与伊朗的临时协议，但霍尔木兹海峡的航运仍未恢复正常。</p><p><strong>分析师解读</strong>：霍尔木兹海峡承载着全球约 20% 的石油运输。即使达成停火协议，航运保险费率的上升和船东的观望态度意味着全球供应链的恢复有滞后效应。能源价格的不确定性将持续影响通胀预期，可能推迟各国央行的降息计划。</p><p>🔗 <a href="https://www.npr.org/2026/06/17/nx-s1-5860782/trumps-iran-agreement-dominates-g7-but-big-questions-remain" target="_blank" rel="noopener noreferrer nofollow">阅读原文</a></p><hr><h3 id="17-五角大楼用-AI-写国会报告，150-万人员使用生成式-AI"><a href="#17-五角大楼用-AI-写国会报告，150-万人员使用生成式-AI" class="headerlink" title="17. 五角大楼用 AI 写国会报告，150 万人员使用生成式 AI"></a>17. 五角大楼用 AI 写国会报告，150 万人员使用生成式 AI <a class="header-anchor" href="#17-五角大楼用-AI-写国会报告，150-万人员使用生成式-AI" title="永久链接">#</a></h3><blockquote><p><strong>来源</strong>：Ars Technica · <strong>领域</strong>：AI/政策 🏛️</p></blockquote><p>美国国防部首席技术官表示，五角大楼正使用 Google Gemini for Government 工具生成国会要求的年度报告。原本需要 200 小时人工撰写的报告，现在 5 小时即可完成。</p><p><strong>分析师解读</strong>：用 AI 写政府报告，表面是效率提升，深层是”谁对内容负责”的问题。如果报告中的分析出错（AI 幻觉），导致国会做出错误决策，责任链条如何追溯？更值得关注的是”150 万人员使用”这个数字——意味着美军已在全军范围内部署生成式 AI，这不是试点，而是规模化应用。军用 AI 的治理框架远未跟上部署速度。</p><p>🔗 <a href="https://arstechnica.com/ai/2026/06/pentagon-boasts-of-using-ai-to-write-reports-mandated-by-congress/" target="_blank" rel="noopener noreferrer nofollow">阅读原文</a></p><hr><h2 id="📱-科技产品"><a href="#📱-科技产品" class="headerlink" title="📱 科技产品"></a>📱 科技产品 <a class="header-anchor" href="#📱-科技产品" title="永久链接">#</a></h2><h3 id="18-Android-17-推送到-Pixel-手机和手表"><a href="#18-Android-17-推送到-Pixel-手机和手表" class="headerlink" title="18. Android 17 推送到 Pixel 手机和手表"></a>18. Android 17 推送到 Pixel 手机和手表 <a class="header-anchor" href="#18-Android-17-推送到-Pixel-手机和手表" title="永久链接">#</a></h3><blockquote><p><strong>来源</strong>：Ars Technica · <strong>领域</strong>：科技 📱</p></blockquote><p>Google 发布 Android 17 和 Wear OS 7，引入新多任务处理功能、家长控制、安全工具和智能手表升级，同时将最新 AI 模型带到设备端。</p><p><strong>分析师解读</strong>：Android 17 的关键词是”AI 下沉”——将云端 AI 模型压缩后部署到手机端，实现离线推理。这对隐私保护有利（数据不出设备），但也对芯片 NPU 提出了更高要求。Google 选择 Pixel 优先推送的策略，继续用软件差异化来卖硬件。</p><p>🔗 <a href="https://arstechnica.com/gadgets/2026/06/android-17-starts-hitting-pixel-phones-and-watches-today/" target="_blank" rel="noopener noreferrer nofollow">阅读原文</a></p><hr><h3 id="19-Google-Gemini-智能音箱-6-月-25-日上市，售价-100"><a href="#19-Google-Gemini-智能音箱-6-月-25-日上市，售价-100" class="headerlink" title="19. Google Gemini 智能音箱 6 月 25 日上市，售价 $100"></a>19. Google Gemini 智能音箱 6 月 25 日上市，售价 $100 <a class="header-anchor" href="#19-Google-Gemini-智能音箱-6-月-25-日上市，售价-100" title="永久链接">#</a></h3><blockquote><p><strong>来源</strong>：Ars Technica · <strong>领域</strong>：科技产品 🔊</p></blockquote><p>Google 发布新一代智能音箱，搭载 Gemini，支持更自然的对话交互。售价 $99.99，这是 Google 近六年来首款新智能音箱。</p><p><strong>分析师解读</strong>：智能音箱市场在 Alexa 疲软后需要一个重新激活的契机。Google 选择 Gemini 驱动而非传统 Assistant，意味着智能音箱从”指令执行器”转向”对话伙伴”。$100 的定价是消费电子的甜点价位，但成功与否取决于 Gemini 在嘈杂家庭环境中的实际表现。</p><p>🔗 <a href="https://arstechnica.com/google/2026/06/the-gemini-powered-google-home-speaker-arrives-on-june-25-for-100/" target="_blank" rel="noopener noreferrer nofollow">阅读原文</a></p><hr><h3 id="20-Snap-发布-AR-眼镜-Specs，研发超十年终于面世"><a href="#20-Snap-发布-AR-眼镜-Specs，研发超十年终于面世" class="headerlink" title="20. Snap 发布 AR 眼镜 Specs，研发超十年终于面世"></a>20. Snap 发布 AR 眼镜 Specs，研发超十年终于面世 <a class="header-anchor" href="#20-Snap-发布-AR-眼镜-Specs，研发超十年终于面世" title="永久链接">#</a></h3><blockquote><p><strong>来源</strong>：TechCrunch · <strong>领域</strong>：科技产品 👓</p></blockquote><p>Snap 发布了研发超过十年的 AR 眼镜 Specs。这是第六代智能眼镜，首次面向开发者销售，价格不菲。</p><p><strong>分析师解读</strong>：Snap 的坚持值得尊敬——在 Google Glass 失败、Magic Leap 沉寂的背景下，持续迭代了六代产品。但 AR 眼镜的核心瓶颈不是硬件而是”杀手级应用”：没有让人非戴不可的理由。开发者版的面世意味着 Snap 正在构建生态，但距离消费者普及至少还有 3-5 年。</p><p>🔗 <a href="https://techcrunch.com/2026/06/16/snap-finally-debuts-its-long-awaited-ar-glasses-specs-and-oof-they-arent-cheap/" target="_blank" rel="noopener noreferrer nofollow">阅读原文</a></p><hr><h2 id="📊-本期统计"><a href="#📊-本期统计" class="headerlink" title="📊 本期统计"></a>📊 本期统计 <a class="header-anchor" href="#📊-本期统计" title="永久链接">#</a></h2><table><thead><tr><th>领域</th><th>条目数</th><th>占比</th></tr></thead><tbody><tr><td>🤖 AI</td><td>6</td><td>30%</td></tr><tr><td>🔬 科学</td><td>4</td><td>20%</td></tr><tr><td>🔒 安全</td><td>2</td><td>10%</td></tr><tr><td>📈 商业</td><td>2</td><td>10%</td></tr><tr><td>🌍 国际/政策</td><td>2</td><td>10%</td></tr><tr><td>📱 科技产品</td><td>3</td><td>15%</td></tr><tr><td>💬 开源</td><td>1</td><td>5%</td></tr></tbody></table><blockquote><p><strong>可信度分布</strong>：⭐⭐⭐ 源头直供 12 条 · ⭐⭐ 高质量媒体 8 条</p><p>本日报基于 <a href="/2026/06/17/rss-source-collection/">RSS 源大全</a> 中验证通过的 RSS 源生成。筛选标准：重要程度 &gt; 领域多样性 &gt; 时效性。</p></blockquote></body></html>]]>
    </content>
    <id>https://bsheepcoder.github.io/2026/06/18/rss-daily-2026-06-18/</id>
    <link href="https://bsheepcoder.github.io/2026/06/18/rss-daily-2026-06-18/"/>
    <published>2026-06-18T00:00:00.000Z</published>
    <summary>2026年6月18日 RSS 日报，从 16 个可信源中精选 20 条重要资讯，涵盖 AI、科学、安全、商业、国际新闻等领域，附分析师解读。</summary>
    <title>RSS 日报 · 2026-06-18</title>
    <updated>2026-06-17T16:59:23.045Z</updated>
  </entry>
  <entry>
    <author>
      <name>Bsheepcoder</name>
    </author>
    <category term="技术" scheme="https://bsheepcoder.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
    <category term="Skill" scheme="https://bsheepcoder.github.io/categories/%E6%8A%80%E6%9C%AF/skill/"/>
    <category term="RSS" scheme="https://bsheepcoder.github.io/tags/RSS/"/>
    <category term="信息获取" scheme="https://bsheepcoder.github.io/tags/%E4%BF%A1%E6%81%AF%E8%8E%B7%E5%8F%96/"/>
    <category term="Skill" scheme="https://bsheepcoder.github.io/tags/Skill/"/>
    <content>
      <![CDATA[<div class="post-stat" style="margin:1em 0;color:#888;font-size:.9em">    <i class="fas fa-pencil-alt"></i> 约 1.3k 字    &nbsp;&nbsp;<i class="fas fa-clock"></i> 5 分钟阅读  </div><html><head></head><body><h1 id="RSS-鏃ユ姤鐢熸垚宸ヤ綔娴"><a href="#RSS-鏃ユ姤鐢熸垚宸ヤ綔娴" class="headerlink" title="RSS 鏃ユ姤鐢熸垚宸ヤ綔娴?"></a>RSS 鏃ユ姤鐢熸垚宸ヤ綔娴?</h1><h2 id="閫傜敤鍦烘櫙"><a href="#閫傜敤鍦烘櫙" class="headerlink" title="閫傜敤鍦烘櫙"></a>閫傜敤鍦烘櫙 <a class="header-anchor" href="#閫傜敤鍦烘櫙" title="永久链接">#</a></h2><ul><li>鐢ㄦ埛瑕佹眰鐢熸垚 RSS 鏃ユ姤銆佹瘡鏃ヨ祫璁€佷粖鏃ユ柊闂?- 鐢ㄦ埛瑕佹眰浠?RSS 婧愭姄鍙栧苟绛涢€夐噸瑕佹柊闂?- 鐢ㄦ埛瑕佹眰鐢熸垚淇℃伅绠€鎶?</li></ul><h2 id="RSS-婧愭竻鍗"><a href="#RSS-婧愭竻鍗" class="headerlink" title="RSS 婧愭竻鍗?"></a>RSS 婧愭竻鍗? <a class="header-anchor" href="#RSS-婧愭竻鍗" title="永久链接">#</a></h2><p>瀹屾暣婧愭竻鍗曞弬瑙佹枃绔狅細[RSS 婧愬ぇ鍏╙(<a href="https://bsheepcoder.github.io/2026/06/17/rss-source-collection/">https://bsheepcoder.github.io/2026/06/17/rss-source-collection/</a>)</p><h3 id="瀹為檯浣跨敤鐨勬簮锛堝凡楠岃瘉鍙闂級"><a href="#瀹為檯浣跨敤鐨勬簮锛堝凡楠岃瘉鍙闂級" class="headerlink" title="瀹為檯浣跨敤鐨勬簮锛堝凡楠岃瘉鍙闂級"></a>瀹為檯浣跨敤鐨勬簮锛堝凡楠岃瘉鍙闂級 <a class="header-anchor" href="#瀹為檯浣跨敤鐨勬簮锛堝凡楠岃瘉鍙闂級" title="永久链接">#</a></h3><table><thead><tr><th>棰嗗煙</th><th>婧愬悕绉?</th><th>RSS 鍦板潃</th></tr></thead><tbody><tr><td>AI 瀹樻柟</td><td>OpenAI Blog</td><td><code>https://openai.com/blog/rss.xml</code></td></tr><tr><td>AI 瀹樻柟</td><td>Google DeepMind</td><td><code>https://deepmind.google/blog/rss.xml</code></td></tr><tr><td>AI 瀹樻柟</td><td>Google AI Blog</td><td><code>https://blog.google/technology/ai/rss/</code></td></tr><tr><td>瀛︽湳</td><td>arXiv AI</td><td><code>https://rss.arxiv.org/rss/cs.AI</code></td></tr><tr><td>瀛︽湳</td><td>arXiv ML</td><td><code>https://rss.arxiv.org/rss/cs.LG</code></td></tr><tr><td>瀛︽湳</td><td>arXiv NLP</td><td><code>https://rss.arxiv.org/rss/cs.CL</code></td></tr><tr><td>瀛︽湳</td><td>arXiv CV</td><td><code>https://rss.arxiv.org/rss/cs.CV</code></td></tr><tr><td>椤跺垔</td><td>Nature</td><td><code>https://www.nature.com/nature/articles.rss</code></td></tr><tr><td>绉戞櫘</td><td>ScienceDaily</td><td><code>https://www.sciencedaily.com/rss/all.xml</code></td></tr><tr><td>绉戞櫘</td><td>New Scientist</td><td><code>https://www.newscientist.com/section/news/feed/</code></td></tr><tr><td>鎶€鏈?</td><td>Hacker News</td><td><code>https://hnrss.org/frontpage</code></td></tr><tr><td>鎶€鏈?</td><td>Hacker News AI</td><td><code>https://hnrss.org/newest?q=AI</code></td></tr><tr><td>鎶€鏈?</td><td>GitHub Blog</td><td><code>https://github.blog/feed/</code></td></tr><tr><td>鎶€鏈?</td><td>Ars Technica</td><td><code>https://feeds.arstechnica.com/arstechnica/index</code></td></tr><tr><td>绉戞妧鍟嗕笟</td><td>TechCrunch</td><td><code>https://techcrunch.com/feed/</code></td></tr><tr><td>寮€鍙戣€?</td><td>Stack Overflow Blog</td><td><code>https://stackoverflow.blog/feed/</code></td></tr><tr><td>寮€鍙戣€?</td><td>Dev.to</td><td><code>https://dev.to/feed/</code></td></tr><tr><td>缂栫▼璇█</td><td>Rust Blog</td><td><code>https://blog.rust-lang.org/feed.xml</code></td></tr><tr><td>缂栫▼璇█</td><td>Go Blog</td><td><code>https://go.dev/blog/feed.atom</code></td></tr><tr><td>缂栫▼璇█</td><td>Python Blog</td><td><code>https://blog.python.org/feeds/posts/default</code></td></tr><tr><td>缂栫▼璇█</td><td>TypeScript Blog</td><td><code>https://devblogs.microsoft.com/typescript/feed/</code></td></tr><tr><td>缂栫▼璇█</td><td>Kotlin Blog</td><td><code>https://blog.jetbrains.com/kotlin/feed/</code></td></tr><tr><td>涓枃鍗氬</td><td>闃竴宄?</td><td><code>https://www.ruanyifeng.com/blog/atom.xml</code></td></tr><tr><td>涓枃鍗氬</td><td>OneV’s Den</td><td><code>https://onevcat.com/atom.xml</code></td></tr><tr><td>鏂伴椈</td><td>NPR News</td><td><code>https://feeds.npr.org/1001/rss.xml</code></td></tr><tr><td>鏂伴椈</td><td>NHK World</td><td><code>https://www3.nhk.or.jp/rss/news/cat0.xml</code></td></tr><tr><td>瀹夊叏</td><td>BleepingComputer</td><td><code>https://www.bleepingcomputer.com/feed/</code></td></tr></tbody></table><h2 id="鎶撳彇绛栫暐"><a href="#鎶撳彇绛栫暐" class="headerlink" title="鎶撳彇绛栫暐"></a>鎶撳彇绛栫暐 <a class="header-anchor" href="#鎶撳彇绛栫暐" title="永久链接">#</a></h2><h3 id="鎵归噺鎶撳彇"><a href="#鎵归噺鎶撳彇" class="headerlink" title="鎵归噺鎶撳彇"></a>鎵归噺鎶撳彇 <a class="header-anchor" href="#鎵归噺鎶撳彇" title="永久链接">#</a></h3><ol><li>灏嗘墍鏈夋簮鍒嗕负 5-6 鎵癸紝姣忔壒 5-6 涓簮</li><li>浣跨敤 webfetch 宸ュ叿骞惰鎶撳彇姣忔壒</li><li>瓒呮椂璁剧疆 15 绉?4. 澶辫触鐨勬簮璺宠繃锛屼笉闃诲鍏朵粬婧?</li></ol><h3 id="鎶撳彇娴佺▼"><a href="#鎶撳彇娴佺▼" class="headerlink" title="鎶撳彇娴佺▼"></a>鎶撳彇娴佺▼ <a class="header-anchor" href="#鎶撳彇娴佺▼" title="永久链接">#</a></h3><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br></pre></td><td class="code"><pre><span class="line">绗?鎵癸細瀛︽湳婧愶紙arXiv x4 + Nature + ScienceDaily锛?绗?鎵癸細AI 瀹樻柟 + 绉戞櫘锛圤penAI + DeepMind + Google AI + New Scientist锛?绗?鎵癸細鎶€鏈獟浣擄紙HN + GitHub + Ars Technica + TechCrunch + Stack Overflow锛?绗?鎵癸細缂栫▼璇█锛圧ust + Go + Python + TypeScript + Kotlin锛?绗?鎵癸細涓枃 + 鏂伴椈 + 瀹夊叏锛堥槷涓€宄?+ OneV's Den + NPR + NHK + BleepingComputer锛?```</span><br><span class="line"></span><br><span class="line">## 绛涢€夋爣鍑?</span><br><span class="line">### 绛涢€夌淮搴︼紙鎸夋潈閲嶆帓搴忥級</span><br><span class="line"></span><br><span class="line">1. **閲嶈绋嬪害**锛?0%锛夛細鏄惁涓虹獊鐮存€ц繘灞曘€侀噸澶т簨浠躲€佸奖鍝嶅箍娉?2. **棰嗗煙澶氭牱鎬?*锛?0%锛夛細纭繚瑕嗙洊 AI銆佺瀛︺€佸畨鍏ㄣ€佸晢涓氥€佹柊闂荤瓑澶氫釜棰嗗煙</span><br><span class="line">3. **鏃舵晥鎬?*锛?0%锛夛細浼樺厛閫夋嫨 24-48 灏忔椂鍐呯殑鏂伴椈</span><br><span class="line"></span><br><span class="line">### 绛涢€夋暟閲?</span><br><span class="line">- 鍥哄畾閫?**20 鏉?*</span><br><span class="line">- 姣忔潯鍖呭惈锛氭爣棰樸€佹潵婧愩€佸垎绫汇€佹憳瑕侊紙2-3 鍙ワ級銆佸師鏂囬摼鎺?</span><br><span class="line">### 鎺掑簭瑙勫垯</span><br><span class="line"></span><br><span class="line">鎸夐噸瑕佺▼搴︿粠楂樺埌浣庢帓鍒楋紝涓嶆寜鏃堕棿鎺掑簭銆?</span><br><span class="line">## 鏂囩珷鏍煎紡</span><br><span class="line"></span><br><span class="line">### 鏂囦欢鍛藉悕</span><br><span class="line"></span><br></pre></td></tr></tbody></table></figure><p>rss-daily-YYYY-MM-DD.md</p><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br></pre></td><td class="code"><pre><span class="line"></span><br><span class="line">### Front-Matter</span><br><span class="line"></span><br><span class="line">```yaml</span><br><span class="line">---</span><br><span class="line">title: "RSS 鏃ユ姤 路 YYYY-MM-DD"</span><br><span class="line">date: YYYY-MM-DD 08:00:00</span><br><span class="line">categories:</span><br><span class="line">  - [鎶€鏈? 淇℃伅鑾峰彇]</span><br><span class="line">tags:</span><br><span class="line">  - RSS</span><br><span class="line">  - 鏃ユ姤</span><br><span class="line">  - 淇℃伅鑾峰彇</span><br><span class="line">description: "YYYY骞碝鏈圖鏃?RSS 鏃ユ姤锛屼粠 N 涓彲淇℃簮涓簿閫?20 鏉￠噸瑕佽祫璁紝娑电洊 AI銆佺瀛︺€佸畨鍏ㄣ€佸晢涓氥€佸浗闄呮柊闂荤瓑棰嗗煙锛屾寜閲嶈绋嬪害鎺掑垪銆?</span><br><span class="line">---</span><br></pre></td></tr></tbody></table></figure><h3 id="姝f枃缁撴瀯"><a href="#姝f枃缁撴瀯" class="headerlink" title="姝ｆ枃缁撴瀯"></a>姝ｆ枃缁撴瀯 <a class="header-anchor" href="#姝f枃缁撴瀯" title="永久链接">#</a></h3><figure class="highlight markdown"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br></pre></td><td class="code"><pre><span class="line"><span class="quote">&gt; 鏈棩鎶ュ熀浜?RSS 婧愬ぇ鍏ㄤ腑楠岃瘉閫氳繃鐨?RSS 婧愯嚜鍔ㄦ姄鍙栫敓鎴愩€?&gt; 鏁版嵁婧愶細鍒楀嚭瀹為檯鎶撳彇鐨勬簮鍚嶇О</span></span><br><span class="line"><span class="section">&gt; 鍏辨姄鍙?N 涓簮锛岀瓫閫?20 鏉★紝鎸夐噸瑕佺▼搴︽帓鍒椼€?</span></span><br><span class="line"><span class="section">---</span></span><br><span class="line"></span><br><span class="line"><span class="section">## 1. [鏍囬]</span></span><br><span class="line"></span><br><span class="line"><span class="strong">**鏉ユ簮**</span>: xxx | <span class="strong">**鍒嗙被**</span>: xxx</span><br><span class="line"></span><br><span class="line">鎽樿鍐呭锛?-3 鍙ヨ瘽姒傛嫭鏍稿績淇℃伅锛夈€?</span><br><span class="line">[<span class="string">闃呰鍘熸枃</span>](<span class="link">url</span>)</span><br><span class="line"></span><br><span class="line">---</span><br><span class="line"></span><br><span class="line"><span class="section">## 2. [鏍囬]</span></span><br><span class="line">...</span><br><span class="line"></span><br><span class="line">---</span><br><span class="line"></span><br><span class="line"><span class="section">## 鍏充簬鏈棩鎶?</span></span><br><span class="line">锛堥檮缁熻琛ㄦ牸锛氶鍩熷垎甯冦€佹潵婧愬垎甯冿級</span><br></pre></td></tr></tbody></table></figure><h2 id="閮ㄧ讲"><a href="#閮ㄧ讲" class="headerlink" title="閮ㄧ讲"></a>閮ㄧ讲 <a class="header-anchor" href="#閮ㄧ讲" title="永久链接">#</a></h2><p>鐢熸垚鏂囩珷鍚庢墽琛屾爣鍑嗛儴缃叉祦绋嬶細</p><figure class="highlight powershell"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">npx hexo clean; <span class="keyword">if</span> (<span class="variable">$</span>?) { npx hexo g }; <span class="keyword">if</span> (<span class="variable">$</span>?) { ... deploy }</span><br></pre></td></tr></tbody></table></figure><h2 id="娉ㄦ剰浜嬮」"><a href="#娉ㄦ剰浜嬮」" class="headerlink" title="娉ㄦ剰浜嬮」"></a>娉ㄦ剰浜嬮」 <a class="header-anchor" href="#娉ㄦ剰浜嬮」" title="永久链接">#</a></h2><ul><li>鎶撳彇閲忓緢澶э紙arXiv 鍗曟簮鍙繑鍥?500KB+锛夛紝webfetch 浼氳鎴柇锛岄渶鍏虫敞鎴柇鍐呭</li><li>閮ㄥ垎婧愬彲鑳戒复鏃朵笉鍙闂紙缃戠粶/浠ｇ悊锛夛紝璺宠繃鍗冲彲</li><li>鏃ユ姤鏃ユ湡涓虹敓鎴愭棩鏈熺殑绗簩澶╋紙濡?6 鏈?17 鏃ユ櫄涓婃姄鍙栵紝鐢熸垚 6 鏈?18 鏃ユ棩鎶ワ級</li><li>涓嶈鍖呭惈閲嶅鏂伴椈锛堝涓簮鎶ラ亾鍚屼竴浜嬩欢鏃跺彧淇濈暀涓€鏉★紝閫夋嫨鍙俊搴︽渶楂樼殑婧愶級</li><li>鍔犲瘑鏂囩珷涓嶅弬涓庢棩鎶?</li></ul></body></html>]]>
    </content>
    <id>https://bsheepcoder.github.io/2026/06/18/skill-rss-daily/</id>
    <link href="https://bsheepcoder.github.io/2026/06/18/skill-rss-daily/"/>
    <published>2026-06-17T17:00:00.000Z</published>
    <summary>介绍如何从 RSS 源大全中抓取全部可信源、按重要程度筛选 20 条新闻、生成每日 RSS 日报文章并部署到博客的完整工作流。</summary>
    <title>RSS 日报生成工作流</title>
    <updated>2026-06-17T16:59:51.873Z</updated>
  </entry>
  <entry>
    <author>
      <name>Bsheepcoder</name>
    </author>
    <category term="技术" scheme="https://bsheepcoder.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
    <category term="建站" scheme="https://bsheepcoder.github.io/categories/%E6%8A%80%E6%9C%AF/%E5%BB%BA%E7%AB%99/"/>
    <category term="Hexo" scheme="https://bsheepcoder.github.io/tags/hexo/"/>
    <category term="AI" scheme="https://bsheepcoder.github.io/tags/ai/"/>
    <category term="API" scheme="https://bsheepcoder.github.io/tags/API/"/>
    <category term="llms.txt" scheme="https://bsheepcoder.github.io/tags/llms-txt/"/>
    <content>
      <![CDATA[<div class="post-stat" style="margin:1em 0;color:#888;font-size:.9em">    <i class="fas fa-pencil-alt"></i> 约 2k 字    &nbsp;&nbsp;<i class="fas fa-clock"></i> 9 分钟阅读  </div><html><head></head><body><h2 id="问题：AI-读到的不是文章，是噪音"><a href="#问题：AI-读到的不是文章，是噪音" class="headerlink" title="问题：AI 读到的不是文章，是噪音"></a>问题：AI 读到的不是文章，是噪音 <a class="header-anchor" href="#问题：AI-读到的不是文章，是噪音" title="永久链接">#</a></h2><p>Hexo 生成的 HTML 页面中，正文内容只占约 30%，其余全是导航栏、侧边栏、页脚、JavaScript 脚本、CSS 样式等 UI 元素。当 AI Agent 尝试读取文章时，必须从一堆 HTML 标签中提取正文，效率低且容易丢失格式。</p><h3 id="现有数据源的问题"><a href="#现有数据源的问题" class="headerlink" title="现有数据源的问题"></a>现有数据源的问题 <a class="header-anchor" href="#现有数据源的问题" title="永久链接">#</a></h3><table><thead><tr><th>数据源</th><th>问题</th></tr></thead><tbody><tr><td>HTML 页面</td><td>80% 是 UI 噪音，AI 要从 HTML 中捞正文</td></tr><tr><td>search.json</td><td>所有文章挤一个文件；内容被截断；混入 UI 噪音；表格/代码格式丢失</td></tr><tr><td>atom.xml</td><td>XML 开销；仅限 20 篇；仍含 HTML 标签</td></tr><tr><td>ai-index.json</td><td>只有元数据，没有正文</td></tr></tbody></table><p>核心矛盾：<strong>人类需要丰富的 UI，AI 需要干净的纯内容。两者不能在同一个 HTML 里兼得。</strong></p><h2 id="解决方案：平行数据通道"><a href="#解决方案：平行数据通道" class="headerlink" title="解决方案：平行数据通道"></a>解决方案：平行数据通道 <a class="header-anchor" href="#解决方案：平行数据通道" title="永久链接">#</a></h2><p>为 AI 提供一条独立的数据通道——人类看 HTML，AI 读 JSON/MD。两条通道并行，互不干扰。</p><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line">hexo generate</span><br><span class="line">  ├── 生成 HTML 页面（人类阅读）     ← Butterfly 主题渲染</span><br><span class="line">  └── 生成 AI 数据文件（机器阅读）   ← scripts/ai-api.js</span><br><span class="line">      ├── /llms.txt                  ← AI 入口</span><br><span class="line">      ├── /llms-full.txt             ← 全文合并</span><br><span class="line">      ├── /api/index.json            ← 文章列表</span><br><span class="line">      └── /api/posts/&lt;slug&gt;.json     ← 单篇 JSON</span><br><span class="line">      └── /api/posts/&lt;slug&gt;.md       ← 单篇纯 Markdown</span><br></pre></td></tr></tbody></table></figure><h2 id="实现原理"><a href="#实现原理" class="headerlink" title="实现原理"></a>实现原理 <a class="header-anchor" href="#实现原理" title="永久链接">#</a></h2><h3 id="1-Hexo-Generator-注册"><a href="#1-Hexo-Generator-注册" class="headerlink" title="1. Hexo Generator 注册"></a>1. Hexo Generator 注册 <a class="header-anchor" href="#1-Hexo-Generator-注册" title="永久链接">#</a></h3><p>在 <code>scripts/</code> 目录下创建 <code>ai-api.js</code>，注册 Hexo 的 generator 钩子：</p><figure class="highlight javascript"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">'use strict'</span></span><br><span class="line"></span><br><span class="line">hexo.<span class="property">extend</span>.<span class="property">generator</span>.<span class="title function_">register</span>(<span class="string">'ai-api'</span>, <span class="keyword">function</span> (<span class="params">locals</span>) {</span><br><span class="line">  <span class="keyword">const</span> posts = locals.<span class="property">posts</span></span><br><span class="line">  <span class="comment">// ... 遍历文章，生成 JSON/MD/TXT 文件</span></span><br><span class="line">})</span><br></pre></td></tr></tbody></table></figure><p>这个钩子在 <code>hexo generate</code> 时自动执行，无需额外命令。</p><h3 id="2-原始-Markdown-提取"><a href="#2-原始-Markdown-提取" class="headerlink" title="2. 原始 Markdown 提取"></a>2. 原始 Markdown 提取 <a class="header-anchor" href="#2-原始-Markdown-提取" title="永久链接">#</a></h3><figure class="highlight javascript"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">let</span> rawMd = <span class="string">''</span></span><br><span class="line"><span class="keyword">if</span> (post.<span class="property">raw</span>) {</span><br><span class="line">  rawMd = post.<span class="property">raw</span>.<span class="title function_">replace</span>(<span class="regexp">/^---[\s\S]*?---\s*/</span>, <span class="string">''</span>)</span><br><span class="line">}</span><br></pre></td></tr></tbody></table></figure><p>用正则去掉 front-matter，保留纯正文。代码围栏、表格、列表等 Markdown 格式完好无损。</p><h3 id="3-加密文章保护"><a href="#3-加密文章保护" class="headerlink" title="3. 加密文章保护"></a>3. 加密文章保护 <a class="header-anchor" href="#3-加密文章保护" title="永久链接">#</a></h3><figure class="highlight javascript"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br></pre></td><td class="code"><pre><span class="line"><span class="keyword">const</span> isEncrypted = !!post.<span class="property">password</span></span><br><span class="line"><span class="keyword">const</span> content = isEncrypted ? <span class="string">''</span> : rawMd</span><br></pre></td></tr></tbody></table></figure><p>有 <code>password</code> 字段的文章（hexo-blog-encrypt），<code>content</code> 为空，<code>encrypted: true</code>。AI 知道文章存在但无法获取正文。</p><h2 id="生成的文件"><a href="#生成的文件" class="headerlink" title="生成的文件"></a>生成的文件 <a class="header-anchor" href="#生成的文件" title="永久链接">#</a></h2><h3 id="llms-txt-—-AI-入口"><a href="#llms-txt-—-AI-入口" class="headerlink" title="/llms.txt — AI 入口"></a>/llms.txt — AI 入口 <a class="header-anchor" href="#llms-txt-—-AI-入口" title="永久链接">#</a></h3><p>类似 <code>robots.txt</code> 但面向 AI/LLM。放在站点根目录，包含站点概览和文章索引：</p><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"># Q's blog</span><br><span class="line"></span><br><span class="line">&gt; Bsheepcoder 的技术博客，记录 AI、编程、计算机科学的学习笔记</span><br><span class="line"></span><br><span class="line">## Articles</span><br><span class="line"></span><br><span class="line">- [RSS 源大全](/api/posts/rss-source-collection.md): 经过实际验证的 RSS 源大全</span><br><span class="line">- [GitHub Pages 完全指南](/api/posts/hexo-github-pages-guide.md): GitHub Pages 原理与限制</span><br><span class="line">- [用 Hexo 搭建认知管理系统](/api/posts/hexo-cognitive-management.md): AI 索引友好的认知管理系统</span><br></pre></td></tr></tbody></table></figure><h3 id="api-index-json-—-结构化文章列表"><a href="#api-index-json-—-结构化文章列表" class="headerlink" title="/api/index.json — 结构化文章列表"></a>/api/index.json — 结构化文章列表 <a class="header-anchor" href="#api-index-json-—-结构化文章列表" title="永久链接">#</a></h3><figure class="highlight json"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br></pre></td><td class="code"><pre><span class="line"><span class="punctuation">{</span></span><br><span class="line">  <span class="attr">"site"</span><span class="punctuation">:</span> <span class="string">"Q's blog"</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"Bsheepcoder 的技术博客"</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">"url"</span><span class="punctuation">:</span> <span class="string">"https://bsheepcoder.github.io"</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">"post_count"</span><span class="punctuation">:</span> <span class="number">5</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">"posts"</span><span class="punctuation">:</span> <span class="punctuation">[</span></span><br><span class="line">    <span class="punctuation">{</span></span><br><span class="line">      <span class="attr">"title"</span><span class="punctuation">:</span> <span class="string">"RSS 源大全：可信信息获取的数据源清单"</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">"slug"</span><span class="punctuation">:</span> <span class="string">"rss-source-collection"</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">"date"</span><span class="punctuation">:</span> <span class="string">"2026-06-17"</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">"categories"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="string">"技术"</span><span class="punctuation">,</span> <span class="string">"建站"</span><span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">"tags"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="string">"RSS"</span><span class="punctuation">,</span> <span class="string">"信息获取"</span><span class="punctuation">,</span> <span class="string">"数据源"</span><span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"经过实际验证的 RSS 源大全..."</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">"url"</span><span class="punctuation">:</span> <span class="string">"https://bsheepcoder.github.io/2026/06/17/rss-source-collection/"</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">"api_json_url"</span><span class="punctuation">:</span> <span class="string">"https://bsheepcoder.github.io/api/posts/rss-source-collection.json"</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">"api_md_url"</span><span class="punctuation">:</span> <span class="string">"https://bsheepcoder.github.io/api/posts/rss-source-collection.md"</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">"encrypted"</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">false</span></span></span><br><span class="line">    <span class="punctuation">}</span></span><br><span class="line">  <span class="punctuation">]</span></span><br><span class="line"><span class="punctuation">}</span></span><br></pre></td></tr></tbody></table></figure><h3 id="api-posts-json-—-单篇结构化数据"><a href="#api-posts-json-—-单篇结构化数据" class="headerlink" title="/api/posts/.json — 单篇结构化数据"></a>/api/posts/<slug>.json — 单篇结构化数据</slug> <a class="header-anchor" href="#api-posts-json-—-单篇结构化数据" title="永久链接">#</a></h3><figure class="highlight json"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br></pre></td><td class="code"><pre><span class="line"><span class="punctuation">{</span></span><br><span class="line">  <span class="attr">"title"</span><span class="punctuation">:</span> <span class="string">"RSS 源大全：可信信息获取的数据源清单"</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">"slug"</span><span class="punctuation">:</span> <span class="string">"rss-source-collection"</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">"date"</span><span class="punctuation">:</span> <span class="string">"2026-06-17"</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">"categories"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="string">"技术"</span><span class="punctuation">,</span> <span class="string">"建站"</span><span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">"tags"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="string">"RSS"</span><span class="punctuation">,</span> <span class="string">"信息获取"</span><span class="punctuation">,</span> <span class="string">"数据源"</span><span class="punctuation">]</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">"description"</span><span class="punctuation">:</span> <span class="string">"经过实际验证的 RSS 源大全..."</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">"url"</span><span class="punctuation">:</span> <span class="string">"https://bsheepcoder.github.io/2026/06/17/rss-source-collection/"</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">"api_json_url"</span><span class="punctuation">:</span> <span class="string">"https://bsheepcoder.github.io/api/posts/rss-source-collection.json"</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">"api_md_url"</span><span class="punctuation">:</span> <span class="string">"https://bsheepcoder.github.io/api/posts/rss-source-collection.md"</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">"encrypted"</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">false</span></span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">"content"</span><span class="punctuation">:</span> <span class="string">"## 为什么需要 RSS\n\n在算法推荐泛滥的时代..."</span></span><br><span class="line"><span class="punctuation">}</span></span><br></pre></td></tr></tbody></table></figure><p><code>content</code> 字段是完整原始 Markdown，保留代码围栏、表格、列表等格式。</p><h3 id="api-posts-md-—-纯-Markdown"><a href="#api-posts-md-—-纯-Markdown" class="headerlink" title="/api/posts/.md — 纯 Markdown"></a>/api/posts/<slug>.md — 纯 Markdown</slug> <a class="header-anchor" href="#api-posts-md-—-纯-Markdown" title="永久链接">#</a></h3><p>零包装、零噪音的纯正文：</p><figure class="highlight markdown"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="section">## 为什么需要 RSS</span></span><br><span class="line"></span><br><span class="line">在算法推荐泛滥的时代，RSS 是唯一让你<span class="strong">**主动选择信息源**</span>的方式...</span><br><span class="line"></span><br><span class="line"><span class="section">## 可信度分级</span></span><br><span class="line"></span><br><span class="line">| 级别 | 说明 | 特征 |</span><br><span class="line">|------|------|------|</span><br><span class="line">| ⭐⭐⭐ | 源头直供 | 官方机构/学术/大厂自家博客 |</span><br></pre></td></tr></tbody></table></figure><h3 id="llms-full-txt-—-全文合并"><a href="#llms-full-txt-—-全文合并" class="headerlink" title="/llms-full.txt — 全文合并"></a>/llms-full.txt — 全文合并 <a class="header-anchor" href="#llms-full-txt-—-全文合并" title="永久链接">#</a></h3><p>所有文章的完整内容合并到一个文件中，方便 AI 一次性获取全站内容。</p><h2 id="AI-获取文章的标准流程"><a href="#AI-获取文章的标准流程" class="headerlink" title="AI 获取文章的标准流程"></a>AI 获取文章的标准流程 <a class="header-anchor" href="#AI-获取文章的标准流程" title="永久链接">#</a></h2><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br></pre></td><td class="code"><pre><span class="line">第 1 步：fetch /llms.txt</span><br><span class="line">         → 站点概览 + 所有文章标题和 MD 链接</span><br><span class="line"></span><br><span class="line">第 2 步：fetch /api/index.json</span><br><span class="line">         → 结构化文章列表（含元数据和 API 地址）</span><br><span class="line"></span><br><span class="line">第 3 步：fetch /api/posts/&lt;slug&gt;.md</span><br><span class="line">         → 纯 Markdown 正文，零噪音</span><br><span class="line"></span><br><span class="line">   或：fetch /api/posts/&lt;slug&gt;.json</span><br><span class="line">         → 结构化 JSON（元数据 + Markdown 正文）</span><br></pre></td></tr></tbody></table></figure><h2 id="加密文章处理"><a href="#加密文章处理" class="headerlink" title="加密文章处理"></a>加密文章处理 <a class="header-anchor" href="#加密文章处理" title="永久链接">#</a></h2><p>有 <code>password</code> 字段的文章：</p><figure class="highlight json"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="punctuation">{</span></span><br><span class="line">  <span class="attr">"title"</span><span class="punctuation">:</span> <span class="string">"Hexo 博客文章加密实现"</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">"encrypted"</span><span class="punctuation">:</span> <span class="literal"><span class="keyword">true</span></span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">"content"</span><span class="punctuation">:</span> <span class="string">""</span></span><br><span class="line"><span class="punctuation">}</span></span><br></pre></td></tr></tbody></table></figure><ul><li>JSON 中 <code>encrypted: true</code>，<code>content</code> 为空字符串</li><li>MD 文件内容为 HTML 注释：<code>&lt;!-- This post is encrypted. Content is not available. --&gt;</code></li><li>AI 知道文章存在但无法获取正文</li><li>不泄露任何加密内容</li></ul><h2 id="与其他插件的兼容性"><a href="#与其他插件的兼容性" class="headerlink" title="与其他插件的兼容性"></a>与其他插件的兼容性 <a class="header-anchor" href="#与其他插件的兼容性" title="永久链接">#</a></h2><table><thead><tr><th>插件</th><th>关系</th><th>处理方式</th></tr></thead><tbody><tr><td>hexo-blog-encrypt</td><td>加密文章不泄露</td><td><code>encrypted: true</code>，content 为空</td></tr><tr><td>hexo-neat</td><td>不压缩 API 文件</td><td>neat 配置中排除 <code>**/api/**</code>、<code>llms.txt</code>、<code>llms-full.txt</code></td></tr><tr><td>hexo-generator-searchdb</td><td>search.json 仍生成</td><td>人类搜索用 search.json，AI 用 /api/ 通道</td></tr><tr><td>hexo-deployer-git</td><td>API 文件随部署推送</td><td>在 public/ 目录中，自动包含</td></tr><tr><td>Butterfly 主题</td><td>完全不变</td><td>人类页面不受任何影响</td></tr></tbody></table><h3 id="hexo-neat-排除配置"><a href="#hexo-neat-排除配置" class="headerlink" title="hexo-neat 排除配置"></a>hexo-neat 排除配置 <a class="header-anchor" href="#hexo-neat-排除配置" title="永久链接">#</a></h3><figure class="highlight yaml"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># _config.yml</span></span><br><span class="line"><span class="attr">neat_html:</span></span><br><span class="line">  <span class="attr">enable:</span> <span class="literal">true</span></span><br><span class="line">  <span class="attr">exclude:</span></span><br><span class="line">    <span class="bullet">-</span> <span class="string">'**/lib/**'</span></span><br><span class="line">    <span class="bullet">-</span> <span class="string">'**/hbe.*'</span></span><br><span class="line">    <span class="bullet">-</span> <span class="string">'**/api/**'</span></span><br><span class="line">    <span class="bullet">-</span> <span class="string">'llms.txt'</span></span><br><span class="line">    <span class="bullet">-</span> <span class="string">'llms-full.txt'</span></span><br></pre></td></tr></tbody></table></figure><h2 id="GitHub-Pages-兼容性"><a href="#GitHub-Pages-兼容性" class="headerlink" title="GitHub Pages 兼容性"></a>GitHub Pages 兼容性 <a class="header-anchor" href="#GitHub-Pages-兼容性" title="永久链接">#</a></h2><p>所有文件都是静态文件（.json/.md/.txt），完美兼容 GitHub Pages：</p><table><thead><tr><th>检查项</th><th>状态</th></tr></thead><tbody><tr><td>静态文件托管</td><td>✅ 无服务端代码</td></tr><tr><td>CORS / 跨域</td><td>✅ 同域，无跨域问题</td></tr><tr><td>运行时开销</td><td>✅ 零开销，构建时生成</td></tr><tr><td>部署</td><td>✅ 随 hexo deploy 一起推送</td></tr><tr><td>HTTPS</td><td>✅ GitHub Pages 自动提供</td></tr></tbody></table><h2 id="容量分析"><a href="#容量分析" class="headerlink" title="容量分析"></a>容量分析 <a class="header-anchor" href="#容量分析" title="永久链接">#</a></h2><table><thead><tr><th>指标</th><th>数值</th></tr></thead><tbody><tr><td>单篇增量开销</td><td>~102 KB（HTML + MD + JSON + 索引分摊）</td></tr><tr><td>GitHub Pages 上限</td><td>1 GB</td></tr><tr><td>固定开销（主题等）</td><td>~1.13 MB</td></tr><tr><td>理论最大文章数</td><td>~10,275 篇</td></tr><tr><td>月带宽限制</td><td>100 GB（约 8.5 万次访问）</td></tr></tbody></table><p>按每天写 1 篇计算，可写 28 年才会触及容量上限。</p><h2 id="完整实现代码"><a href="#完整实现代码" class="headerlink" title="完整实现代码"></a>完整实现代码 <a class="header-anchor" href="#完整实现代码" title="永久链接">#</a></h2><figure class="highlight javascript"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br><span class="line">35</span><br><span class="line">36</span><br><span class="line">37</span><br><span class="line">38</span><br><span class="line">39</span><br><span class="line">40</span><br><span class="line">41</span><br><span class="line">42</span><br><span class="line">43</span><br><span class="line">44</span><br><span class="line">45</span><br><span class="line">46</span><br><span class="line">47</span><br><span class="line">48</span><br><span class="line">49</span><br><span class="line">50</span><br><span class="line">51</span><br><span class="line">52</span><br><span class="line">53</span><br><span class="line">54</span><br><span class="line">55</span><br><span class="line">56</span><br><span class="line">57</span><br><span class="line">58</span><br><span class="line">59</span><br><span class="line">60</span><br><span class="line">61</span><br><span class="line">62</span><br><span class="line">63</span><br><span class="line">64</span><br><span class="line">65</span><br><span class="line">66</span><br><span class="line">67</span><br><span class="line">68</span><br><span class="line">69</span><br><span class="line">70</span><br><span class="line">71</span><br><span class="line">72</span><br><span class="line">73</span><br><span class="line">74</span><br><span class="line">75</span><br><span class="line">76</span><br><span class="line">77</span><br><span class="line">78</span><br><span class="line">79</span><br><span class="line">80</span><br><span class="line">81</span><br><span class="line">82</span><br><span class="line">83</span><br><span class="line">84</span><br><span class="line">85</span><br><span class="line">86</span><br><span class="line">87</span><br><span class="line">88</span><br><span class="line">89</span><br><span class="line">90</span><br><span class="line">91</span><br><span class="line">92</span><br><span class="line">93</span><br><span class="line">94</span><br><span class="line">95</span><br><span class="line">96</span><br><span class="line">97</span><br><span class="line">98</span><br><span class="line">99</span><br><span class="line">100</span><br><span class="line">101</span><br><span class="line">102</span><br><span class="line">103</span><br><span class="line">104</span><br><span class="line">105</span><br><span class="line">106</span><br><span class="line">107</span><br><span class="line">108</span><br><span class="line">109</span><br><span class="line">110</span><br><span class="line">111</span><br><span class="line">112</span><br><span class="line">113</span><br><span class="line">114</span><br><span class="line">115</span><br><span class="line">116</span><br><span class="line">117</span><br><span class="line">118</span><br><span class="line">119</span><br><span class="line">120</span><br><span class="line">121</span><br><span class="line">122</span><br><span class="line">123</span><br><span class="line">124</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment">// scripts/ai-api.js</span></span><br><span class="line"><span class="meta">'use strict'</span></span><br><span class="line"></span><br><span class="line">hexo.<span class="property">extend</span>.<span class="property">generator</span>.<span class="title function_">register</span>(<span class="string">'ai-api'</span>, <span class="keyword">function</span> (<span class="params">locals</span>) {</span><br><span class="line">  <span class="keyword">const</span> posts = locals.<span class="property">posts</span></span><br><span class="line">  <span class="keyword">const</span> config = hexo.<span class="property">config</span></span><br><span class="line">  <span class="keyword">const</span> siteUrl = (config.<span class="property">url</span> || <span class="string">''</span>).<span class="title function_">replace</span>(<span class="regexp">/\/$/</span>, <span class="string">''</span>)</span><br><span class="line">  <span class="keyword">const</span> resultList = []</span><br><span class="line">  <span class="keyword">const</span> jsonList = []</span><br><span class="line">  <span class="keyword">const</span> mdList = []</span><br><span class="line">  <span class="keyword">let</span> llmsLines = []</span><br><span class="line">  <span class="keyword">let</span> llmsFullLines = []</span><br><span class="line"></span><br><span class="line">  <span class="keyword">const</span> siteTitle = config.<span class="property">title</span> || <span class="string">'Blog'</span></span><br><span class="line">  <span class="keyword">const</span> siteDesc = config.<span class="property">description</span> || <span class="string">''</span></span><br><span class="line">  llmsLines.<span class="title function_">push</span>(<span class="string">`# <span class="subst">${siteTitle}</span>`</span>, <span class="string">''</span>)</span><br><span class="line">  llmsLines.<span class="title function_">push</span>(<span class="string">`&gt; <span class="subst">${siteDesc}</span>`</span>, <span class="string">''</span>)</span><br><span class="line">  llmsLines.<span class="title function_">push</span>(<span class="string">''</span>, <span class="string">'## Articles'</span>, <span class="string">''</span>)</span><br><span class="line">  llmsFullLines.<span class="title function_">push</span>(<span class="string">`# <span class="subst">${siteTitle}</span>`</span>, <span class="string">''</span>)</span><br><span class="line">  llmsFullLines.<span class="title function_">push</span>(<span class="string">`&gt; <span class="subst">${siteDesc}</span>`</span>, <span class="string">''</span>)</span><br><span class="line"></span><br><span class="line">  posts.<span class="title function_">sort</span>(<span class="string">'-date'</span>).<span class="title function_">forEach</span>(<span class="keyword">function</span> (<span class="params">post</span>) {</span><br><span class="line">    <span class="keyword">const</span> slug = post.<span class="property">slug</span></span><br><span class="line">    <span class="keyword">const</span> title = post.<span class="property">title</span> || slug</span><br><span class="line">    <span class="keyword">const</span> dateStr = post.<span class="property">date</span> ? post.<span class="property">date</span>.<span class="title function_">format</span>(<span class="string">'YYYY-MM-DD'</span>) : <span class="string">''</span></span><br><span class="line">    <span class="keyword">const</span> updatedStr = post.<span class="property">updated</span> ? post.<span class="property">updated</span>.<span class="title function_">format</span>(<span class="string">'YYYY-MM-DD'</span>) : dateStr</span><br><span class="line">    <span class="keyword">const</span> categories = (post.<span class="property">categories</span> &amp;&amp; post.<span class="property">categories</span>.<span class="property">data</span>)</span><br><span class="line">      ? post.<span class="property">categories</span>.<span class="property">data</span>.<span class="title function_">map</span>(<span class="keyword">function</span> (<span class="params">c</span>) { <span class="keyword">return</span> c.<span class="property">name</span> }) : []</span><br><span class="line">    <span class="keyword">const</span> tags = (post.<span class="property">tags</span> &amp;&amp; post.<span class="property">tags</span>.<span class="property">data</span>)</span><br><span class="line">      ? post.<span class="property">tags</span>.<span class="property">data</span>.<span class="title function_">map</span>(<span class="keyword">function</span> (<span class="params">t</span>) { <span class="keyword">return</span> t.<span class="property">name</span> }) : []</span><br><span class="line">    <span class="keyword">const</span> desc = post.<span class="property">description</span> || <span class="string">''</span></span><br><span class="line">    <span class="keyword">const</span> isEncrypted = !!post.<span class="property">password</span></span><br><span class="line">    <span class="keyword">const</span> postUrl = siteUrl + <span class="string">'/'</span> + post.<span class="property">path</span></span><br><span class="line">    <span class="keyword">const</span> apiJsonUrl = <span class="string">'/api/posts/'</span> + slug + <span class="string">'.json'</span></span><br><span class="line">    <span class="keyword">const</span> apiMdUrl = <span class="string">'/api/posts/'</span> + slug + <span class="string">'.md'</span></span><br><span class="line"></span><br><span class="line">    <span class="comment">// 提取原始 Markdown（去掉 front-matter）</span></span><br><span class="line">    <span class="keyword">let</span> rawMd = <span class="string">''</span></span><br><span class="line">    <span class="keyword">if</span> (post.<span class="property">raw</span>) {</span><br><span class="line">      rawMd = post.<span class="property">raw</span>.<span class="title function_">replace</span>(<span class="regexp">/^---[\s\S]*?---\s*/</span>, <span class="string">''</span>)</span><br><span class="line">    } <span class="keyword">else</span> <span class="keyword">if</span> (post.<span class="property">content</span>) {</span><br><span class="line">      rawMd = post.<span class="property">content</span></span><br><span class="line">    }</span><br><span class="line"></span><br><span class="line">    <span class="comment">// JSON 对象</span></span><br><span class="line">    <span class="keyword">const</span> jsonObj = {</span><br><span class="line">      <span class="attr">title</span>: title,</span><br><span class="line">      <span class="attr">slug</span>: slug,</span><br><span class="line">      <span class="attr">date</span>: dateStr,</span><br><span class="line">      <span class="attr">updated</span>: updatedStr,</span><br><span class="line">      <span class="attr">categories</span>: categories,</span><br><span class="line">      <span class="attr">tags</span>: tags,</span><br><span class="line">      <span class="attr">description</span>: desc,</span><br><span class="line">      <span class="attr">url</span>: postUrl,</span><br><span class="line">      <span class="attr">api_json_url</span>: siteUrl + apiJsonUrl,</span><br><span class="line">      <span class="attr">api_md_url</span>: siteUrl + apiMdUrl,</span><br><span class="line">      <span class="attr">encrypted</span>: isEncrypted,</span><br><span class="line">      <span class="attr">content</span>: isEncrypted ? <span class="string">''</span> : rawMd</span><br><span class="line">    }</span><br><span class="line"></span><br><span class="line">    <span class="comment">// MD 内容</span></span><br><span class="line">    <span class="keyword">const</span> mdContent = isEncrypted</span><br><span class="line">      ? <span class="string">'&lt;!-- This post is encrypted. Content is not available. --&gt;'</span></span><br><span class="line">      : rawMd</span><br><span class="line"></span><br><span class="line">    <span class="comment">// 列表条目</span></span><br><span class="line">    <span class="keyword">const</span> listEntry = {</span><br><span class="line">      <span class="attr">title</span>: title,</span><br><span class="line">      <span class="attr">slug</span>: slug,</span><br><span class="line">      <span class="attr">date</span>: dateStr,</span><br><span class="line">      <span class="attr">categories</span>: categories,</span><br><span class="line">      <span class="attr">tags</span>: tags,</span><br><span class="line">      <span class="attr">description</span>: desc,</span><br><span class="line">      <span class="attr">url</span>: postUrl,</span><br><span class="line">      <span class="attr">api_json_url</span>: siteUrl + apiJsonUrl,</span><br><span class="line">      <span class="attr">api_md_url</span>: siteUrl + apiMdUrl,</span><br><span class="line">      <span class="attr">encrypted</span>: isEncrypted</span><br><span class="line">    }</span><br><span class="line">    resultList.<span class="title function_">push</span>(listEntry)</span><br><span class="line"></span><br><span class="line">    <span class="comment">// llms.txt 条目</span></span><br><span class="line">    llmsLines.<span class="title function_">push</span>(<span class="string">`- [<span class="subst">${title}</span>](<span class="subst">${apiMdUrl}</span>): <span class="subst">${desc || title}</span>`</span>)</span><br><span class="line"></span><br><span class="line">    <span class="comment">// llms-full.txt 条目</span></span><br><span class="line">    <span class="keyword">if</span> (!isEncrypted) {</span><br><span class="line">      llmsFullLines.<span class="title function_">push</span>(<span class="string">''</span>, <span class="string">'---'</span>, <span class="string">''</span>)</span><br><span class="line">      llmsFullLines.<span class="title function_">push</span>(<span class="string">`# <span class="subst">${title}</span>`</span>, <span class="string">''</span>)</span><br><span class="line">      llmsFullLines.<span class="title function_">push</span>(<span class="string">`Date: <span class="subst">${dateStr}</span> | Tags: <span class="subst">${tags.join(<span class="string">', '</span>)}</span> | URL: <span class="subst">${postUrl}</span>`</span>, <span class="string">''</span>)</span><br><span class="line">      llmsFullLines.<span class="title function_">push</span>(mdContent)</span><br><span class="line">    }</span><br><span class="line"></span><br><span class="line">    <span class="comment">// 生成单篇 JSON</span></span><br><span class="line">    jsonList.<span class="title function_">push</span>({</span><br><span class="line">      <span class="attr">path</span>: <span class="string">'api/posts/'</span> + slug + <span class="string">'.json'</span>,</span><br><span class="line">      <span class="attr">data</span>: <span class="title class_">JSON</span>.<span class="title function_">stringify</span>(jsonObj, <span class="literal">null</span>, <span class="number">2</span>)</span><br><span class="line">    })</span><br><span class="line"></span><br><span class="line">    <span class="comment">// 生成单篇 MD</span></span><br><span class="line">    mdList.<span class="title function_">push</span>({</span><br><span class="line">      <span class="attr">path</span>: <span class="string">'api/posts/'</span> + slug + <span class="string">'.md'</span>,</span><br><span class="line">      <span class="attr">data</span>: mdContent</span><br><span class="line">    })</span><br><span class="line">  })</span><br><span class="line"></span><br><span class="line">  <span class="comment">// api/index.json</span></span><br><span class="line">  <span class="keyword">const</span> apiIndex = {</span><br><span class="line">    <span class="attr">site</span>: siteTitle,</span><br><span class="line">    <span class="attr">description</span>: siteDesc,</span><br><span class="line">    <span class="attr">url</span>: siteUrl,</span><br><span class="line">    <span class="attr">post_count</span>: resultList.<span class="property">length</span>,</span><br><span class="line">    <span class="attr">posts</span>: resultList</span><br><span class="line">  }</span><br><span class="line"></span><br><span class="line">  <span class="keyword">const</span> result = [</span><br><span class="line">    { <span class="attr">path</span>: <span class="string">'api/index.json'</span>, <span class="attr">data</span>: <span class="title class_">JSON</span>.<span class="title function_">stringify</span>(apiIndex, <span class="literal">null</span>, <span class="number">2</span>) },</span><br><span class="line">    { <span class="attr">path</span>: <span class="string">'llms.txt'</span>, <span class="attr">data</span>: llmsLines.<span class="title function_">join</span>(<span class="string">'\n'</span>) + <span class="string">'\n'</span> },</span><br><span class="line">    { <span class="attr">path</span>: <span class="string">'llms-full.txt'</span>, <span class="attr">data</span>: llmsFullLines.<span class="title function_">join</span>(<span class="string">'\n'</span>) + <span class="string">'\n'</span> }</span><br><span class="line">  ]</span><br><span class="line"></span><br><span class="line">  jsonList.<span class="title function_">forEach</span>(<span class="keyword">function</span> (<span class="params">f</span>) { result.<span class="title function_">push</span>(f) })</span><br><span class="line">  mdList.<span class="title function_">forEach</span>(<span class="keyword">function</span> (<span class="params">f</span>) { result.<span class="title function_">push</span>(f) })</span><br><span class="line"></span><br><span class="line">  <span class="keyword">return</span> result</span><br><span class="line">})</span><br></pre></td></tr></tbody></table></figure><h2 id="验证方法"><a href="#验证方法" class="headerlink" title="验证方法"></a>验证方法 <a class="header-anchor" href="#验证方法" title="永久链接">#</a></h2><h3 id="本地验证"><a href="#本地验证" class="headerlink" title="本地验证"></a>本地验证 <a class="header-anchor" href="#本地验证" title="永久链接">#</a></h3><figure class="highlight powershell"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># 构建后检查文件存在</span></span><br><span class="line"><span class="built_in">Test-Path</span> public\llms.txt, public\api\index.json, public\api\posts</span><br><span class="line"></span><br><span class="line"><span class="comment"># 检查加密文章 content 为空</span></span><br><span class="line"><span class="variable">$json</span> = <span class="built_in">Get-Content</span> public\api\posts\encrypted<span class="literal">-post</span>.json <span class="literal">-Raw</span> | <span class="built_in">ConvertFrom-Json</span></span><br><span class="line"><span class="variable">$json</span>.encrypted  <span class="comment"># 应为 true</span></span><br><span class="line"><span class="variable">$json</span>.content    <span class="comment"># 应为空字符串</span></span><br></pre></td></tr></tbody></table></figure><h3 id="线上验证"><a href="#线上验证" class="headerlink" title="线上验证"></a>线上验证 <a class="header-anchor" href="#线上验证" title="永久链接">#</a></h3><table><thead><tr><th>端点</th><th>URL</th></tr></thead><tbody><tr><td>llms.txt</td><td><code>https://bsheepcoder.github.io/llms.txt</code></td></tr><tr><td>api/index.json</td><td><code>https://bsheepcoder.github.io/api/index.json</code></td></tr><tr><td>单篇 MD</td><td><code>https://bsheepcoder.github.io/api/posts/&lt;slug&gt;.md</code></td></tr><tr><td>单篇 JSON</td><td><code>https://bsheepcoder.github.io/api/posts/&lt;slug&gt;.json</code></td></tr><tr><td>全文合并</td><td><code>https://bsheepcoder.github.io/llms-full.txt</code></td></tr></tbody></table><h2 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结 <a class="header-anchor" href="#总结" title="永久链接">#</a></h2><p>这个方案的核心价值：</p><ul><li><strong>零噪音</strong> — AI 读到的是原始 Markdown，不是 HTML</li><li><strong>零运行时开销</strong> — 构建时生成静态文件，无服务端逻辑</li><li><strong>完美兼容 GitHub Pages</strong> — 纯静态文件，随部署推送</li><li><strong>加密保护</strong> — 加密文章不泄露正文</li><li><strong>不改主题</strong> — 人类看到的页面完全不变</li><li><strong>容量无忧</strong> — 单篇仅 ~102 KB，1GB 限制可存 1 万+ 篇</li></ul><p>核心原则：<strong>为人类和 AI 提供平行的数据通道，各取所需，互不干扰。</strong></p></body></html>]]>
    </content>
    <id>https://bsheepcoder.github.io/2026/06/17/hexo-ai-data-channel/</id>
    <link href="https://bsheepcoder.github.io/2026/06/17/hexo-ai-data-channel/"/>
    <published>2026-06-17T15:30:00.000Z</published>
    <summary>完整的 Hexo AI 数据通道解决方案：通过构建时生成静态 JSON/MD/TXT 文件，让 AI Agent 获取零噪音的博客文章内容，完美兼容 GitHub Pages，支持加密文章保护。</summary>
    <title>Hexo AI 数据通道：让 AI 零噪音读取博客内容</title>
    <updated>2026-06-17T15:01:43.729Z</updated>
  </entry>
  <entry>
    <author>
      <name>Bsheepcoder</name>
    </author>
    <category term="技术" scheme="https://bsheepcoder.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
    <category term="信息获取" scheme="https://bsheepcoder.github.io/categories/%E6%8A%80%E6%9C%AF/info/"/>
    <category term="RSS" scheme="https://bsheepcoder.github.io/tags/RSS/"/>
    <category term="信息获取" scheme="https://bsheepcoder.github.io/tags/%E4%BF%A1%E6%81%AF%E8%8E%B7%E5%8F%96/"/>
    <category term="数据源" scheme="https://bsheepcoder.github.io/tags/%E6%95%B0%E6%8D%AE%E6%BA%90/"/>
    <content>
      <![CDATA[<div class="post-stat" style="margin:1em 0;color:#888;font-size:.9em">    <i class="fas fa-pencil-alt"></i> 约 1.8k 字    &nbsp;&nbsp;<i class="fas fa-clock"></i> 8 分钟阅读  </div><html><head></head><body><h2 id="为什么需要-RSS"><a href="#为什么需要-RSS" class="headerlink" title="为什么需要 RSS"></a>为什么需要 RSS <a class="header-anchor" href="#为什么需要-RSS" title="永久链接">#</a></h2><p>在算法推荐泛滥的时代，RSS 是唯一让你<strong>主动选择信息源</strong>的方式。没有算法干预、没有广告插入、没有注意力收割——你订阅什么，就收到什么。</p><p>本文所有 RSS 源均经过实际访问验证，标注可访问性（✅ 可访问 / ⚠️ 需代理 / ❌ 不可访问），并按可信度分级。</p><h2 id="可信度分级"><a href="#可信度分级" class="headerlink" title="可信度分级"></a>可信度分级 <a class="header-anchor" href="#可信度分级" title="永久链接">#</a></h2><table><thead><tr><th>级别</th><th>说明</th><th>特征</th></tr></thead><tbody><tr><td>⭐⭐⭐</td><td>源头直供</td><td>官方机构/学术/大厂自家博客，几乎零噪音</td></tr><tr><td>⭐⭐</td><td>高质量媒体</td><td>知名科技/行业媒体，偶有软文但信息密度高</td></tr><tr><td>⭐</td><td>独立声音</td><td>个人博客/社区，信号强但需自行过滤立场</td></tr></tbody></table><hr><h2 id="一、学术-科研（最值得信）"><a href="#一、学术-科研（最值得信）" class="headerlink" title="一、学术 / 科研（最值得信）"></a>一、学术 / 科研（最值得信） <a class="header-anchor" href="#一、学术-科研（最值得信）" title="永久链接">#</a></h2><table><thead><tr><th>名称</th><th>RSS 地址</th><th>状态</th><th>可信度</th><th>介绍</th></tr></thead><tbody><tr><td>arXiv · AI</td><td><code>https://rss.arxiv.org/rss/cs.AI</code></td><td>✅</td><td>⭐⭐⭐</td><td>每日 AI 预印本论文，学术界源头</td></tr><tr><td>arXiv · 机器学习</td><td><code>https://rss.arxiv.org/rss/cs.LG</code></td><td>✅</td><td>⭐⭐⭐</td><td>机器学习方向论文</td></tr><tr><td>arXiv · NLP</td><td><code>https://rss.arxiv.org/rss/cs.CL</code></td><td>✅</td><td>⭐⭐⭐</td><td>自然语言处理论文</td></tr><tr><td>arXiv · 计算机视觉</td><td><code>https://rss.arxiv.org/rss/cs.CV</code></td><td>✅</td><td>⭐⭐⭐</td><td>计算机视觉方向论文</td></tr><tr><td>arXiv · 系统与网络</td><td><code>https://rss.arxiv.org/rss/cs.NI</code></td><td>✅</td><td>⭐⭐⭐</td><td>网络与系统方向</td></tr><tr><td>Nature · News</td><td><code>https://www.nature.com/nature/articles.rss</code></td><td>✅</td><td>⭐⭐⭐</td><td>顶刊最新文章与新闻</td></tr><tr><td>ScienceDaily</td><td><code>https://www.sciencedaily.com/rss/all.xml</code></td><td>✅</td><td>⭐⭐⭐</td><td>科研进展通俗报道，覆盖面广</td></tr><tr><td>New Scientist</td><td><code>https://www.newscientist.com/section/news/feed/</code></td><td>✅</td><td>⭐⭐</td><td>科普杂志，可读性强</td></tr><tr><td>MIT Technology Review</td><td><code>https://www.technologyreview.com/feed/</code></td><td>⚠️</td><td>⭐⭐</td><td>麻省理工科技评论，深度科技报道</td></tr></tbody></table><hr><h2 id="二、AI-方向-·-官方-一线机构"><a href="#二、AI-方向-·-官方-一线机构" class="headerlink" title="二、AI 方向 · 官方 &amp; 一线机构"></a>二、AI 方向 · 官方 &amp; 一线机构 <a class="header-anchor" href="#二、AI-方向-·-官方-一线机构" title="永久链接">#</a></h2><table><thead><tr><th>名称</th><th>RSS 地址</th><th>状态</th><th>可信度</th><th>介绍</th></tr></thead><tbody><tr><td>OpenAI Blog</td><td><code>https://openai.com/blog/rss.xml</code></td><td>✅</td><td>⭐⭐⭐</td><td>OpenAI 官方动态，必订</td></tr><tr><td>Google DeepMind</td><td><code>https://deepmind.google/blog/rss.xml</code></td><td>✅</td><td>⭐⭐⭐</td><td>研究前沿，AlphaGo/Gemini 等</td></tr><tr><td>Google AI Blog</td><td><code>https://blog.google/technology/ai/rss/</code></td><td>✅</td><td>⭐⭐⭐</td><td>Google AI 综合动态</td></tr><tr><td>Hugging Face Blog</td><td><code>https://huggingface.co/blog/feed.xml</code></td><td>⚠️</td><td>⭐⭐⭐</td><td>开源 AI 社区，实操向</td></tr><tr><td>Meta AI Blog</td><td><code>https://ai.meta.com/blog/rss/</code></td><td>⚠️</td><td>⭐⭐⭐</td><td>Meta AI（FAIR）研究</td></tr><tr><td>Microsoft Research</td><td><code>https://www.microsoft.com/en-us/research/feed/</code></td><td>⚠️</td><td>⭐⭐⭐</td><td>微软研究院</td></tr><tr><td>Hacker News · AI</td><td><code>https://hnrss.org/newest?q=AI</code></td><td>✅</td><td>⭐⭐</td><td>HN 中 AI 相关讨论帖</td></tr><tr><td>Hacker News · Front</td><td><code>https://hnrss.org/frontpage</code></td><td>✅</td><td>⭐⭐⭐</td><td>技术风向标，社区共识最强</td></tr></tbody></table><hr><h2 id="三、技术-编程-开发者"><a href="#三、技术-编程-开发者" class="headerlink" title="三、技术 / 编程 / 开发者"></a>三、技术 / 编程 / 开发者 <a class="header-anchor" href="#三、技术-编程-开发者" title="永久链接">#</a></h2><h3 id="综合技术媒体"><a href="#综合技术媒体" class="headerlink" title="综合技术媒体"></a>综合技术媒体 <a class="header-anchor" href="#综合技术媒体" title="永久链接">#</a></h3><table><thead><tr><th>名称</th><th>RSS 地址</th><th>状态</th><th>可信度</th><th>介绍</th></tr></thead><tbody><tr><td>GitHub Blog</td><td><code>https://github.blog/feed/</code></td><td>✅</td><td>⭐⭐⭐</td><td>GitHub 平台官方动态</td></tr><tr><td>TechCrunch</td><td><code>https://techcrunch.com/feed/</code></td><td>✅</td><td>⭐⭐</td><td>创投/科技商业新闻</td></tr><tr><td>Ars Technica</td><td><code>https://feeds.arstechnica.com/arstechnica/index</code></td><td>✅</td><td>⭐⭐⭐</td><td>深度技术报道</td></tr><tr><td>The Verge</td><td><code>https://www.theverge.com/rss/index.xml</code></td><td>⚠️</td><td>⭐⭐</td><td>科技产品与文化</td></tr><tr><td>Wired</td><td><code>https://www.wired.com/feed/rss</code></td><td>⚠️</td><td>⭐⭐</td><td>科技文化长文</td></tr><tr><td>Hacker News（安全）</td><td><code>https://feeds.feedburner.com/TheHackersNews</code></td><td>⚠️</td><td>⭐⭐</td><td>信息安全资讯（Feedburner 需代理）</td></tr><tr><td>Krebs on Security</td><td><code>https://krebsonsecurity.com/feed/</code></td><td>⚠️</td><td>⭐⭐⭐</td><td>顶级网络安全调查报道</td></tr></tbody></table><h3 id="编程语言官方博客"><a href="#编程语言官方博客" class="headerlink" title="编程语言官方博客"></a>编程语言官方博客 <a class="header-anchor" href="#编程语言官方博客" title="永久链接">#</a></h3><table><thead><tr><th>名称</th><th>RSS 地址</th><th>状态</th><th>介绍</th></tr></thead><tbody><tr><td>Rust Blog</td><td><code>https://blog.rust-lang.org/feed.xml</code></td><td>✅</td><td>版本说明与安全公告</td></tr><tr><td>Go Blog</td><td><code>https://go.dev/blog/feed.atom</code></td><td>✅</td><td>Go 官方博客</td></tr><tr><td>Python Blog</td><td><code>https://blog.python.org/feeds/posts/default</code></td><td>✅</td><td>Python 版本与社区动态</td></tr><tr><td>TypeScript Blog</td><td><code>https://devblogs.microsoft.com/typescript/feed/</code></td><td>✅</td><td>TS 版本发布说明</td></tr><tr><td>C++ Standard</td><td><code>https://isocpp.org/blog/rss</code></td><td>⚠️</td><td>C++ 标准委员会</td></tr><tr><td>Swift Blog</td><td><code>https://www.swift.org/atom.xml</code></td><td>⚠️</td><td>Swift 官方</td></tr><tr><td>Kotlin Blog</td><td><code>https://blog.jetbrains.com/kotlin/feed/</code></td><td>✅</td><td>Kotlin 官方</td></tr><tr><td>Java Blog</td><td><code>https://blogs.oracle.com/java/post/feed/entries</code></td><td>⚠️</td><td>Oracle Java 官方</td></tr></tbody></table><h3 id="开发者社区"><a href="#开发者社区" class="headerlink" title="开发者社区"></a>开发者社区 <a class="header-anchor" href="#开发者社区" title="永久链接">#</a></h3><table><thead><tr><th>名称</th><th>RSS 地址</th><th>状态</th><th>介绍</th></tr></thead><tbody><tr><td>V2EX 热门</td><td><code>https://www.v2ex.com/feed/tab/hot.xml</code></td><td>⚠️</td><td>中文技术社区（需代理）</td></tr><tr><td>LinuxDo</td><td><code>https://linux.do/latest.rss</code></td><td>⚠️</td><td>中文 Linux/自部署圈（需登录）</td></tr><tr><td>Stack Overflow Blog</td><td><code>https://stackoverflow.blog/feed/</code></td><td>✅</td><td>SO 官方博客</td></tr><tr><td>Dev.to</td><td><code>https://dev.to/feed/</code></td><td>✅</td><td>开发者社区</td></tr></tbody></table><hr><h2 id="四、中文高质量博客"><a href="#四、中文高质量博客" class="headerlink" title="四、中文高质量博客"></a>四、中文高质量博客 <a class="header-anchor" href="#四、中文高质量博客" title="永久链接">#</a></h2><table><thead><tr><th>名称</th><th>RSS 地址</th><th>状态</th><th>可信度</th><th>介绍</th></tr></thead><tbody><tr><td>阮一峰</td><td><code>https://www.ruanyifeng.com/blog/atom.xml</code></td><td>✅</td><td>⭐⭐⭐</td><td>技术思考·周报，中文博客常青树</td></tr><tr><td>酷壳 CoolShell</td><td><code>https://coolshell.cn/feed</code></td><td>✅</td><td>⭐⭐⭐</td><td>陈皓（左耳朵耗子），底层·系统·硬核（已停更）</td></tr><tr><td>OneV’s Den</td><td><code>https://onevcat.com/atom.xml</code></td><td>✅</td><td>⭐⭐⭐</td><td>王巍，Swift/iOS/AI 开发</td></tr><tr><td>Phodal</td><td><code>https://www.phodal.com/feed/</code></td><td>❌</td><td>⭐⭐</td><td>架构·DDD（Feed 路径已失效）</td></tr><tr><td>Matrix67</td><td><code>https://www.matrix67.com/feed/</code></td><td>❌</td><td>⭐⭐</td><td>数学·算法（站点疑似下线）</td></tr><tr><td>DIYGod</td><td><code>https://diygod.cc/atom.xml</code></td><td>❌</td><td>⭐</td><td>开源·独立开发（Feed 路径失效）</td></tr></tbody></table><blockquote><p>更多中文独立博客：访问 <a href="https://github.com/timqian/chinese-independent-blogs" target="_blank" rel="noopener noreferrer nofollow">chinese-independent-blogs</a>，含数百个带 RSS 的中文博客 OPML 导入包。</p></blockquote><hr><h2 id="五、综合新闻（选订-2-3-个即可）"><a href="#五、综合新闻（选订-2-3-个即可）" class="headerlink" title="五、综合新闻（选订 2-3 个即可）"></a>五、综合新闻（选订 2-3 个即可） <a class="header-anchor" href="#五、综合新闻（选订-2-3-个即可）" title="永久链接">#</a></h2><table><thead><tr><th>名称</th><th>RSS 地址</th><th>状态</th><th>可信度</th><th>介绍</th></tr></thead><tbody><tr><td>NPR News</td><td><code>https://feeds.npr.org/1001/rss.xml</code></td><td>✅</td><td>⭐⭐</td><td>美国公共媒体，偏理性</td></tr><tr><td>BBC World</td><td><code>http://feeds.bbci.co.uk/news/world/rss.xml</code></td><td>⚠️</td><td>⭐⭐</td><td>国际视野（需代理）</td></tr><tr><td>Al Jazeera</td><td><code>https://www.aljazeera.com/xml/rss/all.xml</code></td><td>⚠️</td><td>⭐⭐</td><td>全球南方视角（需代理）</td></tr><tr><td>The Guardian</td><td><code>https://www.theguardian.com/world/rss</code></td><td>⚠️</td><td>⭐⭐</td><td>调查报道强（需代理）</td></tr><tr><td>Reuters</td><td><code>https://feeds.reuters.com/reuters/topNews</code></td><td>❌</td><td>⭐⭐⭐</td><td>已停用 RSS</td></tr><tr><td>NHK World</td><td><code>https://www3.nhk.or.jp/rss/news/cat0.xml</code></td><td>✅</td><td>⭐⭐</td><td>日本 NHK 新闻（日语）</td></tr><tr><td>联合早报</td><td><code>https://www.zaobao.com.sg/rss.xml</code></td><td>⚠️</td><td>⭐⭐</td><td>新加坡华文媒体</td></tr></tbody></table><blockquote><p>新闻类建议少而精，2-3 个足矣。多了只会制造焦虑。</p></blockquote><hr><h2 id="六、播客-RSS（音频内容）"><a href="#六、播客-RSS（音频内容）" class="headerlink" title="六、播客 RSS（音频内容）"></a>六、播客 RSS（音频内容） <a class="header-anchor" href="#六、播客-RSS（音频内容）" title="永久链接">#</a></h2><table><thead><tr><th>名称</th><th>RSS 地址</th><th>介绍</th></tr></thead><tbody><tr><td>Lex Fridman</td><td><code>https://lexfridman.com/feed/podcast/</code></td><td>深度访谈，AI/科技/哲学</td></tr><tr><td>Latent Space</td><td><code>https://www.latent.space/feed</code></td><td>AI 工程实践播客</td></tr><tr><td>Practical AI</td><td><code>https://feeds.fireside.fm/practicalai/rss</code></td><td>AI 实践与应用</td></tr><tr><td>Software Engineering Daily</td><td><code>https://softwareengineeringdaily.com/feed/podcast/</code></td><td>软件工程深度访谈</td></tr></tbody></table><hr><h2 id="七、RSSHub-路由（网站不提供-RSS-时）"><a href="#七、RSSHub-路由（网站不提供-RSS-时）" class="headerlink" title="七、RSSHub 路由（网站不提供 RSS 时）"></a>七、RSSHub 路由（网站不提供 RSS 时） <a class="header-anchor" href="#七、RSSHub-路由（网站不提供-RSS-时）" title="永久链接">#</a></h2><p>很多平台原生不带 RSS，用 RSSHub 桥接。建议<strong>自建 RSSHub</strong> 实例（<code>docker run -d -p 1200:1200 diygod/rsshub</code>），公共实例不稳定。</p><table><thead><tr><th>内容</th><th>RSSHub 路由</th><th>说明</th></tr></thead><tbody><tr><td>GitHub Trending 日榜</td><td><code>https://rsshub.app/github/trending/daily</code></td><td>每日热门项目</td></tr><tr><td>知乎热榜</td><td><code>https://rsshub.app/zhihu/hot</code></td><td>知乎热榜</td></tr><tr><td>少数派专栏</td><td><code>https://rsshub.app/sspai/matrix</code></td><td>少数派优质文章</td></tr><tr><td>B站 UP 主动态</td><td><code>https://rsshub.app/bilibili/user/dynamic/UID</code></td><td>替换 UID</td></tr><tr><td>微博用户</td><td><code>https://rsshub.app/weibo/user/UID</code></td><td>替换 UID</td></tr><tr><td>YouTube 频道</td><td><code>https://rsshub.app/youtube/user/用户名</code></td><td>YouTube 视频</td></tr><tr><td>Reddit 子版</td><td><code>https://rsshub.app/reddit/subreddit/名称</code></td><td>Reddit 帖子</td></tr></tbody></table><p>完整路由表：<a href="https://docs.rsshub.app/" target="_blank" rel="noopener noreferrer nofollow">https://docs.rsshub.app/</a></p><hr><h2 id="八、安全-资讯"><a href="#八、安全-资讯" class="headerlink" title="八、安全 / 资讯"></a>八、安全 / 资讯 <a class="header-anchor" href="#八、安全-资讯" title="永久链接">#</a></h2><table><thead><tr><th>名称</th><th>RSS 地址</th><th>状态</th><th>介绍</th></tr></thead><tbody><tr><td>CVE 公告</td><td><code>https://nvd.nist.gov/feeds/xml/cve/misc/nvd-rss-analyzed.xml</code></td><td>⚠️</td><td>官方漏洞公告</td></tr><tr><td>CISA Alerts</td><td><code>https://www.cisa.gov/cybersecurity-advisories/all.xml</code></td><td>⚠️</td><td>美国网络安全局警报</td></tr><tr><td>Krebs on Security</td><td><code>https://krebsonsecurity.com/feed/</code></td><td>⚠️</td><td>顶级安全调查报道</td></tr><tr><td>BleepingComputer</td><td><code>https://www.bleepingcomputer.com/feed/</code></td><td>✅</td><td>安全资讯与教程</td></tr><tr><td>Dark Reading</td><td><code>https://www.darkreading.com/rss.xml</code></td><td>⚠️</td><td>企业安全</td></tr></tbody></table><hr><h2 id="推荐订阅组合"><a href="#推荐订阅组合" class="headerlink" title="推荐订阅组合"></a>推荐订阅组合 <a class="header-anchor" href="#推荐订阅组合" title="永久链接">#</a></h2><p>不要贪多。以下是一个合理的起步组合（约 15 个源）：</p><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br></pre></td><td class="code"><pre><span class="line">学术源头（3个）</span><br><span class="line">├── arXiv cs.AI / cs.LG</span><br><span class="line">└── Nature News</span><br><span class="line"></span><br><span class="line">AI 官方（3个）</span><br><span class="line">├── OpenAI Blog</span><br><span class="line">├── Google DeepMind</span><br><span class="line">└── Hacker News frontpage</span><br><span class="line"></span><br><span class="line">技术媒体（3个）</span><br><span class="line">├── GitHub Blog</span><br><span class="line">├── Ars Technica</span><br><span class="line">└── 阮一峰</span><br><span class="line"></span><br><span class="line">编程语言（2个，按你用的语言选）</span><br><span class="line">├── Rust / Go / Python / TypeScript（选1-2）</span><br><span class="line"></span><br><span class="line">新闻锚点（1-2个）</span><br><span class="line">├── NPR News</span><br><span class="line">└── BBC World（需代理）</span><br><span class="line"></span><br><span class="line">播客（1-2个）</span><br><span class="line">├── Lex Fridman</span><br><span class="line">└── Latent Space</span><br></pre></td></tr></tbody></table></figure><p>一天信息量约 50-100 条，30 分钟可扫完。</p><h2 id="RSS-阅读器推荐"><a href="#RSS-阅读器推荐" class="headerlink" title="RSS 阅读器推荐"></a>RSS 阅读器推荐 <a class="header-anchor" href="#RSS-阅读器推荐" title="永久链接">#</a></h2><table><thead><tr><th>阅读器</th><th>类型</th><th>特点</th></tr></thead><tbody><tr><td><strong>Feedly</strong></td><td>在线</td><td>最流行，免费版 100 源</td></tr><tr><td><strong>Inoreader</strong></td><td>在线</td><td>过滤规则强大，免费版 150 源</td></tr><tr><td><strong>NetNewsWire</strong></td><td>macOS/iOS</td><td>开源免费，本地优先</td></tr><tr><td><strong>Fluent Reader</strong></td><td>跨平台</td><td>开源，支持自部署后端</td></tr><tr><td><strong>Miniflux</strong></td><td>自部署</td><td>极简，Go 写的，资源占用极低</td></tr><tr><td><strong>FreshRSS</strong></td><td>自部署</td><td>功能全面，支持多用户</td></tr><tr><td><strong>Tiny Tiny RSS</strong></td><td>自部署</td><td>老牌，插件丰富</td></tr></tbody></table><h2 id="信息过滤策略"><a href="#信息过滤策略" class="headerlink" title="信息过滤策略"></a>信息过滤策略 <a class="header-anchor" href="#信息过滤策略" title="永久链接">#</a></h2><p>订阅只是第一步，真正的价值在于过滤：</p><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">RSS 抓取</span><br><span class="line">  ↓</span><br><span class="line">按可信度加权（⭐⭐⭐ 保留正文，⭐⭐ 给摘要，⭐ 只给标题）</span><br><span class="line">  ↓</span><br><span class="line">LLM 去重 + 摘要</span><br><span class="line">  ↓</span><br><span class="line">输出每日信息简报</span><br></pre></td></tr></tbody></table></figure><p>这个流程可以用 Python + feedparser + LLM API 实现，形成一个个性化的信息聚合器。</p></body></html>]]>
    </content>
    <id>https://bsheepcoder.github.io/2026/06/17/rss-source-collection/</id>
    <link href="https://bsheepcoder.github.io/2026/06/17/rss-source-collection/"/>
    <published>2026-06-17T15:00:00.000Z</published>
    <summary>经过实际验证的 RSS 源大全，按学术、AI、技术、新闻、独立博客分类，标注可访问性和可信度，附简单介绍和推荐订阅组合。</summary>
    <title>RSS 源大全：可信信息获取的数据源清单</title>
    <updated>2026-06-17T16:00:54.746Z</updated>
  </entry>
  <entry>
    <author>
      <name>Bsheepcoder</name>
    </author>
    <category term="技术" scheme="https://bsheepcoder.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
    <category term="建站" scheme="https://bsheepcoder.github.io/categories/%E6%8A%80%E6%9C%AF/%E5%BB%BA%E7%AB%99/"/>
    <category term="GitHub" scheme="https://bsheepcoder.github.io/tags/GitHub/"/>
    <category term="GitHub Pages" scheme="https://bsheepcoder.github.io/tags/GitHub-Pages/"/>
    <category term="建站" scheme="https://bsheepcoder.github.io/tags/%E5%BB%BA%E7%AB%99/"/>
    <content>
      <![CDATA[<div class="post-stat" style="margin:1em 0;color:#888;font-size:.9em">    <i class="fas fa-pencil-alt"></i> 约 1.7k 字    &nbsp;&nbsp;<i class="fas fa-clock"></i> 6 分钟阅读  </div><html><head></head><body><h2 id="什么是-GitHub-Pages"><a href="#什么是-GitHub-Pages" class="headerlink" title="什么是 GitHub Pages"></a>什么是 GitHub Pages <a class="header-anchor" href="#什么是-GitHub-Pages" title="永久链接">#</a></h2><p>GitHub Pages 是 GitHub 提供的<strong>静态网站托管服务</strong>。它直接从 GitHub 仓库读取 HTML/CSS/JS 文件，通过 CDN 分发到全球，无需自己搭建服务器。</p><p>核心定位：<strong>为项目文档、个人博客、开源项目主页提供零成本的静态站点托管</strong>。</p><h2 id="工作原理"><a href="#工作原理" class="headerlink" title="工作原理"></a>工作原理 <a class="header-anchor" href="#工作原理" title="永久链接">#</a></h2><h3 id="请求流程"><a href="#请求流程" class="headerlink" title="请求流程"></a>请求流程 <a class="header-anchor" href="#请求流程" title="永久链接">#</a></h3><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br></pre></td><td class="code"><pre><span class="line">用户访问 https://username.github.io/repo/</span><br><span class="line">          ↓</span><br><span class="line">GitHub Pages CDN 节点（全球分布）</span><br><span class="line">          ↓</span><br><span class="line">从仓库的特定分支读取静态文件</span><br><span class="line">          ↓</span><br><span class="line">返回 HTML/CSS/JS 给浏览器</span><br></pre></td></tr></tbody></table></figure><h3 id="构建方式"><a href="#构建方式" class="headerlink" title="构建方式"></a>构建方式 <a class="header-anchor" href="#构建方式" title="永久链接">#</a></h3><p>GitHub Pages 支持两种模式：</p><p><strong>1. 直接部署模式（Deploy from a branch）</strong></p><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">仓库分支（如 master/main 或 gh-pages）</span><br><span class="line">  ↓ 直接提供文件</span><br><span class="line">GitHub Pages CDN</span><br></pre></td></tr></tbody></table></figure><p>适用于已经构建好的静态文件（如 Hexo 的 <code>public/</code> 目录直接推送到仓库）。</p><p><strong>2. GitHub Actions 构建模式</strong></p><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">源码分支（如 main）</span><br><span class="line">  ↓ GitHub Actions 自动构建</span><br><span class="line">构建产物</span><br><span class="line">  ↓</span><br><span class="line">GitHub Pages CDN</span><br></pre></td></tr></tbody></table></figure><p>适用于需要编译的项目（如 Jekyll、Hugo、Next.js 等），GitHub 自动运行构建流程。</p><h3 id="域名机制"><a href="#域名机制" class="headerlink" title="域名机制"></a>域名机制 <a class="header-anchor" href="#域名机制" title="永久链接">#</a></h3><table><thead><tr><th>类型</th><th>域名</th><th>说明</th></tr></thead><tbody><tr><td>用户/组织站点</td><td><code>username.github.io</code></td><td>仓库名必须是 <code>username.github.io</code></td></tr><tr><td>项目站点</td><td><code>username.github.io/repo</code></td><td>任意仓库名，路径为仓库名</td></tr><tr><td>自定义域名</td><td><code>blog.example.com</code></td><td>CNAME 指向 <code>username.github.io</code></td></tr></tbody></table><p>用户站点（<code>username.github.io</code>）是特殊的：</p><ul><li>仓库名必须与用户名完全匹配</li><li>访问根域名 <code>https://username.github.io</code> 时直接提供内容</li><li>每个账户只能有一个用户站点</li></ul><p>项目站点的 URL 格式是 <code>https://username.github.io/repo-name/</code>，注意末尾的路径前缀。如果使用 Hexo，需要在 <code>_config.yml</code> 中配置 <code>root: /repo-name/</code>。</p><h2 id="配置方法"><a href="#配置方法" class="headerlink" title="配置方法"></a>配置方法 <a class="header-anchor" href="#配置方法" title="永久链接">#</a></h2><h3 id="1-通过分支直接部署"><a href="#1-通过分支直接部署" class="headerlink" title="1. 通过分支直接部署"></a>1. 通过分支直接部署 <a class="header-anchor" href="#1-通过分支直接部署" title="永久链接">#</a></h3><p>最常见的 Hexo 部署方式：</p><figure class="highlight yaml"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line"><span class="comment"># _config.yml</span></span><br><span class="line"><span class="attr">deploy:</span></span><br><span class="line">  <span class="attr">type:</span> <span class="string">git</span></span><br><span class="line">  <span class="attr">repo:</span> <span class="string">https://github.com/username/username.github.io.git</span></span><br><span class="line">  <span class="attr">branch:</span> <span class="string">master</span></span><br></pre></td></tr></tbody></table></figure><p>执行 <code>hexo deploy</code> 后，<code>public/</code> 目录的内容会被推送到仓库的 <code>master</code> 分支，GitHub Pages 直接从该分支提供文件。</p><h3 id="2-通过-GitHub-Actions-部署"><a href="#2-通过-GitHub-Actions-部署" class="headerlink" title="2. 通过 GitHub Actions 部署"></a>2. 通过 GitHub Actions 部署 <a class="header-anchor" href="#2-通过-GitHub-Actions-部署" title="永久链接">#</a></h3><p>在仓库中创建 <code>.github/workflows/pages.yml</code>：</p><figure class="highlight yaml"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br><span class="line">13</span><br><span class="line">14</span><br><span class="line">15</span><br><span class="line">16</span><br><span class="line">17</span><br><span class="line">18</span><br><span class="line">19</span><br><span class="line">20</span><br><span class="line">21</span><br><span class="line">22</span><br><span class="line">23</span><br><span class="line">24</span><br><span class="line">25</span><br><span class="line">26</span><br><span class="line">27</span><br><span class="line">28</span><br><span class="line">29</span><br><span class="line">30</span><br><span class="line">31</span><br><span class="line">32</span><br><span class="line">33</span><br><span class="line">34</span><br></pre></td><td class="code"><pre><span class="line"><span class="attr">name:</span> <span class="string">Deploy</span> <span class="string">to</span> <span class="string">GitHub</span> <span class="string">Pages</span></span><br><span class="line"></span><br><span class="line"><span class="attr">on:</span></span><br><span class="line">  <span class="attr">push:</span></span><br><span class="line">    <span class="attr">branches:</span> [ <span class="string">main</span> ]</span><br><span class="line"></span><br><span class="line"><span class="attr">permissions:</span></span><br><span class="line">  <span class="attr">contents:</span> <span class="string">read</span></span><br><span class="line">  <span class="attr">pages:</span> <span class="string">write</span></span><br><span class="line">  <span class="attr">id-token:</span> <span class="string">write</span></span><br><span class="line"></span><br><span class="line"><span class="attr">jobs:</span></span><br><span class="line">  <span class="attr">build:</span></span><br><span class="line">    <span class="attr">runs-on:</span> <span class="string">ubuntu-latest</span></span><br><span class="line">    <span class="attr">steps:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">uses:</span> <span class="string">actions/checkout@v4</span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">uses:</span> <span class="string">actions/setup-node@v4</span></span><br><span class="line">        <span class="attr">with:</span></span><br><span class="line">          <span class="attr">node-version:</span> <span class="string">'20'</span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">run:</span> <span class="string">npm</span> <span class="string">ci</span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">run:</span> <span class="string">npx</span> <span class="string">hexo</span> <span class="string">generate</span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">uses:</span> <span class="string">actions/upload-pages-artifact@v3</span></span><br><span class="line">        <span class="attr">with:</span></span><br><span class="line">          <span class="attr">path:</span> <span class="string">public</span></span><br><span class="line"></span><br><span class="line">  <span class="attr">deploy:</span></span><br><span class="line">    <span class="attr">needs:</span> <span class="string">build</span></span><br><span class="line">    <span class="attr">runs-on:</span> <span class="string">ubuntu-latest</span></span><br><span class="line">    <span class="attr">environment:</span></span><br><span class="line">      <span class="attr">name:</span> <span class="string">github-pages</span></span><br><span class="line">      <span class="attr">url:</span> <span class="string">${{</span> <span class="string">steps.deployment.outputs.page_url</span> <span class="string">}}</span></span><br><span class="line">    <span class="attr">steps:</span></span><br><span class="line">      <span class="bullet">-</span> <span class="attr">id:</span> <span class="string">deployment</span></span><br><span class="line">        <span class="attr">uses:</span> <span class="string">actions/deploy-pages@v4</span></span><br></pre></td></tr></tbody></table></figure><h3 id="3-自定义域名"><a href="#3-自定义域名" class="headerlink" title="3. 自定义域名"></a>3. 自定义域名 <a class="header-anchor" href="#3-自定义域名" title="永久链接">#</a></h3><p>在仓库的 Settings → Pages → Custom domain 填入域名，然后：</p><p>DNS 配置（二选一）：</p><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br></pre></td><td class="code"><pre><span class="line"># 方式一：CNAME 记录（推荐）</span><br><span class="line">blog.example.com  CNAME  username.github.io</span><br><span class="line"></span><br><span class="line"># 方式二：A 记录（指向 GitHub Pages IP）</span><br><span class="line">blog.example.com  A  185.199.108.153</span><br><span class="line">blog.example.com  A  185.199.109.153</span><br><span class="line">blog.example.com  A  185.199.110.153</span><br><span class="line">blog.example.com  A  185.199.111.153</span><br></pre></td></tr></tbody></table></figure><p>GitHub 会自动为自定义域名签发 HTTPS 证书（通过 Let’s Encrypt）。</p><h2 id="使用限制"><a href="#使用限制" class="headerlink" title="使用限制"></a>使用限制 <a class="header-anchor" href="#使用限制" title="永久链接">#</a></h2><h3 id="免费账户-vs-付费账户"><a href="#免费账户-vs-付费账户" class="headerlink" title="免费账户 vs 付费账户"></a>免费账户 vs 付费账户 <a class="header-anchor" href="#免费账户-vs-付费账户" title="永久链接">#</a></h3><table><thead><tr><th>特性</th><th>免费 (GitHub Free)</th><th>GitHub Pro ($4/月)</th></tr></thead><tbody><tr><td>公开仓库的 Pages</td><td>✅ 支持</td><td>✅ 支持</td></tr><tr><td>私有仓库的 Pages</td><td>❌ 不支持</td><td>✅ 支持</td></tr><tr><td>构建频率</td><td>每小时最多 10 次</td><td>每小时最多 10 次</td></tr><tr><td>站点大小</td><td>最大 1GB</td><td>最大 1GB</td></tr><tr><td>带宽</td><td>每月 100GB</td><td>每月 100GB</td></tr><tr><td>构建时间</td><td>每次最长 10 分钟</td><td>每次最长 10 分钟</td></tr></tbody></table><p><strong>关键限制：免费账户的私有仓库不能使用 GitHub Pages。</strong> 这意味着如果想用加密功能保护源码，必须升级到 GitHub Pro。</p><h3 id="流量限制"><a href="#流量限制" class="headerlink" title="流量限制"></a>流量限制 <a class="header-anchor" href="#流量限制" title="永久链接">#</a></h3><ul><li><strong>每月 100GB 带宽</strong>：超过后站点会被暂时禁用，下月自动恢复</li><li><strong>每小时 10 次构建</strong>：频繁推送会触发限制</li><li><strong>站点大小上限 1GB</strong>：包括所有 HTML/CSS/JS/图片文件</li></ul><p>对于个人博客来说，100GB/月的带宽绑绑有余。正常访问量（每天几百到几千 PV）不会触及限制。</p><h3 id="内容限制"><a href="#内容限制" class="headerlink" title="内容限制"></a>内容限制 <a class="header-anchor" href="#内容限制" title="永久链接">#</a></h3><p>GitHub Pages 明确禁止以下用途：</p><ul><li><strong>商业交易</strong>：不能用作在线商店、支付页面</li><li><strong>内容分发网络（CDN）</strong>：不能纯粹作为文件下载服务</li><li><strong>非法内容</strong>：违反 GitHub 服务条款的内容</li><li><strong>自动化生成的低质量内容</strong>：SEO 垃圾站</li></ul><p>GitHub Pages 的定位是<strong>项目文档和个人博客</strong>，不是通用的 Web 托管服务。</p><h3 id="技术限制"><a href="#技术限制" class="headerlink" title="技术限制"></a>技术限制 <a class="header-anchor" href="#技术限制" title="永久链接">#</a></h3><table><thead><tr><th>限制项</th><th>说明</th></tr></thead><tbody><tr><td>仅支持静态内容</td><td>不能运行服务端代码（PHP、Node.js、Python 等）</td></tr><tr><td>无数据库</td><td>只能用客户端存储（localStorage）或外部 API</td></tr><tr><td>无服务端渲染</td><td>所有内容必须是预构建的 HTML</td></tr><tr><td>文件大小</td><td>单文件建议不超过 50MB</td></tr><tr><td>构建超时</td><td>单次构建最长 10 分钟</td></tr><tr><td>Jekyll 限制</td><td>默认使用 Jekyll 构建，非 Jekyll 项目需要添加 <code>.nojekyll</code> 文件</td></tr></tbody></table><h3 id="Jekyll-与非-Jekyll"><a href="#Jekyll-与非-Jekyll" class="headerlink" title="Jekyll 与非 Jekyll"></a>Jekyll 与非 Jekyll <a class="header-anchor" href="#Jekyll-与非-Jekyll" title="永久链接">#</a></h3><p>GitHub Pages 默认使用 Jekyll 构建仓库中的文件。如果使用 Hexo、Hugo 等其他静态生成器，需要在仓库根目录添加一个空的 <code>.nojekyll</code> 文件，告诉 GitHub 不要用 Jekyll 处理。</p><p>Hexo 的 <code>hexo-deployer-git</code> 会自动处理这个问题。</p><h2 id="私有仓库的-Pages-问题"><a href="#私有仓库的-Pages-问题" class="headerlink" title="私有仓库的 Pages 问题"></a>私有仓库的 Pages 问题 <a class="header-anchor" href="#私有仓库的-Pages-问题" title="永久链接">#</a></h2><p>这是用户最常遇到的坑：</p><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">公开仓库 + GitHub Pages → ✅ 正常工作</span><br><span class="line">私有仓库 + GitHub Pages + 免费账户 → ❌ 404</span><br><span class="line">私有仓库 + GitHub Pages + GitHub Pro → ✅ 正常工作</span><br></pre></td></tr></tbody></table></figure><p>如果你把仓库改成私有后发现站点 404，原因就是免费账户不支持私有仓库的 Pages。</p><h3 id="解决方案"><a href="#解决方案" class="headerlink" title="解决方案"></a>解决方案 <a class="header-anchor" href="#解决方案" title="永久链接">#</a></h3><p><strong>方案一：改回公开</strong></p><p>Settings → Danger Zone → Change visibility → Make public</p><p><strong>方案二：升级 GitHub Pro</strong></p><p>$4/月，支持私有仓库的 Pages，同时获得更多功能（更多 Actions 分钟数、更大存储等）。</p><p><strong>方案三：用其他托管服务</strong></p><ul><li><strong>Vercel</strong>：免费支持私有仓库部署，自动 HTTPS，全球 CDN</li><li><strong>Netlify</strong>：类似 Vercel，免费套餐也很慷慨</li><li><strong>Cloudflare Pages</strong>：免费，带宽无限制</li></ul><p>这些服务对私有仓库的静态站点部署都是免费的。</p><h2 id="与-Hexo-的配合"><a href="#与-Hexo-的配合" class="headerlink" title="与 Hexo 的配合"></a>与 Hexo 的配合 <a class="header-anchor" href="#与-Hexo-的配合" title="永久链接">#</a></h2><p>Hexo + GitHub Pages 是最常见的静态博客组合：</p><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br></pre></td><td class="code"><pre><span class="line">hexo clean &amp;&amp; hexo generate &amp;&amp; hexo deploy</span><br><span class="line">  ↓</span><br><span class="line">public/ 目录推送到 GitHub 仓库</span><br><span class="line">  ↓</span><br><span class="line">GitHub Pages 自动部署</span><br></pre></td></tr></tbody></table></figure><h3 id="常见问题"><a href="#常见问题" class="headerlink" title="常见问题"></a>常见问题 <a class="header-anchor" href="#常见问题" title="永久链接">#</a></h3><p><strong>1. 部署后页面 404</strong></p><p>检查 <code>_config.yml</code> 中的 <code>root</code> 配置：</p><ul><li>用户站点（<code>username.github.io</code>）：<code>root: /</code></li><li>项目站点（<code>username.github.io/blog</code>）：<code>root: /blog/</code></li></ul><p><strong>2. 样式丢失</strong></p><p>通常也是 <code>root</code> 配置错误，导致 CSS 路径不对。</p><p><strong>3. 自定义域名后 404</strong></p><p>仓库中需要有 <code>CNAME</code> 文件，内容为你的域名。Hexo 的 <code>hexo-deployer-git</code> 会自动创建。</p><p><strong>4. HTTPS 证书未生效</strong></p><p>GitHub 会自动签发证书，但 DNS 传播需要时间，通常等 1-24 小时。</p><h2 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结 <a class="header-anchor" href="#总结" title="永久链接">#</a></h2><p>GitHub Pages 的核心价值：</p><ul><li><strong>零成本</strong>：公开仓库免费托管静态站点</li><li><strong>零运维</strong>：不需要自己管理服务器、CDN、SSL 证书</li><li><strong>与 GitHub 生态集成</strong>：代码和站点在同一个地方</li></ul><p>核心限制：</p><ul><li><strong>仅支持静态内容</strong>：不能运行后端代码</li><li><strong>私有仓库需要付费</strong>：免费账户只能用公开仓库的 Pages</li><li><strong>流量上限 100GB/月</strong>：对个人博客绑绑有余</li></ul><p>适用场景：个人博客、项目文档、开源项目主页。不适用：商业网站、需要服务端逻辑的应用、高流量站点。</p></body></html>]]>
    </content>
    <id>https://bsheepcoder.github.io/2026/06/17/hexo-github-pages-guide/</id>
    <link href="https://bsheepcoder.github.io/2026/06/17/hexo-github-pages-guide/"/>
    <published>2026-06-17T14:00:00.000Z</published>
    <summary>详细介绍 GitHub Pages 的工作原理、配置方法、使用限制和常见问题，包括免费账户与付费账户的区别、私有仓库的 Pages 支持、自定义域名配置和流量限制等。</summary>
    <title>GitHub Pages 完全指南：原理、配置与使用限制</title>
    <updated>2026-06-17T13:22:48.416Z</updated>
  </entry>
  <entry>
    <author>
      <name>Bsheepcoder</name>
    </author>
    <category term="技术" scheme="https://bsheepcoder.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
    <category term="建站" scheme="https://bsheepcoder.github.io/categories/%E6%8A%80%E6%9C%AF/%E5%BB%BA%E7%AB%99/"/>
    <category term="Hexo" scheme="https://bsheepcoder.github.io/tags/hexo/"/>
    <category term="加密" scheme="https://bsheepcoder.github.io/tags/%E5%8A%A0%E5%AF%86/"/>
    <category term="安全" scheme="https://bsheepcoder.github.io/tags/%E5%AE%89%E5%85%A8/"/>
    <content>
      <![CDATA[<div class="hbe hbe-container" id="hexo-blog-encrypt"     data-hbe-format="4"     data-wpm="Oh, this is an invalid password. Check and try again, please."     data-whm="Oh, this is an invalid password. Check and try again, please."     data-salt="3f5e259d06fba421d4cede54c2fe22667f4f5d81a685d69a0792674c619813cd"     data-nonce="9a9a03080eea59891ce17856"     data-kdf-iterations="250000"     data-auto-save="false">  <script id="hbeData" type="hbeData">    52aed77c9b4fd0dcf558fa2299e204b0a6f98a17b5b4dc5a0c03921867665136090b4c39e3509584d23072016b3083d6cd2206320fa3734e56010f67d205ae9773f5eac7d2f472c33f09595c7971c8a4ce1a3182499d47b560b8fd63410fb4206aa1da5afeb4a384a0d3751dfcca8f8a507e5c2e662d896b5eb8c796c6294557bc1d57761a88f31f39c8269f3940e23bd3b785b9894fc01715e9bd4262f32aef38459d45152088c0140febaaa07ab1ac53fce671b178b548a5c6bee76bdc466f7f751cc5e85b31e696aadfdd22441afed684ede5119135ba2865a711d7019f93ee88c75cbd351dae66e1b86fdcbe4aaa192673f94a13873b484f8e0b4ff3064b29aeff5226f7418b278e9813ed9b7d477a04f682e7f26120b20ef5f4291fe4a92ccbcd9e818413c84c96506638f23bf6c7f663b29e53dad4f9eeb14908563b011a8eba2a080ac6ac8bd81b1874a4a6225c964e13af36c228ef8389945116dc8e3171b64fd4323f2df1cea58a618ca8732774fa938eeaa7fcbb5649b21d752ec489da5c78318040732e48c803d61fdab4f988307d0e11497db8534b0704ca5674544b20c95a4d8480140aa313bd04b37a9604168f8da330b5c46ef9a46ae433a910a442f80c1664bbcf3345dbe9037ab15f1d60de93730bb1ce68823b603bf5765928a2430b2689d840d0fe824c8b02dfec77993ae1e7f8500e6c26a8dd9379043311ef5ba90a43fe85e28ff86c4c729c06c75c4746b000073cf636fd5a61cd08fefc9fd0787655b70e2123f44ee13025af95ba8234a7342bf2001ea85ec3dce15c8cb9f43acdf91f132ad1412de0ef1267d4a9d31f06a956d3e7ffa07ffe0a3a4f12367ed292e60afbb2d4a28aef442580c20fbf3c7587eb6d8c3a275c390c674fe89fb5ccf40f01ef9bc4d77293118010848f90ad37df88f23ad929fa4e244161e50b869c82b27854367cac3f007dadcb6f042a9036357009fbcdcdb96164e633fc0b86d064cceb5a6b525bea06e5e9a3f5a3e678ead6476c630809f81aa7050340409b03f5e798db5d0325ed46a4007ebb284276eef2d017d9afa67758f27d96a46b49f4abb655e424669ab8ebaa4a353b80f3f565b2cb7ba9fc200676f23095bf9fb8e7c35f3cc26bc3596479beb354f0272e419002f43a85734cec6cd2c3f9fdcdc480b6f8c7cff4dad0ddcbb3ef32683183b5bf7ea436133c68f1ddf42d30f4ef19211c67ebc5f09ee3595e9d0f211e4cc0883210b138f1b16510530734b3482a5281f9f9bbf9d4613a9f7896353e1b464bea2a9e7ac311702ed1bc3034b6b275cd0d35bcede4ecbecb4aaa8c0fd32d81357ee2f026edd17f16e74121cd41547f15072a5ecd7558c9f790b6b1785f107a2dea1fca211a734bff8756de7a26243ed064ad5c2563943852c2b72fa7f4dfac059b124ee3a804e6cf8af36b6daa244d54641cf5b9c5c5bd40a01c777317910806943b2d2766c51e4d9ba2d57b6175b98079a4cdef1d8a9167ff42c57f2be9b401ebcd2bcf4d258f3ceec89104eac1c5db7ea3e72a4c1305cf7684e1b71f36b8dd53ed21badf1a3be7a3aac9fd0379a48055fd329bc5f8f4b1ca537e2f2bc26040260aa89f8cb6f2ce1df72886663d0dfc2f9463858d7126fdcf8dd3b69d535f3473d8641cfb378e13f6244875ece66210b9a10ee95e758169811ca399f0e0ff807a3a927b9f506c78f1f7204b458193b104d00ed796d77d8f94cbacf05fa0db7c15fa5a5cce282d6fc9ac2a0d9848b8dcc7bfe52b65daf09d7330c0c738eecb659c52ae653450d8774b54cee903711b784842eb3b9f253f4ddf2423f671883a6a960712729cf06c53471cd3631321cce863885e5382942540f247ebd5517daa59bdf69ea13f84a4fecacf0883295a18eb48dd3cb2daa9537e5c027d59851d355508e5ed0885652a18eddc50cdc9863868222bd8461ad9351a434a54b7446448e98325e9261784c308c85e26cdc5be29adee50f26748bb603b7ba9b6883f6f20ed26764f98b191397e26d48535de5e373dc0a48378ea2fa9439033ce7a0d20d92a7339f06f33a64db8a6f1eaf1624b7c001c824b0a3f953f4581a29d7068e7231e172bd4cdabeecf1d74011386eac298df38313d42e5fa78a8e6baf55136019bc6af06494a5076698fe5311f79c8ec25ff50910c2d9a8fbc51b16203a5c061599426f115a3420d75015d17bd6175fad5f192d3eee175ba1a4eca8aebd6db3bc15e13251dc42b8f8a5398e7c117483ce3c69a2310e9a772565278d18f9d19a02065bac8d91f17d3184ef2f7013a547722183828ab4ca821bd91c256fbee40d4653f833f5eccde5af2b579e1523ad9d2bba12e99f23a09b4e1f285eb4bdf9bd95870dd91632c32542b095c33426808d013082174945f09855200e8fc9a4f042340307e8b1a65c215aa4bd1f8777bee6410db985191524e8ecd2816f785c8c9d147c1cca508d8bcf3a258edd24c8628f69009289aa9609f57e4bbc569f15cbac0ce3e4e42d639b31caeced2fa3cb699fc6496ca67aee2e71870eb7eda521f6588f6fe1a5c8853d31d1181c0c1d3f581cfe81e74bcb87d7a2d1a92d2bace1e3e5ed30979e628ef201bb2fc5958121cf22eeb5708c47970b31d70fa6066fa7c84055a9fd148f7b4eb6bef7bb54b7f7dcfad59dc105474f0cfe94700e089907c0d4cce2f4eb5ae615497556a6bbb808c2b60a16023b9bc47a448ec48ce82ea3c2c34d2200b6441a8b8c09277f4888a80e30b8decaa7e4d61397a890043ce3b326ffd6f764c969f090870d19bb96f8b835309fc2172cef99f64d92ddb4b247869e0751f3bedfb208c2512ab4c323d2ad97e87d17f9192192ad6ba14b2ae509e1fabe120d4d875753c75e4976cf5e43db7974a5ca35b2fdf436507a0294eeaf37a5f451cb802d554b9c520ff3e333ed0c7fc96255a3ed2c6474b1e03f2a53fdff5b7473018dc0e5113b06bad6c4030cb553a74babd6916e349d042f095d9828cf9af164acbfc007bded3860eb190eb46547f7b36ed53c2bfd3b8c80ac7099bb25024ed9d4b75680e0c3e28ac9df7358dbdfd47dac82ae8369973335883327cc2cc90ae8174b0a3a2462e5ec0a85491856e6ff352aa864a0c7b62124b438cbc671aa2e93e8a3105352b833dcc584d9313776924f3849f54bde1002daddddc23126144490327a4abf45e9a4d46b6cb7d290b7e37e730db606854b64443a4c853538778beae19226011a67265390b691861d6f45ad881d42b7eb8e3b793a2468c84f1cb2d1d7582a99cbeb4593dc6a7637ce6bfcd6fdeec28ae1671aa381a252fcd1271346c2f58d3136933bd6581c9a770b7b5af2071d5cf66484ab08d0390aeb3b190518379be6b76f41500217c7dfee14ace280fad423af44d3c33a3cc336c9208f0a6277013e7f90b478795c5aebb9e419831921089976aef4c02b9aa43862f336496a46a45520baa780080f107fbaae3b875cf4410b2754cdcf7a1abd2d1f2bf6af71bdf036db84b9708a3a8fa5f775a51549b2e5fa6a859e319fdab8bcfa14b88699cfac8c18330486e407b424488deef9dfa8fc15edf3db0fa481c7f9b9c28883872761b506be153ef73205a237826c7fd4f80ff073a7ada8d13fbeb213b231d6f4d2a9f2674406777dd549840baa6a569f3621c5b4ee078819903d48bf784344130a22e008953b7e444da150818e43eccda0068c9a091aec24745877ab1440ab3b36ee8e057d6c47140b695ee79cd38cddfeaa2f113046aa6f152d0fbc6f98949b5ec1d26dd2041df3d72d2a61cde64ad102212370e7c7ce270173d9c5e92581b3c97deff9d21592f5fbb7a83d3ec1bb0c9fd1950a77397adcb3a71a9aa8fb2e5331507d4c5505323a51ddcb956815fae4946e8696ab934868a31ace560bc9704eaed002279b23b1ea614a6915b9866be15cdf5f16a626c16be1d8f9fb92497cc1f597f1f347c26a735f2e500a2f23be81f860542e5eb92b89c5a12b43f1af56a72e4617b662800bef6cb0e3a93819c93b480b3e747b2f31a49926eb842aca24f01455846603035087a54115e8d6c10471a0176d0a57a4f204a31e317376a6601a1979ea9c0b8847f9a0ccee479e0703f18dfb32f29c6168b881171a571e0d155114bfa77d99d9d1fef7380ec6801b6e633941604c76f9aabfc1b59fa2cf8e37eb3c5eb9ccea724e5bab33d9b0294c88e48265abe38e2e41b80243aecad18de7b8c2d12d6891e14f571cbe5525a5a494827ba987119fa4c79471c72e23049cc9ab71cb6d33d8709b62c01cd6d8fed36ee92fd6b515a094ed75283565377c62c0aa0c2ece49935d230dc5d1bb2298bc3a5036716e0b5777d69b3e5b813c0dd050da4c4954bf565b2a177ee3e0a37a9b201b7057a5f49d18a9734484b863f594b66117b302c6944052a2bda54084ce1d5254d892bf300775689362a073c7c931f8b97e2043f02a831ae9263ec1f0cc5c4a62e41744bcd93b9e9a1fdecfb5b073c8ce635e0e99282944dcda6d5bba139ad21c211fda0e614abeed574452ad640a6191fe47c4e9f0aea920e5b895abb210e9e2523400e01684aab3a296e9d1db67d25fd0c4784e35879a7a832d1720cf46d30c2be55621df763c76e118882851095ee7c91862f75bee6448457ac2bb8e8b808e95658c397a8eb44c5804e5b7980e73d2e6351af48cbc1f51db1fccd5f2b875b78af1f31013a7c08d742f4ec0232e3083253aadb8dffe4ee34133f1aaa1a1ad288f3e1d8ca48d462ea26457a19b55a84d416af67857cbfc49269fdcb8c868351d2b688300afe15e9ed752fd5085e78b76703e0222aa9aa441807a2815d0467aa99597aa7887e44f0506c03172c6288c5aaf915028cefd63b2b6e938a76e71757f5e9f17e8feb926e5858f73df7aff060f46d03e58c4e771cb1966c13c21625c34a26ae3d083dd3ca6a91054126e1f8ef013c91450081ae50abd7a196367b2e8d43b41d006c2236b775951a406e763500813d5da342da5d0071c30e6eb76cad354e036f3ecd85084f80f155d86356499efd3572f172a2938f40ebcc20d650c46a785f526324c4276d3a875403678a15b4dfa220a5fef7780cd534c2d164056efe5e115f28f56c53bdd490323a04049031a7a93a581871676d760896847d0ee29fd5169961957dc176d1bf4c7083b63cd2d010e0471d548e781a31c99b649e3c1cccfa29cf62815d6f43522d1ca88309673d193a087fdd973afacf430efc8e15ecc9ffec4cae3b2903c03a46e6928657c82c318f1b0a292012684ebe878536d523a60507caf6599e0615af2effcb2e4db297dcbbb34ac70ce264af8e74c9a6b543ad45b8069d39c352248cf448000e4e2a960fb938bb5b95fb6a543695bfce7e6f30343a1ed4465f1bee81475aaf2235197576b14202de01d2822d5ad6808e8de857db9f54d03baf6439a817b3ea6ffcbc83bd764b2fbd6fe0a9d4027311e582322972a5961b84ebc8e58e5b14cdd6b115e388f306bdef5b84f0ed0b42f5d951aec24763efaea7cbfdd21240f986b3fe472c13abe1af08d6375c55231c420790e9692d265a84bd369cc3dfedc967b0bb6963fa2c84a81e38e0cabf524abf337654bc7fa2a016331e195887f1caaca1234f9145a87347bc260f10d49c73a7d43a7c17628b74b89f4988e30cef991c9cfa33825cbd0ce5272ba355cb36b915870e1fd9e41dc1826b210dfe3ff19d7ad20ea40ee5868045afb94948961bb279acea5ed4934b5ae9bb350bb553db4f257c383b130f743e01bbf8ff9ed206876503338d39c6496ae126fb659452c79ad6e4d2efd3df867fec4bbea2e6e6534425922fb52661f7619af87e67e06609954424cfd26f4d857a0126a354eedfd23217474cf79fabc8bbceecc862d646cb355245413ecdeadb7b74cbc1c938734051e192c4c10fdf508a35bf49ad34466e4ae84bf0a11bb117aaf022982ea8425ad25c0979baab35022676e6b7731cd20d93216c666d3eaf9736898b03a00bd5f4689dafe3bde6db6e9a7b284ba057dc4167e7ba8f0c59076d9aa215b7a4b37747efa9d9b5e23fa72e56b3487bd781f55a7760f6eb550e48248ef498a1bb2bd17ed27e1c5c12651e7f134ad3b155869e4d2a88fea6501fea046955bd8fdba772667017d81b4b3a226240d9288ca2b191910d6372f5f080c30088f6af7c96853e15827dd2fb044281defdcdeed35f0d767d6565a4018e781bde4d210c48a82e06a7b43a03d9e779ccf4af9cd88c83080358888ebe1ce77e6096ad36f61e5c0bdf0300a6c64c55aec4a359c793e454dc14fd4076d819127d18b5ff79573548aee8a92424ba968d3655a3fb7916e4300188bc63af97c16bfd5227106a4f5146fb29367881e96f8ddd6f5c7e8cb47b48e0dfdfb0cc6a3146d4c0a048d3e59d89a354545228533c57cddd32003ee44b18122245520b993719a0c09c51b66ebc678f00484e5732443513be4b5f2c5d5cb5a846f013079d7a5a0246b8de1966c1b450eb0897d6d15f7a289f977122136222e6396d2519a2fef38cf24a8828e0b8d275b5d12f55065e9f274b9ae7bb7141fedc06da9af2f5256518563da52c27a7249c95362894f2dc65a58171a006bc6d9177b4f6dcf9d7fb851862ebe61d6664c676408b42a063e23c544f89ad14959d83d1bbeee241f965b4b0a4a3c0d239b23fdbe30cdfbcc6e944cb3aa1b5a6654fade363ba415e06385ee743105b5430ad15ef435958bcaf1808b3bb3e1dfb0b00a6895b253dc99e83bce772b687f6fc0c2e0d072b6d7ee913729665f758ddae33d5d45c484f77f550f398fd43f4eac60c3ffb3ab67aa8ce5d30b0b32655bed346ef9da8a2cd7b967a412063ecd5b56cdf9982adbb7c058e42e2141740e952c7c95f28040666bbc83b07806540ffdbd93de18da63b60b32408850b7f34157ff9dcd60906a9bce68131d270a5b0c4bc7f071e9e5f1f9805aebb067f95753ff9f63c55326aff955ec0d60140cddb76847a8b204dd72f7cd81ed06a29f2d9b91ff694f68577ff7c4cfdbd69e5fbc4c1e0b0464aaf2694a03727573867c34ad0a002d8b4ae8d3231a420c77f3f6403efe0bbfb7d37930725a89d5805d37a5d569c514fade3de24a287820f7310079d7b51d46d3865c687be5d05564f2c60894a609e9372d76f0027111818b7bb6bc79962e1ec311e5cb4d60020f2ca5bae2056011d282737e05caf904b8c91430fe6ecd7f52e7a0a3a7adac86f16ea6a43bda92c82db0d2c118ed835e7aa61f337470cab3969d857cd3a0db9e7f9be85c82282d29ecc662db98b80d5733818e61ba110c8ebcb11f9b72c09c8539336048e358edd7eb55748a3753081e7f9cdbb2fac7afec187f82fa83ab397b803b40f1cc6cf685724527bf4a115e7762c208e55bf1203b9d13c8964cbde1e23b926ba924b6e846b7bba6de949d60a1421cb6501da3f32f648de7b25bf9c5d68e15d6002e7a74c00a5f7261f70025a8bf487a5dc3d5a576b5e8188275c76104d192a8891a9e4970fb45865e5a87599bb7bb1bfdc190405a0196be25978717d06b66d8a189599ca20ebbdff6f7e11ba92be6d81c6e6f0946d5a914b32090c62ba51285923094f298ae9e154eaa955718d2a7e8a804f334595fb3b5e25f1b58464e9c4bc6ac316e2d0ca706c6648e53cba5a19d12b732d02d284277f35d616d916a8dd1bf3a01d2f44926ce82a14751f8cc9b296d3796c4823a92bbc3129d8baf980f3458e9f9b907c9ce6381b0cc1b1df18f06dcc61fa86aaae05067dba592371ec36f8b4d48e8f29e0f4ac15cbc59c4741c063ef81e442129a90bb17fc23f3fb3c0eb3b449a6b36406f9e2a2b1275927b05f6837a0111b84ab02a99a51714fe07ba8c61d6cc1c28856dc214b1671cc11af5b66f1f5bb6078c5128f275ed5df3893e4668aab833f4603062fdc340b23892b74f437fe5382f82c465eba2265f2836275230d2817958edeaa7fcab7324721a8830b6548afd7e7f10710e87e69848c7147c7611c4478631e320479da1b5eeae55778d627d725263d179fe9efcec3cf041ad36d77fcb7318040a27ff13cf143a7c88a856c700ed8b533a70fe0a8bd4b8a144077c29cbf971aef45f50900f5ce77c712a86b5a6283fb293a9c87d1c2ed7979412751793626d1ccd19d30e5b32b6bfe68e86e061236aa139e291881cc8f53f020eb101d0d416bbefd10d2ac3aed42649165db1dbbd4045406c860be9a3668de212e38de5e1cb38f2eedb47cba40b7d005a81d11b35268c4ff579ed266db3f4d06930361c0ae81b9f041a09e815bb2434adb2e1273eed8ba7b39776249b5db8c92c4fb3a3f7baa9a1ddbd4977381cad5b99e836849cbc4dfe91d9e8dc8197a0bdd62a7aff7d8e33e57f828e636ea3d9f44bf5fec31088365e786871456adac35701f86da953a10ac92441d53d023f1156e3db0f200364e3e54bcfc6cde260c145045552133ba98fb3ffeca86f452a72469837368c5d4319d74b0032b4f1664138a0e20a38db2cfc6bcfda8378defedb2b1dc7a4abe7903f2c595e801094b8811e0915bc2ff214825ecda41a17c155e22d19eb8285b51b4e837d27f76940343950a631df52848c5087a5f91ca90d681ce19290626c4674bc2c14f24f8f7ca1f95ab8db4e60297bfd3f322c6cc37d4df707da5ac4621302777b9e7ed3b3a5093969bf7ddf78950cca4556a0d8dedd34440bc4b10411df28bd4cd00c4e4c95254a8759ed2e51acf6475357f8ea7ec0d8f33797599d603918c2f9d53f041980ef52f7ce59f802db650a0037a74379d6c2e16c668bf7d044eef2e722df7cf7b845ee23c4330e8ca62f033cd43af5ad7f90bc9f75f4c4b50f5423a91182d66e1e64c1ea528ef40b1d881910b1bd18c47d086661f8fdcb627458bdef7d5e8284bc025a2aef2938daff2534b0adcab45482d559dcc34b563f893f501a1a131188b97447c0c1af3ee427b5bb167857654e2392ffce7bcd710805323c9c1bdd0ad832e2789c2f560e443ee34f5715e097fe01182a9e959c5157ba9fe8c11c3acfba5b0378123cbf86a8e0f572ef91adcbc896669f8c136dd8bfaadb7415e604f554e03bbd8158d56f48c9f51dea4b64c04230856224c146feba5bf42b4810c5c27cb4d38c124facac581bbdab03647cb0550695595bd048fe9b52de3b1a83d339ffe49b64c3f1147737e90e2405b1bd82e4dd5f21cf8f5b7542cad38d35f6be5f5d065ce0b3429b54b14b69438b801d70719779d9fbd502a5f76291a27113b222b7ad4f62d36087430c4b07bd46d6f9f2904fb71ba4399e4bbb1d9f9e7e37db7f61ec0ca08803a8240c93454868350d1248ee73e4f7a822d147be9ab022a6ad9598237a2a555f145dba267aa31ea3099314b6400077eee552ab0bb6be298c648bcf864da66a65b56245c37fdaa00448a107ebdfdfa93829c50e3e1ce19336a4a1cdd22f263c7bc7f0fed382d8138be1e6fb87f5025cd39ccce0f9ada964cd03be210990bf085b033f471dff0c7ea453dbaf86a851b5cbc1d013cf2b6240042060e6999d453c160d13397052b2b603c216417e755d125063405894b790678d2c640fd508b9a9a272548cb189b5f99fa90fc71d092a6934e497c91a40a78a58be3277404a6969d8014ec82b874b7967cc261c6656759af1d48d1e20eebbd64c283a81d1f99f54173790b422182578c8da75c5054de3e12b88e8409619bf4b80a4b04a0528b93ecb40efce3ea97065fb576d6d52d4b54cb96ddea54d076ca320412ee2c9b894468d02cfcc7e7143fd3395e010483ec15c1c29182ebb52b4e4feb26623a2e046f90c761e80af2fa44aa5d92e05b900eaa3b45031948c755f09f173cd5e7ac02da10db84dbe6b103bcc2f8fe42598d2945162323042dcef3312014a5b474ae3051b3a9abfdb3d8a6c67440eff4fec5000045ce204baa5b4d73c09c724dc2fbc234e40ab9f2541c9d503d965cc7c97f1972a95bb2bcb454d5d508445b9060a254d1282e1f0edd787874b01914a7d360c43bd11c539647c09f27c781a13dd690539bf0b04e4795716dba3efdc1c7139c666f1ceb48e6f280d4c3f69b3177f60adbef0ae4c856998b19d866e03323a9bb323b9a625f51a270cc89805c37248a87762aeaef0abefa7c6ead926e8cb1fbb58acbbcef586aa10cca7beef65e9a516bcd07c0f14281b7e25624984f341f298793d069d9adba240c03a3bc59b7e926fa22ce751d4f1561144d4ba2ef079d9959ce3da18090e7c2acf8d4dd9d52971f52f9a8be5c0771d77e58661a9be8f7256b362c0fa55dd143c9e1ce68a4edffc84029e5525e52c0a2145f9ed715a4c5e34f655aa94b0b1a728acf6d6523d8e5033d2259ed1dba3775f90aaf7a0ba38c4ebfc1beab80ee5e6c4cc94438e93cad92c678ceefcc052d7e7a1d18bed950ce6e944724b5733a5675d82539861d7fb66d029a59ec16cc3583743461d3e32e90189e6991af9acb88b2ed0fe85e32cd5c1b6117e330049d3f50549db862179e3a5a4c999d4fd6d0bc03f5d25518c7858e57abb495785298be69e3e64d2772718774b30307085d6d4de9c23914087cb7610c5b32f1b4017deb527b5634ae359273e85d92cadd859408079c3e4eb97120708e5f083378f03d6825945903c09c9f5496df8c7fbe07af5889a9707b1156db07c6da1c5b3a3d925f5b50038b1b142da82d05edd2dcc0a51204de99db7b496a3e86f7946c1454126d5cd29893c2d4544fb994ce7695cbdfda15f3d4cdc6010964bc5fbc5da16e697f68452b4c17d139dbe9c221df700ef00568275dd9c01d6c7ccbe66994d49454bf5526a2deee128ba6def1ff0cf9f9f44ece3efd3ff8800e25dc713cebb91055c749870ad6e42daedebeb78f09b52d5913a9782f138b534371ee4c3b8bba8df668dd564cc1a884150fccf3d0af1b20ff28805bdb17c1e2a2a5078346d282c534526110ddc5f9277440bb6d67f8fe1d1ea1c55e2b6448271b671fa175f08e530f9bf89cf96a32ceebc01f95bb022aa090b7caa0467b5ca3570375307501383efbdf8b23d38d603cd268ebd05637a7ad0812f40b66c1345480fd385489dfb8a99d0b3a48d3f3d1d08b79a736c64ca3a80db92b1fba67c2847f503b213889d9b93856baaadc29000606e0cb716e35ffc8785f85dc14a9ab77a152894a7b8b084f7458b0839772638651ed087c7a2f76d4b395309285d57bc71629cc46bf3b30e91c37f3911da2e7fd0056d4e7ef81d46c3d8c58081faa858ced02547405da009ba90c5a464e9546cb1e93ae99b471cd47bef3939a6a2a1887ecfab61050d8b12fabb5f905e0a933b9b12dd77b6396e4315b25a4eed8dd4dba4a07e0a38d8fa6d56683df2a3d7754be947082ecc983f5c8069b719b27b4a40f22fba9da2d2c84886a715323f6c77efe3bbbb2576794bb013777752c693ae09b92eba58710217bdc3986afdd8e859f575fd3f5a29edd5c1e608dfff04e5c48bc01ca71e094bd5ddfdf7bc7ea4703873fc64b58386718c410c7a49beabc6cda24ffda27a88450653e61cca2b78b9e9a07510a45d333a02bb295b17950953b8ba6159f89132a6cccc9ea7072a3bd5781b2cfb0a0311386dff194b7f44be63172287c89e02ed6b0c0b50d3fa7dd2cd0ed43a536282753d7c18ed3c93f4fc15de6b36be31f7d9e698347752eaa5ddb2a080533d7dfe75cbadaedbd1b09218572877556faf9da50e45ff139fa1f74ad1f63962345f540591a9b28fef66f36c95800e2dd860bfafefe79cebfc4d26991d65132ae379886712c2c58e90f4997e0320cf68d98a1f373f0e6d9ad21479fb70bcd4b420456afa6020d2bc9ab67b9295684dd6b1b57d67808a207d490be7c7923c43e988cc97f48f9047e50365923bd3084428dfbb63c886aed596cd7045ca406bb642e0e0359d6926e12eb8ba13d2b5e0a09757f304cfd1cd723b0b7e296588a516eba91afb961ac1b44f9a4dd79415408b17f50618a5137c1377fbcb168b7ae1fc04abb12ae934aba74114748b2e52245e482e2f09206cf1540c49425e16475d52bc9ad3d5ea3cee0a698ec78ab2339809378ee4f4c149899d3645520432d084fbb3fdb11a9bb798031fba338a983ad3986ae61592b2ea148222d10acf0dad3ed07ad4705e936abba7d903b823744aeeecc3fccf0b788fe052fbe7d65d6c91a8b372e8ef5e48e4a22e96a225f8310755ab1499a82a4216e3ea20a4237d25f6c100d38d2f8d9e97cc4cfa53b371d7c3852f2ea6fa42d4a10537889c43a8f0d4dfe01638a96ca0ddd06bb9b2c178fdd25c370d4b1437264d1386bf2d91f3b2ba0a01f8ddc285514d6ed8494751d057d9951ceca955732a9cef183bc8566d81711ab8930fbabdfe792118f5d0f3ac7cc6dadc77c8132ea37d96afe8fcadfa41b3721438337cab57d6e2aad20756a83a8be19bb71ff153521b65cfaa9338072eac135bba9fcd86948775bc82e9c22fc1178911c050849b4c4d85e071525304804811bdf40b3265607359e94fd7b0a4d9d07f827f2eddb5405bf1fd0d8fed283247ecccc171d1ac4a1369a8c3dd9162d1941c46f077d39ded4c053ac32a30ce39e81a1d117e870a60f5e8e822038d208261470de2e197b1f9bb2c55c749fcdab5cc872eacd22111f59d1f1a70855931c923dabb8d4ba5426599ea6b1ee7775cb3c0e4009eb0b29f5f432f03632623b1617d7a92c9931f256967d862ea677fcc25b50a5b8076eb57d3d08b47513e0c1a97dc2a7c8e0943d906b5adbcc2027241229d753e2ce962f8d767065c7af5f396d310927267236c27b3d01941a9b24a0fb02e7c1eec5fa7051a4663183e31f94e387c200526131d3fd2a9dbc87733c058e9c8f9977919234396597485846dc3b930de93bb7dd76c3745d94a23dcedc016d6db0ad79f84d7a215cc5b8269e26bf9a429f166ad1ce9efe3c0dfd98a466b8badd5b93362e1aebbe23fbefbbbe12252beea57750251e7d4f65e26580dd8070a478e965c36b41aa920279d771ae8bad8374338abdddfd3d3e0c243f9a89f649b8f8a269df7428b7a4a7e66ea2f56dbd39b5b15a4b6b2142e9520b9e347a09391722df596697a4e5cf13f39b5adfcfa040631ea521dec900e08db6e83b600fe6d9f7467060990ac3db8ab7dfd21ee93d25f219ed1f7eeab4a85eb6f33b001b9209de4d82923996275310c4ff831df115b90969ff7b0fc6b5e34a45fe4bcda443645fde64400cbbb34f57faa7ca6e500a5b606e3401aafd819e718bf24720a85a514c9858740bea99e52541371e3f757aa13d0db37b064c488287cb84f10a25fd3e5aef62429164efc391c99c6f604cf41348b5b7b8304c7468b4db0377c9ed594cd4dde0b426f68d3017dce92bb8f484994db641908192021e021bfbb90be410362771d12a45622233ee2f0823e192bb278ceb9891e9c8a2f6f463ff9a1ee50f355d918598aa4c5c0c6f8ffb585cb8c7d55fbb0f0958b6cb1f2413a50f214583fc94c6c676ff629f32c975967da30a9547c90649dfb8e1fcd36fd9822804fabac22d4f0d2cbae2607ddc8f1b0098287b9ca4ce368b329ed86b928d10d88db5d69a943464a08cd42c74e14616efcd58008b9c4942dc0ea5cacfd411ec2358c1a9d5455dc69cbab73af35cceabb47a4ae7df68dcf6945981bc6a0d1663367b84ecda6a8d0910e14a9bac67a7ed94d5323029090ebdcc6f1e8bf2e93e8c36b9b1203fcf4efb853cb56da429028c994081a34fc117a12a2587af63d1bf080b7c59452e4c228ff583107f7539074aadec5ae1839c7d61d2f48316b453b50d19bb1f7f9b004a0dcb8b77aeb94a3407d0574ed8544da9c6cb8d77363fd3bec3daa39966d4b8128071dbc58690600391b8fb5dc84e7869c0a25c05b5ab9fb58ac0ad90b3f492ad8bbf1aa4342544285bbee97ce04f8156a851a8f48bb8d7f92f79e3c224d617400931f0a121d44c5b71c886655a9cfa2c84ffb1509d43f64806b39a42d169298989d4f8c1b2e65d114f358afdfaad11003d7b64448578cf8c091bfe240378705c72d87c86f21b811b62de2eac488e0714e21366feca315ec355aa3bbcecfaa23582c300c2ee6944c5ea8c7d68b86a188e96b3f2767aa03d270ea5bd4fec227d3bbd4cb26c79d4eedc7e38c0473e6e1cc3a3918e3378255e19dca2097ec948c5846dcd10c74256cd2faa139341d9fca266f6f661890878aedfc7802faf9842e0ac0abccf88fadeed20b5a016f78062cdf752ae8bc9298fa8a9fdf7aedfa7ec9214dee4c60e67552efd5237988d6302ee84ec875ee7244cd58554cf35e5e0a345545d8f4c2c2edad43e6f6a6391696bcf840a9d222b4c6006e7dc90675cb79d49210483aa8f9a48ae9bd8e8ecc3f8b63e9c1b78a2beaee4c8554fd2a76fb8b8c619d2f22326a9cb10a20c80ae02bf9f042dd41ed6f576439214687e40096a2d95153999d58fc4e271a079890fce47768a4f9db0ecf4b7a308c21110825a38b82386d98c3fe7092eab8c3dc6a0cdcdb07d3d2d9b574bbc611a95a6e5f0aedd6fba4a7a5a5e0dc9bef07194e15fee  </script>  <div class="hbe hbe-content">    <form id="hbeForm" class="hbe hbe-form" onsubmit="return false">      <div class="hbe hbe-input hbe-input-default">      <input class="hbe hbe-input-field hbe-input-field-default" type="password" id="hbePass">      <label class="hbe hbe-input-label hbe-input-label-default" for="hbePass">        <span class="hbe hbe-input-label-content hbe-input-label-content-default">Hey, password is required here.</span>      </label>    </div>      <button class="hbe hbe-button" type="submit">Decrypt</button>      <div class="hbe hbe-error" role="alert" aria-live="polite"></div>    </form>  </div></div><script data-pjax src="/lib/hbe.9e70f1e1d2.js"></script><link href="/css/hbe.style.css" rel="stylesheet" type="text/css">]]>
    </content>
    <id>https://bsheepcoder.github.io/2026/06/17/hexo-blog-encryption/</id>
    <link href="https://bsheepcoder.github.io/2026/06/17/hexo-blog-encryption/"/>
    <published>2026-06-17T13:00:00.000Z</published>
    <summary>介绍 hexo-blog-encrypt 插件如何为 Hexo 静态博客实现客户端文章加密，涵盖 AES-256-GCM 加密原理、PBKDF2 密钥派生流程和配置方法。</summary>
    <title>Hexo 博客文章加密实现</title>
    <updated>2026-06-17T12:40:09.762Z</updated>
  </entry>
  <entry>
    <author>
      <name>Bsheepcoder</name>
    </author>
    <category term="技术" scheme="https://bsheepcoder.github.io/categories/%E6%8A%80%E6%9C%AF/"/>
    <category term="建站" scheme="https://bsheepcoder.github.io/categories/%E6%8A%80%E6%9C%AF/%E5%BB%BA%E7%AB%99/"/>
    <category term="Hexo" scheme="https://bsheepcoder.github.io/tags/hexo/"/>
    <category term="AI" scheme="https://bsheepcoder.github.io/tags/ai/"/>
    <category term="认知管理" scheme="https://bsheepcoder.github.io/tags/%E8%AE%A4%E7%9F%A5%E7%AE%A1%E7%90%86/"/>
    <content>
      <![CDATA[<div class="post-stat" style="margin:1em 0;color:#888;font-size:.9em">    <i class="fas fa-pencil-alt"></i> 约 1.3k 字    &nbsp;&nbsp;<i class="fas fa-clock"></i> 4 分钟阅读  </div><html><head></head><body><h2 id="为什么用-Hexo-做认知管理"><a href="#为什么用-Hexo-做认知管理" class="headerlink" title="为什么用 Hexo 做认知管理"></a>为什么用 Hexo 做认知管理 <a class="header-anchor" href="#为什么用-Hexo-做认知管理" title="永久链接">#</a></h2><p>知识管理的核心痛点不是”存”，而是”找”。传统的笔记软件（Notion、Obsidian、语雀）各自封闭，数据无法被搜索引擎和 AI 直接检索。而 Hexo 作为一个静态博客生成器，天然具备三个优势：</p><ol><li><strong>数据即文件</strong> — 所有内容是本地 Markdown，无平台锁定</li><li><strong>结构化索引</strong> — <code>search.json</code> 提供机器可读的全文索引</li><li><strong>公开可检索</strong> — 部署到 GitHub Pages 后，内容可被 Google 和 AI 搜索引擎索引</li></ol><p>这个项目不是”写博客”，而是构建一个<strong>个人知识的外化系统</strong>：把学过的知识用结构化的方式记录下来，既便于自己检索，也能被 AI 工具消费。</p><h2 id="技术栈"><a href="#技术栈" class="headerlink" title="技术栈"></a>技术栈 <a class="header-anchor" href="#技术栈" title="永久链接">#</a></h2><table><thead><tr><th>组件</th><th>选型</th><th>说明</th></tr></thead><tbody><tr><td>框架</td><td>Hexo 8.x</td><td>静态站点生成器</td></tr><tr><td>主题</td><td>Butterfly 5.5.5</td><td>暗色模式，通过 npm 安装</td></tr><tr><td>搜索</td><td>hexo-generator-searchdb</td><td>生成本地搜索索引 <code>search.json</code></td></tr><tr><td>字数统计</td><td>hexo-wordcount</td><td>文章阅读时长估算</td></tr><tr><td>部署</td><td>hexo-deployer-git</td><td>一键推送 GitHub Pages</td></tr><tr><td>CDN</td><td>jsDelivr</td><td>第三方资源加速</td></tr><tr><td>数学公式</td><td>MathJax</td><td>按文章按需加载</td></tr></tbody></table><h2 id="项目结构"><a href="#项目结构" class="headerlink" title="项目结构"></a>项目结构 <a class="header-anchor" href="#项目结构" title="永久链接">#</a></h2><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br><span class="line">11</span><br><span class="line">12</span><br></pre></td><td class="code"><pre><span class="line">blog/</span><br><span class="line">├── _config.yml                # Hexo 主配置（站点信息、URL、部署）</span><br><span class="line">├── _config.butterfly.yml      # 主题配置（导航、侧边栏、评论）</span><br><span class="line">├── scaffolds/post.md          # 文章模板（含 front-matter 骨架）</span><br><span class="line">├── source/</span><br><span class="line">│   ├── _posts/                # 文章 Markdown 源文件</span><br><span class="line">│   ├── about/                 # 关于页</span><br><span class="line">│   ├── categories/            # 分类页</span><br><span class="line">│   ├── tags/                  # 标签页</span><br><span class="line">│   └── img/                   # 图片资源</span><br><span class="line">├── public/                    # 构建产物（hexo g 生成）</span><br><span class="line">└── .deploy_git/               # 部署临时目录（自动生成）</span><br></pre></td></tr></tbody></table></figure><p>配置原则：<strong>主题配置改 <code>_config.butterfly.yml</code>，不改 <code>node_modules/</code> 里的默认文件</strong>。</p><h2 id="文章命名规范"><a href="#文章命名规范" class="headerlink" title="文章命名规范"></a>文章命名规范 <a class="header-anchor" href="#文章命名规范" title="永久链接">#</a></h2><p>文件名是 URL slug 的来源，直接决定可检索性。采用 <code>{领域前缀}-{子主题}.md</code> 格式：</p><table><thead><tr><th>前缀</th><th>对应分类</th><th>前缀</th><th>对应分类</th></tr></thead><tbody><tr><td><code>ai-</code></td><td>人工智能</td><td><code>cpp-</code></td><td>C/C++</td></tr><tr><td><code>python-</code></td><td>Python</td><td><code>java-</code></td><td>Java</td></tr><tr><td><code>linux-</code></td><td>Linux</td><td><code>hexo-</code></td><td>建站</td></tr><tr><td><code>算法-</code></td><td>算法</td><td><code>数据库-</code></td><td>数据库</td></tr><tr><td><code>前端-</code></td><td>前端</td><td><code>ros-</code></td><td>机器人</td></tr></tbody></table><p>规则：</p><ul><li>全小写，连字符分隔</li><li>禁止纯数字后缀（<code>Python1.md</code> ✗ → <code>python-intro.md</code> ✓）</li><li>禁止下划线（<code>AI_History.md</code> ✗ → <code>ai-history.md</code> ✓）</li><li>子主题描述性强，能从文件名推断内容</li></ul><h2 id="Front-Matter-设计"><a href="#Front-Matter-设计" class="headerlink" title="Front-Matter 设计"></a>Front-Matter 设计 <a class="header-anchor" href="#Front-Matter-设计" title="永久链接">#</a></h2><p>每篇文章的 YAML 头部是 AI 和搜索引擎消费的元数据，所有字段必填：</p><figure class="highlight yaml"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br><span class="line">7</span><br><span class="line">8</span><br><span class="line">9</span><br><span class="line">10</span><br></pre></td><td class="code"><pre><span class="line"><span class="meta">---</span></span><br><span class="line"><span class="attr">title:</span> <span class="string">"文章标题"</span></span><br><span class="line"><span class="attr">date:</span> <span class="number">2026-06-17 12:00:00</span></span><br><span class="line"><span class="attr">categories:</span></span><br><span class="line">  <span class="bullet">-</span> [<span class="string">技术</span>, <span class="string">人工智能</span>]</span><br><span class="line"><span class="attr">tags:</span></span><br><span class="line">  <span class="bullet">-</span> <span class="string">AI</span></span><br><span class="line">  <span class="bullet">-</span> <span class="string">强化学习</span></span><br><span class="line"><span class="attr">description:</span> <span class="string">"50-150字摘要，会被 search.json 索引，供本地搜索和 AI 检索使用。"</span></span><br><span class="line"><span class="meta">---</span></span><br></pre></td></tr></tbody></table></figure><p>设计要点：</p><ul><li><strong>categories</strong> 用二级分类 <code>[大类, 子类]</code>，与文件名前缀对齐，分类页据此自动组织</li><li><strong>tags</strong> 2-5 个，第一个必须与文件名领域前缀对齐</li><li><strong>description</strong> 是最重要的字段 — 被 <code>search.json</code> 全文索引，AI 检索时优先读取。必须 50-150 字，单行不换行，引号成对闭合</li><li><strong>mathjax: true</strong> 按需添加（因 <code>per_page: false</code>，需逐文章开启）</li></ul><h2 id="内容索引策略"><a href="#内容索引策略" class="headerlink" title="内容索引策略"></a>内容索引策略 <a class="header-anchor" href="#内容索引策略" title="永久链接">#</a></h2><p>系统提供三种检索方式，覆盖不同场景：</p><h3 id="策略一：读取源文件（最可靠）"><a href="#策略一：读取源文件（最可靠）" class="headerlink" title="策略一：读取源文件（最可靠）"></a>策略一：读取源文件（最可靠） <a class="header-anchor" href="#策略一：读取源文件（最可靠）" title="永久链接">#</a></h3><p>直接读取 <code>source/_posts/</code> 下的 Markdown 源文件，数据最新、含完整 front-matter 和原始内容。适合修改单篇已知文章。</p><h3 id="策略二：解析-search-json（最轻量）"><a href="#策略二：解析-search-json（最轻量）" class="headerlink" title="策略二：解析 search.json（最轻量）"></a>策略二：解析 search.json（最轻量） <a class="header-anchor" href="#策略二：解析-search-json（最轻量）" title="永久链接">#</a></h3><figure class="highlight json"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br><span class="line">5</span><br><span class="line">6</span><br></pre></td><td class="code"><pre><span class="line"><span class="punctuation">{</span></span><br><span class="line">  <span class="attr">"title"</span><span class="punctuation">:</span> <span class="string">"文章标题"</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">"url"</span><span class="punctuation">:</span> <span class="string">"/2026/06/17/hexo-cognitive-management/"</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">"content"</span><span class="punctuation">:</span> <span class="string">"纯文本内容（去除HTML标签）"</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">"tags"</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="string">"Hexo"</span><span class="punctuation">,</span> <span class="string">"认知管理"</span><span class="punctuation">]</span></span><br><span class="line"><span class="punctuation">}</span></span><br></pre></td></tr></tbody></table></figure><p>构建后生成在 <code>public/search.json</code>，含 title、url、content（纯文本）、tags。适合全文搜索和按标签筛选。</p><h3 id="策略三：解析-db-json（最完整）"><a href="#策略三：解析-db-json（最完整）" class="headerlink" title="策略三：解析 db.json（最完整）"></a>策略三：解析 db.json（最完整） <a class="header-anchor" href="#策略三：解析-db-json（最完整）" title="永久链接">#</a></h3><p><code>db.json</code> 是 Hexo 的数据库快照，含 Post（完整元数据 + 原始 Markdown + 渲染 HTML）、Tag、PostTag 三张表，适合需要精确查询或获取渲染后 HTML 的场景。</p><h2 id="自动化部署流程"><a href="#自动化部署流程" class="headerlink" title="自动化部署流程"></a>自动化部署流程 <a class="header-anchor" href="#自动化部署流程" title="永久链接">#</a></h2><p>修改文章或配置后，执行标准部署流程：</p><figure class="highlight bash"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br></pre></td><td class="code"><pre><span class="line">hexo clean          <span class="comment"># 清理 public/ 和 db.json</span></span><br><span class="line">hexo generate       <span class="comment"># 重新构建</span></span><br><span class="line">hexo deploy         <span class="comment"># 推送到 GitHub Pages</span></span><br></pre></td></tr></tbody></table></figure><p>部署是幂等的 — <code>hexo-deployer-git</code> 会自动清空 <code>.deploy_git/</code> 目录，复制 <code>public/</code> 内容，生成提交信息 <code>Site updated: YYYY-MM-DD HH:mm:ss</code>，然后 force push 到远程 master 分支。</p><p>GitHub Pages 收到推送后自动构建，1-2 分钟后线上生效。</p><h2 id="认知管理的闭环"><a href="#认知管理的闭环" class="headerlink" title="认知管理的闭环"></a>认知管理的闭环 <a class="header-anchor" href="#认知管理的闭环" title="永久链接">#</a></h2><p>这个系统的价值在于形成闭环：</p><figure class="highlight plaintext"><table><tbody><tr><td class="gutter"><pre><span class="line">1</span><br><span class="line">2</span><br><span class="line">3</span><br><span class="line">4</span><br></pre></td><td class="code"><pre><span class="line">学习 → 记录（Markdown + 规范化 front-matter）</span><br><span class="line">     → 索引（search.json + db.json）</span><br><span class="line">     → 检索（本地搜索 / AI 工具 / 搜索引擎）</span><br><span class="line">     → 复用（找到旧知识，应用到新问题）</span><br></pre></td></tr></tbody></table></figure><p>传统笔记的问题在于”写了就忘”。这个系统通过结构化命名、强制 description、机器可读索引三个机制，确保写下的知识<strong>可被找到、可被 AI 消费、可被搜索引擎收录</strong>。</p><h2 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结 <a class="header-anchor" href="#总结" title="永久链接">#</a></h2><p>这个 Hexo 项目不是传统博客，而是一个<strong>面向 AI 时代的个人知识库</strong>：</p><ul><li>文件即数据，无平台锁定</li><li>命名规范保证 URL 可读性和分类一致性</li><li>description 字段是 AI 检索的关键入口</li><li>search.json 提供机器可读的全文索引</li><li>一条命令完成构建和部署</li></ul><p>核心原则：<strong>如果知识不能被找到，就等于没有记录。</strong></p></body></html>]]>
    </content>
    <id>https://bsheepcoder.github.io/2026/06/17/hexo-cognitive-management/</id>
    <link href="https://bsheepcoder.github.io/2026/06/17/hexo-cognitive-management/"/>
    <published>2026-06-17T12:10:00.000Z</published>
    <summary>介绍如何用 Hexo + Butterfly 主题搭建一个 AI 索引友好的认知管理系统，涵盖项目架构、文章命名规范、Front-Matter 设计、内容索引策略和自动化部署流程。</summary>
    <title>用 Hexo 搭建认知管理系统</title>
    <updated>2026-06-17T12:01:38.404Z</updated>
  </entry>
</feed>
