<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <author>
    <name>浅梦风凌</name>
  </author>
  <generator uri="https://hexo.io/">Hexo</generator>
  <id>https://notion.fuwari.fun/</id>
  <link href="https://notion.fuwari.fun/" rel="alternate"/>
  <link href="https://notion.fuwari.fun/atom.xml" rel="self"/>
  <rights>All rights reserved 2026, 浅梦风凌</rights>
  <title>Hexo</title>
  <updated>2026-09-22T02:12:36.893Z</updated>
  <entry>
    <author>
      <name>浅梦风凌</name>
    </author>
    <content>
      <![CDATA[<p>Welcome to <a href="https://hexo.io/">Hexo</a>! This is your very first post. Check <a href="https://hexo.io/docs/">documentation</a> for more info. If you get any problems when using Hexo, you can find the answer in <a href="https://hexo.io/docs/troubleshooting.html">troubleshooting</a> or you can ask me on <a href="https://github.com/hexojs/hexo/issues">GitHub</a>.</p><h2 id="Quick-Start"><a href="#Quick-Start" class="headerlink" title="Quick Start"></a>Quick Start</h2><h3 id="Create-a-new-post"><a href="#Create-a-new-post" class="headerlink" title="Create a new post"></a>Create a new post</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo new <span class="string">&quot;My New Post&quot;</span></span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/writing.html">Writing</a></p><h3 id="Run-server"><a href="#Run-server" class="headerlink" title="Run server"></a>Run server</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo server</span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/server.html">Server</a></p><h3 id="Generate-static-files"><a href="#Generate-static-files" class="headerlink" title="Generate static files"></a>Generate static files</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo generate</span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/generating.html">Generating</a></p><h3 id="Deploy-to-remote-sites"><a href="#Deploy-to-remote-sites" class="headerlink" title="Deploy to remote sites"></a>Deploy to remote sites</h3><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">$ hexo deploy</span><br></pre></td></tr></table></figure><p>More info: <a href="https://hexo.io/docs/one-command-deployment.html">Deployment</a></p>]]>
    </content>
    <id>https://notion.fuwari.fun/2026/09/22/hello-world/</id>
    <link href="https://notion.fuwari.fun/2026/09/22/hello-world/"/>
    <published>2026-09-22T02:12:36.893Z</published>
    <summary>
      <![CDATA[<p>Welcome to <a href="https://hexo.io/">Hexo</a>! This is your very first post. Check <a href="https://hexo.io/docs/">documentation</a> for]]>
    </summary>
    <title>Hello World</title>
    <updated>2026-09-22T02:12:36.893Z</updated>
  </entry>
  <entry>
    <author>
      <name>浅梦风凌</name>
    </author>
    <category term="GitHub 日报" scheme="https://notion.fuwari.fun/categories/GitHub-%E6%97%A5%E6%8A%A5/"/>
    <category term="GitHub" scheme="https://notion.fuwari.fun/tags/GitHub/"/>
    <category term="Trending" scheme="https://notion.fuwari.fun/tags/Trending/"/>
    <category term="开源" scheme="https://notion.fuwari.fun/tags/%E5%BC%80%E6%BA%90/"/>
    <content>
      <![CDATA[<p>数据来源：<a href="https://github.com/trending">GitHub Trending</a>（经代理抓取）。今日榜单共 12 个仓库，与历史去重清单比对后，收录 4 个全新仓库，按当日新增 Star 数排序。榜单其余 8 个仓库此前已推送过；今日新上榜仓库数量较少，已全部收录。</p><span id="more"></span><div class="repo-vote-summary" data-article="2026-09-22" aria-live="polite"></div><h2 id="1-Crosstalk-Solutions-project-nomad"><a href="#1-Crosstalk-Solutions-project-nomad" class="headerlink" title="1. Crosstalk-Solutions&#x2F;project-nomad"></a>1. <a href="https://github.com/Crosstalk-Solutions/project-nomad">Crosstalk-Solutions&#x2F;project-nomad</a></h2><button class="repo-vote-btn" type="button" data-repo="Crosstalk-Solutions/project-nomad" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：TypeScript</li><li><strong>总 Star</strong>：37,892</li><li><strong>当日新增</strong>：+394&#x2F;天</li><li><strong>简介</strong>：离线优先的自助式知识与教育服务器，把维基百科、数千本图书、课程、地图以及可选的本地 AI 一并打包进你自己持有的硬件，全程无需联网、通过浏览器访问。Debian 系（推荐 Ubuntu）一条安装脚本部署完毕，服务跑在 8080 端口，另提供 Docker Compose 模板与 Windows&#x2F;WSL2 安装路径。</li><li><strong>亮点</strong>：思路是「把互联网最有用的部分预先缓存到一台机器上」，面向断网与应急场景而非又一个自建知识库，对网络受限环境（野外、船上、离线自习室）的部署方是很务实的选择。</li></ul><h2 id="2-zhouxiaoka-autoclip"><a href="#2-zhouxiaoka-autoclip" class="headerlink" title="2. zhouxiaoka&#x2F;autoclip"></a>2. <a href="https://github.com/zhouxiaoka/autoclip">zhouxiaoka&#x2F;autoclip</a></h2><button class="repo-vote-btn" type="button" data-repo="zhouxiaoka/autoclip" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Python</li><li><strong>总 Star</strong>：8,292</li><li><strong>当日新增</strong>：+250&#x2F;天</li><li><strong>简介</strong>：AI 驱动的二创剪辑工具，分析视频字幕以定位高光、生成话题时间线与片段标题，再自动剪出切片与合集；支持本地视频与 YouTube &#x2F; B 站链接、可附带 SRT 字幕，导出抖音、小红书、YouTube Shorts、B 站等预设。提供桌面应用、Docker Web 界面和 CLI &#x2F; MCP 三种用法，模型可接通义千问、OpenAI 兼容接口、Gemini、硅基流动或 Ollama &#x2F; LM Studio 本地模型。</li><li><strong>亮点</strong>：少见地把「长视频 → 短视频切片」这条流水线做成了开箱可用的产品（带桌面安装包、八种界面语言），而不是又一份需要自己拼依赖的 notebook 示例。</li></ul><h2 id="3-mvt-project-mvt"><a href="#3-mvt-project-mvt" class="headerlink" title="3. mvt-project&#x2F;mvt"></a>3. <a href="https://github.com/mvt-project/mvt">mvt-project&#x2F;mvt</a></h2><button class="repo-vote-btn" type="button" data-repo="mvt-project/mvt" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Python</li><li><strong>总 Star</strong>：13,619</li><li><strong>当日新增</strong>：+169&#x2F;天</li><li><strong>简介</strong>：Mobile Verification Toolkit，移动端取证工具，从 iOS &#x2F; Android 设备备份中抽取各类工件并与已知监视软件的指标做比对，用来判断设备是否可能被植入监控程序。最初由大赦国际安全实验室（Amnesty International Security Lab）开发，现以独立社区项目维护。</li><li><strong>亮点</strong>：「手机有没有被装间谍软件」这个问题目前几乎没有别的开源工具能正面回答，它已是调查记者与研究人员核查设备的事实标准之一。</li></ul><h2 id="4-akitaonrails-ai-memory"><a href="#4-akitaonrails-ai-memory" class="headerlink" title="4. akitaonrails&#x2F;ai-memory"></a>4. <a href="https://github.com/akitaonrails/ai-memory">akitaonrails&#x2F;ai-memory</a></h2><button class="repo-vote-btn" type="button" data-repo="akitaonrails/ai-memory" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Rust</li><li><strong>总 Star</strong>：7,721</li><li><strong>当日新增</strong>：+167&#x2F;天</li><li><strong>简介</strong>：给 AI 编程智能体做长期记忆的服务端方案。Claude Code、Codex、Cursor、Gemini CLI、OpenCode 等二十多种工具写入同一份共享记忆：在同一个目录里从一个 CLI 换到另一个，下一个智能体能直接拿到「做到哪了、哪些尝试失败了、还有什么悬而未决」的真实交接。记忆存放在你自己运行的服务器上，因此也跨机器、跨团队成员共享。</li><li><strong>亮点</strong>：直击当前 Agent 工作流最脏的痛点——上下文只活在单个 CLI 里。它把「交接」做成有类型、且恰好被认领一次的协议而非口头约定，比多数 memory 项目更工程化。</li></ul>]]>
    </content>
    <id>https://notion.fuwari.fun/2026/09/22/github-trending-daily/2026-09-22/</id>
    <link href="https://notion.fuwari.fun/2026/09/22/github-trending-daily/2026-09-22/"/>
    <published>2026-09-22T00:00:00.000Z</published>
    <summary>
      <![CDATA[<p>数据来源：<a href="https://github.com/trending">GitHub Trending</a>（经代理抓取）。今日榜单共 12 个仓库，与历史去重清单比对后，收录 4 个全新仓库，按当日新增 Star 数排序。榜单其余 8 个仓库此前已推送过；今日新上榜仓库数量较少，已全部收录。</p>]]>
    </summary>
    <title>GitHub Trending 日报 · 2026-09-22</title>
    <updated>2026-09-22T02:12:36.893Z</updated>
  </entry>
  <entry>
    <author>
      <name>浅梦风凌</name>
    </author>
    <category term="GitHub 日报" scheme="https://notion.fuwari.fun/categories/GitHub-%E6%97%A5%E6%8A%A5/"/>
    <category term="GitHub" scheme="https://notion.fuwari.fun/tags/GitHub/"/>
    <category term="Trending" scheme="https://notion.fuwari.fun/tags/Trending/"/>
    <category term="开源" scheme="https://notion.fuwari.fun/tags/%E5%BC%80%E6%BA%90/"/>
    <content>
      <![CDATA[<p>数据来源：<a href="https://github.com/trending">GitHub Trending</a>（经代理抓取）。今日榜单共 13 个仓库，与历史去重清单比对后，收录 5 个全新仓库，按当日新增 Star 数排序。榜单其余 8 个仓库此前已推送过，今日新仓库数量较少。</p><span id="more"></span><div class="repo-vote-summary" data-article="2026-09-21" aria-live="polite"></div><h2 id="1-vercel-labs-json-render"><a href="#1-vercel-labs-json-render" class="headerlink" title="1. vercel-labs&#x2F;json-render"></a>1. <a href="https://github.com/vercel-labs/json-render">vercel-labs&#x2F;json-render</a></h2><button class="repo-vote-btn" type="button" data-repo="vercel-labs/json-render" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：TypeScript</li><li><strong>总 Star</strong>：17,360</li><li><strong>当日新增</strong>：+291&#x2F;天</li><li><strong>简介</strong>：Vercel Labs 出品的「生成式 UI 框架」，让模型按预设的组件与动作清单输出 JSON 规格，再渲染成动态、个性化的界面，而不是放任它自由生成 HTML。</li><li><strong>亮点</strong>：用「白名单组件 + 固定动作」把 Generative UI 的不确定性压到可控范围，是给 AI 应用加界面又不想踩「渲染结果不可预测」这个坑的务实解法。</li></ul><h2 id="2-anthropics-financial-services"><a href="#2-anthropics-financial-services" class="headerlink" title="2. anthropics&#x2F;financial-services"></a>2. <a href="https://github.com/anthropics/financial-services">anthropics&#x2F;financial-services</a></h2><button class="repo-vote-btn" type="button" data-repo="anthropics/financial-services" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Python</li><li><strong>总 Star</strong>：35,395</li><li><strong>当日新增</strong>：+260&#x2F;天</li><li><strong>简介</strong>：Anthropic 官方整理的金融行业参考智能体、技能与数据连接器集合，覆盖投行、股票研究、私募与财富管理等常见流程；同一份提示词与技能既可作为 Claude Cowork 插件安装，也能经托管智能体 API 接进自有工作流引擎。</li><li><strong>亮点</strong>：仓库明确声明这些智能体只产出模型、备忘录、对账稿等待人工复核的分析底稿，不下投资建议、不执行交易——这份「边界写进 README」的克制，比项目本身更值得垂直领域落地时参考。</li></ul><h2 id="3-mihail911-modern-software-dev-assignments"><a href="#3-mihail911-modern-software-dev-assignments" class="headerlink" title="3. mihail911&#x2F;modern-software-dev-assignments"></a>3. <a href="https://github.com/mihail911/modern-software-dev-assignments">mihail911&#x2F;modern-software-dev-assignments</a></h2><button class="repo-vote-btn" type="button" data-repo="mihail911/modern-software-dev-assignments" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Python</li><li><strong>总 Star</strong>：4,576</li><li><strong>当日新增</strong>：+172&#x2F;天</li><li><strong>简介</strong>：斯坦福 CS146S《The Modern Software Developer》课程的作业合集，随课开放练习与配套环境说明（Python 3.12 + Anaconda 起步）。</li><li><strong>亮点</strong>：一门以「AI 时代怎么写代码」为题的斯坦福课，作业公开可白嫖，适合想系统补齐 Agent 编程工作流的自学者照着刷。</li></ul><h2 id="4-BuilderIO-agent-native"><a href="#4-BuilderIO-agent-native" class="headerlink" title="4. BuilderIO&#x2F;agent-native"></a>4. <a href="https://github.com/BuilderIO/agent-native">BuilderIO&#x2F;agent-native</a></h2><button class="repo-vote-btn" type="button" data-repo="BuilderIO/agent-native" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：TypeScript</li><li><strong>总 Star</strong>：5,249</li><li><strong>当日新增</strong>：+98&#x2F;天</li><li><strong>简介</strong>：Builder.io 开源的构建「智能体原生应用」框架，核心抽象是 action：能力只定义一次，智能体把它当工具调用，前端代码也直接调用同一个实现，从而让自主行为与专用 UI 天然对齐。</li><li><strong>亮点</strong>：把「Agent 的工具」和「UI 的按钮」合并成一份声明，省掉了两边各写一遍、逻辑还会漂移的常见痛点。</li></ul><h2 id="5-paperless-ngx-paperless-ngx"><a href="#5-paperless-ngx-paperless-ngx" class="headerlink" title="5. paperless-ngx&#x2F;paperless-ngx"></a>5. <a href="https://github.com/paperless-ngx/paperless-ngx">paperless-ngx&#x2F;paperless-ngx</a></h2><button class="repo-vote-btn" type="button" data-repo="paperless-ngx/paperless-ngx" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Python</li><li><strong>总 Star</strong>：45,596</li><li><strong>当日新增</strong>：+57&#x2F;天</li><li><strong>简介</strong>：社区维护的自托管文档管理系统，可扫描、识别（OCR）并归档发票、合同、票据等纸质与电子文档，支持全文检索、标签与自动分类。</li><li><strong>亮点</strong>：NAS 用户「告别纸质文件」的老牌首选，数据完全握在自己手里，是少数能长期稳定服役的自托管服务之一。</li></ul>]]>
    </content>
    <id>https://notion.fuwari.fun/2026/09/21/github-trending-daily/2026-09-21/</id>
    <link href="https://notion.fuwari.fun/2026/09/21/github-trending-daily/2026-09-21/"/>
    <published>2026-09-21T00:00:00.000Z</published>
    <summary>
      <![CDATA[<p>数据来源：<a href="https://github.com/trending">GitHub Trending</a>（经代理抓取）。今日榜单共 13 个仓库，与历史去重清单比对后，收录 5 个全新仓库，按当日新增 Star 数排序。榜单其余 8 个仓库此前已推送过，今日新仓库数量较少。</p>]]>
    </summary>
    <title>GitHub Trending 日报 · 2026-09-21</title>
    <updated>2026-09-22T02:12:36.893Z</updated>
  </entry>
  <entry>
    <author>
      <name>浅梦风凌</name>
    </author>
    <category term="编程笔记" scheme="https://notion.fuwari.fun/categories/%E7%BC%96%E7%A8%8B%E7%AC%94%E8%AE%B0/"/>
    <category term="Windows" scheme="https://notion.fuwari.fun/tags/Windows/"/>
    <category term="AI Agent" scheme="https://notion.fuwari.fun/tags/AI-Agent/"/>
    <category term="桌面自动化" scheme="https://notion.fuwari.fun/tags/%E6%A1%8C%E9%9D%A2%E8%87%AA%E5%8A%A8%E5%8C%96/"/>
    <category term="MCP" scheme="https://notion.fuwari.fun/tags/MCP/"/>
    <category term="Cua" scheme="https://notion.fuwari.fun/tags/Cua/"/>
    <content>
      <![CDATA[<p><a href="https://github.com/trycua/cua">trycua&#x2F;cua</a> 是 2026-09-20 的 GitHub Trending 榜首级项目，口号是 “Give AI agents computers they can use”。它的仓库已经重构成五个组件，其中<strong>真正负责「操控本机桌面」的是 Cua Driver</strong>。</p><p>本文只讲 Windows，且所有命令都实测自官方仓库 <code>libs/cua-driver/</code> 的 <code>WINDOWS.md</code>、<code>SKILL.md</code>、以及 <code>https://cua.ai/driver/install.ps1</code> 脚本本体（版本线 <strong>0.28.x</strong>）。凡文档与脚本不一致之处，均在文中标注。</p><span id="more"></span><hr><h2 id="1-先认清组件：Windows-上你只需要-Cua-Driver"><a href="#1-先认清组件：Windows-上你只需要-Cua-Driver" class="headerlink" title="1. 先认清组件：Windows 上你只需要 Cua Driver"></a>1. 先认清组件：Windows 上你只需要 Cua Driver</h2><table><thead><tr><th>组件</th><th>作用</th><th>Windows 可用性</th></tr></thead><tbody><tr><td><strong>Cua Driver</strong></td><td>后台驱动本机原生 GUI 应用（读无障碍树、点击、输入、截图、启动、排布窗口），对外暴露 CLI &#x2F; MCP &#x2F; SDK 三种接口</td><td>✅ 一等公民（UIA + PostMessage）</td></tr><tr><td>Cua Fleets</td><td>云端隔离桌面，用 Sandbox SDK 批量领用</td><td>✅ 平台无关（但要付费凭据）</td></tr><tr><td>Lume</td><td>Apple Silicon 上跑 macOS&#x2F;Linux 本机 VM</td><td>❌ 依赖 <code>Virtualization.Framework</code>，Windows 用不了</td></tr><tr><td>Cua Bench</td><td>造任务、评测 computer-use agent、导出轨迹</td><td>✅ 跨平台</td></tr><tr><td>CUA-S1</td><td>面向计算机操作的 Small-S1 决策模型（MIT，权重在 HF）</td><td>✅ 与平台无关</td></tr></tbody></table><p><strong>结论</strong>：想让 agent 操作你 Windows 上的真实应用，装 Cua Driver 就够了。</p><hr><h2 id="2-核心卖点：no-foreground-契约"><a href="#2-核心卖点：no-foreground-契约" class="headerlink" title="2. 核心卖点：no-foreground 契约"></a>2. 核心卖点：no-foreground 契约</h2><p>这是 Cua Driver 区别于 AutoHotkey &#x2F; PyAutoGUI &#x2F; <code>SendInput</code> 脚本的根本点：</p><ul><li>点击和按键<strong>直接注入目标进程</strong>（PostMessage &#x2F; UIA Invoke），不激活窗口、不置顶、不移动你的真实鼠标；</li><li>你可以在<strong>前台继续用电脑</strong>，agent 在后台操作另一个应用；</li><li>被遮挡（occluded）的窗口在 <code>background</code> 模式下不会像传统方案那样”先弹到最前再点”，而是返回结构化的 <code>background_unavailable</code> 错误——<strong>宁可失败也不抢焦点</strong>。</li></ul><p>驱动会画一个<strong>合成的 agent 光标覆盖层</strong>让你看到它正在哪里操作，但那只是可视化，真实指针不动。想真的移动系统光标必须显式用 <code>move_cursor({x,y,scope:&quot;desktop&quot;})</code>，文档明确不建议除非用户要求。</p><hr><h2 id="3-安装（PowerShell）"><a href="#3-安装（PowerShell）" class="headerlink" title="3. 安装（PowerShell）"></a>3. 安装（PowerShell）</h2><h3 id="3-1-一行安装（推荐）"><a href="#3-1-一行安装（推荐）" class="headerlink" title="3.1 一行安装（推荐）"></a>3.1 一行安装（推荐）</h3><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">irm</span> https://cua.ai/driver/install.ps1 | <span class="built_in">iex</span></span><br></pre></td></tr></table></figure><p>脚本特点（读脚本本体确认）：</p><ul><li>从 GitHub Releases 下载 <code>cua-driver-rs-v*</code> 的 zip；</li><li><strong>免 sudo、不需要开发者模式、不需要管理员</strong>（除了下面的 autostart 例外）；</li><li>用**两级目录联接（junction）**布局，升级&#x2F;回滚只需重指向联接，不覆盖文件。</li></ul><h3 id="3-2-落盘位置与-PATH"><a href="#3-2-落盘位置与-PATH" class="headerlink" title="3.2 落盘位置与 PATH"></a>3.2 落盘位置与 PATH</h3><figure class="highlight plaintext"><table><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">%LOCALAPPDATA%\Programs\Cua\cua-driver\bin      ← 加入 User PATH 的可见目录（junction）</span><br><span class="line">%USERPROFILE%\.cua-driver\packages\current      ← junction → 当前版本</span><br><span class="line">%USERPROFILE%\.cua-driver\packages\releases\&lt;version&gt;-&lt;arch&gt;\cua-driver.exe   ← 真实文件</span><br></pre></td></tr></table></figure><p>同时会装一个 <code>cua-cursor-theme.exe</code> 用于管理 agent 光标主题。</p><p>安装脚本自动把 bin 目录追加到<strong>用户级 PATH</strong>，所以<strong>必须新开一个 PowerShell</strong> 才能直接敲 <code>cua-driver</code>。当前会话临时生效：</p><figure class="highlight powershell"><table><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"><span class="variable">$env:Path</span> = <span class="string">&quot;<span class="variable">$env:LOCALAPPDATA</span>\Programs\Cua\cua-driver\bin;<span class="variable">$env:Path</span>&quot;</span></span><br><span class="line">(<span class="built_in">Get-Command</span> cua<span class="literal">-driver</span>).Source   <span class="comment"># 确认真实路径</span></span><br><span class="line">cua<span class="literal">-driver</span> <span class="literal">--version</span></span><br></pre></td></tr></table></figure><blockquote><p>⚠️ <strong>一处文档不一致</strong>：仓库 <code>WINDOWS.md</code> 里写的安装路径是旧版的 <code>%LOCALAPPDATA%\Programs\trycua\cua-driver-rs\bin</code>。<code>install.ps1</code> 注释说明该布局在 <strong>v0.2.14</strong> 改名为 <code>Programs\Cua\cua-driver\</code>，旧路径会在下次重装时自动迁移并从 PATH 里清理。<strong>以 <code>(Get-Command cua-driver).Source</code> 的输出为准</strong>，别照抄文档路径。</p></blockquote><h3 id="3-3-固定版本-选渠道"><a href="#3-3-固定版本-选渠道" class="headerlink" title="3.3 固定版本 &#x2F; 选渠道"></a>3.3 固定版本 &#x2F; 选渠道</h3><p><code>irm | iex</code> 形式无法传参，但支持环境变量覆盖（优先级：env &gt; <code>-Release</code> &gt; 脚本内置 baked 版本 &gt; GitHub API）：</p><figure class="highlight powershell"><table><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="variable">$env:CUA_DRIVER_RS_VERSION</span> = <span class="string">&quot;0.28.2&quot;</span></span><br><span class="line"><span class="built_in">irm</span> https://cua.ai/driver/install.ps1 | <span class="built_in">iex</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 使用 nightly 渠道</span></span><br><span class="line"><span class="variable">$env:CUA_DRIVER_RS_VERSION</span> = <span class="string">&quot;nightly&quot;</span></span><br><span class="line"><span class="built_in">irm</span> https://cua.ai/driver/install.ps1 | <span class="built_in">iex</span></span><br></pre></td></tr></table></figure><p>需要用脚本参数（<code>-Release</code> &#x2F; <code>-Channel</code> &#x2F; <code>-NoAutoStart</code> &#x2F; <code>-NoPathUpdate</code>）时，落盘再带参执行：</p><figure class="highlight powershell"><table><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="built_in">irm</span> https://cua.ai/driver/install.ps1 <span class="literal">-OutFile</span> .\<span class="built_in">install-cua</span><span class="literal">-driver</span>.ps1</span><br><span class="line">powershell <span class="literal">-ExecutionPolicy</span> Bypass <span class="operator">-File</span> .\<span class="built_in">install-cua</span><span class="literal">-driver</span>.ps1 <span class="literal">-Release</span> <span class="number">0.28</span>.<span class="number">2</span> <span class="literal">-NoAutoStart</span></span><br></pre></td></tr></table></figure><h3 id="3-4-卸载"><a href="#3-4-卸载" class="headerlink" title="3.4 卸载"></a>3.4 卸载</h3><figure class="highlight powershell"><table><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="built_in">irm</span> https://cua.ai/driver/uninstall.ps1 | <span class="built_in">iex</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 免交互强删（脚本注释说明：因为 iex 无法传 -Force，只能走环境变量）</span></span><br><span class="line"><span class="variable">$env:CUA_DRIVER_RS_UNINSTALL_FORCE</span> = <span class="string">&#x27;1&#x27;</span></span><br><span class="line"><span class="built_in">irm</span> https://cua.ai/driver/uninstall.ps1 | <span class="built_in">iex</span></span><br></pre></td></tr></table></figure><p>会清掉：计划任务自启动项、运行中的 daemon 进程、目录联接、整个包目录，以及 <code>skills install</code> 撒在各 agent 配置目录里的技能联接。</p><hr><h2 id="4-首次启动与自检"><a href="#4-首次启动与自检" class="headerlink" title="4. 首次启动与自检"></a>4. 首次启动与自检</h2><h3 id="4-1-自启动计划任务（Windows-上的-LaunchAgent-等价物）"><a href="#4-1-自启动计划任务（Windows-上的-LaunchAgent-等价物）" class="headerlink" title="4.1 自启动计划任务（Windows 上的 LaunchAgent 等价物）"></a>4.1 自启动计划任务（Windows 上的 LaunchAgent 等价物）</h3><p><code>install.ps1</code> <strong>默认就会注册</strong>名为 <code>cua-driver-serve</code> 的计划任务，登录后自动起 daemon。管理命令：</p><figure class="highlight powershell"><table><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">cua<span class="literal">-driver</span> autostart status</span><br><span class="line">cua<span class="literal">-driver</span> autostart enable     <span class="comment"># 幂等，重复执行会替换旧任务</span></span><br><span class="line">cua<span class="literal">-driver</span> autostart kick       <span class="comment"># 不等下次登录，立刻拉起</span></span><br><span class="line">cua<span class="literal">-driver</span> autostart disable</span><br></pre></td></tr></table></figure><p><strong>这里有一个 Windows 独有的大坑，务必理解：</strong></p><ul><li>计划任务以 <strong><code>RunLevel=Highest</code></strong> 注册，因此<strong>注册那一步需要一次 UAC 提权</strong>（脚本会自动请求，只此一次；文件解压、建联接、改 PATH 这些都不提权）。</li><li>这么设计的原因是：<strong>中等完整性级别的 token 去驱动 UWP &#x2F; AppContainer 应用（计算器、新版设置、照片）时，UIA 跨 AppContainer 的 RPC 会把控件树截断成约 1 个元素</strong>（官方 issue 1601 &#x2F; 1602）。只有以 High IL 运行才能拿到完整树。</li><li>所以：<strong>装了 <code>-NoAutoStart</code> 又用普通权限手动起 daemon，你会发现计算器”打不开控件树”</strong>。要么接受那次 UAC，要么别用 UWP 应用。</li></ul><p>安装脚本里也提到，若安装时不提权，它只会打印后续注册命令让你自己补做。</p><h3 id="4-2-生命周期与状态"><a href="#4-2-生命周期与状态" class="headerlink" title="4.2 生命周期与状态"></a>4.2 生命周期与状态</h3><figure class="highlight powershell"><table><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">cua<span class="literal">-driver</span> status            <span class="comment"># daemon 是否在跑</span></span><br><span class="line">cua<span class="literal">-driver</span> serve             <span class="comment"># 显式起一个常驻服务（一般不用手敲）</span></span><br><span class="line">cua<span class="literal">-driver</span> stop              <span class="comment"># 停</span></span><br></pre></td></tr></table></figure><p>要点：<strong>一次性的 <code>cua-driver call &lt;tool&gt;</code> 走 daemon 路径</strong>，所以纯命令行使用必须先有 daemon（autostart 或 <code>serve</code>）；而 <strong><code>cua-driver mcp</code> 在 Windows 上自己持有 runtime</strong>，不依赖 daemon。</p><p>若 daemon 是被 Elevated 计划任务起的，普通 <code>Stop-Process</code> 可能杀不掉，用：</p><figure class="highlight powershell"><table><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">schtasks /<span class="keyword">End</span> /TN cua<span class="literal">-driver-serve</span></span><br><span class="line">taskkill /F /IM cua<span class="literal">-driver</span>.exe</span><br></pre></td></tr></table></figure><h3 id="4-3-体检"><a href="#4-3-体检" class="headerlink" title="4.3 体检"></a>4.3 体检</h3><figure class="highlight powershell"><table><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">cua<span class="literal">-driver</span> doctor            <span class="comment"># 会话 ID、COM 套间、UIA 桌面枚举可达性、安装路径、版本</span></span><br><span class="line">cua<span class="literal">-driver</span> diagnose          <span class="comment"># 更详细的诊断</span></span><br><span class="line">cua<span class="literal">-driver</span> check<span class="literal">-update</span>      <span class="comment"># 只读探测是否有新版，可加 --json</span></span><br><span class="line">cua<span class="literal">-driver</span> update <span class="literal">--apply</span>    <span class="comment"># 升级</span></span><br></pre></td></tr></table></figure><p><code>doctor</code> 里任何一项是 <code>false</code> &#x2F; <code>error</code>，先修它再去调工具。</p><h3 id="4-4-Session-0-陷阱（远程-SSH-服务场景必踩）"><a href="#4-4-Session-0-陷阱（远程-SSH-服务场景必踩）" class="headerlink" title="4.4 Session 0 陷阱（远程&#x2F;SSH&#x2F;服务场景必踩）"></a>4.4 Session 0 陷阱（远程&#x2F;SSH&#x2F;服务场景必踩）</h3><p>Windows 把服务隔离在没有桌面的 Session 0，而 UIA 枚举、<code>PrintWindow</code> 截图、<code>IApplicationActivationManager</code> 在 Session 0 里会<strong>静默返回空或超时</strong>。</p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">Get-Process</span> cua<span class="literal">-driver</span> | <span class="built_in">Select-Object</span> Id, SessionId   <span class="comment"># SessionId 必须是 1+</span></span><br></pre></td></tr></table></figure><ul><li>自启动任务用的是 <code>LogonType=Interactive</code>，所以正常落在用户登录会话里，没问题；</li><li><strong>通过 SSH 连到这台 Windows 时</strong>，你所在的会话通常就是 Session 0，直接跑 <code>cua-driver serve</code> 或裸 <code>cua-driver mcp</code> 会被拒绝。正确做法是让 daemon 留在交互会话里，SSH 侧通过命名管道连过去：</li></ul><figure class="highlight powershell"><table><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">schtasks /Run /TN cua<span class="literal">-driver-serve</span></span><br><span class="line">cua<span class="literal">-driver</span> mcp <span class="literal">--socket</span> \\.\pipe\cua<span class="literal">-driver</span></span><br></pre></td></tr></table></figure><h3 id="4-5-权限说明"><a href="#4-5-权限说明" class="headerlink" title="4.5 权限说明"></a>4.5 权限说明</h3><p>Windows 没有 macOS 的 TCC（辅助功能 &#x2F; 屏幕录制）那套授权。<code>WINDOWS.md</code> 的说法是：正常使用不需要管理员，仅 <code>autostart</code> 注册系统级任务要提权。另外首次运行未签名二进制时 <strong>SmartScreen</strong> 可能拦截，点一次「更多信息 → 仍要运行」即可。</p><blockquote><p>注意：<code>WINDOWS.md</code> 称”per-user 计划任务非提权且是默认”，但 <code>install.ps1</code> 实际是<strong>默认注册 <code>RunLevel=Highest</code> 并请求 UAC</strong>（理由见 4.1）。同样以脚本为准。</p></blockquote><hr><h2 id="5-命令行调用范式"><a href="#5-命令行调用范式" class="headerlink" title="5. 命令行调用范式"></a>5. 命令行调用范式</h2><h3 id="5-1-命名规则"><a href="#5-1-命名规则" class="headerlink" title="5.1 命名规则"></a>5.1 命名规则</h3><ul><li><strong>工具名 <code>snake_case</code></strong>（<code>launch_app</code>、<code>get_window_state</code>）</li><li><strong>管理子命令 <code>kebab-case</code></strong>（<code>list-tools</code>、<code>check-update</code>）</li></ul><p>调用工具：<code>cua-driver call &lt;tool&gt; [JSON]</code>。</p><h3 id="5-2-自描述：最权威的接口来自本机"><a href="#5-2-自描述：最权威的接口来自本机" class="headerlink" title="5.2 自描述：最权威的接口来自本机"></a>5.2 自描述：最权威的接口来自本机</h3><p>不要背文档，装好后直接问本机二进制（这也是本文清单可能过时的兜底办法）：</p><figure class="highlight powershell"><table><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">cua<span class="literal">-driver</span> list<span class="literal">-tools</span>                 <span class="comment"># 全部工具</span></span><br><span class="line">cua<span class="literal">-driver</span> describe click             <span class="comment"># 单个工具的参数 schema</span></span><br><span class="line">cua<span class="literal">-driver</span> manifest                   <span class="comment"># 能力清单</span></span><br><span class="line">cua<span class="literal">-driver</span> dump<span class="literal">-docs</span>                  <span class="comment"># 导出内置文档</span></span><br></pre></td></tr></table></figure><h3 id="5-3-三种传-JSON-的姿势（PowerShell-转义是重灾区）"><a href="#5-3-三种传-JSON-的姿势（PowerShell-转义是重灾区）" class="headerlink" title="5.3 三种传 JSON 的姿势（PowerShell 转义是重灾区）"></a>5.3 三种传 JSON 的姿势（PowerShell 转义是重灾区）</h3><figure class="highlight powershell"><table><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"><span class="comment"># ① 管道 stdin —— 官方推荐，完全绕开引号地狱</span></span><br><span class="line"><span class="string">&#x27;&#123;&quot;pid&quot;:1234,&quot;text&quot;:&quot;hello world&quot;&#125;&#x27;</span> | &amp; cua<span class="literal">-driver</span> call type_text</span><br><span class="line"></span><br><span class="line"><span class="comment"># ② 位置参数 + 转义引号（仅当字符串值里没有空格时可靠）</span></span><br><span class="line">&amp; cua<span class="literal">-driver</span> call list_windows <span class="string">&#x27;&#123;\&quot;app_name\&quot;:\&quot;Calculator\&quot;&#125;&#x27;</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># ③ PowerShell 5.1 的停止解析符</span></span><br><span class="line">&amp; cua<span class="literal">-driver</span> call type_text <span class="literal">--</span>% &#123;<span class="string">&quot;pid&quot;</span>:<span class="number">1234</span>,<span class="string">&quot;text&quot;</span>:<span class="string">&quot;hello world&quot;</span>&#125;</span><br></pre></td></tr></table></figure><p>Windows PowerShell 5.1 在 argv 中同时出现 <code>&quot;</code> 和空格时会把 JSON 撕坏，<strong>官方明确建议优先用 stdin</strong>。</p><hr><h2 id="6-核心不变式：snapshot-→-act-→-verify"><a href="#6-核心不变式：snapshot-→-act-→-verify" class="headerlink" title="6. 核心不变式：snapshot → act → verify"></a>6. 核心不变式：snapshot → act → verify</h2><p><code>SKILL.md</code> 的原话是 <strong>snapshot-before-action 不变式不是可选项</strong>，跳过就会静默失效。规范循环：</p><figure class="highlight text"><table><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">launch_app(target, session)</span><br><span class="line">  → 从返回的 windows 数组里挑 window_id（或单独 list_windows(pid)）</span><br><span class="line">  → get_window_state(pid, window_id)        # 拿 element_token</span><br><span class="line">  → [act] click / type_text / press_key ...  # 带 target</span><br><span class="line">  → verify_state(pid, window_id, expect)     # 结构化断言，可选带图</span><br><span class="line">end_session(session?)                        # 可选清理</span><br></pre></td></tr></table></figure><p><code>launch_app</code> 现在会在返回 pid 的同时附带 <code>windows</code> 数组，常见情形省掉一次 <code>list_windows</code>，两步即可。</p><p><strong>寻址方式</strong>：<code>get_window_state</code> 返回 <code>tree_markdown</code>（带 <code>[N]</code> 序号）+ <code>element_token</code> + <code>snapshot_id</code> + 截图。</p><figure class="highlight powershell"><table><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="string">&#x27;&#123;&quot;pid&quot;:6004,&quot;window_id&quot;:459672&#125;&#x27;</span> | &amp; cua<span class="literal">-driver</span> call get_window_state</span><br><span class="line"><span class="comment"># → tree_markdown / element_token(如 &quot;s0000002a:22&quot;) / snapshot_id / screenshot / dimensions</span></span><br><span class="line"></span><br><span class="line"><span class="string">&#x27;&#123;&quot;pid&quot;:6004,&quot;element_token&quot;:&quot;s0000002a:22&quot;&#125;&#x27;</span> | &amp; cua<span class="literal">-driver</span> call click</span><br><span class="line"><span class="comment"># → &quot;✅ Performed UIA Invoke on [22] ...&quot;</span></span><br></pre></td></tr></table></figure><p>三条硬规矩：</p><ol><li><strong>优先 <code>element_token</code></strong>；用可见整数 <code>element_index</code> 则必须同时回传 <code>snapshot_id</code>，裸序号在 0.17 起 <strong>fail closed</strong>。</li><li><strong>重新 snapshot 后旧 token 立刻失效</strong>，绝不能跨快照复用。</li><li><strong>无障碍路径优先于像素</strong>。<code>click({pid,x,y})</code> 是给 canvas &#x2F; WebView 用的兜底，先穷尽 AX（菜单、工具栏、快捷键、palette），再降级到坐标。</li></ol><p><strong>为什么 snapshot-bound token 是主路径</strong>：它对隐藏 &#x2F; 被遮挡 &#x2F; 桌面外的窗口同样有效，不抢焦点，而且在控件树重建后失败关闭而不是悄悄打到复用的序号上。</p><h3 id="6-1-delivery-mode-阶梯"><a href="#6-1-delivery-mode-阶梯" class="headerlink" title="6.1 delivery_mode 阶梯"></a>6.1 <code>delivery_mode</code> 阶梯</h3><p>每个输入类工具（<code>click</code> &#x2F; <code>double_click</code> &#x2F; <code>right_click</code> &#x2F; <code>drag</code> &#x2F; <code>scroll</code> &#x2F; <code>press_key</code> &#x2F; <code>hotkey</code> &#x2F; <code>type_text</code>）都接受 <code>delivery_mode</code>：</p><table><thead><tr><th>取值</th><th>Windows 上的行为</th></tr></thead><tbody><tr><td><code>&quot;background&quot;</code>（默认）</td><td>永不前置、<strong>永不抬起或重排层级</strong>。像素点击会先在坐标处做一次 UIA 命中测试（走无障碍 Invoke，对 UWP&#x2F;WinUI3 有效且不闪），未命中则仅在”目标确实是该点可见窗口”时注入 pen&#x2F;touch 坐标，普通 Win32 走 PostMessage；目标在该点被遮挡时返回 <code>background_unavailable</code> 而不是抬起窗口</td></tr><tr><td><code>&quot;foreground&quot;</code></td><td>显式降级才用，会真正前置窗口</td></tr></tbody></table><p><strong>官方建议：永远先试 <code>background</code>。</strong></p><h3 id="6-2-工具速查表"><a href="#6-2-工具速查表" class="headerlink" title="6.2 工具速查表"></a>6.2 工具速查表</h3><table><thead><tr><th>意图</th><th>工具</th></tr></thead><tbody><tr><td>列应用 &#x2F; 找 pid</td><td><code>list_apps</code></td></tr><tr><td>启动应用（幂等）</td><td><code>launch_app({path}</code> | <code>{name}</code> | <code>{aumid}</code> | <code>{urls}</code>, <code>args:[]})</code></td></tr><tr><td>列某 pid 的窗口</td><td><code>list_windows({pid})</code> → <code>window_id</code>&#x2F;<code>title</code>&#x2F;<code>bounds</code>&#x2F;<code>z_index</code>&#x2F;<code>is_on_screen</code></td></tr><tr><td>精确设置窗口位置和大小</td><td><code>set_window_frame({pid, window_id, x, y, width, height})</code>（读回几何后才回 <code>confirmed</code>）</td></tr><tr><td>调用原生菜单</td><td><code>invoke_menu({pid, window_id, path:[&quot;View&quot;,&quot;Sort by&quot;,&quot;Name&quot;]})</code>（逐级校验标签，缺失&#x2F;歧义&#x2F;禁用即拒绝，绝不退化成像素点击）</td></tr><tr><td>快照窗口</td><td><code>get_window_state({pid, window_id})</code></td></tr><tr><td>结构化断言</td><td><code>verify_state({pid, window_id, expect, include_screenshot?})</code> → <code>satisfied</code>&#x2F;<code>unsatisfied</code>&#x2F;<code>unknown</code></td></tr><tr><td>点击</td><td><code>click({pid, element_token})</code>；像素式 <code>click({pid, x, y})</code>；<code>action:&quot;press&quot;</code> 为默认，右键用 <code>right_click</code> 或 <code>click(..., action:&quot;show_menu&quot;)</code></td></tr><tr><td>输入文本</td><td><code>type_text({pid, text, element_token})</code>（AX 路径）；<code>type_text({pid, text, window_id, x, y})</code>（像素路径，专治 Chromium&#x2F;Electron 里 AX 打不进的输入框）</td></tr><tr><td>设置非文本控件值</td><td><code>set_value({pid, element_token, value})</code>（<strong>仅 AX</strong>：下拉、复选框、滑块、微调器）</td></tr><tr><td>滚动</td><td><code>scroll({pid, direction, amount, by, element_token})</code></td></tr><tr><td>按键</td><td><code>press_key({pid, key, element_token, modifiers})</code> &#x2F; <code>{pid, key, x, y}</code> &#x2F; <code>{pid, key, modifiers}</code>（不改焦点，发给当前焦点）</td></tr><tr><td>组合键</td><td><code>hotkey({pid, keys:[&quot;ctrl&quot;,&quot;c&quot;]})</code> &#x2F; <code>{pid, x, y, keys}</code></td></tr><tr><td>拖拽</td><td><code>drag({pid, from_x, from_y, to_x, to_y})</code></td></tr><tr><td>截图</td><td><code>screenshot</code>，或直接用 <code>get_window_state</code> 里那张</td></tr><tr><td>剪贴板</td><td><code>clipboard_write</code> &#x2F; <code>clipboard_read</code></td></tr><tr><td>整屏快照（桌面作用域）</td><td><code>get_desktop_state()</code></td></tr><tr><td>会话</td><td><code>start_session</code> &#x2F; <code>end_session</code></td></tr></tbody></table><p><code>z_index</code> 的可移植约定：<strong>数值越大越靠前</strong>，取最大非 null 者即最前。原生 Wayland 上可能全为 <code>null</code>（Windows 不涉及），此时必须显式兜底，<strong>不要把 null 当 0，也不要按数组顺序猜层叠</strong>。</p><hr><h2 id="7-接入-AI-Agent（MCP）"><a href="#7-接入-AI-Agent（MCP）" class="headerlink" title="7. 接入 AI Agent（MCP）"></a>7. 接入 AI Agent（MCP）</h2><p>Driver 把 <code>cua-driver mcp</code> 作为<strong>运行时中立</strong>的 agent 边界。支持的客户端包括 Claude Code、Codex、Cursor、OpenClaw、Muse Code 等。</p><h3 id="7-1-Claude-Code"><a href="#7-1-Claude-Code" class="headerlink" title="7.1 Claude Code"></a>7.1 Claude Code</h3><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">claude mcp add <span class="literal">--transport</span> stdio cua<span class="literal">-driver</span> <span class="literal">--</span> cua<span class="literal">-driver</span> mcp</span><br></pre></td></tr></table></figure><p>如果你要的是 Claude Code 那种”看图操作”（vision &#x2F; computer-use）的交互风格，注册兼容模式：</p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">claude mcp add <span class="literal">--transport</span> stdio cua<span class="literal">-computer-use</span> <span class="literal">--</span> cua<span class="literal">-driver</span> mcp <span class="literal">--claude-code-computer-use-compat</span></span><br></pre></td></tr></table></figure><p>该 flag 保留其它所有 MCP 工具，只改 <code>screenshot</code> 的语义：必须传 <code>pid</code> 和 <code>window_id</code>，且只截那个窗口。注意 <strong>必须走 MCP</strong>——CLI 截图虽然仍是同一个驱动调用，但拿不到 <code>mcp__cua-computer-use__screenshot</code> 这个 Claude Code 用来做图像定位锚点的工具名。</p><h3 id="7-2-通用-stdio-配置形状"><a href="#7-2-通用-stdio-配置形状" class="headerlink" title="7.2 通用 stdio 配置形状"></a>7.2 通用 stdio 配置形状</h3><p>任何支持 MCP 的客户端都是这两行：</p><figure class="highlight json"><table><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="punctuation">&#123;</span></span><br><span class="line">  <span class="attr">&quot;command&quot;</span><span class="punctuation">:</span> <span class="string">&quot;cua-driver&quot;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;args&quot;</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="string">&quot;mcp&quot;</span><span class="punctuation">]</span></span><br><span class="line"><span class="punctuation">&#125;</span></span><br></pre></td></tr></table></figure><p>Muse Code 示例（写进 <code>~/.config/muse/settings.json</code>，注意是<strong>合并</strong> <code>mcp_servers</code> 而非覆盖整个文件，且要填绝对路径）：</p><figure class="highlight json"><table><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="punctuation">&#123;</span></span><br><span class="line">  <span class="attr">&quot;mcp_servers&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">    <span class="attr">&quot;cua-driver&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">      <span class="attr">&quot;enabled&quot;</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">&quot;transport&quot;</span><span class="punctuation">:</span> <span class="string">&quot;stdio&quot;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;command&quot;</span><span class="punctuation">:</span> <span class="string">&quot;C:\\Users\\&lt;you&gt;\\AppData\\Local\\Programs\\Cua\\cua-driver\\bin\\cua-driver.exe&quot;</span><span class="punctuation">,</span></span><br><span class="line">      <span class="attr">&quot;args&quot;</span><span class="punctuation">:</span> <span class="punctuation">[</span><span class="string">&quot;mcp&quot;</span><span class="punctuation">]</span></span><br><span class="line">    <span class="punctuation">&#125;</span></span><br><span class="line">  <span class="punctuation">&#125;</span></span><br><span class="line"><span class="punctuation">&#125;</span></span><br></pre></td></tr></table></figure><p>Windows 上填<strong>安装出来的 exe 绝对路径</strong>（用 <code>(Get-Command cua-driver).Source</code> 取），配置改完要<strong>新开会话</strong>——MCP server 在启动时加载。</p><h3 id="7-3-协议版本与-HTTP-限制"><a href="#7-3-协议版本与-HTTP-限制" class="headerlink" title="7.3 协议版本与 HTTP 限制"></a>7.3 协议版本与 HTTP 限制</h3><ul><li>stdio 支持现代 MCP 修订 <strong><code>2026-07-28</code></strong>，同时保留 <code>2025-06-18</code> 的 legacy <code>initialize</code> 协商；</li><li>现代客户端在每个请求的 <code>_meta</code> 里带协议版本与客户端能力，发现阶段用 <code>server/discover</code> 即可，无需 <code>initialize</code>；</li><li>回环 HTTP 端点<strong>仍停留在 legacy MCP，会显式拒绝现代的 metadata 与 discovery 请求</strong>——要用现代协议就走 stdio；</li><li>带鉴权的本地 HTTP 通过 <code>CUA_DRIVER_RS_MCP_HTTP_PORT</code> + <code>CUA_DRIVER_RS_MCP_HTTP_TOKEN</code> 开启。</li></ul><h3 id="7-4-让-agent-少犯错：装官方-skill"><a href="#7-4-让-agent-少犯错：装官方-skill" class="headerlink" title="7.4 让 agent 少犯错：装官方 skill"></a>7.4 让 agent 少犯错：装官方 skill</h3><p>Driver 内置一份写给 agent 看的技能包（<code>SKILL.md</code> + 各平台指南 + 浏览器 + 录制 + 嵌入，共 8 个文件，<code>sha256</code> 校验）：</p><figure class="highlight powershell"><table><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">cua<span class="literal">-driver</span> skills install        <span class="comment"># 只装当前宿主 OS 的那份文档</span></span><br><span class="line">cua<span class="literal">-driver</span> skills install <span class="literal">--all-platforms</span></span><br><span class="line">cua<span class="literal">-driver</span> skills status</span><br><span class="line">cua<span class="literal">-driver</span> skills path</span><br></pre></td></tr></table></figure><p>也可以从 ClawHub 装 <code>@cua/driver</code>。按 <code>SKILL.md</code> 的说法，Codex 能直接枚举并读取内嵌资源；而 Claude Code 2.1.x 虽然能列出并读取这些资源，但<strong>不会</strong>把它纳入原生技能目录，因此对该客户端仍需 <code>skills install</code> 落到文件系统才算原生激活。</p><hr><h2 id="8-多场景应用流程"><a href="#8-多场景应用流程" class="headerlink" title="8. 多场景应用流程"></a>8. 多场景应用流程</h2><p>以下均为 PowerShell + 纯 CLI（不依赖任何 LLM），因此可以直接塞进批处理、计划任务或 CI。同一套流程换成 MCP 工具调用即可交给 agent 执行。</p><h3 id="场景-A：最小闭环——让计算器算-6×7-并核验"><a href="#场景-A：最小闭环——让计算器算-6×7-并核验" class="headerlink" title="场景 A：最小闭环——让计算器算 6×7 并核验"></a>场景 A：最小闭环——让计算器算 6×7 并核验</h3><p>官方教学案例，用来验证”装对了、能操作、能读回结果”。</p><figure class="highlight powershell"><table><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 class="comment"># 1) 启动（UWP 计算器用 aumid；返回 pid + windows）</span></span><br><span class="line"><span class="string">&#x27;&#123;&quot;aumid&quot;:&quot;Microsoft.WindowsCalculator_8wekyb3d8bbwe!App&quot;&#125;&#x27;</span> | &amp; cua<span class="literal">-driver</span> call launch_app</span><br><span class="line"><span class="comment">#    → &#123;pid: 6004, windows: [&#123;window_id: 459672, ...&#125;]&#125;</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 2) 快照 UIA 树，拿 element_token</span></span><br><span class="line"><span class="string">&#x27;&#123;&quot;pid&quot;:6004,&quot;window_id&quot;:459672&#125;&#x27;</span> | &amp; cua<span class="literal">-driver</span> call get_window_state</span><br><span class="line"></span><br><span class="line"><span class="comment"># 3) 用返回的 token 点击（下面是文档示例值，每次运行都不同，必须现取现用）</span></span><br><span class="line"><span class="string">&#x27;&#123;&quot;pid&quot;:6004,&quot;element_token&quot;:&quot;s0000002a:22&quot;&#125;&#x27;</span> | &amp; cua<span class="literal">-driver</span> call click</span><br><span class="line"></span><br><span class="line"><span class="comment"># 4) 重新快照，读回结果是否 42</span></span><br><span class="line"><span class="string">&#x27;&#123;&quot;pid&quot;:6004,&quot;window_id&quot;:459672&#125;&#x27;</span> | &amp; cua<span class="literal">-driver</span> call get_window_state</span><br><span class="line"></span><br><span class="line"><span class="comment"># 或者用结构化断言一次搞定</span></span><br><span class="line"><span class="string">&#x27;&#123;&quot;pid&quot;:6004,&quot;window_id&quot;:459672,&quot;expect&quot;:[&#123;&quot;element&quot;:&#123;&quot;selector&quot;:&#123;&quot;label_contains&quot;:&quot;42&quot;&#125;,&quot;exists&quot;:true&#125;&#125;]&#125;&#x27;</span> | &amp; cua<span class="literal">-driver</span> call verify_state</span><br></pre></td></tr></table></figure><p>全程计算器<strong>不会前置</strong>，你的前台窗口和鼠标位置不受影响。</p><h3 id="场景-B：Win32-应用-表单批量填写"><a href="#场景-B：Win32-应用-表单批量填写" class="headerlink" title="场景 B：Win32 应用 + 表单批量填写"></a>场景 B：Win32 应用 + 表单批量填写</h3><figure class="highlight powershell"><table><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 class="comment"># 1) 按可执行文件名或完整路径启动</span></span><br><span class="line"><span class="string">&#x27;&#123;&quot;name&quot;:&quot;notepad&quot;,&quot;args&quot;:[&quot;D:\\notes\\todo.txt&quot;]&#125;&#x27;</span> | &amp; cua<span class="literal">-driver</span> call launch_app</span><br><span class="line"><span class="comment">#    绝对路径形式：&#123;&quot;path&quot;:&quot;C:\\Windows\\System32\\notepad.exe&quot;&#125;</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 2) 快照 → 找到编辑区 element_token</span></span><br><span class="line"><span class="string">&#x27;&#123;&quot;pid&quot;:&lt;pid&gt;,&quot;window_id&quot;:&lt;wid&gt;&#125;&#x27;</span> | &amp; cua<span class="literal">-driver</span> call get_window_state</span><br><span class="line"></span><br><span class="line"><span class="comment"># 3) 写入（AX 路径会先聚焦元素再用平台文本原语写入）</span></span><br><span class="line"><span class="string">&#x27;&#123;&quot;pid&quot;:&lt;pid&gt;,&quot;text&quot;:&quot;第一行内容&quot;,&quot;element_token&quot;:&quot;&lt;token&gt;&quot;&#125;&#x27;</span> | &amp; cua<span class="literal">-driver</span> call type_text</span><br><span class="line"></span><br><span class="line"><span class="comment"># 4) 保存</span></span><br><span class="line"><span class="string">&#x27;&#123;&quot;pid&quot;:&lt;pid&gt;,&quot;keys&quot;:[&quot;ctrl&quot;,&quot;s&quot;]&#125;&#x27;</span> | &amp; cua<span class="literal">-driver</span> call hotkey</span><br><span class="line"></span><br><span class="line"><span class="comment"># 5) 断言落盘结果，而不是&quot;看起来点了&quot;</span></span><br><span class="line"><span class="string">&#x27;&#123;&quot;pid&quot;:&lt;pid&gt;,&quot;window_id&quot;:&lt;wid&gt;,&quot;expect&quot;:[&#123;&quot;element&quot;:&#123;&quot;selector&quot;:&#123;&quot;label_contains&quot;:&quot;todo.txt&quot;&#125;,&quot;exists&quot;:true&#125;&#125;]&#125;&#x27;</span> | &amp; cua<span class="literal">-driver</span> call verify_state</span><br></pre></td></tr></table></figure><p><strong>批量时</strong>：<code>type_text</code> 用 <code>text</code> 字段循环即可；要精确追加而非替换，先 <code>click</code> 聚焦再用键盘。若目标输入框对 AX 无反应（典型是 Electron&#x2F;Chromium 渲染区），改用像素式一行解决：<code>type_text({pid, text, window_id, x, y})</code>——它会先像素点击 <code>(x,y)</code> 拿到焦点再输入。</p><h3 id="场景-C：把文件-URL-交给默认应用（不要用-Start-Process）"><a href="#场景-C：把文件-URL-交给默认应用（不要用-Start-Process）" class="headerlink" title="场景 C：把文件 &#x2F; URL 交给默认应用（不要用 Start-Process）"></a>场景 C：把文件 &#x2F; URL 交给默认应用（不要用 Start-Process）</h3><p><code>Intent → tool</code> 映射表明确把 shell 命令列入”别用”栏：</p><figure class="highlight powershell"><table><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"><span class="comment"># 用默认浏览器打开 URL</span></span><br><span class="line"><span class="string">&#x27;&#123;&quot;urls&quot;:[&quot;https://github.com/trycua/cua&quot;]&#125;&#x27;</span> | &amp; cua<span class="literal">-driver</span> call launch_app</span><br><span class="line"></span><br><span class="line"><span class="comment"># 用默认程序打开本地文件</span></span><br><span class="line"><span class="string">&#x27;&#123;&quot;urls&quot;:[&quot;D:\\report\\a.pdf&quot;]&#125;&#x27;</span> | &amp; cua<span class="literal">-driver</span> call launch_app</span><br><span class="line"></span><br><span class="line"><span class="comment"># 指定程序打开文件</span></span><br><span class="line"><span class="string">&#x27;&#123;&quot;path&quot;:&quot;C:\\Program Files\\VideoLAN\\VLC\\vlc.exe&quot;,&quot;args&quot;:[&quot;D:\\a.mp4&quot;]&#125;&#x27;</span> | &amp; cua<span class="literal">-driver</span> call launch_app</span><br></pre></td></tr></table></figure><p>替代掉的错误写法：<code>Start-Process &quot;https://…&quot;</code>、<code>explorer.exe ms-edge:…</code>、<code>cmd /c start &quot;&quot; &quot;url&quot;</code>、<code>Get-Process</code> 找 pid、<code>tasklist</code>、<code>Stop-Process</code>。理由是只有走 Driver 才能拿到 pid&#x2F;window_id 并维持 no-foreground 契约。</p><p><strong>关应用</strong>：<code>WINDOWS.md</code> 要求<strong>先征得用户同意</strong>，再用 <code>hotkey({pid, keys:[&quot;alt&quot;,&quot;f4&quot;]})</code>，而不是 <code>taskkill /F</code>。</p><h3 id="场景-D：精确窗口排布（多屏-并排对照）"><a href="#场景-D：精确窗口排布（多屏-并排对照）" class="headerlink" title="场景 D：精确窗口排布（多屏 &#x2F; 并排对照）"></a>场景 D：精确窗口排布（多屏 &#x2F; 并排对照）</h3><figure class="highlight powershell"><table><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="comment"># 把 A 放左半屏</span></span><br><span class="line"><span class="string">&#x27;&#123;&quot;pid&quot;:1111,&quot;window_id&quot;:222233,&quot;x&quot;:0,&quot;y&quot;:0,&quot;width&quot;:1280,&quot;height&quot;:1392&#125;&#x27;</span> | &amp; cua<span class="literal">-driver</span> call set_window_frame</span><br><span class="line"><span class="comment"># 把 B 放右半屏</span></span><br><span class="line"><span class="string">&#x27;&#123;&quot;pid&quot;:4444,&quot;window_id&quot;:555566,&quot;x&quot;:1280,&quot;y&quot;:0,&quot;width&quot;:1280,&quot;height&quot;:1392&#125;&#x27;</span> | &amp; cua<span class="literal">-driver</span> call set_window_frame</span><br></pre></td></tr></table></figure><p><code>set_window_frame</code> 走窗口管理器并做几何读回，只有确认后才回 <code>confirmed</code>。<strong>若结果不是 <code>confirmed</code>，先 <code>list_windows</code> 复查再继续</strong>，别假设成功。</p><h3 id="场景-E：网页内容（Chromium-Edge-Electron）"><a href="#场景-E：网页内容（Chromium-Edge-Electron）" class="headerlink" title="场景 E：网页内容（Chromium &#x2F; Edge &#x2F; Electron）"></a>场景 E：网页内容（Chromium &#x2F; Edge &#x2F; Electron）</h3><p>浏览器<strong>外壳</strong>（地址栏、权限弹窗、下载框、文件选择器）仍是原生窗口，用第 6 节的 AX&#x2F;PX 阶梯；<strong>页面内容</strong>要切到类型化浏览器循环，且必须先读 <code>BROWSER.md</code>：</p><figure class="highlight text"><table><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">start_session(session?)</span><br><span class="line">list_windows / launch_app                       # 拿到原生 (pid, window_id)</span><br><span class="line">get_browser_state(pid, window_id, session?)     # ① 绑定</span><br><span class="line">get_browser_state(target_id, tab_id, session?, snapshot_format=semantic_v2)   # ② 快照</span><br><span class="line">browser_navigate / browser_click / browser_type / browser_pointer</span><br><span class="line">browser_dialog / browser_set_input_files / browser_download</span><br><span class="line">get_browser_state(... snapshot_format=semantic_v2)   # ③ 校验并刷新引用</span><br><span class="line">end_session(session?)</span><br></pre></td></tr></table></figure><p>铁律：<strong>绝不拿裸 CDP target id、tab 序号、URL 匹配或记忆中的 ref 去替代 <code>get_browser_state</code> 返回的能力句柄</strong>；tab id 与 ref 都是 session 作用域，过期引用必须重新快照。</p><p>把页面内容精确复制到剪贴板时，不必模拟选中动作——从新的语义快照读值，再 <code>clipboard_write</code> 写入、<code>clipboard_read</code> 校验。这条路径是后台安全的，也不需要可点击 ref。</p><h3 id="场景-F：整屏绝对坐标（跨窗口、目标无无障碍树）"><a href="#场景-F：整屏绝对坐标（跨窗口、目标无无障碍树）" class="headerlink" title="场景 F：整屏绝对坐标（跨窗口、目标无无障碍树）"></a>场景 F：整屏绝对坐标（跨窗口、目标无无障碍树）</h3><figure class="highlight text"><table><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">get_desktop_state()</span><br><span class="line">  → click / scroll / drag / move_cursor / type_text / press_key / hotkey</span><br><span class="line">    统一传 scope:&quot;desktop&quot;，坐标取自刚返回的整屏图像</span><br><span class="line">  → get_desktop_state()   # 复核</span><br></pre></td></tr></table></figure><p>在有效的桌面作用域下，这些工具<strong>省略 <code>pid</code>&#x2F;<code>window_id</code></strong>，坐标是<strong>屏幕绝对像素</strong>，且必须来自<strong>最近一次</strong> <code>get_desktop_state</code> 的那张图。</p><p>反过来注意：<strong>窗口作用域的键盘&#x2F;文本原语必须带 <code>pid</code></strong>；只有严格&#x2F;有效的 desktop session 才能省略 <code>pid</code>，而且它会把键盘输入<strong>有意</strong>投递给当前前台应用。</p><h3 id="场景-G：多个-agent-并行操作"><a href="#场景-G：多个-agent-并行操作" class="headerlink" title="场景 G：多个 agent 并行操作"></a>场景 G：多个 agent 并行操作</h3><p><code>SKILL.md</code> 对并发的说明很具体，两个坑：</p><ol><li><strong><code>launch_app</code> 是幂等的</strong>——两次运行启动同一个应用会拿到<strong>同一个实例</strong>（Calculator 这类单实例应用甚至是同一个窗口），互相覆盖。</li><li><strong>不同 session 只隔离光标，不隔离连接</strong>。共用一个 <code>cua-driver mcp</code>（stdio）连接的子 agent，其工具调用会被传输层<strong>串行化</strong>（排队而非并行）。</li></ol><p>正确姿势：每个并行 agent 给<strong>独立连接</strong>（各自一个 <code>cua-driver mcp</code> 进程，或各指向独立端点），并且 <code>launch_app</code> 传 <code>creates_new_application_instance: true</code> 拿自己的窗口。元素缓存按 <code>(pid, window_id)</code> 键控、光标按私有生命周期 session 键控，因此实例与传输各自独立即可互不干扰。</p><p>配合 <code>session</code> 标签更好排查（<strong>传一次不粘</strong>，每个接受该参数的调用都要重复传；未命名调用会用传输层的隐式 session）：</p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="string">&#x27;&#123;&quot;aumid&quot;:&quot;Microsoft.WindowsCalculator_8wekyb3d8bbwe!App&quot;,&quot;session&quot;:&quot;calc-A&quot;,&quot;creates_new_application_instance&quot;:true&#125;&#x27;</span> | &amp; cua<span class="literal">-driver</span> call launch_app</span><br></pre></td></tr></table></figure><p>会话在传输关闭、显式 <code>end_session</code>、或<strong>空闲 5 分钟 TTL</strong> 后回收。</p><h3 id="场景-H：录制轨迹做演示-回归-训练数据"><a href="#场景-H：录制轨迹做演示-回归-训练数据" class="headerlink" title="场景 H：录制轨迹做演示 &#x2F; 回归 &#x2F; 训练数据"></a>场景 H：录制轨迹做演示 &#x2F; 回归 &#x2F; 训练数据</h3><figure class="highlight powershell"><table><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">cua<span class="literal">-driver</span> recording <span class="built_in">start</span> D:\cua<span class="literal">-trajectories</span>\run<span class="literal">-1</span></span><br><span class="line"><span class="comment">#   … 跑完整流程 …</span></span><br><span class="line">cua<span class="literal">-driver</span> recording status</span><br><span class="line">cua<span class="literal">-driver</span> recording stop</span><br><span class="line">cua<span class="literal">-driver</span> recording render      <span class="comment"># 渲染成可视产物</span></span><br></pre></td></tr></table></figure><p>机制：<code>start_recording</code> 打开 session 作用域的轨迹记录器，此后每个<strong>动作类</strong>工具（<code>click</code>&#x2F;<code>right_click</code>&#x2F;<code>scroll</code>&#x2F;<code>type_text</code>&#x2F;<code>press_key</code>&#x2F;<code>hotkey</code>&#x2F;<code>set_value</code>）都在输出目录下写一个编号 turn 文件夹；<strong>只读工具不记录</strong>。默认<strong>同时录视频</strong>到 <code>&lt;output_dir&gt;\recording.mp4</code>（H.264 &#x2F; 30fps），<code>stop_recording</code> 时封装完成；不需要视频就传 <code>record_video: false</code>。</p><p><strong>Windows 的视频依赖 ffmpeg 子进程（<code>gdigrab</code>）</strong>：</p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">winget install Gyan.FFmpeg</span><br></pre></td></tr></table></figure><p>ffmpeg 不在 PATH 时，<strong>逐 turn 的状态捕获照常进行，只是没有视频</strong>，<code>last_error</code> 里带安装提示；而 ffmpeg 启动本身失败会快速失败并附带 stderr 尾部。录制只在用户明确要求时开启，官方技能不会自动启用。</p><h3 id="场景-I：Python-脚本编排（确定性流程，不需要模型）"><a href="#场景-I：Python-脚本编排（确定性流程，不需要模型）" class="headerlink" title="场景 I：Python 脚本编排（确定性流程，不需要模型）"></a>场景 I：Python 脚本编排（确定性流程，不需要模型）</h3><p>应用侧可以直接把 Driver 当 SDK 用（wheel 内置 UniFFI 绑定 + 平台原生库 + <code>cua-driver</code> 可执行文件）：</p><figure class="highlight bash"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">pip install cua-driver</span><br></pre></td></tr></table></figure><figure class="highlight python"><table><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></pre></td><td class="code"><pre><span class="line"><span class="keyword">import</span> asyncio</span><br><span class="line"><span class="keyword">from</span> cua_driver <span class="keyword">import</span> (</span><br><span class="line">    CuaDriver, CursorReducedMotion, EndSessionInput,</span><br><span class="line">    GetDesktopStateInput, SetAgentCursorThemeInput, StartSessionInput,</span><br><span class="line">)</span><br><span class="line"></span><br><span class="line"><span class="keyword">async</span> <span class="keyword">def</span> <span class="title function_">main</span>() -&gt; <span class="literal">None</span>:</span><br><span class="line">    driver = CuaDriver.create()          <span class="comment"># 在导入它的进程内加载 runtime</span></span><br><span class="line">    <span class="keyword">await</span> driver.start_session(StartSessionInput(session=<span class="string">&quot;demo&quot;</span>, capture_scope=<span class="literal">None</span>, cursor_theme=<span class="literal">None</span>))</span><br><span class="line">    <span class="keyword">try</span>:</span><br><span class="line">        <span class="keyword">await</span> driver.set_agent_cursor_theme(SetAgentCursorThemeInput(</span><br><span class="line">            session=<span class="string">&quot;demo&quot;</span>, theme_id=<span class="string">&quot;cua.default&quot;</span>, reduced_motion=CursorReducedMotion.AUTO))</span><br><span class="line">        desktop = <span class="keyword">await</span> driver.get_desktop_state(GetDesktopStateInput(session=<span class="string">&quot;demo&quot;</span>, screenshot_out_file=<span class="literal">None</span>))</span><br><span class="line">        <span class="built_in">print</span>(desktop.images[<span class="number">0</span>].mime_type)</span><br><span class="line">    <span class="keyword">finally</span>:</span><br><span class="line">        <span class="keyword">await</span> driver.end_session(EndSessionInput(session=<span class="string">&quot;demo&quot;</span>))</span><br><span class="line">        <span class="keyword">await</span> driver.shutdown()</span><br><span class="line"></span><br><span class="line">asyncio.run(main())</span><br></pre></td></tr></table></figure><p>选型边界（官方写得很清楚）：<strong>SDK 是给客户端应用用的，不是给 agent 用的</strong>——它不含语言原生 MCP facade，也没有 <code>/sdk</code>、<code>/mcp</code>、<code>/native</code> 后缀；<code>CuaDriver.create()</code> 在宿主进程内加载 runtime，因此<strong>不需要 daemon</strong>。给 agent 用请一律走 <code>cua-driver mcp</code>。TypeScript 侧对应 <code>@trycua/cua-driver</code>。已被移除的预发布 facade（<code>CuaDriver.stdio()</code>、<code>AsyncCuaDriver</code>、<code>*Args</code>、transport 类）不要再找。</p><h3 id="场景-J：无人值守-CI"><a href="#场景-J：无人值守-CI" class="headerlink" title="场景 J：无人值守 &#x2F; CI"></a>场景 J：无人值守 &#x2F; CI</h3><p>组合上面几条，Windows 上的无人值守要点是：</p><figure class="highlight powershell"><table><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"># 机器登录 → autostart 任务（RunLevel=Highest, LogonType=Interactive）自动起 daemon</span></span><br><span class="line">cua<span class="literal">-driver</span> autostart status</span><br><span class="line">cua<span class="literal">-driver</span> doctor</span><br><span class="line"><span class="comment"># 一次性操作走 daemon；需要服务多个客户端时显式选管道端点</span></span><br><span class="line"><span class="string">&#x27;&#123;&quot;name&quot;:&quot;msedge&quot;,&quot;urls&quot;:[&quot;http://localhost:8080&quot;]&#125;&#x27;</span> | &amp; cua<span class="literal">-driver</span> call launch_app</span><br></pre></td></tr></table></figure><p>CI&#x2F;容器里若不希望注册计划任务，安装时传 <code>-NoAutoStart</code>；远程驱动则记住 4.4 的 Session 0 规则。评测类需求（造任务、跑 agent、算 reward）用 <code>cua-bench</code>：</p><figure class="highlight bash"><table><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">uv tool install <span class="string">&#x27;cua-bench[browser]&#x27;</span></span><br><span class="line">uv tool run --from <span class="string">&#x27;cua-bench[browser]&#x27;</span> playwright install chromium</span><br></pre></td></tr></table></figure><p>要求 Python 3.12 或 3.13 且已装 <code>uv</code>；它的最小任务示例不需要 VM、Docker 或模型 API key。</p><hr><h2 id="9-报错对照表"><a href="#9-报错对照表" class="headerlink" title="9. 报错对照表"></a>9. 报错对照表</h2><table><thead><tr><th>错误</th><th>含义</th><th>处置</th></tr></thead><tbody><tr><td><code>No cached AX state for pid X window_id W</code></td><td>本轮跳过了 <code>get_window_state</code>，或者点击用的 <code>window_id</code> 与快照时不是同一个</td><td>先对<strong>同一个</strong> <code>window_id</code> 调 <code>get_window_state</code></td></tr><tr><td><code>snapshot_id_required</code> &#x2F; <code>stale_element_token</code></td><td>传了裸序号，或已被更新的快照取代</td><td>重跑 <code>get_window_state</code>，改用新 <code>element_token</code>，或让 <code>element_index</code> 配上它的 <code>snapshot_id</code></td></tr><tr><td><code>window_id W belongs to pid P, not …</code></td><td>传了别的进程拥有的 window_id</td><td>用 <code>list_windows({pid: X})</code> 枚举该 pid 自己的窗口</td></tr><tr><td><code>background_unavailable</code></td><td>该点被遮挡，或事件类型不支持后台注入，而当前是 <code>background</code> 模式</td><td><strong>不要</strong>盲目改成 <code>foreground</code>；先重新定位（换 AX token、换窗口、或 <code>set_window_frame</code>）</td></tr><tr><td>UWP&#x2F;计算器控件树只有约 1 个元素</td><td>daemon 以 Medium IL 运行，跨 AppContainer 的 UIA 被截断</td><td>用默认方式注册 <code>RunLevel=Highest</code> 的 <code>cua-driver-serve</code> 任务</td></tr><tr><td>远程&#x2F;SSH 下全部工具静默返回空或超时</td><td>落在 Session 0</td><td>见 4.4，<code>schtasks /Run /TN cua-driver-serve</code> + <code>--socket \\.\pipe\cua-driver</code></td></tr><tr><td>首次运行被 SmartScreen 拦</td><td>未签名二进制首次执行</td><td>「更多信息 → 仍要运行」一次</td></tr></tbody></table><hr><h2 id="10-安全与权限模式"><a href="#10-安全与权限模式" class="headerlink" title="10. 安全与权限模式"></a>10. 安全与权限模式</h2><ul><li><strong>权限模式在启动时固定，属于持有 runtime 的那个进程</strong>。运行中的 daemon 必须重启才能换模式：<code>cua-driver serve</code> 用命令行 flag；<code>cua-driver mcp</code> 和嵌入式宿主用环境变量 <code>CUA_DRIVER_PERMISSION_MODE</code>、<code>CUA_DRIVER_CAPABILITY_MANIFEST_FILE</code>、<code>CUA_DRIVER_CAPABILITY_MANIFEST_APPROVED</code>。</li></ul><table><thead><tr><th>模式</th><th>含义</th></tr></thead><tbody><tr><td><code>standard</code></td><td>常规自动化的默认，无逐次弹窗</td></tr><tr><td><code>bounded</code></td><td>只允许经审查清单里的工具和资源</td></tr><tr><td><code>unrestricted</code></td><td>必须显式带 <code>--dangerously-bypass-approvals</code></td></tr></tbody></table><ul><li><strong>挂接已登录的 Chromium 配置文件必须显式授权</strong>：<code>cua-driver mcp --grant existing-profile</code>（或宿主实现 <code>DriverAuthorizationHost</code>，或 bounded 清单里声明 <code>kind: existing_profile</code>）。Driver 自己不渲染授权弹窗。</li><li><code>cua-driver revoke</code> 用于撤销授权；遥测用 <code>cua-driver telemetry enable|disable|status|reset-id|inspect</code> 管理。</li><li><strong>破坏性动作</strong>（删文件、关未保存文档、发消息、提交表单）在没有用户明确同意前不要执行——这条是官方技能文档的红线，写自动化时应当成硬约束。</li><li><strong>Computer History（macOS nightly 预览，Windows 暂不适用）</strong>：可选的本地加密操作历史，只存严格的元数据白名单，<strong>从不</strong>保存截图、输入文本、剪贴板内容、原始参数&#x2F;结果、无障碍树、路径、窗口标题或 URL；通过 <code>history_status</code> &#x2F; <code>history_query</code> 做只读回放。只有当两个工具都被 advertise、且用户要求”继续&#x2F;回忆上次操作”时才用，且返回的元数据只能当线索、必须回到当前状态核实。</li></ul><hr><h2 id="11-一句话总结"><a href="#11-一句话总结" class="headerlink" title="11. 一句话总结"></a>11. 一句话总结</h2><p>Windows 上落地 Cua 的正确顺序是：<strong><code>install.ps1</code> 一行装（接受那一次 UAC 以便驱动 UWP）→ <code>autostart status</code> + <code>doctor</code> 自检 → <code>cua-driver call</code> 跑通「计算器 6×7」闭环 → 再决定接 MCP（给 agent）还是用 Python SDK（给应用）</strong>。真正决定成败的是两条纪律：<strong>永远 snapshot→act→verify，永远先用 <code>delivery_mode:&quot;background&quot;</code> 和Accessibility 路径</strong>，把 <code>Start-Process</code>、<code>taskkill</code>、<code>SendInput</code>、AutoHotkey 这类老习惯全部换成 Driver 的工具。</p><hr><h2 id="参考资料"><a href="#参考资料" class="headerlink" title="参考资料"></a>参考资料</h2><ul><li>仓库：<a href="https://github.com/trycua/cua">https://github.com/trycua/cua</a>（MIT）</li><li>Driver 源码文档：<a href="https://github.com/trycua/cua/tree/main/libs/cua-driver">https://github.com/trycua/cua/tree/main/libs/cua-driver</a></li><li>官方文档：<a href="https://cua.ai/docs/cua-driver">https://cua.ai/docs/cua-driver</a></li><li>Drive your first app：<a href="https://cua.ai/docs/tutorials/drive-your-first-app">https://cua.ai/docs/tutorials/drive-your-first-app</a></li><li>安装指南：<a href="https://cua.ai/docs/how-to-guides/driver/install">https://cua.ai/docs/how-to-guides/driver/install</a></li><li>CLI 参考：<a href="https://cua.ai/docs/reference/cua-driver/cli-reference">https://cua.ai/docs/reference/cua-driver/cli-reference</a></li><li>MCP 工具参考：<a href="https://cua.ai/docs/reference/cua-driver/mcp-tools">https://cua.ai/docs/reference/cua-driver/mcp-tools</a></li><li>平台支持边界：<a href="https://cua.ai/docs/reference/cua-driver/platform-support">https://cua.ai/docs/reference/cua-driver/platform-support</a></li><li>权限模式：<a href="https://cua.ai/docs/reference/cua-driver/permission-modes">https://cua.ai/docs/reference/cua-driver/permission-modes</a></li><li>连接你的 agent：<a href="https://cua.ai/docs/how-to-guides/driver/connect-your-agent">https://cua.ai/docs/how-to-guides/driver/connect-your-agent</a></li></ul><blockquote><p>本文技术内容截至 2026-09-20，对应 Cua Driver 0.28.x。该项目的 CLI 与文档迭代很快，<strong>装好后请以 <code>cua-driver list-tools</code> &#x2F; <code>cua-driver describe &lt;tool&gt;</code> 的本机输出为准</strong>。</p></blockquote>]]>
    </content>
    <id>https://notion.fuwari.fun/2026/09/20/cua-driver-windows-guide/</id>
    <link href="https://notion.fuwari.fun/2026/09/20/cua-driver-windows-guide/"/>
    <published>2026-09-20T00:00:00.000Z</published>
    <summary>
      <![CDATA[<p><a href="https://github.com/trycua/cua">trycua&#x2F;cua</a> 是 2026-09-20 的 GitHub Trending 榜首级项目，口号是 “Give AI agents computers they can use”。它的仓库已经重构成五个组件，其中<strong>真正负责「操控本机桌面」的是 Cua Driver</strong>。</p>
<p>本文只讲 Windows，且所有命令都实测自官方仓库 <code>libs/cua-driver/</code> 的 <code>WINDOWS.md</code>、<code>SKILL.md</code>、以及 <code>https://cua.ai/driver/install.ps1</code> 脚本本体（版本线 <strong>0.28.x</strong>）。凡文档与脚本不一致之处，均在文中标注。</p>]]>
    </summary>
    <title>Cua Driver Windows 实战 — 从安装到让 AI Agent 后台操控桌面</title>
    <updated>2026-09-22T02:12:36.890Z</updated>
  </entry>
  <entry>
    <author>
      <name>浅梦风凌</name>
    </author>
    <category term="GitHub 日报" scheme="https://notion.fuwari.fun/categories/GitHub-%E6%97%A5%E6%8A%A5/"/>
    <category term="GitHub" scheme="https://notion.fuwari.fun/tags/GitHub/"/>
    <category term="Trending" scheme="https://notion.fuwari.fun/tags/Trending/"/>
    <category term="开源" scheme="https://notion.fuwari.fun/tags/%E5%BC%80%E6%BA%90/"/>
    <content>
      <![CDATA[<p>数据来源：<a href="https://github.com/trending">GitHub Trending</a>（经代理抓取）。今日榜单共 15 个仓库，与历史去重清单比对后，收录 9 个全新仓库，按当日新增 Star 数排序。</p><span id="more"></span><div class="repo-vote-summary" data-article="2026-09-20" aria-live="polite"></div><h2 id="1-trycua-cua"><a href="#1-trycua-cua" class="headerlink" title="1. trycua&#x2F;cua"></a>1. <a href="https://github.com/trycua/cua">trycua&#x2F;cua</a></h2><button class="repo-vote-btn" type="button" data-repo="trycua/cua" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：HTML</li><li><strong>总 Star</strong>：24,460</li><li><strong>当日新增</strong>：+859&#x2F;天</li><li><strong>简介</strong>：面向「Computer Use 2.0」的开源基础设施，提供跨操作系统（Linux &#x2F; Windows &#x2F; macOS）的沙箱驱动与虚拟机舰队管理，并配套训练、评测与数据生成的基准。</li><li><strong>亮点</strong>：让 AI Agent 操控桌面的能力可以批量并发跑，是把 GUI Agent 从演示推向规模化训练与回归评测的底层脚手架。</li></ul><h2 id="2-Open-Dev-Society-OpenStock"><a href="#2-Open-Dev-Society-OpenStock" class="headerlink" title="2. Open-Dev-Society&#x2F;OpenStock"></a>2. <a href="https://github.com/Open-Dev-Society/OpenStock">Open-Dev-Society&#x2F;OpenStock</a></h2><button class="repo-vote-btn" type="button" data-repo="Open-Dev-Society/OpenStock" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：TypeScript</li><li><strong>总 Star</strong>：16,089</li><li><strong>当日新增</strong>：+472&#x2F;天</li><li><strong>简介</strong>：对标昂贵行情平台的开源替代品，支持实时价格追踪、个性化提醒和公司基本面洞察，定位为「开放构建、人人可用、永久免费」。</li><li><strong>亮点</strong>：行情终端自建化的又一选择，适合想摆脱付费订阅、又希望掌握自己数据的市场观察者。</li></ul><h2 id="3-cactus-compute-needle"><a href="#3-cactus-compute-needle" class="headerlink" title="3. cactus-compute&#x2F;needle"></a>3. <a href="https://github.com/cactus-compute/needle">cactus-compute&#x2F;needle</a></h2><button class="repo-vote-btn" type="button" data-repo="cactus-compute/needle" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Python</li><li><strong>总 Star</strong>：11,621</li><li><strong>当日新增</strong>：+234&#x2F;天</li><li><strong>简介</strong>：面向小型设备的自动化基础模型，采用 2-bit 量化后仅 8–29 MB，可在手机、穿戴设备、智能家居、机器人、车机和单片机上完成工具调用、结构化抽取与向量嵌入。</li><li><strong>亮点</strong>：把「Agent 的工具调用能力」压进几十 MB，为端侧离线智能体提供了现实可行性。</li></ul><h2 id="4-higgsfield-ai-higgsfield"><a href="#4-higgsfield-ai-higgsfield" class="headerlink" title="4. higgsfield-ai&#x2F;higgsfield"></a>4. <a href="https://github.com/higgsfield-ai/higgsfield">higgsfield-ai&#x2F;higgsfield</a></h2><button class="repo-vote-btn" type="button" data-repo="higgsfield-ai/higgsfield" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Jupyter Notebook</li><li><strong>总 Star</strong>：4,977</li><li><strong>当日新增</strong>：+196&#x2F;天</li><li><strong>简介</strong>：容错性强、可扩展性高的 GPU 编排方案，同时是一套面向十亿到万亿参数模型训练的机器学习框架。</li><li><strong>亮点</strong>：千卡集群最痛的是节点故障，它把容错调度与训练框架打包，适合关注大模型训练基础设施的团队。</li></ul><h2 id="5-docling-project-docling"><a href="#5-docling-project-docling" class="headerlink" title="5. docling-project&#x2F;docling"></a>5. <a href="https://github.com/docling-project/docling">docling-project&#x2F;docling</a></h2><button class="repo-vote-btn" type="button" data-repo="docling-project/docling" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Python</li><li><strong>总 Star</strong>：67,088</li><li><strong>当日新增</strong>：+129&#x2F;天</li><li><strong>简介</strong>：把 PDF、Office、图片等文档解析成 LLM 友好的结构化格式，为生成式 AI 准备好高质量语料。</li><li><strong>亮点</strong>：RAG 落地第一道坎是文档解析，它在版面还原与表格理解上口碑较好，是当前知识库构建的常用底座。</li></ul><h2 id="6-ruanyf-weekly"><a href="#6-ruanyf-weekly" class="headerlink" title="6. ruanyf&#x2F;weekly"></a>6. <a href="https://github.com/ruanyf/weekly">ruanyf&#x2F;weekly</a></h2><button class="repo-vote-btn" type="button" data-repo="ruanyf/weekly" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：—</li><li><strong>总 Star</strong>：103,190</li><li><strong>当日新增</strong>：+98&#x2F;天</li><li><strong>简介</strong>：《科技爱好者周刊》，每周五发布，长期汇总技术动态、开源项目、工具与思考类文章。</li><li><strong>亮点</strong>：中文技术圈最老牌的免费周刊之一，适合每周固定花二十分钟扫一遍信息源。</li></ul><h2 id="7-ZuodaoTech-everyone-can-use-english"><a href="#7-ZuodaoTech-everyone-can-use-english" class="headerlink" title="7. ZuodaoTech&#x2F;everyone-can-use-english"></a>7. <a href="https://github.com/ZuodaoTech/everyone-can-use-english">ZuodaoTech&#x2F;everyone-can-use-english</a></h2><button class="repo-vote-btn" type="button" data-repo="ZuodaoTech/everyone-can-use-english" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：TypeScript</li><li><strong>总 Star</strong>：37,837</li><li><strong>当日新增</strong>：+48&#x2F;天</li><li><strong>简介</strong>：开源电子书《人人都能用英语》，系统讲清英语学习的思路与方法，并给出可执行的练习路径。</li><li><strong>亮点</strong>：把英语学习做成可协作维护的开源内容，方法论清晰，适合被传统应试英语坑过、想重头再来的人。</li></ul><h2 id="8-yynxxxxx-Codex-X"><a href="#8-yynxxxxx-Codex-X" class="headerlink" title="8. yynxxxxx&#x2F;Codex-X"></a>8. <a href="https://github.com/yynxxxxx/Codex-X">yynxxxxx&#x2F;Codex-X</a></h2><button class="repo-vote-btn" type="button" data-repo="yynxxxxx/Codex-X" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Rust</li><li><strong>总 Star</strong>：3,410</li><li><strong>当日新增</strong>：+32&#x2F;天</li><li><strong>简介</strong>：OpenAI Codex 桌面端 &#x2F; CLI 的跨平台可视化管理工具，支持 Provider 与 API 切换、会话同步、提示词注入、Skills&#x2F;MCP 管理以及 TOML 配置可视化。</li><li><strong>亮点</strong>：把 Codex 一堆手写 TOML 配置的脏活做成了图形界面，多模型多供应商切换时特别省事。</li></ul><h2 id="9-cloudflare-quiche"><a href="#9-cloudflare-quiche" class="headerlink" title="9. cloudflare&#x2F;quiche"></a>9. <a href="https://github.com/cloudflare/quiche">cloudflare&#x2F;quiche</a></h2><button class="repo-vote-btn" type="button" data-repo="cloudflare/quiche" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Rust</li><li><strong>总 Star</strong>：12,029</li><li><strong>当日新增</strong>：+31&#x2F;天</li><li><strong>简介</strong>：Cloudflare 用 Rust 实现的 QUIC 传输协议与 HTTP&#x2F;3 库，同时提供 C、Python 绑定。</li><li><strong>亮点</strong>：久经生产考验的网络协议栈实现，是被大量网关与客户端复用的 QUIC 底座。</li></ul>]]>
    </content>
    <id>https://notion.fuwari.fun/2026/09/20/github-trending-daily/2026-09-20/</id>
    <link href="https://notion.fuwari.fun/2026/09/20/github-trending-daily/2026-09-20/"/>
    <published>2026-09-20T00:00:00.000Z</published>
    <summary>
      <![CDATA[<p>数据来源：<a href="https://github.com/trending">GitHub Trending</a>（经代理抓取）。今日榜单共 15 个仓库，与历史去重清单比对后，收录 9 个全新仓库，按当日新增 Star 数排序。</p>]]>
    </summary>
    <title>GitHub Trending 日报 · 2026-09-20</title>
    <updated>2026-09-22T02:12:36.893Z</updated>
  </entry>
  <entry>
    <author>
      <name>浅梦风凌</name>
    </author>
    <category term="GitHub 日报" scheme="https://notion.fuwari.fun/categories/GitHub-%E6%97%A5%E6%8A%A5/"/>
    <category term="GitHub" scheme="https://notion.fuwari.fun/tags/GitHub/"/>
    <category term="Trending" scheme="https://notion.fuwari.fun/tags/Trending/"/>
    <category term="开源" scheme="https://notion.fuwari.fun/tags/%E5%BC%80%E6%BA%90/"/>
    <content>
      <![CDATA[<p>数据来源：<a href="https://github.com/trending">GitHub Trending</a>（经代理抓取），共收录 15 个全新仓库，按当日新增 Star 数排序。</p><span id="more"></span><div class="repo-vote-summary" data-article="2026-09-19" aria-live="polite"></div><h2 id="1-cloudflare-security-audit-skill"><a href="#1-cloudflare-security-audit-skill" class="headerlink" title="1. cloudflare&#x2F;security-audit-skill"></a>1. <a href="https://github.com/cloudflare/security-audit-skill">cloudflare&#x2F;security-audit-skill</a></h2><button class="repo-vote-btn" type="button" data-repo="cloudflare/security-audit-skill" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：JavaScript</li><li><strong>总 Star</strong>：13,889</li><li><strong>当日新增</strong>：+3,006&#x2F;天</li><li><strong>简介</strong>：Cloudflare 开源的编码 Agent 安全审计 Skill，支持多阶段审计流程，产出可独立验证、机器可读的安全问题清单。</li><li><strong>亮点</strong>：把安全审计封装成 Skill，可直接接入 Claude Code 等编码 Agent 做自动化代码安全审查。</li></ul><h2 id="2-alibaba-open-code-review"><a href="#2-alibaba-open-code-review" class="headerlink" title="2. alibaba&#x2F;open-code-review"></a>2. <a href="https://github.com/alibaba/open-code-review">alibaba&#x2F;open-code-review</a></h2><button class="repo-vote-btn" type="button" data-repo="alibaba/open-code-review" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Go</li><li><strong>总 Star</strong>：36,745</li><li><strong>当日新增</strong>：+2,704&#x2F;天</li><li><strong>简介</strong>：阿里巴巴开源的代码评审工具，采用「确定性流水线 + LLM Agent」混合架构，支持行级精准评论，内置多语言规则集（NPE、线程安全、XSS、SQL 注入等），兼容 OpenAI 与 Anthropic 模型。</li><li><strong>亮点</strong>：经阿里大规模实战验证，规则引擎兜底 + 大模型分析，兼顾准确率并减少幻觉误报。</li></ul><h2 id="3-Tencent-BrowserSkill"><a href="#3-Tencent-BrowserSkill" class="headerlink" title="3. Tencent&#x2F;BrowserSkill"></a>3. <a href="https://github.com/Tencent/BrowserSkill">Tencent&#x2F;BrowserSkill</a></h2><button class="repo-vote-btn" type="button" data-repo="Tencent/BrowserSkill" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：TypeScript</li><li><strong>总 Star</strong>：5,351</li><li><strong>当日新增</strong>：+1,306&#x2F;天</li><li><strong>简介</strong>：腾讯开源的浏览器自动化方案，让 AI Agent 接管你本机已登录的真实浏览器而不打断你的操作，由 CLI + 浏览器扩展组成，兼容任何支持 shell 的 AI Agent。</li><li><strong>亮点</strong>：复用真实登录态，免去 Cookie 搬运和模拟登录的麻烦，是浏览器版 MCP 的实用替代。</li></ul><h2 id="4-asciimoo-hister"><a href="#4-asciimoo-hister" class="headerlink" title="4. asciimoo&#x2F;hister"></a>4. <a href="https://github.com/asciimoo/hister">asciimoo&#x2F;hister</a></h2><button class="repo-vote-btn" type="button" data-repo="asciimoo/hister" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Go</li><li><strong>总 Star</strong>：4,980</li><li><strong>当日新增</strong>：+889&#x2F;天</li><li><strong>简介</strong>：asciimoo（fzf 作者以外的知名开源开发者）出品的自托管搜索引擎，让你拥有完全属于自己的搜索服务。</li><li><strong>亮点</strong>：数据不出本机，适合注重隐私、想摆脱商业搜索引擎的用户。</li></ul><h2 id="5-TencentCloud-Octop"><a href="#5-TencentCloud-Octop" class="headerlink" title="5. TencentCloud&#x2F;Octop"></a>5. <a href="https://github.com/TencentCloud/Octop">TencentCloud&#x2F;Octop</a></h2><button class="repo-vote-btn" type="button" data-repo="TencentCloud/Octop" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Python</li><li><strong>总 Star</strong>：3,986</li><li><strong>当日新增</strong>：+569&#x2F;天</li><li><strong>简介</strong>：腾讯云开源的更智能的自托管 AI 助手，支持多用户、多 Agent 协作。</li><li><strong>亮点</strong>：私有化部署场景友好，适合企业内网构建自己的 AI 助理平台。</li></ul><h2 id="6-coder-coder"><a href="#6-coder-coder" class="headerlink" title="6. coder&#x2F;coder"></a>6. <a href="https://github.com/coder/coder">coder&#x2F;coder</a></h2><button class="repo-vote-btn" type="button" data-repo="coder/coder" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Go</li><li><strong>总 Star</strong>：15,320</li><li><strong>当日新增</strong>：+478&#x2F;天</li><li><strong>简介</strong>：为开发者及其 AI Agent 提供安全远程开发环境（云端工作区）的开源平台。</li><li><strong>亮点</strong>：在自托管容器中跑完整开发环境，团队可统一管理与审计 Agent 的运行环境。</li></ul><h2 id="7-anthropics-claude-code"><a href="#7-anthropics-claude-code" class="headerlink" title="7. anthropics&#x2F;claude-code"></a>7. <a href="https://github.com/anthropics/claude-code">anthropics&#x2F;claude-code</a></h2><button class="repo-vote-btn" type="button" data-repo="anthropics/claude-code" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：TypeScript</li><li><strong>总 Star</strong>：146,336</li><li><strong>当日新增</strong>：+444&#x2F;天</li><li><strong>简介</strong>：Anthropic 官方出品的终端智能编码工具，能理解整个代码库，通过自然语言执行日常任务、解释复杂代码、处理 git 工作流。</li><li><strong>亮点</strong>：Agentic 编码工具的标杆项目，本报告正是由它驱动生成。</li></ul><h2 id="8-anthropics-knowledge-work-plugins"><a href="#8-anthropics-knowledge-work-plugins" class="headerlink" title="8. anthropics&#x2F;knowledge-work-plugins"></a>8. <a href="https://github.com/anthropics/knowledge-work-plugins">anthropics&#x2F;knowledge-work-plugins</a></h2><button class="repo-vote-btn" type="button" data-repo="anthropics/knowledge-work-plugins" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Python</li><li><strong>总 Star</strong>：24,902</li><li><strong>当日新增</strong>：+299&#x2F;天</li><li><strong>简介</strong>：Anthropic 官方为知识工作者在 Claude Cowork 中使用的开源插件合集。</li><li><strong>亮点</strong>：官方插件库，即装即用，适合直接嵌入 Cowork 工作流提效。</li></ul><h2 id="9-Fission-AI-OpenSpec"><a href="#9-Fission-AI-OpenSpec" class="headerlink" title="9. Fission-AI&#x2F;OpenSpec"></a>9. <a href="https://github.com/Fission-AI/OpenSpec">Fission-AI&#x2F;OpenSpec</a></h2><button class="repo-vote-btn" type="button" data-repo="Fission-AI/OpenSpec" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：TypeScript</li><li><strong>总 Star</strong>：69,390</li><li><strong>当日新增</strong>：+296&#x2F;天</li><li><strong>简介</strong>：面向 AI 编码助手的规范驱动开发（SDD）框架，先写规格再让 AI 按规格生成代码。</li><li><strong>亮点</strong>：用规格约束 AI 不偏离需求，适合对代码可预期性要求高的团队。</li></ul><h2 id="10-rustfs-rustfs"><a href="#10-rustfs-rustfs" class="headerlink" title="10. rustfs&#x2F;rustfs"></a>10. <a href="https://github.com/rustfs/rustfs">rustfs&#x2F;rustfs</a></h2><button class="repo-vote-btn" type="button" data-repo="rustfs/rustfs" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Rust</li><li><strong>总 Star</strong>：33,196</li><li><strong>当日新增</strong>：+267&#x2F;天</li><li><strong>简介</strong>：Rust 编写的开源 S3 兼容高性能对象存储系统，支持与 MinIO、Ceph 等其他 S3 兼容平台无缝迁移与共存。</li><li><strong>亮点</strong>：Rust 实现兼顾性能与安全，是 MinIO 的热门替代品。</li></ul><h2 id="11-ankitects-anki"><a href="#11-ankitects-anki" class="headerlink" title="11. ankitects&#x2F;anki"></a>11. <a href="https://github.com/ankitects/anki">ankitects&#x2F;anki</a></h2><button class="repo-vote-btn" type="button" data-repo="ankitects/anki" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Rust</li><li><strong>总 Star</strong>：31,223</li><li><strong>当日新增</strong>：+174&#x2F;天</li><li><strong>简介</strong>：经典的智能间隔重复记忆卡片软件，帮助高效记忆单词、知识点。</li><li><strong>亮点</strong>：老牌长青项目，语言学习与考试记忆的必备工具。</li></ul><h2 id="12-ahmedkhaleel2004-gitdiagram"><a href="#12-ahmedkhaleel2004-gitdiagram" class="headerlink" title="12. ahmedkhaleel2004&#x2F;gitdiagram"></a>12. <a href="https://github.com/ahmedkhaleel2004/gitdiagram">ahmedkhaleel2004&#x2F;gitdiagram</a></h2><button class="repo-vote-btn" type="button" data-repo="ahmedkhaleel2004/gitdiagram" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：TypeScript</li><li><strong>总 Star</strong>：16,479</li><li><strong>当日新增</strong>：+152&#x2F;天</li><li><strong>简介</strong>：为任意 GitHub 仓库一键生成免费、简单、快速的可交互架构图。</li><li><strong>亮点</strong>：读源码前先看结构图，快速上手陌生项目的利器。</li></ul><h2 id="13-supermemoryai-supermemory"><a href="#13-supermemoryai-supermemory" class="headerlink" title="13. supermemoryai&#x2F;supermemory"></a>13. <a href="https://github.com/supermemoryai/supermemory">supermemoryai&#x2F;supermemory</a></h2><button class="repo-vote-btn" type="button" data-repo="supermemoryai/supermemory" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：TypeScript</li><li><strong>总 Star</strong>：30,324</li><li><strong>当日新增</strong>：+140&#x2F;天</li><li><strong>简介</strong>：极速、可扩展、可完全本地运行的记忆与上下文引擎，被称为「AI 时代的记忆 API」。</li><li><strong>亮点</strong>：个人或团队知识库的底座，让 AI 助手拥有持久记忆。</li></ul><h2 id="14-supabase-supabase"><a href="#14-supabase-supabase" class="headerlink" title="14. supabase&#x2F;supabase"></a>14. <a href="https://github.com/supabase/supabase">supabase&#x2F;supabase</a></h2><button class="repo-vote-btn" type="button" data-repo="supabase/supabase" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：TypeScript</li><li><strong>总 Star</strong>：110,169</li><li><strong>当日新增</strong>：+120&#x2F;天</li><li><strong>简介</strong>：基于 Postgres 的开源开发平台，提供专属 Postgres 数据库，用于构建 Web、移动端与 AI 应用（含 Auth、实时订阅、文件存储等）。</li><li><strong>亮点</strong>：Firebase 的开源替代，一切围绕 Postgres 构建。</li></ul><h2 id="15-tradesdontlie-tradingview-mcp"><a href="#15-tradesdontlie-tradingview-mcp" class="headerlink" title="15. tradesdontlie&#x2F;tradingview-mcp"></a>15. <a href="https://github.com/tradesdontlie/tradingview-mcp">tradesdontlie&#x2F;tradingview-mcp</a></h2><button class="repo-vote-btn" type="button" data-repo="tradesdontlie/tradingview-mcp" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：JavaScript</li><li><strong>总 Star</strong>：6,485</li><li><strong>当日新增</strong>：+79&#x2F;天</li><li><strong>简介</strong>：AI 辅助的 TradingView 图表分析 MCP 服务，把 Claude Code 连接到 TradingView 桌面端，实现个人盯盘工作流自动化。</li><li><strong>亮点</strong>：通过 MCP 协议打通 AI 与看盘软件，量化交易与盯盘的新玩法。</li></ul>]]>
    </content>
    <id>https://notion.fuwari.fun/2026/09/19/github-trending-daily/2026-09-19/</id>
    <link href="https://notion.fuwari.fun/2026/09/19/github-trending-daily/2026-09-19/"/>
    <published>2026-09-19T00:00:00.000Z</published>
    <summary>
      <![CDATA[<p>数据来源：<a href="https://github.com/trending">GitHub Trending</a>（经代理抓取），共收录 15 个全新仓库，按当日新增 Star 数排序。</p>]]>
    </summary>
    <title>GitHub Trending 日报 · 2026-09-19</title>
    <updated>2026-09-22T02:12:36.893Z</updated>
  </entry>
  <entry>
    <author>
      <name>浅梦风凌</name>
    </author>
    <category term="编程笔记" scheme="https://notion.fuwari.fun/categories/%E7%BC%96%E7%A8%8B%E7%AC%94%E8%AE%B0/"/>
    <category term="C#" scheme="https://notion.fuwari.fun/tags/C/"/>
    <category term="ref" scheme="https://notion.fuwari.fun/tags/ref/"/>
    <content>
      <![CDATA[<h1 id="C-ref-关键字详解"><a href="#C-ref-关键字详解" class="headerlink" title="C# ref 关键字详解"></a>C# ref 关键字详解</h1><p><code>ref</code> 用于<strong>引用传递</strong>，让方法接收变量的<strong>内存地址</strong>，而不是变量的值拷贝。</p><blockquote><p>核心区别：默认是<strong>值传递（传副本）</strong>；<code>ref</code> 是<strong>引用传递（传原变量本身）</strong></p></blockquote><h2 id="✅-基础规则"><a href="#✅-基础规则" class="headerlink" title="✅ 基础规则"></a>✅ 基础规则</h2><ol><li>调用 <code>ref</code> 参数的方法时，<strong>实参必须提前初始化赋值</strong>（不能是未赋值的局部变量）</li><li>方法声明和调用处，<strong>两边都要写 ref</strong>（C# 7.2 之前强制，新版也建议显式写）</li><li><code>ref</code> 可以用于：值类型、引用类型、数组；不能用于只读变量（<code>readonly</code>、<code>const</code>）</li><li>方法内修改参数，<strong>会直接修改外面原始变量</strong></li></ol><h2 id="1-值类型-ref（最常用场景）"><a href="#1-值类型-ref（最常用场景）" class="headerlink" title="1. 值类型 + ref（最常用场景）"></a>1. 值类型 + ref（最常用场景）</h2><p>值类型（int, double, struct）默认传副本，方法内部修改不会影响外部；加 ref 就会修改原值。</p><figure class="highlight csharp"><table><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></pre></td><td class="code"><pre><span class="line"><span class="keyword">using</span> System;</span><br><span class="line"></span><br><span class="line"><span class="keyword">class</span> <span class="title">Program</span></span><br><span class="line">&#123;</span><br><span class="line">    <span class="comment">// ref 参数：接收变量地址</span></span><br><span class="line">    <span class="function"><span class="keyword">static</span> <span class="keyword">void</span> <span class="title">ChangeNum</span>(<span class="params"><span class="keyword">ref</span> <span class="built_in">int</span> num</span>)</span></span><br><span class="line">    &#123;</span><br><span class="line">        num = <span class="number">999</span>; <span class="comment">// 修改的是外面原始变量</span></span><br><span class="line">    &#125;</span><br><span class="line"></span><br><span class="line">    <span class="function"><span class="keyword">static</span> <span class="keyword">void</span> <span class="title">Main</span>()</span></span><br><span class="line">    &#123;</span><br><span class="line">        <span class="built_in">int</span> a = <span class="number">10</span>;</span><br><span class="line">        ChangeNum(<span class="keyword">ref</span> a); <span class="comment">// 调用必须写 ref</span></span><br><span class="line">        Console.WriteLine(a); <span class="comment">// 输出：999</span></span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><blockquote><p>如果去掉 ref：输出仍然是 10，方法修改的只是副本。</p></blockquote><h2 id="2-ref-作用于引用类型（class）"><a href="#2-ref-作用于引用类型（class）" class="headerlink" title="2. ref 作用于引用类型（class）"></a>2. ref 作用于引用类型（class）</h2><p>引用类型本身传递的是<strong>引用副本</strong>，不加 ref 也能修改对象内部字段；<br>加 <code>ref</code> 的效果：<strong>可以让参数指向一个全新的对象</strong>。</p><figure class="highlight csharp"><table><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></pre></td><td class="code"><pre><span class="line"><span class="keyword">class</span> <span class="title">Student</span></span><br><span class="line">&#123;</span><br><span class="line">    <span class="keyword">public</span> <span class="built_in">string</span> Name;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">static</span> <span class="keyword">void</span> <span class="title">ReplaceStudent</span>(<span class="params"><span class="keyword">ref</span> Student s</span>)</span></span><br><span class="line">&#123;</span><br><span class="line">    <span class="comment">// 直接替换外面变量指向的对象</span></span><br><span class="line">    s = <span class="keyword">new</span> Student &#123; Name = <span class="string">&quot;新同学&quot;</span> &#125;;</span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">static</span> <span class="keyword">void</span> <span class="title">Main</span>()</span></span><br><span class="line">&#123;</span><br><span class="line">    Student stu = <span class="keyword">new</span> Student &#123; Name = <span class="string">&quot;老王&quot;</span> &#125;;</span><br><span class="line">    ReplaceStudent(<span class="keyword">ref</span> stu);</span><br><span class="line">    Console.WriteLine(stu.Name); <span class="comment">// 新同学</span></span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><blockquote><p>不加 ref 的话，方法里 <code>s = new Student()</code> 只会修改本地副本引用，外部 stu 不变。</p></blockquote><h2 id="3-ref-返回值（C-7-0-）"><a href="#3-ref-返回值（C-7-0-）" class="headerlink" title="3. ref 返回值（C# 7.0+）"></a>3. ref 返回值（C# 7.0+）</h2><p>方法可以返回一个<strong>引用</strong>，调用方可以直接修改返回的那个变量。</p><figure class="highlight csharp"><table><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"><span class="function"><span class="keyword">static</span> <span class="keyword">ref</span> <span class="built_in">int</span> <span class="title">FindItem</span>(<span class="params"><span class="built_in">int</span>[] arr, <span class="built_in">int</span> index</span>)</span></span><br><span class="line">&#123;</span><br><span class="line">    <span class="keyword">return</span> <span class="keyword">ref</span> arr[index]; <span class="comment">// 返回数组元素的引用</span></span><br><span class="line">&#125;</span><br><span class="line"></span><br><span class="line"><span class="function"><span class="keyword">static</span> <span class="keyword">void</span> <span class="title">Main</span>()</span></span><br><span class="line">&#123;</span><br><span class="line">    <span class="built_in">int</span>[] arr = &#123; <span class="number">1</span>, <span class="number">2</span>, <span class="number">3</span> &#125;;</span><br><span class="line">    <span class="keyword">ref</span> <span class="keyword">var</span> item = <span class="function"><span class="keyword">ref</span> <span class="title">FindItem</span>(<span class="params">arr, <span class="number">1</span></span>)</span>;</span><br><span class="line">    item = <span class="number">200</span>;</span><br><span class="line">    Console.WriteLine(arr[<span class="number">1</span>]); <span class="comment">// 200</span></span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><h2 id="4-ref-局部变量"><a href="#4-ref-局部变量" class="headerlink" title="4. ref 局部变量"></a>4. ref 局部变量</h2><p>直接定义一个指向已有变量的引用：</p><figure class="highlight csharp"><table><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="built_in">int</span> x = <span class="number">100</span>;</span><br><span class="line"><span class="keyword">ref</span> <span class="built_in">int</span> rx = <span class="keyword">ref</span> x;</span><br><span class="line">rx = <span class="number">200</span>;</span><br><span class="line">Console.WriteLine(x); <span class="comment">// 200</span></span><br></pre></td></tr></table></figure><h2 id="5-ref-in-ref-readonly（C-7-2-）"><a href="#5-ref-in-ref-readonly（C-7-2-）" class="headerlink" title="5. ref in &#x2F; ref readonly（C# 7.2+）"></a>5. ref in &#x2F; ref readonly（C# 7.2+）</h2><ul><li><code>in</code>：只读引用传递，<strong>禁止方法内修改</strong>，适合大结构体，避免拷贝开销</li><li><code>ref readonly</code>：返回只读引用，不能修改返回值</li></ul><figure class="highlight csharp"><table><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="function"><span class="keyword">static</span> <span class="keyword">void</span> <span class="title">ReadOnlyFunc</span>(<span class="params"><span class="keyword">in</span> Point p</span>)</span></span><br><span class="line">&#123;</span><br><span class="line">    <span class="comment">// p.X = 10; // 编译报错，不能修改</span></span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><h2 id="6-ref-vs-out-对比（高频面试）"><a href="#6-ref-vs-out-对比（高频面试）" class="headerlink" title="6. ref vs out 对比（高频面试）"></a>6. ref vs out 对比（高频面试）</h2><table><thead><tr><th>ref</th><th>out</th></tr></thead><tbody><tr><td>实参<strong>必须预先赋值</strong></td><td>实参可以不预先赋值</td></tr><tr><td>方法内<strong>可读可写</strong></td><td>方法内必须给 out 参数赋值，调用前值会被忽略</td></tr><tr><td>声明+调用都写 ref</td><td>声明+调用都写 out</td></tr><tr><td>适合：需要修改原有变量</td><td>适合：方法返回多个结果</td></tr></tbody></table><p>示例 out：</p><figure class="highlight csharp"><table><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="function"><span class="keyword">static</span> <span class="keyword">void</span> <span class="title">GetXY</span>(<span class="params"><span class="keyword">out</span> <span class="built_in">int</span> x, <span class="keyword">out</span> <span class="built_in">int</span> y</span>)</span></span><br><span class="line">&#123;</span><br><span class="line">    x = <span class="number">1</span>;</span><br><span class="line">    y = <span class="number">2</span>;</span><br><span class="line">&#125;</span><br><span class="line"><span class="comment">// 调用</span></span><br><span class="line">GetXY(<span class="keyword">out</span> <span class="built_in">int</span> a, <span class="keyword">out</span> <span class="built_in">int</span> b);</span><br></pre></td></tr></table></figure><h2 id="⚠️-常见坑"><a href="#⚠️-常见坑" class="headerlink" title="⚠️ 常见坑"></a>⚠️ 常见坑</h2><ol><li><strong>不能把常量作为 ref 参数</strong>：<code>ChangeNum(ref 10)</code> 编译报错，必须传变量</li><li>ref 不能和 async 一起使用：<code>async</code> 方法不支持 ref&#x2F;out 参数</li><li>不要返回局部变量的 ref（会产生危险的悬空引用）</li></ol><figure class="highlight csharp"><table><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="comment">// ❌ 错误！返回栈上局部变量的引用</span></span><br><span class="line"><span class="function"><span class="keyword">static</span> <span class="keyword">ref</span> <span class="built_in">int</span> <span class="title">BadReturn</span>()</span></span><br><span class="line">&#123;</span><br><span class="line">    <span class="built_in">int</span> tmp = <span class="number">10</span>;</span><br><span class="line">    <span class="keyword">return</span> <span class="keyword">ref</span> tmp;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><h2 id="📌-什么时候用-ref？"><a href="#📌-什么时候用-ref？" class="headerlink" title="📌 什么时候用 ref？"></a>📌 什么时候用 ref？</h2><ol><li>方法需要修改<strong>外部值类型变量</strong>（int、struct）</li><li>方法需要把外部引用变量指向全新对象</li><li>超大结构体，用 <code>in</code> 减少内存拷贝</li><li>需要 ref 返回，直接修改容器内元素（高性能场景）</li></ol><h1 id="ref-out-默认传参-完整对比-Demo"><a href="#ref-out-默认传参-完整对比-Demo" class="headerlink" title="ref &#x2F; out &#x2F; 默认传参 完整对比 Demo"></a>ref &#x2F; out &#x2F; 默认传参 完整对比 Demo</h1><figure class="highlight csharp"><table><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></pre></td><td class="code"><pre><span class="line"><span class="keyword">using</span> System;</span><br><span class="line"></span><br><span class="line"><span class="keyword">namespace</span> <span class="title">RefOutDemo</span></span><br><span class="line">&#123;</span><br><span class="line">    <span class="keyword">class</span> <span class="title">Program</span></span><br><span class="line">    &#123;</span><br><span class="line">        <span class="comment">// 默认：值传递，拷贝一份，方法内修改不影响外部</span></span><br><span class="line">        <span class="function"><span class="keyword">static</span> <span class="keyword">void</span> <span class="title">NormalPass</span>(<span class="params"><span class="built_in">int</span> num</span>)</span></span><br><span class="line">        &#123;</span><br><span class="line">            num = <span class="number">100</span>;</span><br><span class="line">            Console.WriteLine(<span class="string">$&quot;【普通传参】方法内num = <span class="subst">&#123;num&#125;</span>&quot;</span>);</span><br><span class="line">        &#125;</span><br><span class="line"></span><br><span class="line">        <span class="comment">// ref：引用传递，实参必须提前赋值；可读可写</span></span><br><span class="line">        <span class="function"><span class="keyword">static</span> <span class="keyword">void</span> <span class="title">RefPass</span>(<span class="params"><span class="keyword">ref</span> <span class="built_in">int</span> num</span>)</span></span><br><span class="line">        &#123;</span><br><span class="line">            num = <span class="number">200</span>;</span><br><span class="line">            Console.WriteLine(<span class="string">$&quot;【ref传参】方法内num = <span class="subst">&#123;num&#125;</span>&quot;</span>);</span><br><span class="line">        &#125;</span><br><span class="line"></span><br><span class="line">        <span class="comment">// out：输出参数，实参可以不赋值；方法内部必须给out参数赋值</span></span><br><span class="line">        <span class="function"><span class="keyword">static</span> <span class="keyword">void</span> <span class="title">OutPass</span>(<span class="params"><span class="keyword">out</span> <span class="built_in">int</span> num</span>)</span></span><br><span class="line">        &#123;</span><br><span class="line">            num = <span class="number">300</span>; <span class="comment">// out必须在方法内赋值，否则编译报错</span></span><br><span class="line">            Console.WriteLine(<span class="string">$&quot;【out传参】方法内num = <span class="subst">&#123;num&#125;</span>&quot;</span>);</span><br><span class="line">        &#125;</span><br><span class="line"></span><br><span class="line">        <span class="function"><span class="keyword">static</span> <span class="keyword">void</span> <span class="title">Main</span>(<span class="params"><span class="built_in">string</span>[] <span class="keyword">args</span></span>)</span></span><br><span class="line">        &#123;</span><br><span class="line">            <span class="built_in">int</span> val = <span class="number">10</span>;</span><br><span class="line">            Console.WriteLine(<span class="string">$&quot;初始 val = <span class="subst">&#123;val&#125;</span>\n&quot;</span>);</span><br><span class="line"></span><br><span class="line">            NormalPass(val);</span><br><span class="line">            Console.WriteLine(<span class="string">$&quot;普通传参后 val = <span class="subst">&#123;val&#125;</span>\n&quot;</span>);</span><br><span class="line"></span><br><span class="line">            RefPass(<span class="keyword">ref</span> val);</span><br><span class="line">            Console.WriteLine(<span class="string">$&quot;ref传参后 val = <span class="subst">&#123;val&#125;</span>\n&quot;</span>);</span><br><span class="line"></span><br><span class="line">            OutPass(<span class="keyword">out</span> val);</span><br><span class="line">            Console.WriteLine(<span class="string">$&quot;out传参后 val = <span class="subst">&#123;val&#125;</span>&quot;</span>);</span><br><span class="line">        &#125;</span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><h2 id="运行输出"><a href="#运行输出" class="headerlink" title="运行输出"></a>运行输出</h2><figure class="highlight plaintext"><table><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">初始 val = 10</span><br><span class="line"></span><br><span class="line">【普通传参】方法内num = 100</span><br><span class="line">普通传参后 val = 10</span><br><span class="line"></span><br><span class="line">【ref传参】方法内num = 200</span><br><span class="line">ref传参后 val = 200</span><br><span class="line"></span><br><span class="line">【out传参】方法内num = 300</span><br><span class="line">out传参后 val = 300</span><br></pre></td></tr></table></figure><hr><h1 id="引用类型（class）下三者对比-Demo"><a href="#引用类型（class）下三者对比-Demo" class="headerlink" title="引用类型（class）下三者对比 Demo"></a>引用类型（class）下三者对比 Demo</h1><blockquote><p>重点理解：class本身传的是引用副本，不加ref也能修改对象成员；只有加ref才可以<strong>替换整个对象</strong></p></blockquote><figure class="highlight csharp"><table><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></pre></td><td class="code"><pre><span class="line"><span class="keyword">using</span> System;</span><br><span class="line"></span><br><span class="line"><span class="keyword">namespace</span> <span class="title">RefOutClassDemo</span></span><br><span class="line">&#123;</span><br><span class="line">    <span class="keyword">class</span> <span class="title">User</span></span><br><span class="line">    &#123;</span><br><span class="line">        <span class="keyword">public</span> <span class="built_in">string</span> Name &#123; <span class="keyword">get</span>; <span class="keyword">set</span>; &#125;</span><br><span class="line">    &#125;</span><br><span class="line"></span><br><span class="line">    <span class="keyword">class</span> <span class="title">Program</span></span><br><span class="line">    &#123;</span><br><span class="line">        <span class="comment">// 普通传引用类型：拷贝引用地址，可修改对象内部字段，不能替换外部对象</span></span><br><span class="line">        <span class="function"><span class="keyword">static</span> <span class="keyword">void</span> <span class="title">NormalClass</span>(<span class="params">User u</span>)</span></span><br><span class="line">        &#123;</span><br><span class="line">            u.Name = <span class="string">&quot;张三&quot;</span>;</span><br><span class="line">            u = <span class="keyword">new</span> User &#123; Name = <span class="string">&quot;新对象&quot;</span> &#125;; <span class="comment">// 只修改本地副本，外面不变</span></span><br><span class="line">            Console.WriteLine(<span class="string">$&quot;【普通class】方法内u.Name=<span class="subst">&#123;u.Name&#125;</span>&quot;</span>);</span><br><span class="line">        &#125;</span><br><span class="line"></span><br><span class="line">        <span class="comment">// ref class：可以直接替换外部原始变量指向的对象</span></span><br><span class="line">        <span class="function"><span class="keyword">static</span> <span class="keyword">void</span> <span class="title">RefClass</span>(<span class="params"><span class="keyword">ref</span> User u</span>)</span></span><br><span class="line">        &#123;</span><br><span class="line">            u = <span class="keyword">new</span> User &#123; Name = <span class="string">&quot;李四&quot;</span> &#125;;</span><br><span class="line">            Console.WriteLine(<span class="string">$&quot;【ref class】方法内u.Name=<span class="subst">&#123;u.Name&#125;</span>&quot;</span>);</span><br><span class="line">        &#125;</span><br><span class="line"></span><br><span class="line">        <span class="comment">// out class：方法内必须给u赋值</span></span><br><span class="line">        <span class="function"><span class="keyword">static</span> <span class="keyword">void</span> <span class="title">OutClass</span>(<span class="params"><span class="keyword">out</span> User u</span>)</span></span><br><span class="line">        &#123;</span><br><span class="line">            u = <span class="keyword">new</span> User &#123; Name = <span class="string">&quot;王五&quot;</span> &#125;;</span><br><span class="line">            Console.WriteLine(<span class="string">$&quot;【out class】方法内u.Name=<span class="subst">&#123;u.Name&#125;</span>&quot;</span>);</span><br><span class="line">        &#125;</span><br><span class="line"></span><br><span class="line">        <span class="function"><span class="keyword">static</span> <span class="keyword">void</span> <span class="title">Main</span>(<span class="params"><span class="built_in">string</span>[] <span class="keyword">args</span></span>)</span></span><br><span class="line">        &#123;</span><br><span class="line">            User user = <span class="keyword">new</span> User &#123; Name = <span class="string">&quot;原始名字&quot;</span> &#125;;</span><br><span class="line">            Console.WriteLine(<span class="string">$&quot;初始：<span class="subst">&#123;user.Name&#125;</span>\n&quot;</span>);</span><br><span class="line"></span><br><span class="line">            NormalClass(user);</span><br><span class="line">            Console.WriteLine(<span class="string">$&quot;普通class调用后：<span class="subst">&#123;user.Name&#125;</span>\n&quot;</span>);</span><br><span class="line"></span><br><span class="line">            RefClass(<span class="keyword">ref</span> user);</span><br><span class="line">            Console.WriteLine(<span class="string">$&quot;ref class调用后：<span class="subst">&#123;user.Name&#125;</span>\n&quot;</span>);</span><br><span class="line"></span><br><span class="line">            OutClass(<span class="keyword">out</span> user);</span><br><span class="line">            Console.WriteLine(<span class="string">$&quot;out class调用后：<span class="subst">&#123;user.Name&#125;</span>&quot;</span>);</span><br><span class="line">        &#125;</span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><h2 id="运行输出-1"><a href="#运行输出-1" class="headerlink" title="运行输出"></a>运行输出</h2><figure class="highlight plaintext"><table><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><br><span class="line"></span><br><span class="line">【普通class】方法内u.Name=新对象</span><br><span class="line">普通class调用后：张三</span><br><span class="line"></span><br><span class="line">【ref class】方法内u.Name=李四</span><br><span class="line">ref class调用后：李四</span><br><span class="line"></span><br><span class="line">【out class】方法内u.Name=王五</span><br><span class="line">out class调用后：王五</span><br></pre></td></tr></table></figure><hr><h1 id="核心总结表"><a href="#核心总结表" class="headerlink" title="核心总结表"></a>核心总结表</h1><table><thead><tr><th>方式</th><th>值类型(int&#x2F;struct)</th><th>引用类型(class)</th><th>实参要求</th><th>方法内要求</th></tr></thead><tbody><tr><td>默认传参</td><td>传值拷贝，修改不影响外部</td><td>传引用副本，可以修改对象成员；不能替换外部对象</td><td>变量可赋值可不赋值</td><td>无强制赋值要求</td></tr><tr><td>ref</td><td>传变量地址，修改直接影响外部</td><td>传变量地址，可以替换外部对象</td><td><strong>调用前必须赋值</strong></td><td>可读可写，无强制赋值</td></tr><tr><td>out</td><td>传变量地址，修改直接影响外部</td><td>传变量地址，可以替换外部对象</td><td>调用前可以不赋值</td><td><strong>方法内必须赋值</strong></td></tr></tbody></table><h2 id="面试一句话记忆"><a href="#面试一句话记忆" class="headerlink" title="面试一句话记忆"></a>面试一句话记忆</h2><ol><li><strong>普通传参</strong>：值类型拷贝值，引用类型拷贝引用</li><li><strong>ref</strong>：进来之前要有值，方法里随便读写</li><li><strong>out</strong>：进来的值没用，方法里必须给值</li></ol>]]>
    </content>
    <id>https://notion.fuwari.fun/2026/09/18/csharp-ref/</id>
    <link href="https://notion.fuwari.fun/2026/09/18/csharp-ref/"/>
    <published>2026-09-18T00:00:00.000Z</published>
    <summary>
      <![CDATA[<h1 id="C-ref-关键字详解"><a href="#C-ref-关键字详解" class="headerlink" title="C# ref 关键字详解"></a>C# ref 关键字详解</h1><p><code>ref</code> 用于<strong>引用传递<]]>
    </summary>
    <title>C# ref关键字详解</title>
    <updated>2026-09-22T02:12:36.890Z</updated>
  </entry>
  <entry>
    <author>
      <name>浅梦风凌</name>
    </author>
    <category term="GitHub 日报" scheme="https://notion.fuwari.fun/categories/GitHub-%E6%97%A5%E6%8A%A5/"/>
    <category term="GitHub" scheme="https://notion.fuwari.fun/tags/GitHub/"/>
    <category term="Trending" scheme="https://notion.fuwari.fun/tags/Trending/"/>
    <category term="开源" scheme="https://notion.fuwari.fun/tags/%E5%BC%80%E6%BA%90/"/>
    <content>
      <![CDATA[<p>数据来源：<a href="https://github.com/trending">GitHub Trending</a>（经代理抓取），共收录 15 个全新仓库，按当日新增 Star 数排序。</p><span id="more"></span><div class="repo-vote-summary" data-article="2026-06-26" aria-live="polite"></div><h2 id="1-sponsors-calesthio"><a href="#1-sponsors-calesthio" class="headerlink" title="1. sponsors&#x2F;calesthio"></a>1. <a href="https://github.com/sponsors/calesthio">sponsors&#x2F;calesthio</a></h2><button class="repo-vote-btn" type="button" data-repo="sponsors/calesthio" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Python</li><li><strong>总 Star</strong>：22,167</li><li><strong>当日新增</strong>：+3,434&#x2F;天</li><li><strong>简介</strong>：全球首个开源智能视频制作系统，拥有 12 条流水线、52 个工具和 500 多项 Agent 技能，可将 AI 编程助手转变为完整的视频制作工作室。</li><li><strong>亮点</strong>：开源界的”视频制作工厂”，架构完整且生态丰富。</li></ul><h2 id="2-google-labs-code-design-md"><a href="#2-google-labs-code-design-md" class="headerlink" title="2. google-labs-code&#x2F;design.md"></a>2. <a href="https://github.com/google-labs-code/design.md">google-labs-code&#x2F;design.md</a></h2><button class="repo-vote-btn" type="button" data-repo="google-labs-code/design.md" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：TypeScript</li><li><strong>总 Star</strong>：19,352</li><li><strong>当日新增</strong>：+1,475&#x2F;天</li><li><strong>简介</strong>：描述视觉设计系统规范格式，让设计系统对编程 Agent 保持持久且结构化的理解。</li><li><strong>亮点</strong>：Google 出品的「设计即代码」新标准，打通设计与 AI 编码 Agent 的桥梁。</li></ul><h2 id="3-JCodesMore-ai-website-cloner-template"><a href="#3-JCodesMore-ai-website-cloner-template" class="headerlink" title="3. JCodesMore&#x2F;ai-website-cloner-template"></a>3. <a href="https://github.com/JCodesMore/ai-website-cloner-template">JCodesMore&#x2F;ai-website-cloner-template</a></h2><button class="repo-vote-btn" type="button" data-repo="JCodesMore/ai-website-cloner-template" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：TypeScript</li><li><strong>总 Star</strong>：20,497</li><li><strong>当日新增</strong>：+1,024&#x2F;天</li><li><strong>简介</strong>：只需一条命令即可用 AI 编码 Agent 克隆任意网站。</li><li><strong>亮点</strong>：AI 时代的网站克隆利器，极大降低了页面复制的门槛。</li></ul><h2 id="4-garrytan-gstack"><a href="#4-garrytan-gstack" class="headerlink" title="4. garrytan&#x2F;gstack"></a>4. <a href="https://github.com/garrytan/gstack">garrytan&#x2F;gstack</a></h2><button class="repo-vote-btn" type="button" data-repo="garrytan/gstack" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：TypeScript</li><li><strong>总 Star</strong>：115,852</li><li><strong>当日新增</strong>：+767&#x2F;天</li><li><strong>简介</strong>：Garry Tan 的 Claude Code 配置方案：23 个高度定制化的工具，可扮演 CEO、设计师、工程经理、发布经理、文档工程师和 QA。</li><li><strong>亮点</strong>：YC CEO 亲自操刀的 AI 工作流配置，Star 数破十万。</li></ul><h2 id="5-opendatalab-MinerU"><a href="#5-opendatalab-MinerU" class="headerlink" title="5. opendatalab&#x2F;MinerU"></a>5. <a href="https://github.com/opendatalab/MinerU">opendatalab&#x2F;MinerU</a></h2><button class="repo-vote-btn" type="button" data-repo="opendatalab/MinerU" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Python</li><li><strong>总 Star</strong>：69,627</li><li><strong>当日新增</strong>：+644&#x2F;天</li><li><strong>简介</strong>：将复杂文档（PDF、Office 等）转换为 LLM 可直接使用的 Markdown&#x2F;JSON 格式，面向 Agent 工作流。</li><li><strong>亮点</strong>：文档解析领域的明星项目，高 Star 持续增长中。</li></ul><h2 id="6-sponsors-mukul975"><a href="#6-sponsors-mukul975" class="headerlink" title="6. sponsors&#x2F;mukul975"></a>6. <a href="https://github.com/sponsors/mukul975">sponsors&#x2F;mukul975</a></h2><button class="repo-vote-btn" type="button" data-repo="sponsors/mukul975" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Python</li><li><strong>总 Star</strong>：21,273</li><li><strong>当日新增</strong>：+571&#x2F;天</li><li><strong>简介</strong>：817 项结构化网络安全 AI Agent 技能，映射到 MITRE ATT&amp;CK、NIST CSF 2.0 等 6 大安全框架。</li><li><strong>亮点</strong>：开源的网络安全 Agent 技能百科全书，Apache 2.0 协议。</li></ul><h2 id="7-sponsors-NanmiCoder"><a href="#7-sponsors-NanmiCoder" class="headerlink" title="7. sponsors&#x2F;NanmiCoder"></a>7. <a href="https://github.com/sponsors/NanmiCoder">sponsors&#x2F;NanmiCoder</a></h2><button class="repo-vote-btn" type="button" data-repo="sponsors/NanmiCoder" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Python</li><li><strong>总 Star</strong>：52,803</li><li><strong>当日新增</strong>：+398&#x2F;天</li><li><strong>简介</strong>：多平台社交媒体爬虫，支持小红书、抖音、快手、B 站、微博、知乎等主流平台的内容采集。</li><li><strong>亮点</strong>：全平台社交媒体数据采集利器，实用性极高。</li></ul><h2 id="8-xbtlin-ai-berkshire"><a href="#8-xbtlin-ai-berkshire" class="headerlink" title="8. xbtlin&#x2F;ai-berkshire"></a>8. <a href="https://github.com/xbtlin/ai-berkshire">xbtlin&#x2F;ai-berkshire</a></h2><button class="repo-vote-btn" type="button" data-repo="xbtlin/ai-berkshire" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Python</li><li><strong>总 Star</strong>：1,988</li><li><strong>当日新增</strong>：+309&#x2F;天</li><li><strong>简介</strong>：AI 时代的价值投资研究框架，融合巴菲特、芒格、段永平、李录四大方法论，基于 Claude Code 的多 Agent 对抗分析。</li><li><strong>亮点</strong>：用 AI 复刻投资大师思维，多 Agent 协同决策的新范式。</li></ul><h2 id="9-shanraisshan-claude-code-best-practice"><a href="#9-shanraisshan-claude-code-best-practice" class="headerlink" title="9. shanraisshan&#x2F;claude-code-best-practice"></a>9. <a href="https://github.com/shanraisshan/claude-code-best-practice">shanraisshan&#x2F;claude-code-best-practice</a></h2><button class="repo-vote-btn" type="button" data-repo="shanraisshan/claude-code-best-practice" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：HTML</li><li><strong>总 Star</strong>：60,623</li><li><strong>当日新增</strong>：+287&#x2F;天</li><li><strong>简介</strong>：从 Vibe Coding 到 Agentic Engineering —— 通过实践让 Claude 趋于完美。</li><li><strong>亮点</strong>：Claude Code 最佳实践合集，高 Star 持续热门。</li></ul><h2 id="10-mauriceboe-TREK"><a href="#10-mauriceboe-TREK" class="headerlink" title="10. mauriceboe&#x2F;TREK"></a>10. <a href="https://github.com/mauriceboe/TREK">mauriceboe&#x2F;TREK</a></h2><button class="repo-vote-btn" type="button" data-repo="mauriceboe/TREK" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：TypeScript</li><li><strong>总 Star</strong>：6,740</li><li><strong>当日新增</strong>：+241&#x2F;天</li><li><strong>简介</strong>：自托管的旅行行程规划工具，支持实时协作、交互式地图、PWA、SSO、预算管理、行李清单等。</li><li><strong>亮点</strong>：功能全面的开源旅行规划器，自部署替代商业方案。</li></ul><h2 id="11-IceWhaleTech-CasaOS"><a href="#11-IceWhaleTech-CasaOS" class="headerlink" title="11. IceWhaleTech&#x2F;CasaOS"></a>11. <a href="https://github.com/IceWhaleTech/CasaOS">IceWhaleTech&#x2F;CasaOS</a></h2><button class="repo-vote-btn" type="button" data-repo="IceWhaleTech/CasaOS" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Go</li><li><strong>总 Star</strong>：34,858</li><li><strong>当日新增</strong>：+223&#x2F;天</li><li><strong>简介</strong>：简单、易用、优雅的开源个人云系统。</li><li><strong>亮点</strong>：个人 NAS&#x2F;家庭服务器的首选开源系统，生态完善。</li></ul><h2 id="12-alibaba-page-agent"><a href="#12-alibaba-page-agent" class="headerlink" title="12. alibaba&#x2F;page-agent"></a>12. <a href="https://github.com/alibaba/page-agent">alibaba&#x2F;page-agent</a></h2><button class="repo-vote-btn" type="button" data-repo="alibaba/page-agent" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：TypeScript</li><li><strong>总 Star</strong>：19,865</li><li><strong>当日新增</strong>：+163&#x2F;天</li><li><strong>简介</strong>：JavaScript 编写的页面内 GUI Agent，可用自然语言控制网页界面。</li><li><strong>亮点</strong>：阿里巴巴出品的浏览器 GUI 自动化 Agent，中英文双语支持。</li></ul><h2 id="13-Free-TV-IPTV"><a href="#13-Free-TV-IPTV" class="headerlink" title="13. Free-TV&#x2F;IPTV"></a>13. <a href="https://github.com/Free-TV/IPTV">Free-TV&#x2F;IPTV</a></h2><button class="repo-vote-btn" type="button" data-repo="Free-TV/IPTV" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Python</li><li><strong>总 Star</strong>：18,228</li><li><strong>当日新增</strong>：+139&#x2F;天</li><li><strong>简介</strong>：免费电视频道的 M3U 播放列表合集。</li><li><strong>亮点</strong>：持续更新的免费 IPTV 源，直播爱好者必备。</li></ul><h2 id="14-every-app-open-seo"><a href="#14-every-app-open-seo" class="headerlink" title="14. every-app&#x2F;open-seo"></a>14. <a href="https://github.com/every-app/open-seo">every-app&#x2F;open-seo</a></h2><button class="repo-vote-btn" type="button" data-repo="every-app/open-seo" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：TypeScript</li><li><strong>总 Star</strong>：2,553</li><li><strong>当日新增</strong>：+57&#x2F;天</li><li><strong>简介</strong>：Semrush 和 Ahrefs 的开源替代品。</li><li><strong>亮点</strong>：SEO 工具的开源之选，付费工具的免费平替。</li></ul><h2 id="15-aws-agent-toolkit-for-aws"><a href="#15-aws-agent-toolkit-for-aws" class="headerlink" title="15. aws&#x2F;agent-toolkit-for-aws"></a>15. <a href="https://github.com/aws/agent-toolkit-for-aws">aws&#x2F;agent-toolkit-for-aws</a></h2><button class="repo-vote-btn" type="button" data-repo="aws/agent-toolkit-for-aws" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Python</li><li><strong>总 Star</strong>：1,148</li><li><strong>当日新增</strong>：+47&#x2F;天</li><li><strong>简介</strong>：AWS 官方支持的 MCP 服务器、技能和插件合集，帮助 AI Agent 在 AWS 上进行构建。</li><li><strong>亮点</strong>：AWS 官方出品的 AI Agent 工具包，云上开发新标配。</li></ul>]]>
    </content>
    <id>https://notion.fuwari.fun/2026/06/26/github-trending-daily/2026-06-26/</id>
    <link href="https://notion.fuwari.fun/2026/06/26/github-trending-daily/2026-06-26/"/>
    <published>2026-06-26T00:00:00.000Z</published>
    <summary>
      <![CDATA[<p>数据来源：<a href="https://github.com/trending">GitHub Trending</a>（经代理抓取），共收录 15 个全新仓库，按当日新增 Star 数排序。</p>]]>
    </summary>
    <title>GitHub Trending 日报 · 2026-06-26</title>
    <updated>2026-09-22T02:12:36.893Z</updated>
  </entry>
  <entry>
    <author>
      <name>浅梦风凌</name>
    </author>
    <category term="GitHub 日报" scheme="https://notion.fuwari.fun/categories/GitHub-%E6%97%A5%E6%8A%A5/"/>
    <category term="GitHub" scheme="https://notion.fuwari.fun/tags/GitHub/"/>
    <category term="Trending" scheme="https://notion.fuwari.fun/tags/Trending/"/>
    <category term="开源" scheme="https://notion.fuwari.fun/tags/%E5%BC%80%E6%BA%90/"/>
    <content>
      <![CDATA[<p>数据来源：GitHub Trending（每日）。本期共抓取 16 个仓库，去除历史已推送条目后剩 15 个候选，按当日新增 star 由高到低选出 7 个全新仓库进行推送。</p><span id="more"></span><div class="repo-vote-summary" data-article="2026-06-22" aria-live="polite"></div><h2 id="1-palmier-io-palmier-pro"><a href="#1-palmier-io-palmier-pro" class="headerlink" title="1. palmier-io&#x2F;palmier-pro"></a>1. <a href="https://github.com/palmier-io/palmier-pro">palmier-io&#x2F;palmier-pro</a></h2><button class="repo-vote-btn" type="button" data-repo="palmier-io/palmier-pro" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li>语言：Swift</li><li>总 star：5,291 · +1,834&#x2F;天</li><li>简介：面向 AI 时代的 macOS 原生视频编辑器，把剪辑工作流和大模型能力深度整合在一起。</li><li>亮点：原生 Swift 实现、为 AI 自动化剪辑而生，是 macOS 视频工具里少见的”AI-first”作品。</li></ul><h2 id="2-mattpocock-skills"><a href="#2-mattpocock-skills" class="headerlink" title="2. mattpocock&#x2F;skills"></a>2. <a href="https://github.com/mattpocock/skills">mattpocock&#x2F;skills</a></h2><button class="repo-vote-btn" type="button" data-repo="mattpocock/skills" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li>语言：Shell</li><li>总 star：139,861 · +1,443&#x2F;天</li><li>简介：知名讲师 Matt Pocock 直接开源出来的私人 <code>.claude</code> 目录，里面是他日常用的工程师 Skills 集合。</li><li>亮点：一线工程师的真实 Skills 实战配置，可以原样塞进 Claude Code 用，是研究 Skills 写法的极佳样板。</li></ul><h2 id="3-penpot-penpot"><a href="#3-penpot-penpot" class="headerlink" title="3. penpot&#x2F;penpot"></a>3. <a href="https://github.com/penpot/penpot">penpot&#x2F;penpot</a></h2><button class="repo-vote-btn" type="button" data-repo="penpot/penpot" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li>语言：Clojure</li><li>总 star：52,283 · +1,135&#x2F;天</li><li>简介：开源的设计与代码协作平台，被视为 Figma 的开源替代品，强调设计师与前端共同协作。</li><li>亮点：完全自托管、基于 SVG&#x2F;Web 标准，对企业内网设计协作场景特别友好。</li></ul><h2 id="4-DeusData-codebase-memory-mcp"><a href="#4-DeusData-codebase-memory-mcp" class="headerlink" title="4. DeusData&#x2F;codebase-memory-mcp"></a>4. <a href="https://github.com/DeusData/codebase-memory-mcp">DeusData&#x2F;codebase-memory-mcp</a></h2><button class="repo-vote-btn" type="button" data-repo="DeusData/codebase-memory-mcp" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li>语言：C</li><li>总 star：10,369 · +1,032&#x2F;天</li><li>简介：高性能代码情报 MCP 服务器，把仓库索引成持久化知识图谱，毫秒级完成普通仓库的索引。</li><li>亮点：支持 158 种语言、亚毫秒查询，号称比传统 RAG 少用 99% token，单静态二进制零依赖。</li></ul><h2 id="5-calesthio-OpenMontage"><a href="#5-calesthio-OpenMontage" class="headerlink" title="5. calesthio&#x2F;OpenMontage"></a>5. <a href="https://github.com/calesthio/OpenMontage">calesthio&#x2F;OpenMontage</a></h2><button class="repo-vote-btn" type="button" data-repo="calesthio/OpenMontage" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li>语言：Python</li><li>总 star：8,899 · +987&#x2F;天</li><li>简介：自称”全球首个开源 Agent 化视频制作系统”，由 12 条流水线、52 个工具和 500+ Agent Skills 组成。</li><li>亮点：把 AI 编程助手直接变成完整的视频制作工作室，对内容创作者来说是有想象空间的方向。</li></ul><h2 id="6-ZhuLinsen-daily-stock-analysis"><a href="#6-ZhuLinsen-daily-stock-analysis" class="headerlink" title="6. ZhuLinsen&#x2F;daily_stock_analysis"></a>6. <a href="https://github.com/ZhuLinsen/daily_stock_analysis">ZhuLinsen&#x2F;daily_stock_analysis</a></h2><button class="repo-vote-btn" type="button" data-repo="ZhuLinsen/daily_stock_analysis" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li>语言：Python</li><li>总 star：44,569 · +568&#x2F;天</li><li>简介：LLM 驱动的多市场股票智能分析系统，整合多源行情、实时新闻、决策看板与自动推送，可零成本定时运行。</li><li>亮点：中文友好、面向 A 股&#x2F;港股&#x2F;美股全市场，部署门槛低，适合个人投资者做每日复盘自动化。</li></ul><h2 id="7-tursodatabase-turso"><a href="#7-tursodatabase-turso" class="headerlink" title="7. tursodatabase&#x2F;turso"></a>7. <a href="https://github.com/tursodatabase/turso">tursodatabase&#x2F;turso</a></h2><button class="repo-vote-btn" type="button" data-repo="tursodatabase/turso" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li>语言：Rust</li><li>总 star：20,839 · +548&#x2F;天</li><li>简介：用 Rust 重写的进程内 SQL 数据库，目标是与 SQLite 完全兼容。</li><li>亮点：兼容 SQLite 生态的同时享受 Rust 的安全性与并发模型，是关注嵌入式数据库演进方向的必看项目。</li></ul>]]>
    </content>
    <id>https://notion.fuwari.fun/2026/06/22/github-trending-daily/2026-06-22/</id>
    <link href="https://notion.fuwari.fun/2026/06/22/github-trending-daily/2026-06-22/"/>
    <published>2026-06-22T00:00:00.000Z</published>
    <summary>
      <![CDATA[<p>数据来源：GitHub Trending（每日）。本期共抓取 16 个仓库，去除历史已推送条目后剩 15 个候选，按当日新增 star 由高到低选出 7 个全新仓库进行推送。</p>]]>
    </summary>
    <title>GitHub Trending 日报 · 2026-06-22</title>
    <updated>2026-09-22T02:12:36.893Z</updated>
  </entry>
  <entry>
    <author>
      <name>浅梦风凌</name>
    </author>
    <category term="GitHub 日报" scheme="https://notion.fuwari.fun/categories/GitHub-%E6%97%A5%E6%8A%A5/"/>
    <category term="GitHub" scheme="https://notion.fuwari.fun/tags/GitHub/"/>
    <category term="Trending" scheme="https://notion.fuwari.fun/tags/Trending/"/>
    <category term="开源" scheme="https://notion.fuwari.fun/tags/%E5%BC%80%E6%BA%90/"/>
    <content>
      <![CDATA[<p>数据来源：GitHub Trending 总榜（经代理实时抓取，HTTP 200）。今日榜单共 14 个项目，剔除历史已推送仓库后，仅有 2 个未推送过的新仓库，故本期数量较少，全部收录如下。</p><span id="more"></span><div class="repo-vote-summary" data-article="2026-06-14" aria-live="polite"></div><h2 id="1-andrewyng-aisuite"><a href="#1-andrewyng-aisuite" class="headerlink" title="1. andrewyng&#x2F;aisuite"></a>1. <a href="https://github.com/andrewyng/aisuite">andrewyng&#x2F;aisuite</a></h2><button class="repo-vote-btn" type="button" data-repo="andrewyng/aisuite" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Python</li><li><strong>总 Star</strong>：14,131</li><li><strong>新增</strong>：+127&#x2F;天</li><li><strong>简介</strong>：为多家生成式 AI 服务商提供统一、简洁的调用接口，只需切换一个字符串即可在不同大模型供应商之间无缝切换。</li><li><strong>亮点</strong>：由吴恩达（Andrew Ng）团队出品，用类 OpenAI 的统一 API 屏蔽各家差异，极大降低多模型对接与切换成本。</li></ul><h2 id="2-swc-project-swc"><a href="#2-swc-project-swc" class="headerlink" title="2. swc-project&#x2F;swc"></a>2. <a href="https://github.com/swc-project/swc">swc-project&#x2F;swc</a></h2><button class="repo-vote-btn" type="button" data-repo="swc-project/swc" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Rust</li><li><strong>总 Star</strong>：33,644</li><li><strong>新增</strong>：+20&#x2F;天</li><li><strong>简介</strong>：基于 Rust 打造的高性能 Web 编译平台，可作为 Babel&#x2F;Terser 的替代品用于 JavaScript&#x2F;TypeScript 的编译与压缩。</li><li><strong>亮点</strong>：以 Rust 原生速度大幅加速前端构建，已被 Next.js、Deno 等主流工具链广泛采用，是现代前端工程提速的核心基础设施。</li></ul>]]>
    </content>
    <id>https://notion.fuwari.fun/2026/06/14/github-trending-daily/2026-06-14/</id>
    <link href="https://notion.fuwari.fun/2026/06/14/github-trending-daily/2026-06-14/"/>
    <published>2026-06-14T00:00:00.000Z</published>
    <summary>
      <![CDATA[<p>数据来源：GitHub Trending 总榜（经代理实时抓取，HTTP 200）。今日榜单共 14 个项目，剔除历史已推送仓库后，仅有 2 个未推送过的新仓库，故本期数量较少，全部收录如下。</p>]]>
    </summary>
    <title>GitHub Trending 日报 · 2026-06-14</title>
    <updated>2026-09-22T02:12:36.893Z</updated>
  </entry>
  <entry>
    <author>
      <name>浅梦风凌</name>
    </author>
    <category term="GitHub 日报" scheme="https://notion.fuwari.fun/categories/GitHub-%E6%97%A5%E6%8A%A5/"/>
    <category term="GitHub" scheme="https://notion.fuwari.fun/tags/GitHub/"/>
    <category term="Trending" scheme="https://notion.fuwari.fun/tags/Trending/"/>
    <category term="开源" scheme="https://notion.fuwari.fun/tags/%E5%BC%80%E6%BA%90/"/>
    <content>
      <![CDATA[<p>数据来源：GitHub Trending，通过自动化脚本采集并去重推送。今日榜单中有 4 个未推送过的新仓库。</p><span id="more"></span><div class="repo-vote-summary" data-article="2026-06-13" aria-live="polite"></div><h2 id="1-iptv-org-iptv"><a href="#1-iptv-org-iptv" class="headerlink" title="1. iptv-org&#x2F;iptv"></a>1. <a href="https://github.com/iptv-org/iptv">iptv-org&#x2F;iptv</a></h2><button class="repo-vote-btn" type="button" data-repo="iptv-org/iptv" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><p><strong>语言</strong>: TypeScript<br><strong>总 Star 数</strong>: 118,054 (+179&#x2F;天)</p><p>来自全球各地的公开 IPTV 频道合集，为用户提供免费的网络电视流媒体资源。这是一个庞大的社区驱动项目，收录了数千个频道，涵盖新闻、体育、娱乐等多个类别。项目以 TypeScript 构建，保持高质量的频道列表更新，是 IPTV 爱好者的必备资源。</p><p><strong>亮点</strong>: 超过 11 万 Star 的全球公开 IPTV 频道数据库，社区活跃维护，频道覆盖广泛。</p><hr><h2 id="2-microsoft-PowerToys"><a href="#2-microsoft-PowerToys" class="headerlink" title="2. microsoft&#x2F;PowerToys"></a>2. <a href="https://github.com/microsoft/PowerToys">microsoft&#x2F;PowerToys</a></h2><button class="repo-vote-btn" type="button" data-repo="microsoft/PowerToys" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><p><strong>语言</strong>: C#<br><strong>总 Star 数</strong>: 134,346 (+103&#x2F;天)</p><p>微软官方出品的 Windows 生产力工具集合，提供窗口管理、快速启动、键盘映射、颜色拾取等数十种实用功能。PowerToys 持续演进，不断加入新工具来增强 Windows 用户的工作效率和系统自定义能力。所有工具均开源免费，深受 Windows 高级用户喜爱。</p><p><strong>亮点</strong>: 微软官方维护的 Windows 超能工具箱，13 万+ Star，功能丰富且持续更新。</p><hr><h2 id="3-LMCache-LMCache"><a href="#3-LMCache-LMCache" class="headerlink" title="3. LMCache&#x2F;LMCache"></a>3. <a href="https://github.com/LMCache/LMCache">LMCache&#x2F;LMCache</a></h2><button class="repo-vote-btn" type="button" data-repo="LMCache/LMCache" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><p><strong>语言</strong>: Python<br><strong>总 Star 数</strong>: 8,644 (+28&#x2F;天)</p><p>专为大语言模型设计的高速 KV 缓存层，显著提升 LLM 推理性能。LMCache 通过优化键值对缓存机制，减少重复计算开销，让模型响应更快、资源占用更低。项目针对长上下文场景优化，适合需要高性能 LLM 推理的生产环境。</p><p><strong>亮点</strong>: 为 LLM 推理提速的缓存层解决方案，有效降低延迟和资源消耗。</p><hr><h2 id="4-music-assistant-server"><a href="#4-music-assistant-server" class="headerlink" title="4. music-assistant&#x2F;server"></a>4. <a href="https://github.com/music-assistant/server">music-assistant&#x2F;server</a></h2><button class="repo-vote-btn" type="button" data-repo="music-assistant/server" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><p><strong>语言</strong>: Python<br><strong>总 Star 数</strong>: 1,792 (+20&#x2F;天)</p><p>开源免费的媒体库管理系统，连接流媒体服务和各类智能音箱。Music Assistant 作为音乐中枢，可部署在树莓派、NAS 或 Intel NUC 等常开设备上，整合 Spotify、Apple Music 等平台，统一管理家庭音频设备。支持多房间音频、跨平台播放，是打造智能家居音乐系统的理想选择。</p><p><strong>亮点</strong>: 开源音乐助手，整合流媒体和智能音箱，打造统一的家庭音乐管理中心。</p>]]>
    </content>
    <id>https://notion.fuwari.fun/2026/06/13/github-trending-daily/2026-06-13/</id>
    <link href="https://notion.fuwari.fun/2026/06/13/github-trending-daily/2026-06-13/"/>
    <published>2026-06-13T00:00:00.000Z</published>
    <summary>
      <![CDATA[<p>数据来源：GitHub Trending，通过自动化脚本采集并去重推送。今日榜单中有 4 个未推送过的新仓库。</p>]]>
    </summary>
    <title>GitHub Trending 日报 · 2026-06-13</title>
    <updated>2026-09-22T02:12:36.893Z</updated>
  </entry>
  <entry>
    <author>
      <name>浅梦风凌</name>
    </author>
    <category term="故障排查" scheme="https://notion.fuwari.fun/categories/%E6%95%85%E9%9A%9C%E6%8E%92%E6%9F%A5/"/>
    <category term="硬件故障" scheme="https://notion.fuwari.fun/tags/%E7%A1%AC%E4%BB%B6%E6%95%85%E9%9A%9C/"/>
    <category term="Windows" scheme="https://notion.fuwari.fun/tags/Windows/"/>
    <category term="网络" scheme="https://notion.fuwari.fun/tags/%E7%BD%91%E7%BB%9C/"/>
    <category term="诊断" scheme="https://notion.fuwari.fun/tags/%E8%AF%8A%E6%96%AD/"/>
    <content>
      <![CDATA[<h2 id="问题现象"><a href="#问题现象" class="headerlink" title="问题现象"></a>问题现象</h2><p><strong>机器信息</strong></p><ul><li>主机名: DESKTOP-IDQTI1O</li><li>主板: Q370_PCH (American Megatrends BIOS)</li><li>内存: 2×32GB SK Hynix DDR4-3200 (实际运行@2667MHz)</li><li>存储: Samsung SSD 870 EVO 250GB + WD 8TB HDD</li><li>网卡: Intel I350 Gigabit × 8端口</li></ul><p><strong>故障症状</strong></p><ol><li>系统频繁意外重启（无蓝屏，直接断电重启）</li><li>电源指示灯闪烁，电源风扇停转</li><li>Windows事件日志显示 Kernel-Power Event 41（意外断电）</li><li>重启时间规律：工作日下午密集，每天早上8:42左右</li></ol><span id="more"></span><h2 id="诊断过程"><a href="#诊断过程" class="headerlink" title="诊断过程"></a>诊断过程</h2><h3 id="1-初步诊断-电源-内存问题排除"><a href="#1-初步诊断-电源-内存问题排除" class="headerlink" title="1. 初步诊断 - 电源&#x2F;内存问题排除"></a>1. 初步诊断 - 电源&#x2F;内存问题排除</h3><p><strong>检查电源</strong></p><figure class="highlight powershell"><table><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="comment"># 查看系统型号和BIOS</span></span><br><span class="line">systeminfo | findstr /C:<span class="string">&quot;系统型号&quot;</span> /C:<span class="string">&quot;BIOS&quot;</span></span><br><span class="line"><span class="comment"># 输出：</span></span><br><span class="line"><span class="comment"># BIOS 版本: American Megatrends Inc. CEB-Q37A-A100 R17, 2023/12/1</span></span><br></pre></td></tr></table></figure><p>初始怀疑电源故障（风扇不转），但通过重新插拔内存条后系统恢复正常进入桌面，排除电源本体故障。</p><p><strong>内存检查</strong></p><figure class="highlight powershell"><table><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">wmic memorychip get BankLabel,Capacity,Manufacturer,PartNumber,Speed,DeviceLocator</span><br><span class="line"><span class="comment"># 输出：</span></span><br><span class="line"><span class="comment"># BANK 1: 32GB SK Hynix HMAG88DXNUB096N 3200MHz (ChannelA-DIMM1)</span></span><br><span class="line"><span class="comment"># BANK 3: 32GB SK Hynix HMAG88DXNUB096N 3200MHz (ChannelB-DIMM1)</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 实际运行频率</span></span><br><span class="line">wmic memorychip get Status,ConfiguredClockSpeed,ConfiguredVoltage</span><br><span class="line"><span class="comment"># ConfiguredClockSpeed: 2667 (降频运行)</span></span><br><span class="line"><span class="comment"># ConfiguredVoltage: 1200</span></span><br></pre></td></tr></table></figure><p>内存状态正常，但实际运行频率从3200MHz降至2667MHz（主板限制）。</p><h3 id="2-事件日志分析-定位根因"><a href="#2-事件日志分析-定位根因" class="headerlink" title="2. 事件日志分析 - 定位根因"></a>2. 事件日志分析 - 定位根因</h3><p><strong>查看重启事件</strong></p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">wevtutil qe System /c:<span class="number">20</span> /<span class="built_in">rd</span>:true /f:text /q:<span class="string">&quot;*[System[Provider[@Name=&#x27;Microsoft-Windows-Kernel-Power&#x27;] and (EventID=41)]]&quot;</span></span><br></pre></td></tr></table></figure><p><strong>关键发现</strong>：每次Event 41（意外重启）前都伴随：</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">备用连接状态: Disconnected，原因: NIC compliance</span><br></pre></td></tr></table></figure><p><strong>时间规律</strong>：</p><ul><li>6月11日: 16:01, 16:03, 16:13, 16:21, 16:24, 16:33 (下午密集重启)</li><li>6月8-12日: 每天早上 8:42 左右重启一次</li></ul><h3 id="3-唤醒源检查-锁定Intel-I350网卡"><a href="#3-唤醒源检查-锁定Intel-I350网卡" class="headerlink" title="3. 唤醒源检查 - 锁定Intel I350网卡"></a>3. 唤醒源检查 - 锁定Intel I350网卡</h3><figure class="highlight powershell"><table><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="comment"># 查看当前可唤醒设备</span></span><br><span class="line">powercfg /devicequery wake_armed</span><br></pre></td></tr></table></figure><p><strong>输出（修复前）</strong>：</p><figure class="highlight plaintext"><table><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">HID-compliant mouse</span><br><span class="line">Intel(R) I350 Gigabit Network Connection #2</span><br><span class="line">Intel(R) I350 Gigabit Network Connection #3</span><br><span class="line">Intel(R) I350 Gigabit Network Connection #4</span><br><span class="line">Intel(R) I350 Gigabit Network Connection #6</span><br><span class="line">Intel(R) I350 Gigabit Network Connection #8</span><br><span class="line">HID Keyboard Device (003)</span><br></pre></td></tr></table></figure><p><strong>异常点</strong>：8个Intel I350网卡端口全部启用了Wake-on-LAN功能。</p><h3 id="4-USB设备排查-排除绿联WiFi干扰"><a href="#4-USB设备排查-排除绿联WiFi干扰" class="headerlink" title="4. USB设备排查 - 排除绿联WiFi干扰"></a>4. USB设备排查 - 排除绿联WiFi干扰</h3><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line"><span class="built_in">Get-PnpDevice</span> <span class="literal">-Class</span> USB | <span class="built_in">Where-Object</span> &#123;<span class="variable">$_</span>.Status <span class="operator">-ne</span> <span class="string">&quot;OK&quot;</span>&#125;</span><br></pre></td></tr></table></figure><p>发现大量USB设备状态为”Unknown”（包括U盘、键鼠、USB集线器），但这是正常现象（设备已拔出但驱动残留）。</p><p><strong>睡眠分析报告</strong>：</p><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">powercfg /sleepstudy /output C:\Users\Administrator\Desktop\sleepstudy.html</span><br></pre></td></tr></table></figure><p>未发现绿联USB WiFi (CM762-35264) 相关唤醒事件，排除WiFi适配器干扰。</p><h2 id="根因分析"><a href="#根因分析" class="headerlink" title="根因分析"></a>根因分析</h2><h3 id="Intel-I350-网卡异常唤醒导致系统保护性重启"><a href="#Intel-I350-网卡异常唤醒导致系统保护性重启" class="headerlink" title="Intel I350 网卡异常唤醒导致系统保护性重启"></a>Intel I350 网卡异常唤醒导致系统保护性重启</h3><p><strong>故障机制</strong>：</p><ol><li>Intel I350 网卡启用 Wake-on-LAN (WOL) 功能</li><li>网络环境中的魔术包 (Magic Packet) 或网络活动触发唤醒信号</li><li>系统响应唤醒，但检测到网络连接状态异常（Disconnected + NIC compliance）</li><li>触发系统保护机制，强制重启</li></ol><p><strong>为什么工作日下午密集重启</strong>？</p><ul><li>网络流量高峰期，广播包&#x2F;魔术包概率增加</li><li>可能存在局域网内其他设备发送WOL包</li></ul><p><strong>为什么每天早上8:42重启</strong>？</p><ul><li>系统定时任务触发网卡活动</li><li>任务调度器中 <code>BgTaskRegistrationMaintenanceTask</code> 在 8:43:55 执行</li><li>网卡唤醒机制与定时任务冲突</li></ul><h2 id="修复方案"><a href="#修复方案" class="headerlink" title="修复方案"></a>修复方案</h2><h3 id="方案一：禁用I350网卡唤醒功能（推荐）"><a href="#方案一：禁用I350网卡唤醒功能（推荐）" class="headerlink" title="方案一：禁用I350网卡唤醒功能（推荐）"></a>方案一：禁用I350网卡唤醒功能（推荐）</h3><p>通过修改注册表禁用网卡的PnP电源管理：</p><figure class="highlight powershell"><table><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"># 一键禁用所有 I350 网卡的唤醒功能</span></span><br><span class="line"><span class="built_in">Get-NetAdapter</span> | <span class="built_in">Where-Object</span> &#123;<span class="variable">$_</span>.InterfaceDescription <span class="operator">-like</span> <span class="string">&quot;*I350*&quot;</span>&#125; | <span class="built_in">ForEach-Object</span> &#123; </span><br><span class="line">    <span class="variable">$instanceID</span> = (<span class="built_in">Get-PnpDevice</span> <span class="literal">-FriendlyName</span> <span class="string">&quot;*<span class="variable">$</span>(<span class="variable">$_</span>.InterfaceDescription)*&quot;</span>).InstanceId</span><br><span class="line">    <span class="variable">$keyPath</span> = <span class="string">&quot;HKLM:\SYSTEM\CurrentControlSet\Enum\<span class="variable">$instanceID</span>\Device Parameters&quot;</span></span><br><span class="line">    <span class="keyword">if</span> (<span class="built_in">Test-Path</span> <span class="variable">$keyPath</span>) &#123; </span><br><span class="line">        <span class="built_in">Set-ItemProperty</span> <span class="literal">-Path</span> <span class="variable">$keyPath</span> <span class="literal">-Name</span> <span class="string">&quot;PnPCapabilities&quot;</span> <span class="literal">-Value</span> <span class="number">24</span> <span class="literal">-Force</span></span><br><span class="line">        <span class="built_in">Write-Host</span> <span class="string">&quot;✅ 已禁用 <span class="variable">$</span>(<span class="variable">$_</span>.Name) 的唤醒功能&quot;</span></span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p><strong>PnPCapabilities 值说明</strong>：</p><ul><li><code>0</code> &#x3D; 允许系统管理所有电源功能（包括唤醒）</li><li><code>24</code> &#x3D; 禁用”允许此设备唤醒计算机”（保留其他功能）</li></ul><h3 id="方案二：禁用定时器唤醒（辅助）"><a href="#方案二：禁用定时器唤醒（辅助）" class="headerlink" title="方案二：禁用定时器唤醒（辅助）"></a>方案二：禁用定时器唤醒（辅助）</h3><figure class="highlight powershell"><table><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">powercfg /setacvalueindex SCHEME_CURRENT SUB_SLEEP RTCWAKE <span class="number">0</span></span><br><span class="line">powercfg /setactive SCHEME_CURRENT</span><br><span class="line"></span><br><span class="line"><span class="comment"># 禁用USB选择性暂停（避免USB设备唤醒）</span></span><br><span class="line">powercfg /setacvalueindex SCHEME_CURRENT <span class="number">2</span>a737441<span class="literal">-1930-4402-8d77-b2bebba308a3</span> <span class="number">48</span>e6b7a6<span class="literal">-50f5-4782-a5d4-53bb8f07e226</span> <span class="number">0</span></span><br><span class="line">powercfg /setactive SCHEME_CURRENT</span><br></pre></td></tr></table></figure><h3 id="验证修复"><a href="#验证修复" class="headerlink" title="验证修复"></a>验证修复</h3><figure class="highlight powershell"><table><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="comment"># 查看当前唤醒源</span></span><br><span class="line">powercfg /devicequery wake_armed</span><br></pre></td></tr></table></figure><p><strong>修复后输出</strong>：</p><figure class="highlight plaintext"><table><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">HID-compliant mouse</span><br><span class="line">HID Keyboard Device (003)</span><br></pre></td></tr></table></figure><p>✅ <strong>所有Intel I350网卡已从唤醒列表中移除</strong></p><h2 id="常见问题"><a href="#常见问题" class="headerlink" title="常见问题"></a>常见问题</h2><h3 id="Q1-禁用网卡唤醒后，网卡还能正常工作吗？"><a href="#Q1-禁用网卡唤醒后，网卡还能正常工作吗？" class="headerlink" title="Q1: 禁用网卡唤醒后，网卡还能正常工作吗？"></a>Q1: 禁用网卡唤醒后，网卡还能正常工作吗？</h3><p><strong>A</strong>: 能。禁用的只是”唤醒计算机”功能，网卡的数据传输、连接功能完全不受影响。网络通信、远程桌面、文件共享等都正常。</p><h3 id="Q2-什么是”魔术包”-Magic-Packet-？"><a href="#Q2-什么是”魔术包”-Magic-Packet-？" class="headerlink" title="Q2: 什么是”魔术包”(Magic Packet)？"></a>Q2: 什么是”魔术包”(Magic Packet)？</h3><p><strong>A</strong>: Wake-on-LAN 的唤醒信号，格式为：<code>FF FF FF FF FF FF</code> + 目标MAC地址重复16次。局域网中的任何设备都可以发送，常见于：</p><ul><li>网络管理软件</li><li>路由器广播</li><li>其他设备的网络发现</li></ul><h3 id="Q3-为什么-powercfg-devicedisablewake-命令报错”没有权限”？"><a href="#Q3-为什么-powercfg-devicedisablewake-命令报错”没有权限”？" class="headerlink" title="Q3: 为什么 powercfg /devicedisablewake 命令报错”没有权限”？"></a>Q3: 为什么 <code>powercfg /devicedisablewake</code> 命令报错”没有权限”？</h3><p><strong>A</strong>: 某些网卡驱动（如Intel I350）通过内部机制锁定了唤醒设置，必须通过注册表修改 <code>PnPCapabilities</code> 才能生效。</p><h3 id="Q4-禁用唤醒定时器会影响键鼠响应吗？"><a href="#Q4-禁用唤醒定时器会影响键鼠响应吗？" class="headerlink" title="Q4: 禁用唤醒定时器会影响键鼠响应吗？"></a>Q4: 禁用唤醒定时器会影响键鼠响应吗？</h3><p><strong>A</strong>: 不会。禁用的是<strong>系统自动唤醒</strong>（定时任务、网络包），不影响<strong>用户主动唤醒</strong>（按键盘、移动鼠标）。</p><h3 id="Q5-如果想保留远程唤醒功能怎么办？"><a href="#Q5-如果想保留远程唤醒功能怎么办？" class="headerlink" title="Q5: 如果想保留远程唤醒功能怎么办？"></a>Q5: 如果想保留远程唤醒功能怎么办？</h3><p><strong>A</strong>: 可以只保留一个网卡的WOL功能：</p><figure class="highlight powershell"><table><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="comment"># 手动启用指定网卡</span></span><br><span class="line">powercfg /deviceenablewake <span class="string">&quot;以太网 25&quot;</span></span><br></pre></td></tr></table></figure><h2 id="后续监控"><a href="#后续监控" class="headerlink" title="后续监控"></a>后续监控</h2><p>建议在修复后持续观察1-2周：</p><figure class="highlight powershell"><table><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"><span class="comment"># 每天检查重启事件</span></span><br><span class="line">wevtutil qe System /c:<span class="number">5</span> /<span class="built_in">rd</span>:true /f:text /q:<span class="string">&quot;*[System[Provider[@Name=&#x27;Microsoft-Windows-Kernel-Power&#x27;] and EventID=41]]&quot;</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 查看当前温度（单位：0.1℃，如3010 = 30.1℃）</span></span><br><span class="line">wmic /namespace:\\root\wmi PATH MSAcpi_ThermalZoneTemperature get CurrentTemperature</span><br><span class="line"></span><br><span class="line"><span class="comment"># 查看唤醒源</span></span><br><span class="line">powercfg /devicequery wake_armed</span><br></pre></td></tr></table></figure><p>如果重启问题持续，考虑：</p><ol><li>更新Intel I350网卡驱动</li><li>检查主板BIOS设置中的 Wake-on-LAN 选项</li><li>排查局域网内是否有设备频繁发送魔术包</li></ol><h2 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h2><p>本次工控机频繁重启问题是典型的<strong>网卡唤醒冲突</strong>案例：</p><ol><li>❌ 不是电源故障（风扇停转是内存接触不良，已解决）</li><li>❌ 不是定时任务唤醒（8:43任务是维护，非强制唤醒）</li><li>✅ <strong>Intel I350网卡异常唤醒 + 网络状态冲突 → 系统保护性重启</strong></li></ol><p>修复方案已验证有效，通过注册表禁用网卡唤醒功能后，系统恢复稳定。</p><hr><p><strong>参考资料</strong>：</p><ul><li><a href="https://docs.microsoft.com/en-us/windows/client-management/troubleshoot-event-id-41-restart">Microsoft Docs: Kernel-Power Event 41</a></li><li><a href="https://www.intel.com/content/www/us/en/products/docs/network-io/ethernet/controllers/i350-controller-family-brief.html">Intel I350 Driver Documentation</a></li><li><a href="https://docs.microsoft.com/en-us/windows-hardware/design/device-experiences/powercfg-command-line-options">PowerCfg Command-Line Options</a></li></ul>]]>
    </content>
    <id>https://notion.fuwari.fun/2026/06/12/workstation-reboot-troubleshooting/</id>
    <link href="https://notion.fuwari.fun/2026/06/12/workstation-reboot-troubleshooting/"/>
    <published>2026-06-12T14:45:00.000Z</published>
    <summary>
      <![CDATA[<h2 id="问题现象"><a href="#问题现象" class="headerlink" title="问题现象"></a>问题现象</h2><p><strong>机器信息</strong></p>
<ul>
<li>主机名: DESKTOP-IDQTI1O</li>
<li>主板: Q370_PCH (American Megatrends BIOS)</li>
<li>内存: 2×32GB SK Hynix DDR4-3200 (实际运行@2667MHz)</li>
<li>存储: Samsung SSD 870 EVO 250GB + WD 8TB HDD</li>
<li>网卡: Intel I350 Gigabit × 8端口</li>
</ul>
<p><strong>故障症状</strong></p>
<ol>
<li>系统频繁意外重启（无蓝屏，直接断电重启）</li>
<li>电源指示灯闪烁，电源风扇停转</li>
<li>Windows事件日志显示 Kernel-Power Event 41（意外断电）</li>
<li>重启时间规律：工作日下午密集，每天早上8:42左右</li>
</ol>]]>
    </summary>
    <title>工控机频繁重启问题诊断与修复</title>
    <updated>2026-09-22T02:12:36.893Z</updated>
  </entry>
  <entry>
    <author>
      <name>浅梦风凌</name>
    </author>
    <category term="故障排查" scheme="https://notion.fuwari.fun/categories/%E6%95%85%E9%9A%9C%E6%8E%92%E6%9F%A5/"/>
    <category term="硬件故障" scheme="https://notion.fuwari.fun/tags/%E7%A1%AC%E4%BB%B6%E6%95%85%E9%9A%9C/"/>
    <category term="Windows" scheme="https://notion.fuwari.fun/tags/Windows/"/>
    <category term="网络" scheme="https://notion.fuwari.fun/tags/%E7%BD%91%E7%BB%9C/"/>
    <category term="诊断" scheme="https://notion.fuwari.fun/tags/%E8%AF%8A%E6%96%AD/"/>
    <content>
      <![CDATA[<p><strong>机器信息：</strong></p><ul><li>主机名：DESKTOP-IDQTI1O  </li><li>型号：Q370_PCH (工控机)</li><li>内存：64GB (2x32GB SK Hynix DDR4-3200)</li><li>存储：三星 870 EVO 250GB SSD + WD 8TB HDD</li><li>网卡：8x Intel I350 千兆网卡</li></ul><h2 id="问题现象"><a href="#问题现象" class="headerlink" title="问题现象"></a>问题现象</h2><p>从 2026年6月3日 开始频繁出现异常重启：</p><ul><li><strong>重启频率</strong>：每天早上 8:42 左右 1 次，6月11日下午密集重启 7 次</li><li><strong>Event ID 41</strong>：Kernel-Power 关键错误（意外断电&#x2F;崩溃）</li><li><strong>电源风扇不转</strong>（上午发现，插拔内存后恢复）</li></ul><span id="more"></span><h2 id="排查过程"><a href="#排查过程" class="headerlink" title="排查过程"></a>排查过程</h2><h3 id="1-初步诊断"><a href="#1-初步诊断" class="headerlink" title="1. 初步诊断"></a>1. 初步诊断</h3><figure class="highlight powershell"><table><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="comment"># 查看重启记录</span></span><br><span class="line">wevtutil qe System /c:<span class="number">20</span> /<span class="built_in">rd</span>:true /f:text /q:<span class="string">&quot;*[System[Provider[@Name=&#x27;Microsoft-Windows-Kernel-Power&#x27;] and EventID=41]]&quot;</span></span><br></pre></td></tr></table></figure><p>发现 19 次 Event ID 41 错误，时间规律：</p><ul><li>6月11日 16:01, 16:03, 16:13, 16:21, 16:24, 16:33（下午密集）</li><li>每天早上 8:42 左右</li></ul><h3 id="2-硬件检查"><a href="#2-硬件检查" class="headerlink" title="2. 硬件检查"></a>2. 硬件检查</h3><figure class="highlight powershell"><table><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"><span class="comment"># 内存检查</span></span><br><span class="line">wmic memorychip list full</span><br><span class="line"><span class="comment"># 结果：2x32GB SK Hynix HMAG88DXNUB096N，Status 为空（无错误）</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 温度检查  </span></span><br><span class="line">wmic /namespace:\\root\wmi PATH MSAcpi_ThermalZoneTemperature get CurrentTemperature</span><br><span class="line"><span class="comment"># 结果：30.1°C（正常）</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 硬盘状态</span></span><br><span class="line">wmic diskdrive get status,model,size</span><br><span class="line"><span class="comment"># 结果：两块硬盘均为 OK</span></span><br></pre></td></tr></table></figure><p><strong>硬件结论</strong>：内存、温度、硬盘正常，无硬件错误。</p><h3 id="3-唤醒源分析"><a href="#3-唤醒源分析" class="headerlink" title="3. 唤醒源分析"></a>3. 唤醒源分析</h3><figure class="highlight powershell"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">powercfg /devicequery wake_armed</span><br></pre></td></tr></table></figure><p><strong>关键发现</strong>：</p><ul><li>HID 鼠标和键盘（正常）</li><li><strong>8 个 Intel I350 网卡全部启用唤醒！</strong></li></ul><p>查看电源日志：每次重启前都有 <code>Event ID 172: 备用连接状态: Disconnected，原因: NIC compliance</code></p><h2 id="根因分析"><a href="#根因分析" class="headerlink" title="根因分析"></a>根因分析</h2><p><strong>✅ 确定：Intel I350 网卡异常唤醒导致频繁重启</strong></p><h3 id="触发机制"><a href="#触发机制" class="headerlink" title="触发机制"></a>触发机制</h3><ol><li><strong>Wake-on-LAN (WOL) 误触发</strong> → 网卡尝试唤醒系统  </li><li><strong>系统检测到唤醒但网络已断开</strong> → 触发 <code>NIC compliance</code> 错误  </li><li><strong>电源管理保护机制</strong> → 强制重启避免硬件损坏</li></ol><h3 id="为什么是网卡而不是其他原因？"><a href="#为什么是网卡而不是其他原因？" class="headerlink" title="为什么是网卡而不是其他原因？"></a>为什么是网卡而不是其他原因？</h3><ul><li>❌ <strong>不是定时任务</strong>：8:43 的任务是系统维护任务的上次运行时间</li><li>❌ <strong>不是内存故障</strong>：插拔后恢复，且无 WHEA 硬件错误日志  </li><li>❌ <strong>不是电源故障</strong>：温度正常，电源风扇恢复后未再出现问题  </li><li>✅ <strong>是网卡唤醒</strong>：每次重启前都有 <code>Event ID 172</code> (NIC Disconnected)</li></ul><h2 id="修复方案"><a href="#修复方案" class="headerlink" title="修复方案"></a>修复方案</h2><h3 id="已执行：禁用网卡设备唤醒"><a href="#已执行：禁用网卡设备唤醒" class="headerlink" title="已执行：禁用网卡设备唤醒"></a>已执行：禁用网卡设备唤醒</h3><figure class="highlight powershell"><table><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"><span class="comment"># 通过注册表禁用 I350 网卡的电源管理</span></span><br><span class="line"><span class="built_in">Get-NetAdapter</span> | <span class="built_in">Where-Object</span> &#123;<span class="variable">$_</span>.InterfaceDescription <span class="operator">-like</span> <span class="string">&quot;*I350*&quot;</span>&#125; | <span class="built_in">ForEach-Object</span> &#123;</span><br><span class="line">    <span class="variable">$instanceID</span> = (<span class="built_in">Get-PnpDevice</span> <span class="literal">-FriendlyName</span> <span class="string">&quot;*<span class="variable">$</span>(<span class="variable">$_</span>.InterfaceDescription)*&quot;</span>).InstanceId</span><br><span class="line">    <span class="variable">$keyPath</span> = <span class="string">&quot;HKLM:\SYSTEM\CurrentControlSet\Enum\<span class="variable">$instanceID</span>\Device Parameters&quot;</span></span><br><span class="line">    <span class="keyword">if</span> (<span class="built_in">Test-Path</span> <span class="variable">$keyPath</span>) &#123;</span><br><span class="line">        <span class="built_in">Set-ItemProperty</span> <span class="literal">-Path</span> <span class="variable">$keyPath</span> <span class="literal">-Name</span> <span class="string">&quot;PnPCapabilities&quot;</span> <span class="literal">-Value</span> <span class="number">24</span> <span class="literal">-Force</span></span><br><span class="line">    &#125;</span><br><span class="line">&#125;</span><br></pre></td></tr></table></figure><p><strong>PnPCapabilities &#x3D; 24 的含义</strong>：</p><ul><li>Bit 3 (8)：禁用”允许此设备唤醒计算机”</li><li>Bit 4 (16)：禁用电源管理  </li><li>24 &#x3D; 8 + 16：完全禁用网卡唤醒</li></ul><h3 id="验证修复"><a href="#验证修复" class="headerlink" title="验证修复"></a>验证修复</h3><p>修复后唤醒源列表：只剩鼠标和键盘，<strong>8 个 Intel I350 网卡已全部移除！</strong></p><h2 id="禁用网卡唤醒的影响"><a href="#禁用网卡唤醒的影响" class="headerlink" title="禁用网卡唤醒的影响"></a>禁用网卡唤醒的影响</h2><p><strong>✅ 不影响：</strong></p><ul><li>网络正常收发数据</li><li>远程桌面 (向日葵) 正常使用  </li><li>键盘鼠标唤醒功能保留</li></ul><p><strong>❌ 失去：</strong></p><ul><li>远程 Wake-on-LAN 唤醒功能（需要物理按电源键）</li></ul><h2 id="后续观察"><a href="#后续观察" class="headerlink" title="后续观察"></a>后续观察</h2><ul><li><strong>观察周期</strong>：72 小时（6月12日-15日）  </li><li><strong>监控重点</strong>：Event ID 41 和 172 是否再次出现</li></ul><hr><p><strong>修复时间</strong>：2026年6月12日 14:40<br><strong>执行人</strong>：通过向日葵远程协助<br><strong>状态</strong>：✅ 修复完成，等待验证</p>]]>
    </content>
    <id>https://notion.fuwari.fun/2026/06/12/2026-06-12-industrial-pc-reboot-troubleshooting/</id>
    <link href="https://notion.fuwari.fun/2026/06/12/2026-06-12-industrial-pc-reboot-troubleshooting/"/>
    <published>2026-06-12T14:40:00.000Z</published>
    <summary>
      <![CDATA[<p><strong>机器信息：</strong></p>
<ul>
<li>主机名：DESKTOP-IDQTI1O  </li>
<li>型号：Q370_PCH (工控机)</li>
<li>内存：64GB (2x32GB SK Hynix DDR4-3200)</li>
<li>存储：三星 870 EVO 250GB SSD + WD 8TB HDD</li>
<li>网卡：8x Intel I350 千兆网卡</li>
</ul>
<h2 id="问题现象"><a href="#问题现象" class="headerlink" title="问题现象"></a>问题现象</h2><p>从 2026年6月3日 开始频繁出现异常重启：</p>
<ul>
<li><strong>重启频率</strong>：每天早上 8:42 左右 1 次，6月11日下午密集重启 7 次</li>
<li><strong>Event ID 41</strong>：Kernel-Power 关键错误（意外断电&#x2F;崩溃）</li>
<li><strong>电源风扇不转</strong>（上午发现，插拔内存后恢复）</li>
</ul>]]>
    </summary>
    <title>工控机频繁重启问题排查记录</title>
    <updated>2026-09-22T02:12:36.889Z</updated>
  </entry>
  <entry>
    <author>
      <name>浅梦风凌</name>
    </author>
    <category term="GitHub 日报" scheme="https://notion.fuwari.fun/categories/GitHub-%E6%97%A5%E6%8A%A5/"/>
    <category term="GitHub" scheme="https://notion.fuwari.fun/tags/GitHub/"/>
    <category term="Trending" scheme="https://notion.fuwari.fun/tags/Trending/"/>
    <category term="开源" scheme="https://notion.fuwari.fun/tags/%E5%BC%80%E6%BA%90/"/>
    <content>
      <![CDATA[<p>今日数据抓取自 <a href="https://github.com/trending">GitHub Trending</a> 当日榜单，经去重后剔除历史已推送仓库，按当日新增 Star 由高到低精选呈现。今日共发现 9 个全新上榜仓库，全部收录如下。</p><span id="more"></span><div class="repo-vote-summary" data-article="2026-06-12" aria-live="polite"></div><h2 id="1-msitarzewski-agency-agents"><a href="#1-msitarzewski-agency-agents" class="headerlink" title="1. msitarzewski&#x2F;agency-agents"></a>1. <a href="https://github.com/msitarzewski/agency-agents">msitarzewski&#x2F;agency-agents</a></h2><button class="repo-vote-btn" type="button" data-repo="msitarzewski/agency-agents" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li>语言：Shell</li><li>总 Star：111,638</li><li>当日新增：+1,599&#x2F;天</li><li>简介：一套开箱即用的「AI 代理公司」，囊括从前端开发到社区运营、从创意注入到现实校验等各类专精角色，每个智能体都自带人设、流程与可交付成果。</li><li>亮点：把「组建一支虚拟团队」做成了即插即用的智能体集合，非常适合用一句话指令撬动多角色协作。</li></ul><h2 id="2-NVIDIA-SkillSpector"><a href="#2-NVIDIA-SkillSpector" class="headerlink" title="2. NVIDIA&#x2F;SkillSpector"></a>2. <a href="https://github.com/NVIDIA/SkillSpector">NVIDIA&#x2F;SkillSpector</a></h2><button class="repo-vote-btn" type="button" data-repo="NVIDIA/SkillSpector" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li>语言：Python</li><li>总 Star：2,713</li><li>当日新增：+319&#x2F;天</li><li>简介：NVIDIA 推出的 AI Agent Skill 安全扫描器，用于检测技能包中的漏洞、恶意模式与潜在安全风险。</li><li>亮点：随着 Agent Skill 生态爆发，这类「给技能做安检」的工具正好补上供应链安全的关键一环。</li></ul><h2 id="3-hexo-ai-sia"><a href="#3-hexo-ai-sia" class="headerlink" title="3. hexo-ai&#x2F;sia"></a>3. <a href="https://github.com/hexo-ai/sia">hexo-ai&#x2F;sia</a></h2><button class="repo-vote-btn" type="button" data-repo="hexo-ai/sia" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li>语言：Python</li><li>总 Star：1,327</li><li>当日新增：+199&#x2F;天</li><li>简介：SIA 是一个自我改进的 AI 框架，可在给定基准任务上自主提升任意 AI 系统（模型或 Agent）的表现。</li><li>亮点：把「让 AI 自己调优 AI」做成通用框架，面向 benchmark 自动迭代，思路颇具想象空间。</li></ul><h2 id="4-bannedbook-fanqiang"><a href="#4-bannedbook-fanqiang" class="headerlink" title="4. bannedbook&#x2F;fanqiang"></a>4. <a href="https://github.com/bannedbook/fanqiang">bannedbook&#x2F;fanqiang</a></h2><button class="repo-vote-btn" type="button" data-repo="bannedbook/fanqiang" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li>语言：Kotlin</li><li>总 Star：46,839</li><li>当日新增：+161&#x2F;天</li><li>简介：聚焦科学上网与网络访问的工具与教程合集。</li><li>亮点：常年活跃的老牌项目，今日再度回到榜单，社区关注度持续不减。</li></ul><h2 id="5-kenn-io-agentsview"><a href="#5-kenn-io-agentsview" class="headerlink" title="5. kenn-io&#x2F;agentsview"></a>5. <a href="https://github.com/kenn-io/agentsview">kenn-io&#x2F;agentsview</a></h2><button class="repo-vote-btn" type="button" data-repo="kenn-io/agentsview" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li>语言：Go</li><li>总 Star：1,677</li><li>当日新增：+114&#x2F;天</li><li>简介：本地优先的编码 Agent 会话智能分析工具，支持 Claude Code、Codex 等 20 多种主流编码代理，并号称是 ccusage 的百倍提速替代品。</li><li>亮点：Local-first 设计保障隐私，又覆盖主流 Agent 生态，对重度 AI 编程用户的用量与效率洞察很实用。</li></ul><h2 id="6-alchaincyf-zhangxuefeng-skill"><a href="#6-alchaincyf-zhangxuefeng-skill" class="headerlink" title="6. alchaincyf&#x2F;zhangxuefeng-skill"></a>6. <a href="https://github.com/alchaincyf/zhangxuefeng-skill">alchaincyf&#x2F;zhangxuefeng-skill</a></h2><button class="repo-vote-btn" type="button" data-repo="alchaincyf/zhangxuefeng-skill" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li>语言：未标注</li><li>总 Star：7,972</li><li>当日新增：+89&#x2F;天</li><li>简介：将张雪峰的「认知操作系统」沉淀为一套 Skill，提供高考志愿、考研、职业规划等场景的实战思维框架，由「女娲.skill」生成。</li><li>亮点：把名人方法论封装成可调用的 AI 技能，是「专家经验产品化」的一个有意思的本土范例。</li></ul><h2 id="7-chatwoot-chatwoot"><a href="#7-chatwoot-chatwoot" class="headerlink" title="7. chatwoot&#x2F;chatwoot"></a>7. <a href="https://github.com/chatwoot/chatwoot">chatwoot&#x2F;chatwoot</a></h2><button class="repo-vote-btn" type="button" data-repo="chatwoot/chatwoot" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li>语言：Ruby</li><li>总 Star：30,385</li><li>当日新增：+67&#x2F;天</li><li>简介：开源的在线客服、邮件支持与全渠道客服台，可作为 Intercom、Zendesk、Salesforce Service Cloud 等商业方案的替代品。</li><li>亮点：功能完整、自托管友好，是中小团队搭建客户支持体系的高性价比选择。</li></ul><h2 id="8-restic-restic"><a href="#8-restic-restic" class="headerlink" title="8. restic&#x2F;restic"></a>8. <a href="https://github.com/restic/restic">restic&#x2F;restic</a></h2><button class="repo-vote-btn" type="button" data-repo="restic/restic" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li>语言：Go</li><li>总 Star：34,181</li><li>当日新增：+61&#x2F;天</li><li>简介：快速、安全、高效的备份程序。</li><li>亮点：成熟稳定的跨平台备份方案，加密与去重设计可靠，长期被运维社区信赖。</li></ul><h2 id="9-mattermost-mattermost"><a href="#9-mattermost-mattermost" class="headerlink" title="9. mattermost&#x2F;mattermost"></a>9. <a href="https://github.com/mattermost/mattermost">mattermost&#x2F;mattermost</a></h2><button class="repo-vote-btn" type="button" data-repo="mattermost/mattermost" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li>语言：TypeScript</li><li>总 Star：37,334</li><li>当日新增：+53&#x2F;天</li><li>简介：面向软件研发全生命周期的开源安全协作平台。</li><li>亮点：自托管的团队协作与即时通讯方案，对数据合规要求高的组织尤为友好。</li></ul>]]>
    </content>
    <id>https://notion.fuwari.fun/2026/06/12/github-trending-daily/2026-06-12/</id>
    <link href="https://notion.fuwari.fun/2026/06/12/github-trending-daily/2026-06-12/"/>
    <published>2026-06-12T00:00:00.000Z</published>
    <summary>
      <![CDATA[<p>今日数据抓取自 <a href="https://github.com/trending">GitHub Trending</a> 当日榜单，经去重后剔除历史已推送仓库，按当日新增 Star 由高到低精选呈现。今日共发现 9 个全新上榜仓库，全部收录如下。</p>]]>
    </summary>
    <title>GitHub Trending 日报 · 2026-06-12</title>
    <updated>2026-09-22T02:12:36.893Z</updated>
  </entry>
  <entry>
    <author>
      <name>浅梦风凌</name>
    </author>
    <category term="技术问题排查" scheme="https://notion.fuwari.fun/categories/%E6%8A%80%E6%9C%AF%E9%97%AE%E9%A2%98%E6%8E%92%E6%9F%A5/"/>
    <category term="Hermes Agent" scheme="https://notion.fuwari.fun/tags/Hermes-Agent/"/>
    <category term="API中转" scheme="https://notion.fuwari.fun/tags/API%E4%B8%AD%E8%BD%AC/"/>
    <category term="Cloudflare WAF" scheme="https://notion.fuwari.fun/tags/Cloudflare-WAF/"/>
    <category term="User-Agent" scheme="https://notion.fuwari.fun/tags/User-Agent/"/>
    <content>
      <![CDATA[<blockquote><p>环境：Hermes Agent v0.15.1 (Windows) &#x2F; 模型 <code>claude-opus-4-8</code> &#x2F; 中转 <code>https://muyuan.do/v1</code></p></blockquote><hr><h2 id="1-现象"><a href="#1-现象" class="headerlink" title="1. 现象"></a>1. 现象</h2><p>终端 &#x2F; gateway 调用模型时报错，并在 <code>sessions/</code> 下生成请求转储：</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">sessions/request_dump_20260611_091935_1f4d30_*.json</span><br></pre></td></tr></table></figure><p>转储关键字段：</p><figure class="highlight json"><table><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="punctuation">&#123;</span></span><br><span class="line">  <span class="attr">&quot;reason&quot;</span><span class="punctuation">:</span> <span class="string">&quot;non_retryable_client_error&quot;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;request&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span> <span class="attr">&quot;url&quot;</span><span class="punctuation">:</span> <span class="string">&quot;https://muyuan.do/v1/chat/completions&quot;</span><span class="punctuation">,</span> <span class="attr">&quot;model&quot;</span><span class="punctuation">:</span> <span class="string">&quot;claude-opus-4-8&quot;</span> <span class="punctuation">&#125;</span><span class="punctuation">,</span></span><br><span class="line">  <span class="attr">&quot;error&quot;</span><span class="punctuation">:</span> <span class="punctuation">&#123;</span></span><br><span class="line">    <span class="attr">&quot;type&quot;</span><span class="punctuation">:</span> <span class="string">&quot;PermissionDeniedError&quot;</span><span class="punctuation">,</span></span><br><span class="line">    <span class="attr">&quot;status_code&quot;</span><span class="punctuation">:</span> <span class="number">403</span><span class="punctuation">,</span></span><br><span class="line">    <span class="attr">&quot;message&quot;</span><span class="punctuation">:</span> <span class="string">&quot;Your request was blocked.&quot;</span><span class="punctuation">,</span></span><br><span class="line">    <span class="attr">&quot;response_text&quot;</span><span class="punctuation">:</span> <span class="string">&quot;Your request was blocked.&quot;</span></span><br><span class="line">  <span class="punctuation">&#125;</span></span><br><span class="line"><span class="punctuation">&#125;</span></span><br></pre></td></tr></table></figure><p>gateway 日志同步出现：</p><figure class="highlight plaintext"><table><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">agent.conversation_loop: API call failed error_type=PermissionDeniedError ... summary=HTTP 403: Your request was blocked.</span><br><span class="line">agent.conversation_loop: Non-retryable client error: Your request was blocked.</span><br></pre></td></tr></table></figure><p><strong>特征：每一条请求都 403，不是偶发。</strong></p><hr><h2 id="2-根本原因"><a href="#2-根本原因" class="headerlink" title="2. 根本原因"></a>2. 根本原因</h2><p><code>muyuan.do</code> 位于 Cloudflare 之后，其 WAF 有一条<strong>黑名单规则，专门拦截官方 SDK 的默认 User-Agent</strong>。</p><p>Hermes 底层用 <strong>OpenAI Python SDK</strong> 调用 OpenAI-wire 接口，SDK 默认发送的<br><code>User-Agent: OpenAI/Python &lt;ver&gt;</code> 正好命中黑名单 → 边缘直接 403，<br>Hermes 把 403 归类为 <code>non_retryable_client_error</code>（永久客户端错误，不重试）。</p><h3 id="验证证据（同一-key、同一-body，只改-User-Agent）"><a href="#验证证据（同一-key、同一-body，只改-User-Agent）" class="headerlink" title="验证证据（同一 key、同一 body，只改 User-Agent）"></a>验证证据（同一 key、同一 body，只改 User-Agent）</h3><table><thead><tr><th>User-Agent</th><th>结果</th></tr></thead><tbody><tr><td><code>OpenAI/Python 1.55.0</code></td><td>❌ 403 <code>Your request was blocked.</code></td></tr><tr><td><code>AsyncOpenAI/Python 1.55.0</code></td><td>❌ 403</td></tr><tr><td><code>Anthropic/Python 0.40.0</code></td><td>❌ 403</td></tr><tr><td><code>curl/8.5.0</code></td><td>✅ 200</td></tr><tr><td><code>python-requests/2.31.0</code></td><td>✅ 200</td></tr><tr><td><code>Mozilla/5.0 (...)</code></td><td>✅ 200</td></tr><tr><td><code>claude-code/0.1.0</code></td><td>✅ 200</td></tr><tr><td><code>hermes-agent/1.0</code></td><td>✅ 200</td></tr><tr><td>空 UA</td><td>✅ 200</td></tr></tbody></table><blockquote><p>结论：黑名单只针对 SDK 默认 UA。任何「非官方 SDK 默认」的 UA 都放行。</p></blockquote><h3 id="早期误判说明"><a href="#早期误判说明" class="headerlink" title="早期误判说明"></a>早期误判说明</h3><ul><li>一开始用 <code>curl</code> 测试返回 200，误以为是「Cloudflare 偶发拦截」→ 实为 curl 的 UA 不在黑名单。</li><li>误判后尝试「同源 fallback」无效：Hermes 检测到 fallback 条目 <code>base_url</code> 与当前后端相同会主动跳过：<figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">agent.chat_completion_helpers: Fallback skip: chain entry base_url https://muyuan.do/v1 matches current backend</span><br></pre></td></tr></table></figure></li></ul><hr><h2 id="3-最终修复（升级安全，不改-Hermes-源码）"><a href="#3-最终修复（升级安全，不改-Hermes-源码）" class="headerlink" title="3. 最终修复（升级安全，不改 Hermes 源码）"></a>3. 最终修复（升级安全，不改 Hermes 源码）</h2><p>利用 Hermes 官方扩展点：自定义 provider 在构建客户端时，会读取<br><code>get_provider_profile(agent.provider).default_headers</code> 注入请求头<br>（见 <code>agent/agent_init.py</code> 显式凭证分支）。</p><p><strong>关键坑</strong>：运行时 <code>agent.provider</code> 实际是泛化的 <strong><code>custom</code></strong>，而<strong>不是</strong><br><code>custom:muyuan.do</code>（<code>:Muyuan.do</code> 后缀在构建客户端前已被剥离，gateway 日志<br><code>provider=custom base_url=https://muyuan.do/v1</code> 可证）。因此必须<strong>覆盖内置的<br><code>custom</code> profile</strong>，给它加 UA——注册 <code>custom:muyuan.do</code> 名字的 profile 不会被查到。</p><p>用户插件目录在 bundled 之后加载，注册同名 <code>custom</code> 即可覆盖。用子类继承内置<br><code>CustomProfile</code> 以保留 Ollama&#x2F;think 行为。</p><h3 id="文件"><a href="#文件" class="headerlink" title="文件"></a>文件</h3><p><code>~/AppData/Local/hermes/plugins/model-providers/muyuan-do/__init__.py</code></p><figure class="highlight python"><table><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></pre></td><td class="code"><pre><span class="line"><span class="keyword">from</span> providers <span class="keyword">import</span> register_provider</span><br><span class="line"><span class="keyword">from</span> providers.base <span class="keyword">import</span> ProviderProfile</span><br><span class="line"><span class="keyword">from</span> plugins.model_providers.custom <span class="keyword">import</span> CustomProfile <span class="keyword">as</span> _Base</span><br><span class="line"></span><br><span class="line">_ALLOWED_UA = <span class="string">&quot;hermes-agent/1.0&quot;</span>   <span class="comment"># 不在 WAF 黑名单中的 UA</span></span><br><span class="line"></span><br><span class="line"><span class="keyword">class</span> <span class="title class_">MuyuanCustomProfile</span>(<span class="title class_ inherited__">_Base</span>):   <span class="comment"># 继承内置 custom，保留 Ollama/think 行为</span></span><br><span class="line">    <span class="keyword">pass</span></span><br><span class="line"></span><br><span class="line"><span class="comment"># 覆盖内置 &#x27;custom&#x27; profile（运行时 agent.provider == &#x27;custom&#x27;）</span></span><br><span class="line">register_provider(MuyuanCustomProfile(</span><br><span class="line">    name=<span class="string">&quot;custom&quot;</span>,</span><br><span class="line">    aliases=(<span class="string">&quot;ollama&quot;</span>, <span class="string">&quot;local&quot;</span>, <span class="string">&quot;vllm&quot;</span>, <span class="string">&quot;llamacpp&quot;</span>, <span class="string">&quot;llama.cpp&quot;</span>, <span class="string">&quot;llama-cpp&quot;</span>),</span><br><span class="line">    env_vars=(),</span><br><span class="line">    base_url=<span class="string">&quot;&quot;</span>,</span><br><span class="line">    default_headers=&#123;<span class="string">&quot;User-Agent&quot;</span>: _ALLOWED_UA&#125;,</span><br><span class="line">))</span><br></pre></td></tr></table></figure><h3 id="为什么对所有入口生效"><a href="#为什么对所有入口生效" class="headerlink" title="为什么对所有入口生效"></a>为什么对所有入口生效</h3><p>插件注册进 Hermes <strong>全局 provider 注册表</strong>，终端 <code>hermes</code> 命令、后台 gateway、<br>cron 任务构建 API 客户端走的是<strong>同一段</strong> <code>agent_init.py</code> 逻辑，因此三者全部覆盖，<br>无需分别配置。Hermes 升级也不会覆盖用户插件目录。</p><hr><h2 id="4-验证"><a href="#4-验证" class="headerlink" title="4. 验证"></a>4. 验证</h2><p>端到端对照实验（复现 Hermes 实际客户端构建逻辑）：</p><figure class="highlight plaintext"><table><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">带插件注入 UA (hermes-agent/1.0)  -&gt; ✅ 200，模型正常回答</span><br><span class="line">不带 (OpenAI SDK 默认 UA)          -&gt; ❌ PermissionDeniedError: Your request was blocked.</span><br></pre></td></tr></table></figure><p>全新进程（等同终端 <code>hermes</code>）插件发现验证：</p><figure class="highlight plaintext"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">[OK] 全新进程也能加载插件: custom:muyuan.do &#123;&#x27;User-Agent&#x27;: &#x27;hermes-agent/1.0&#x27;&#125;</span><br></pre></td></tr></table></figure><hr><h2 id="5-维护提示"><a href="#5-维护提示" class="headerlink" title="5. 维护提示"></a>5. 维护提示</h2><ul><li>若某天 <code>hermes-agent/*</code> 也被 muyuan.do 加入黑名单，只需改插件里 <code>_ALLOWED_UA</code><br>换一个放行值即可（<code>curl/8.5.0</code>、<code>Mozilla/5.0 (...)</code>、<code>python-requests/2.31.0</code> 均实测可用）。</li><li>若<strong>持续</strong> 403 且换任何 UA 都不行 → 那才是 key 失效 &#x2F; 欠费 &#x2F; IP 封禁，<br>与本问题无关，需联系 muyuan.do 服务商。</li><li>本修复不依赖 <code>fallback_providers</code>；该项已恢复为 <code>&#39;[]&#39;</code>。</li></ul><hr><h2 id="6-变更清单"><a href="#6-变更清单" class="headerlink" title="6. 变更清单"></a>6. 变更清单</h2><table><thead><tr><th>文件</th><th>操作</th><th>说明</th></tr></thead><tbody><tr><td><code>plugins/model-providers/muyuan-do/__init__.py</code></td><td>新建</td><td>核心修复</td></tr><tr><td><code>config.yaml</code></td><td>改后回滚</td><td>fallback 试过无效，已还原，净变化 0</td></tr><tr><td><code>config.yaml.bak.fallback_20260611_094006</code></td><td>备份</td><td>可回滚点</td></tr></tbody></table>]]>
    </content>
    <id>https://notion.fuwari.fun/2026/06/11/hermes-muyuan-do-403-fix/</id>
    <link href="https://notion.fuwari.fun/2026/06/11/hermes-muyuan-do-403-fix/"/>
    <published>2026-06-11T09:19:35.000Z</published>
    <summary>
      <![CDATA[<blockquote>
<p>环境：Hermes Agent v0.15.1 (Windows) &#x2F; 模型 <code>claude-opus-4-8</code> &#x2F; 中转 <code>https://muyuan.do/v1</code></p>
</b]]>
    </summary>
    <title>muyuan.do 中转 403 &quot;Your request was blocked&quot; 排查与修复</title>
    <updated>2026-09-22T02:12:36.893Z</updated>
  </entry>
  <entry>
    <author>
      <name>浅梦风凌</name>
    </author>
    <category term="运维" scheme="https://notion.fuwari.fun/categories/%E8%BF%90%E7%BB%B4/"/>
    <category term="Windows" scheme="https://notion.fuwari.fun/tags/Windows/"/>
    <category term="故障排查" scheme="https://notion.fuwari.fun/tags/%E6%95%85%E9%9A%9C%E6%8E%92%E6%9F%A5/"/>
    <category term="硬件诊断" scheme="https://notion.fuwari.fun/tags/%E7%A1%AC%E4%BB%B6%E8%AF%8A%E6%96%AD/"/>
    <category term="系统维护" scheme="https://notion.fuwari.fun/tags/%E7%B3%BB%E7%BB%9F%E7%BB%B4%E6%8A%A4/"/>
    <content>
      <![CDATA[<h2 id="问题描述"><a href="#问题描述" class="headerlink" title="问题描述"></a>问题描述</h2><p>工控机（DESKTOP-JDIF5ST）从 6月7日 至 6月11日 发生 <strong>10次意外重启</strong>，Event ID 41（Kernel-Power）+ 6008（EventLog），无规律性。</p><h2 id="排查步骤"><a href="#排查步骤" class="headerlink" title="排查步骤"></a>排查步骤</h2><h3 id="1-检查系统事件日志"><a href="#1-检查系统事件日志" class="headerlink" title="1. 检查系统事件日志"></a>1. 检查系统事件日志</h3><figure class="highlight cmd"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">wevtutil qe System /c:<span class="number">20</span> /<span class="built_in">rd</span>:true /f:text /q:&quot;*[System[(EventID=<span class="number">41</span> or EventID=<span class="number">6008</span> or EventID=<span class="number">1074</span> or EventID=<span class="number">1076</span>)]]&quot;</span><br></pre></td></tr></table></figure><p><strong>作用：</strong> 查看最近20条重启相关事件，确认重启时间和频率。</p><h3 id="2-检查硬件错误日志"><a href="#2-检查硬件错误日志" class="headerlink" title="2. 检查硬件错误日志"></a>2. 检查硬件错误日志</h3><figure class="highlight cmd"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">wevtutil qe System /c:<span class="number">10</span> /<span class="built_in">rd</span>:true /f:text /q:&quot;*[System[Provider[@Name=&#x27;Microsoft-Windows-WHEA-Logger&#x27;]]]&quot;</span><br></pre></td></tr></table></figure><p><strong>作用：</strong> 检查是否有 CPU&#x2F;内存&#x2F;主板硬件故障（WHEA 错误）。<br><strong>结果：</strong> 无硬件错误日志 → 排除硬件故障。</p><h3 id="3-检查应用程序崩溃"><a href="#3-检查应用程序崩溃" class="headerlink" title="3. 检查应用程序崩溃"></a>3. 检查应用程序崩溃</h3><figure class="highlight cmd"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">wevtutil qe Application /c:<span class="number">10</span> /<span class="built_in">rd</span>:true /f:text /q:&quot;*[System[(Level=<span class="number">1</span> or Level=<span class="number">2</span>)]]&quot;</span><br></pre></td></tr></table></figure><p><strong>作用：</strong> 查找崩溃的应用程序。<br><strong>发现：</strong> <code>AicWifiService.exe</code>（Ugreen WiFi 驱动服务）反复崩溃，异常代码 <code>0xc0000005</code>（访问冲突）。</p><h3 id="4-检查自动重启设置"><a href="#4-检查自动重启设置" class="headerlink" title="4. 检查自动重启设置"></a>4. 检查自动重启设置</h3><figure class="highlight cmd"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">wmic recoveros get AutoReboot,DebugInfoType</span><br></pre></td></tr></table></figure><p><strong>结果：</strong> <code>AutoReboot=TRUE</code> → 系统遇到严重错误会自动重启而不显示蓝屏。</p><h3 id="5-检查磁盘错误"><a href="#5-检查磁盘错误" class="headerlink" title="5. 检查磁盘错误"></a>5. 检查磁盘错误</h3><figure class="highlight cmd"><table><tr><td class="gutter"><pre><span class="line">1</span><br></pre></td><td class="code"><pre><span class="line">wevtutil qe System /c:<span class="number">5</span> /<span class="built_in">rd</span>:true /f:text /q:&quot;*[System[Provider[@Name=&#x27;disk&#x27;]]]&quot;</span><br></pre></td></tr></table></figure><p><strong>结果：</strong> 有一个2024年的旧磁盘错误记录，不是本次问题原因。</p><h2 id="根本原因"><a href="#根本原因" class="headerlink" title="根本原因"></a>根本原因</h2><p><strong>Ugreen WiFi 适配器驱动服务（AicWifiServiceD80）质量问题：</strong></p><ol><li><strong>内存访问冲突：</strong> 服务代码有 bug（<code>VCRUNTIME140_CLR0400.dll</code> 访问违规）</li><li><strong>日志文件锁冲突：</strong> 服务启动时无法访问被占用的日志文件 <code>C:\Windows\AicWifiServiceLog.txt</code></li><li><strong>驱动版本过旧：</strong> 版本 1.0.0.2（2019年编译），代码质量差</li></ol><h2 id="修复方案"><a href="#修复方案" class="headerlink" title="修复方案"></a>修复方案</h2><h3 id="方案1：重启服务（临时缓解）"><a href="#方案1：重启服务（临时缓解）" class="headerlink" title="方案1：重启服务（临时缓解）"></a>方案1：重启服务（临时缓解）</h3><figure class="highlight cmd"><table><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><br><span class="line">sc query state= all | <span class="built_in">findstr</span> /i &quot;ugreen aic wifi&quot;</span><br><span class="line"></span><br><span class="line"># 重启服务</span><br><span class="line"><span class="built_in">net</span> stop AicWifiServiceD80 &amp;&amp; <span class="built_in">net</span> <span class="built_in">start</span> AicWifiServiceD80</span><br><span class="line"><span class="built_in">net</span> stop WifiAutoInstallSrv &amp;&amp; <span class="built_in">net</span> <span class="built_in">start</span> WifiAutoInstallSrv</span><br></pre></td></tr></table></figure><h3 id="方案2：启用完整内存转储（用于分析）"><a href="#方案2：启用完整内存转储（用于分析）" class="headerlink" title="方案2：启用完整内存转储（用于分析）"></a>方案2：启用完整内存转储（用于分析）</h3><figure class="highlight cmd"><table><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><br><span class="line">wmic recoveros <span class="built_in">set</span> DebugInfoType=<span class="number">1</span></span><br><span class="line"></span><br><span class="line"># 启用崩溃转储</span><br><span class="line">reg add &quot;HKLM\SYSTEM\CurrentControlSet\Control\CrashControl&quot; /v CrashDumpEnabled /t REG_DWORD /d <span class="number">1</span> /f</span><br></pre></td></tr></table></figure><p><strong>效果：</strong> 下次崩溃会生成 <code>C:\Windows\MEMORY.DMP</code> 用于详细分析。</p><h3 id="方案3：更新驱动（根本解决）"><a href="#方案3：更新驱动（根本解决）" class="headerlink" title="方案3：更新驱动（根本解决）"></a>方案3：更新驱动（根本解决）</h3><ol><li>访问 Ugreen 官网下载最新版 WiFi 适配器驱动</li><li>卸载旧驱动</li><li>安装新驱动</li><li>重启电脑</li></ol><h2 id="验证与监控"><a href="#验证与监控" class="headerlink" title="验证与监控"></a>验证与监控</h2><h3 id="下次重启后立即检查"><a href="#下次重启后立即检查" class="headerlink" title="下次重启后立即检查"></a>下次重启后立即检查</h3><figure class="highlight cmd"><table><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"># 检查内存转储文件</span><br><span class="line"><span class="built_in">dir</span> C:\Windows\MEMORY.DMP</span><br><span class="line"></span><br><span class="line"># 查看服务日志</span><br><span class="line"><span class="built_in">type</span> C:\Windows\AicWifiServiceLog.txt</span><br><span class="line"></span><br><span class="line"># 查看最新崩溃记录</span><br><span class="line">wevtutil qe Application /c:<span class="number">5</span> /<span class="built_in">rd</span>:true /f:text /q:&quot;*[System[(Level=<span class="number">1</span> or Level=<span class="number">2</span>)]]&quot;</span><br></pre></td></tr></table></figure><h3 id="观察重启频率"><a href="#观察重启频率" class="headerlink" title="观察重启频率"></a>观察重启频率</h3><p>观察 3-5 天，如果重启频率明显降低，说明重启服务有效。</p><h2 id="预防措施"><a href="#预防措施" class="headerlink" title="预防措施"></a>预防措施</h2><ol><li><strong>定期更新驱动：</strong> 特别是第三方 USB 设备驱动</li><li><strong>监控服务崩溃：</strong> 定期检查应用程序事件日志</li><li><strong>禁用不必要的自动重启：</strong> <code>wmic recoveros set AutoReboot=FALSE</code>（仅调试期间）</li><li><strong>保持系统更新：</strong> Windows Update 可能包含驱动兼容性修复</li></ol><h2 id="总结"><a href="#总结" class="headerlink" title="总结"></a>总结</h2><p>此次工控机频繁重启的根本原因是 <strong>Ugreen WiFi 驱动服务质量问题</strong>，通过重启服务可以临时缓解，但根本解决需要更新到官方最新驱动。已启用完整内存转储用于后续深入分析。</p><hr><p><strong>设备信息：</strong></p><ul><li>计算机名：DESKTOP-JDIF5ST</li><li>系统版本：Windows 10 专业版 (19045.2965)</li><li>问题驱动：AicWifiService.exe v1.0.0.2</li><li>问题服务：AicWifiServiceD80, WifiAutoInstallSrv</li></ul>]]>
    </content>
    <id>https://notion.fuwari.fun/2026/06/11/windows-industrial-pc-restart-troubleshooting/</id>
    <link href="https://notion.fuwari.fun/2026/06/11/windows-industrial-pc-restart-troubleshooting/"/>
    <published>2026-06-11T00:00:00.000Z</published>
    <summary>
      <![CDATA[<h2 id="问题描述"><a href="#问题描述" class="headerlink" title="问题描述"></a>问题描述</h2><p>工控机（DESKTOP-JDIF5ST）从 6月7日 至 6月11日 发生 <strong>10次意外重启</strong>]]>
    </summary>
    <title>Windows 工控机频繁重启问题排查与修复</title>
    <updated>2026-09-22T02:12:36.893Z</updated>
  </entry>
  <entry>
    <author>
      <name>浅梦风凌</name>
    </author>
    <category term="GitHub 日报" scheme="https://notion.fuwari.fun/categories/GitHub-%E6%97%A5%E6%8A%A5/"/>
    <category term="GitHub" scheme="https://notion.fuwari.fun/tags/GitHub/"/>
    <category term="Trending" scheme="https://notion.fuwari.fun/tags/Trending/"/>
    <category term="开源" scheme="https://notion.fuwari.fun/tags/%E5%BC%80%E6%BA%90/"/>
    <content>
      <![CDATA[<p>本期日报数据来源于 GitHub Trending 榜单（2026 年 6 月 11 日），精选 9 个今日新上榜的热门开源项目，按当日新增 Star 数排序。</p><span id="more"></span><div class="repo-vote-summary" data-article="2026-06-11" aria-live="polite"></div><h2 id="1-apple-container"><a href="#1-apple-container" class="headerlink" title="1. apple&#x2F;container"></a>1. <a href="https://github.com/apple/container">apple&#x2F;container</a></h2><button class="repo-vote-btn" type="button" data-repo="apple/container" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><p><strong>语言</strong>: Swift<br><strong>今日新增</strong>: +1,611 stars&#x2F;天  </p><p>苹果官方开源的 macOS 容器工具，利用轻量级虚拟机在 Mac 上创建和运行 Linux 容器。使用 Swift 编写，专为 Apple Silicon 优化，为 Mac 开发者提供原生容器解决方案。</p><hr><h2 id="2-harry0703-MoneyPrinterTurbo"><a href="#2-harry0703-MoneyPrinterTurbo" class="headerlink" title="2. harry0703&#x2F;MoneyPrinterTurbo"></a>2. <a href="https://github.com/harry0703/MoneyPrinterTurbo">harry0703&#x2F;MoneyPrinterTurbo</a></h2><button class="repo-vote-btn" type="button" data-repo="harry0703/MoneyPrinterTurbo" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><p><strong>语言</strong>: Python<br><strong>今日新增</strong>: +1,389 stars&#x2F;天  </p><p>利用 AI 大模型一键生成高清短视频的自动化工具。通过 AI 技术简化视频创作流程，适合快速批量生成短视频内容，降低内容创作门槛。</p><hr><h2 id="3-obra-superpowers"><a href="#3-obra-superpowers" class="headerlink" title="3. obra&#x2F;superpowers"></a>3. <a href="https://github.com/obra/superpowers">obra&#x2F;superpowers</a></h2><button class="repo-vote-btn" type="button" data-repo="obra/superpowers" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><p><strong>语言</strong>: Shell<br><strong>今日新增</strong>: +1,104 stars&#x2F;天  </p><p>实用的 AI 代理技能框架和软件开发方法论。提供结构化的技能体系，帮助开发者构建和管理 AI 代理能力，提升开发效率。</p><hr><h2 id="4-ruvnet-RuView"><a href="#4-ruvnet-RuView" class="headerlink" title="4. ruvnet&#x2F;RuView"></a>4. <a href="https://github.com/ruvnet/RuView">ruvnet&#x2F;RuView</a></h2><button class="repo-vote-btn" type="button" data-repo="ruvnet/RuView" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><p><strong>语言</strong>: Rust<br><strong>今日新增</strong>: +420 stars&#x2F;天  </p><p>将普通 WiFi 信号转化为实时空间智能、生命体征监测和存在检测的创新工具。无需摄像头即可实现环境感知，通过 WiFi 信号分析实现非侵入式监测。</p><hr><h2 id="5-x1xhlol-system-prompts-and-models-of-ai-tools"><a href="#5-x1xhlol-system-prompts-and-models-of-ai-tools" class="headerlink" title="5. x1xhlol&#x2F;system-prompts-and-models-of-ai-tools"></a>5. <a href="https://github.com/x1xhlol/system-prompts-and-models-of-ai-tools">x1xhlol&#x2F;system-prompts-and-models-of-ai-tools</a></h2><button class="repo-vote-btn" type="button" data-repo="x1xhlol/system-prompts-and-models-of-ai-tools" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><p><strong>今日新增</strong>: +393 stars&#x2F;天  </p><p>全面收录主流 AI 编码工具的系统提示词和模型信息。涵盖 Cursor、Windsurf、Claude Code、Replit 等数十款工具的内部实现细节，是研究 AI 工具设计的宝贵资源。</p><hr><h2 id="6-masterking32-MasterDnsVPN"><a href="#6-masterking32-MasterDnsVPN" class="headerlink" title="6. masterking32&#x2F;MasterDnsVPN"></a>6. <a href="https://github.com/masterking32/MasterDnsVPN">masterking32&#x2F;MasterDnsVPN</a></h2><button class="repo-vote-btn" type="button" data-repo="masterking32/MasterDnsVPN" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><p><strong>语言</strong>: Go<br><strong>今日新增</strong>: +354 stars&#x2F;天  </p><p>先进的 DNS 隧道 VPN 工具，专为绕过网络审查设计。在 DNSTT 和 SlipStream 基础上优化，采用低开销 ARQ、解析器负载均衡技术，在高丢包环境下仍保持稳定高速。</p><hr><h2 id="7-soxoj-maigret"><a href="#7-soxoj-maigret" class="headerlink" title="7. soxoj&#x2F;maigret"></a>7. <a href="https://github.com/soxoj/maigret">soxoj&#x2F;maigret</a></h2><button class="repo-vote-btn" type="button" data-repo="soxoj/maigret" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><p><strong>语言</strong>: Python<br><strong>今日新增</strong>: +318 stars&#x2F;天  </p><p>通过用户名在 3000+ 网站收集人物档案的开源情报工具。适用于数字足迹追踪、安全研究和身份验证等场景，功能强大的 OSINT 利器。</p><hr><h2 id="8-FareedKhan-dev-train-llm-from-scratch"><a href="#8-FareedKhan-dev-train-llm-from-scratch" class="headerlink" title="8. FareedKhan-dev&#x2F;train-llm-from-scratch"></a>8. <a href="https://github.com/FareedKhan-dev/train-llm-from-scratch">FareedKhan-dev&#x2F;train-llm-from-scratch</a></h2><button class="repo-vote-btn" type="button" data-repo="FareedKhan-dev/train-llm-from-scratch" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><p><strong>语言</strong>: Python<br><strong>今日新增</strong>: +247 stars&#x2F;天  </p><p>从零训练大语言模型的直观教程。涵盖数据下载、预处理、模型训练到文本生成的完整流程，适合想要深入理解 LLM 训练原理的开发者。</p><hr><h2 id="9-activeloopai-hivemind"><a href="#9-activeloopai-hivemind" class="headerlink" title="9. activeloopai&#x2F;hivemind"></a>9. <a href="https://github.com/activeloopai/hivemind">activeloopai&#x2F;hivemind</a></h2><button class="repo-vote-btn" type="button" data-repo="activeloopai/hivemind" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><p><strong>语言</strong>: TypeScript<br><strong>今日新增</strong>: +64 stars&#x2F;天  </p><p>为所有 AI 代理打造的统一大脑。提供中心化的知识管理和协调机制，让多个代理共享知识和协同工作，提升多代理系统的整体智能水平。</p>]]>
    </content>
    <id>https://notion.fuwari.fun/2026/06/11/github-trending-daily/2026-06-11/</id>
    <link href="https://notion.fuwari.fun/2026/06/11/github-trending-daily/2026-06-11/"/>
    <published>2026-06-11T00:00:00.000Z</published>
    <summary>
      <![CDATA[<p>本期日报数据来源于 GitHub Trending 榜单（2026 年 6 月 11 日），精选 9 个今日新上榜的热门开源项目，按当日新增 Star 数排序。</p>]]>
    </summary>
    <title>GitHub Trending 日报 · 2026-06-11</title>
    <updated>2026-09-22T02:12:36.893Z</updated>
  </entry>
  <entry>
    <author>
      <name>浅梦风凌</name>
    </author>
    <category term="GitHub 日报" scheme="https://notion.fuwari.fun/categories/GitHub-%E6%97%A5%E6%8A%A5/"/>
    <category term="GitHub" scheme="https://notion.fuwari.fun/tags/GitHub/"/>
    <category term="Trending" scheme="https://notion.fuwari.fun/tags/Trending/"/>
    <category term="开源" scheme="https://notion.fuwari.fun/tags/%E5%BC%80%E6%BA%90/"/>
    <content>
      <![CDATA[<p>今日数据抓取自 <a href="https://github.com/trending">GitHub Trending</a> 总榜（数据来源正常，直连获取）。经与历史去重清单比对后，从今日榜单中筛选出 6 个此前未推送过的全新仓库，按当日新增 Star 由高到低排列。今日新仓库以 AI Agent 技能&#x2F;插件生态、本地大模型选型与开源医疗 AI 为主。</p><span id="more"></span><div class="repo-vote-summary" data-article="2026-06-10" aria-live="polite"></div><h2 id="1-phuryn-pm-skills"><a href="#1-phuryn-pm-skills" class="headerlink" title="1. phuryn&#x2F;pm-skills"></a>1. <a href="https://github.com/phuryn/pm-skills">phuryn&#x2F;pm-skills</a></h2><button class="repo-vote-btn" type="button" data-repo="phuryn/pm-skills" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Markdown &#x2F; 配置为主</li><li><strong>总 Star</strong>：13,474（+806&#x2F;天）</li><li><strong>简介</strong>：面向产品经理的「技能市场」，收录 100+ 个 agentic 技能、命令与插件，覆盖需求发现、战略规划、执行落地、产品发布到增长的全流程。</li><li><strong>亮点</strong>：把 PM 日常工作流拆成可被 AI Agent 直接调用的模块化技能，让产品经理也能像工程师一样「装技能」。</li></ul><h2 id="2-Andyyyy64-whichllm"><a href="#2-Andyyyy64-whichllm" class="headerlink" title="2. Andyyyy64&#x2F;whichllm"></a>2. <a href="https://github.com/Andyyyy64/whichllm">Andyyyy64&#x2F;whichllm</a></h2><button class="repo-vote-btn" type="button" data-repo="Andyyyy64/whichllm" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Python</li><li><strong>总 Star</strong>：4,123（+633&#x2F;天）</li><li><strong>简介</strong>：帮你在自己的硬件上找出真正能跑得动、且表现最好的本地大模型，依据真实且考虑时效性的基准测试排名，而非单纯比拼参数量，一条命令即可运行。</li><li><strong>亮点</strong>：用「实测性能 + 硬件适配」取代唯参数论，解决本地部署选型最头疼的「到底哪个模型适合我这台机器」。</li></ul><h2 id="3-addyosmani-agent-skills"><a href="#3-addyosmani-agent-skills" class="headerlink" title="3. addyosmani&#x2F;agent-skills"></a>3. <a href="https://github.com/addyosmani/agent-skills">addyosmani&#x2F;agent-skills</a></h2><button class="repo-vote-btn" type="button" data-repo="addyosmani/agent-skills" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Shell</li><li><strong>总 Star</strong>：49,857（+443&#x2F;天）</li><li><strong>简介</strong>：由 Addy Osmani 维护的一套面向 AI 编码 Agent 的生产级工程技能集合，提供可直接复用的高质量工程实践。</li><li><strong>亮点</strong>：出自知名前端工程师之手，把成熟的软件工程经验沉淀为 AI Agent 可消费的技能，质量与权威性兼具。</li></ul><h2 id="4-yikart-AiToEarn"><a href="#4-yikart-AiToEarn" class="headerlink" title="4. yikart&#x2F;AiToEarn"></a>4. <a href="https://github.com/yikart/AiToEarn">yikart&#x2F;AiToEarn</a></h2><button class="repo-vote-btn" type="button" data-repo="yikart/AiToEarn" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：TypeScript</li><li><strong>总 Star</strong>：19,975（+402&#x2F;天）</li><li><strong>简介</strong>：一个主打「用 AI 赚钱」的开源项目，聚合各类基于 AI 的变现工具与工作流。</li><li><strong>亮点</strong>：直击普通用户最关心的落地价值——如何用 AI 真正产生收益，话题性与实用性都很强。</li></ul><h2 id="5-openai-plugins"><a href="#5-openai-plugins" class="headerlink" title="5. openai&#x2F;plugins"></a>5. <a href="https://github.com/openai/plugins">openai&#x2F;plugins</a></h2><button class="repo-vote-btn" type="button" data-repo="openai/plugins" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：JavaScript</li><li><strong>总 Star</strong>：2,621（+284&#x2F;天）</li><li><strong>简介</strong>：OpenAI 官方的插件仓库，提供官方维护的插件集合与示例。</li><li><strong>亮点</strong>：官方出品的插件生态入口，是了解 OpenAI 插件标准与扩展方式的第一手参考。</li></ul><h2 id="6-maziyarpanahi-openmed"><a href="#6-maziyarpanahi-openmed" class="headerlink" title="6. maziyarpanahi&#x2F;openmed"></a>6. <a href="https://github.com/maziyarpanahi/openmed">maziyarpanahi&#x2F;openmed</a></h2><button class="repo-vote-btn" type="button" data-repo="maziyarpanahi/openmed" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><ul><li><strong>语言</strong>：Python</li><li><strong>总 Star</strong>：1,894（+191&#x2F;天）</li><li><strong>简介</strong>：一个开源医疗健康 AI 项目，致力于把 AI 能力引入医疗健康领域。</li><li><strong>亮点</strong>：在合规敏感的医疗场景做开源探索，为研究者与开发者提供可自托管的医疗 AI 基础。</li></ul>]]>
    </content>
    <id>https://notion.fuwari.fun/2026/06/10/github-trending-daily/2026-06-10/</id>
    <link href="https://notion.fuwari.fun/2026/06/10/github-trending-daily/2026-06-10/"/>
    <published>2026-06-10T00:00:00.000Z</published>
    <summary>
      <![CDATA[<p>今日数据抓取自 <a href="https://github.com/trending">GitHub Trending</a> 总榜（数据来源正常，直连获取）。经与历史去重清单比对后，从今日榜单中筛选出 6 个此前未推送过的全新仓库，按当日新增 Star 由高到低排列。今日新仓库以 AI Agent 技能&#x2F;插件生态、本地大模型选型与开源医疗 AI 为主。</p>]]>
    </summary>
    <title>GitHub Trending 日报 · 2026-06-10</title>
    <updated>2026-09-22T02:12:36.893Z</updated>
  </entry>
  <entry>
    <author>
      <name>浅梦风凌</name>
    </author>
    <category term="GitHub 日报" scheme="https://notion.fuwari.fun/categories/GitHub-%E6%97%A5%E6%8A%A5/"/>
    <category term="GitHub" scheme="https://notion.fuwari.fun/tags/GitHub/"/>
    <category term="Trending" scheme="https://notion.fuwari.fun/tags/Trending/"/>
    <category term="开源" scheme="https://notion.fuwari.fun/tags/%E5%BC%80%E6%BA%90/"/>
    <content>
      <![CDATA[<p>数据来源：GitHub Trending 官方榜单，经去重后推送今日新上榜的热门开源项目。</p><span id="more"></span><div class="repo-vote-summary" data-article="2026-06-09" aria-live="polite"></div><h2 id="1-RyanCodrai-turbovec"><a href="#1-RyanCodrai-turbovec" class="headerlink" title="1. RyanCodrai&#x2F;turbovec"></a>1. <a href="https://github.com/RyanCodrai/turbovec">RyanCodrai&#x2F;turbovec</a></h2><button class="repo-vote-btn" type="button" data-repo="RyanCodrai/turbovec" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><p><strong>语言</strong>: Python<br><strong>总 Stars</strong>: 16 | <strong>今日新增</strong>: +1729&#x2F;天</p><p>基于 TurboQuant 构建的向量索引库，使用 Rust 编写核心并提供 Python 绑定。高性能向量检索的新选择，适合需要快速相似度搜索的 AI 应用场景。</p><hr><h2 id="2-roboflow-supervision"><a href="#2-roboflow-supervision" class="headerlink" title="2. roboflow&#x2F;supervision"></a>2. <a href="https://github.com/roboflow/supervision">roboflow&#x2F;supervision</a></h2><button class="repo-vote-btn" type="button" data-repo="roboflow/supervision" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><p><strong>语言</strong>: Python<br><strong>总 Stars</strong>: 16 | <strong>今日新增</strong>: +1288&#x2F;天</p><p>可复用的计算机视觉工具集。Roboflow 为你写好了常用的 CV 工具，开箱即用，加速视觉项目开发。</p><hr><h2 id="3-aaif-goose-goose"><a href="#3-aaif-goose-goose" class="headerlink" title="3. aaif-goose&#x2F;goose"></a>3. <a href="https://github.com/aaif-goose/goose">aaif-goose&#x2F;goose</a></h2><button class="repo-vote-btn" type="button" data-repo="aaif-goose/goose" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><p><strong>语言</strong>: Rust<br><strong>总 Stars</strong>: 16 | <strong>今日新增</strong>: +699&#x2F;天</p><p>开源可扩展的 AI Agent，超越代码建议功能。能安装、执行、编辑和测试，支持任意 LLM 接入，真正的全能型智能助手。</p><hr><h2 id="4-Panniantong-Agent-Reach"><a href="#4-Panniantong-Agent-Reach" class="headerlink" title="4. Panniantong&#x2F;Agent-Reach"></a>4. <a href="https://github.com/Panniantong/Agent-Reach">Panniantong&#x2F;Agent-Reach</a></h2><button class="repo-vote-btn" type="button" data-repo="Panniantong/Agent-Reach" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><p><strong>语言</strong>: Python<br><strong>总 Stars</strong>: 16 | <strong>今日新增</strong>: +679&#x2F;天</p><p>为 AI Agent 装上全网搜索的眼睛。读取和搜索 Twitter、Reddit、YouTube、GitHub、B 站、小红书，一个 CLI 工具，零 API 费用。</p><hr><h2 id="5-refactoringhq-tolaria"><a href="#5-refactoringhq-tolaria" class="headerlink" title="5. refactoringhq&#x2F;tolaria"></a>5. <a href="https://github.com/refactoringhq/tolaria">refactoringhq&#x2F;tolaria</a></h2><button class="repo-vote-btn" type="button" data-repo="refactoringhq/tolaria" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><p><strong>语言</strong>: TypeScript<br><strong>总 Stars</strong>: 16 | <strong>今日新增</strong>: +651&#x2F;天</p><p>Markdown 知识库管理桌面应用。专注于本地化知识管理，为 Markdown 用户打造的轻量级知识中心。</p><hr><h2 id="6-TapXWorld-ChinaTextbook"><a href="#6-TapXWorld-ChinaTextbook" class="headerlink" title="6. TapXWorld&#x2F;ChinaTextbook"></a>6. <a href="https://github.com/TapXWorld/ChinaTextbook">TapXWorld&#x2F;ChinaTextbook</a></h2><button class="repo-vote-btn" type="button" data-repo="TapXWorld/ChinaTextbook" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><p><strong>语言</strong>: Roff<br><strong>总 Stars</strong>: 16 | <strong>今日新增</strong>: +592&#x2F;天</p><p>小学、初中、高中、大学全套 PDF 教材合集。涵盖国内各阶段教材资源，为学习和教研提供便利。</p><hr><h2 id="7-google-skills"><a href="#7-google-skills" class="headerlink" title="7. google&#x2F;skills"></a>7. <a href="https://github.com/google/skills">google&#x2F;skills</a></h2><button class="repo-vote-btn" type="button" data-repo="google/skills" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><p><strong>语言</strong>: Python<br><strong>总 Stars</strong>: 16 | <strong>今日新增</strong>: +461&#x2F;天</p><p>Google 产品和技术的 Agent 技能集合。官方出品，为 AI Agent 集成 Google 生态提供标准化能力接口。</p><hr><h2 id="8-CopilotKit-CopilotKit"><a href="#8-CopilotKit-CopilotKit" class="headerlink" title="8. CopilotKit&#x2F;CopilotKit"></a>8. <a href="https://github.com/CopilotKit/CopilotKit">CopilotKit&#x2F;CopilotKit</a></h2><button class="repo-vote-btn" type="button" data-repo="CopilotKit/CopilotKit" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><p><strong>语言</strong>: TypeScript<br><strong>总 Stars</strong>: 16 | <strong>今日新增</strong>: +378&#x2F;天</p><p>面向 Agent 和生成式 UI 的前端技术栈。支持 React、Angular、移动端、Slack 等多平台，AG-UI 协议的创造者。</p><hr><h2 id="9-luongnv89-claude-howto"><a href="#9-luongnv89-claude-howto" class="headerlink" title="9. luongnv89&#x2F;claude-howto"></a>9. <a href="https://github.com/luongnv89/claude-howto">luongnv89&#x2F;claude-howto</a></h2><button class="repo-vote-btn" type="button" data-repo="luongnv89/claude-howto" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><p><strong>语言</strong>: Python<br><strong>总 Stars</strong>: 16 | <strong>今日新增</strong>: +312&#x2F;天</p><p>Claude Code 可视化示例驱动指南。从基础概念到高级 Agent，提供可直接复制粘贴的模板，快速上手 Claude 开发。</p><hr><h2 id="10-santifer-career-ops"><a href="#10-santifer-career-ops" class="headerlink" title="10. santifer&#x2F;career-ops"></a>10. <a href="https://github.com/santifer/career-ops">santifer&#x2F;career-ops</a></h2><button class="repo-vote-btn" type="button" data-repo="santifer/career-ops" aria-pressed="false"><span class="repo-vote-heart" aria-hidden="true">♡</span><span class="repo-vote-text">有价值</span></button><p><strong>语言</strong>: JavaScript<br><strong>总 Stars</strong>: 16 | <strong>今日新增</strong>: +308&#x2F;天</p><p>基于 Claude Code 构建的 AI 求职系统。集成 14 种技能模式、Go 仪表盘、PDF 生成和批量处理，自动化求职流程。</p>]]>
    </content>
    <id>https://notion.fuwari.fun/2026/06/09/github-trending-daily/2026-06-09/</id>
    <link href="https://notion.fuwari.fun/2026/06/09/github-trending-daily/2026-06-09/"/>
    <published>2026-06-09T00:00:00.000Z</published>
    <summary>
      <![CDATA[<p>数据来源：GitHub Trending 官方榜单，经去重后推送今日新上榜的热门开源项目。</p>]]>
    </summary>
    <title>GitHub Trending 日报 · 2026-06-09</title>
    <updated>2026-09-22T02:12:36.893Z</updated>
  </entry>
  <entry>
    <author>
      <name>浅梦风凌</name>
    </author>
    <category term="GitHub 日报" scheme="https://notion.fuwari.fun/categories/GitHub-%E6%97%A5%E6%8A%A5/"/>
    <category term="GitHub" scheme="https://notion.fuwari.fun/tags/GitHub/"/>
    <category term="Trending" scheme="https://notion.fuwari.fun/tags/Trending/"/>
    <category term="开源" scheme="https://notion.fuwari.fun/tags/%E5%BC%80%E6%BA%90/"/>
    <content>
      <![CDATA[<p><strong>数据来源</strong>：GitHub Trending 榜单（2026-06-05）</p><span id="more"></span><h2 id="📊-今日概况"><a href="#📊-今日概况" class="headerlink" title="📊 今日概况"></a>📊 今日概况</h2><p>今日 GitHub Trending 榜单仍在持续更新中。经去重筛选，所有上榜仓库均已在往期日报中推送过，暂无全新仓库。</p><p><strong>榜单热门项目回顾</strong>（部分已推送）：</p><h3 id="1-chopratejas-headroom"><a href="#1-chopratejas-headroom" class="headerlink" title="1. chopratejas&#x2F;headroom"></a>1. <a href="https://github.com/chopratejas/headroom">chopratejas&#x2F;headroom</a></h3><p><strong>语言</strong>: Python | <strong>总 Stars</strong>: 13,287 | <strong>今日新增</strong>: +3,142&#x2F;天</p><p><strong>简介</strong>: LLM 输入压缩工具，可将工具输出、日志、文件和 RAG 块压缩 60-95%，节省 token 同时保持答案质量。提供库、代理和 MCP 服务器形式。</p><p><strong>亮点</strong>: 极大降低 LLM API 调用成本，对高频调用场景价值显著。</p><hr><h3 id="2-NousResearch-hermes-agent"><a href="#2-NousResearch-hermes-agent" class="headerlink" title="2. NousResearch&#x2F;hermes-agent"></a>2. <a href="https://github.com/NousResearch/hermes-agent">NousResearch&#x2F;hermes-agent</a></h3><p><strong>语言</strong>: Python | <strong>总 Stars</strong>: 181,517 | <strong>今日新增</strong>: +1,913&#x2F;天</p><p><strong>简介</strong>: 能与用户共同成长的 AI Agent 框架，由 Nous Research 开发。</p><p><strong>亮点</strong>: 强调自适应学习能力，可根据使用习惯不断优化表现。</p><hr><h3 id="3-affaan-m-ECC"><a href="#3-affaan-m-ECC" class="headerlink" title="3. affaan-m&#x2F;ECC"></a>3. <a href="https://github.com/affaan-m/ECC">affaan-m&#x2F;ECC</a></h3><p><strong>语言</strong>: JavaScript | <strong>总 Stars</strong>: 207,634 | <strong>今日新增</strong>: +1,750&#x2F;天</p><p><strong>简介</strong>: Agent harness 性能优化系统，为 Claude Code、Codex、Cursor 等提供技能、本能、记忆和安全增强。</p><p><strong>亮点</strong>: 跨平台 Agent 开发框架，整合多种能力助力构建高性能 AI 辅助工具。</p><hr><p><strong>说明</strong>：本日报每日自动抓取 GitHub Trending 榜单并去重推送。今日所有上榜仓库均已在往期发布，故本期无新增推荐。明日将继续监控并推送新上榜项目。</p>]]>
    </content>
    <id>https://notion.fuwari.fun/2026/06/05/github-trending-daily/2026-06-05/</id>
    <link href="https://notion.fuwari.fun/2026/06/05/github-trending-daily/2026-06-05/"/>
    <published>2026-06-05T00:00:00.000Z</published>
    <summary>
      <![CDATA[<p><strong>数据来源</strong>：GitHub Trending 榜单（2026-06-05）</p>]]>
    </summary>
    <title>GitHub Trending 日报 · 2026-06-05</title>
    <updated>2026-09-22T02:12:36.890Z</updated>
  </entry>
</feed>
