<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:media="http://search.yahoo.com/mrss/" version="2.0"><channel><title>Rinty 雨屋</title><link>https://rinty.xyz/</link><atom:link href="https://rinty.xyz/rss.xml" rel="self" type="application/rss+xml"/><description>Rinty 雨屋</description><generator>Halo v2.24.2</generator><language>zh-cn</language><image><url>https://rinty.xyz/upload/897409385.jpg</url><title>Rinty 雨屋</title><link>https://rinty.xyz/</link></image><lastBuildDate>Sun, 16 Aug 2026 06:05:56 GMT</lastBuildDate><item><title><![CDATA[分享一款Android自动点击广告的软件-GDK]]></title><link>https://rinty.xyz/archives/019f25f5-aca1-7153-88d7-7d9b87250dd1</link><description><![CDATA[<img src="https://rinty.xyz/plugins/feed/assets/telemetry.gif?title=%E5%88%86%E4%BA%AB%E4%B8%80%E6%AC%BEAndroid%E8%87%AA%E5%8A%A8%E7%82%B9%E5%87%BB%E5%B9%BF%E5%91%8A%E7%9A%84%E8%BD%AF%E4%BB%B6-GDK&amp;url=/archives/019f25f5-aca1-7153-88d7-7d9b87250dd1" width="1" height="1" alt="" style="opacity:0;">
<blockquote>
 <p style="">2026-07-03 | <strong>GKD软件分享</strong></p>
</blockquote>
<h2 style="" id="%E5%89%8D%E8%A8%80"><strong>前言</strong></h2>
<p style="">GKD（搞快点）作为一款Android广告自动跳过工具，其核心能力依赖<strong>规则订阅</strong>。相信有很多人曾经使用过"李跳跳"这类软件，那么你也一定会喜欢上GKD的。</p>
<h2 style="" id="%E9%A3%9F%E7%94%A8%E6%96%B9%E5%BC%8F">食用方式</h2>
<details class="details" open>
 <summary>Github</summary>
 <div data-type="detailsContent">
  <p style="">Github仓库：<hyperlink-inline-card target="_blank" href="https://github.com/gkd-kit/gkd" theme="inline" custom-title="GitHub - gkd-kit/gkd: 基于无障碍，高级选择器，订阅规则的自定义屏幕点击安卓应用 | An Android APP with custom screen tapping based on Accessibility, Advanced Selectors, and Subscription Rules · GitHub" custom-description="基于无障碍，高级选择器，订阅规则的自定义屏幕点击安卓应用 | An Android APP with custom screen tapping based on Accessibility, Advanced Selectors, and Subscription Rules - gkd-kit/gkd" custom-image="https://repository-images.githubusercontent.com/661957079/3324f64c-ccd0-4277-9c72-7ae092008acc"><a href="https://github.com/gkd-kit/gkd" target="_blank">https://github.com/gkd-kit/gkd</a></hyperlink-inline-card></p>
  <p style="">下载地址：<hyperlink-inline-card target="_blank" href="https://github.com/gkd-kit/gkd/releases/" theme="inline"><a href="https://github.com/gkd-kit/gkd/releases/" target="_blank">https://github.com/gkd-kit/gkd/releases/</a></hyperlink-inline-card></p>
 </div>
</details>
<details class="details" open>
 <summary>GKD安装后需要保证“服务状态”为开启。</summary>
 <div data-type="detailsContent">
  <p style=""></p>
 </div>
</details>
<h2 style="" id="%E8%AE%A2%E9%98%85%E9%85%8D%E7%BD%AE">订阅配置</h2>
<p style="">GKD去广告规则可以通过订阅来实现，第三方订阅列表可在<hyperlink-inline-card target="_blank" href="https://github.com/topics/gkd-subscription" theme="inline"><a href="https://github.com/topics/gkd-subscription" target="_blank">https://github.com/topics/gkd-subscription</a></hyperlink-inline-card> 查看（需用外网），订阅链接为json5形式。</p>
<p style="">GIthub网站内有持续更新的订阅，您可进入对应仓库，对应README说明直接Copy链接填入应用内的订阅即可。</p>
<p style=""></p>
<ul>
 <li>
  <p style=""><strong>禁止在国内平台传播</strong></p>
 </li>
 <li>
  <p style=""><strong>本教程仅供学习交流使用</strong></p>
 </li>
</ul>
<p style=""></p>]]></description><guid isPermaLink="false">/archives/019f25f5-aca1-7153-88d7-7d9b87250dd1</guid><dc:creator>Xuanna</dc:creator><category>软件</category><pubDate>Sat, 1 Aug 2026 06:27:39 GMT</pubDate></item><item><title><![CDATA[拾光课程表 MCP 服务器]]></title><link>https://rinty.xyz/archives/019ec5b3-ee00-70f8-9095-b237442775d9</link><description><![CDATA[<img src="https://rinty.xyz/plugins/feed/assets/telemetry.gif?title=%E6%8B%BE%E5%85%89%E8%AF%BE%E7%A8%8B%E8%A1%A8%20MCP%20%E6%9C%8D%E5%8A%A1%E5%99%A8&amp;url=/archives/019ec5b3-ee00-70f8-9095-b237442775d9" width="1" height="1" alt="" style="opacity:0;">
<h1 id="从零搭建拾光课程表-mcp-服务器一次-ai-工具化的实践">从零搭建拾光课程表 MCP 服务器：一次 AI 工具化的实践</h1>
<blockquote>
 <p>2026-06-14 | <strong>拾光课程表MCP</strong>开发日志</p>
</blockquote>
<h2 id="前言">前言</h2>
<p>最近在为拾光课程表构建智能问答服务时，我接触到了 <strong>MCP（Model Context Protocol）</strong> —— 一个让 AI 大模型能够调用外部工具的开放协议。经过几天的摸索，我成功搭建了一个拾光课程表专属的 MCP 知识库服务器，并部署到了云服务器上。</p>
<p>这篇文章记录了整个过程：从了解 MCP 是什么，到动手写代码、踩坑、部署、调试的完整经历。</p>
<hr>
<h2 id="一什么是-mcp">一、什么是 MCP？</h2>
<p><strong>MCP（Model Context Protocol）</strong> 是由 Anthropic 提出的一个开放标准协议，用于在 AI 大模型与外部工具/数据源之间建立标准化的连接。</p>
<p>简单来说：</p>
<pre><code>传统方式：AI 只能基于训练数据回答问题
MCP 方式：AI 可以调用外部工具（搜索、查询数据库、读文件等）
</code></pre>
<p>MCP 定义了三种核心能力：</p>
<ul>
 <li><strong>Tools（工具）</strong>：AI 可以调用的函数，比如搜索知识库、获取数据</li>
 <li><strong>Resources（资源）</strong>：AI 可以读取的数据源，比如文件、API 返回</li>
 <li><strong>Prompts（提示模板）</strong>：预定义的提示词模板</li>
</ul>
<h3 id="mcp-的传输方式">MCP 的传输方式</h3>
<p>MCP 支持两种传输模式：(Rinty已经部署好MCP服务，您可直接使用 详见 <strong>五、部署与验证</strong>)</p>
<table>
 <thead>
  <tr>
   <th>模式</th>
   <th>适用场景</th>
   <th>说明</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td><strong>stdio</strong></td>
   <td>本地客户端</td>
   <td>客户端直接启动服务器进程，通过标准输入输出通信</td>
  </tr>
  <tr>
   <td><strong>Streamable HTTP</strong></td>
   <td>远程/Web 客户端</td>
   <td>通过 HTTP 协议通信，支持远程部署</td>
  </tr>
 </tbody>
</table>
<hr>
<h2 id="二为什么要做拾光课程表的-mcp-服务器">二、为什么要做拾光课程表的 MCP 服务器？</h2>
<p>拾光课程表作为一个课程表应用，用户经常会问：</p>
<ul>
 <li>"怎么导入课表？"</li>
 <li>"课程提醒不响怎么办？"</li>
 <li>"怎么分享课表给同学？"</li>
 <li>"支持哪些学校的教务系统？"</li>
</ul>
<p>这些问题的答案都在我们的文档里，但分散在不同的页面和 FAQ 中。如果有一个 AI 助手能够<strong>直接从知识库中检索答案</strong>，用户体验会好很多。</p>
<p>MCP 正好提供了这个桥梁：<strong>让 AI 大模型能够主动查询我们的知识库，而不是凭"记忆"回答。</strong></p>
<hr>
<h2 id="三技术实现">三、技术实现</h2>
<h3 id="项目结构">项目结构</h3>
<pre><code>shiguang-server/
├── src/
│   └── index.ts
├── knowledge/  # 知识库（Markdown 文件）
│   ├── index.md
│   ├── faq/    # 常见问题
│   └── guide/  # 使用指南
├── Dockerfile
├── docker-compose.yml
├── package.json
└── tsconfig.json
</code></pre>
<h3 id="使用技术">使用技术</h3>
<ul>
 <li><strong>Runtime</strong>: Node.js</li>
 <li><strong>Language</strong>: TypeScript (ESM)</li>
 <li><strong>SDK</strong>: <code>@modelcontextprotocol/sdk</code> ^1.27.1</li>
 <li><strong>Web 框架</strong>: Express（用于 HTTP 模式）</li>
 <li><strong>部署</strong>: Docker + Docker Compose</li>
</ul>
<h3 id="核心设计">核心设计</h3>
<h4 id="1-知识库加载">1. 知识库加载</h4>
<p>知识库使用 Markdown 文件 + YAML frontmatter 组织：</p>
<pre><code class="language-markdown">---
title: 课表导入
tags:
    - 导入
    - 教务系统
---

# 课表导入

拾光课程表支持多种方式导入课表...
</code></pre>
<p>服务器启动时递归扫描 <code>knowledge/</code> 目录，解析所有 <code>.md</code> 文件，构建内存知识库：</p>
<pre><code class="language-typescript">function loadKnowledgeBase(): KnowledgeItem[] {
  const items: KnowledgeItem[] = [];
  const mdFiles = getAllMdFiles(KNOWLEDGE_DIR);
  
  for (const filePath of mdFiles) {
    const rawContent = fs.readFileSync(filePath, "utf-8");
    const { metadata, body } = parseFrontmatter(rawContent);
    // ... 提取标题、标签、内容摘要
    items.push({ title, filename, tags, content, summary });
  }
  
  return items;
}
</code></pre>
<h4 id="2-实现的-6-个-mcp-工具">2. 实现的 6 个 MCP 工具</h4>
<table>
 <thead>
  <tr>
   <th>工具</th>
   <th>功能</th>
   <th>使用场景</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td><code>search_knowledge</code></td>
   <td>按关键词搜索知识库</td>
   <td>用户提问时首选</td>
  </tr>
  <tr>
   <td><code>list_knowledge</code></td>
   <td>列出所有文档</td>
   <td>AI 了解知识库范围</td>
  </tr>
  <tr>
   <td><code>get_knowledge</code></td>
   <td>获取文档完整内容</td>
   <td>搜索后深入阅读</td>
  </tr>
  <tr>
   <td><code>fetch_url</code></td>
   <td>抓取网页内容</td>
   <td>获取 GitHub 等在线资源</td>
  </tr>
  <tr>
   <td><code>fetch_school_list</code></td>
   <td>获取已适配学校列表</td>
   <td>动态数据，不缓存</td>
  </tr>
  <tr>
   <td><code>edit_knowledge</code></td>
   <td>编辑知识库文档</td>
   <td>管理员维护内容</td>
  </tr>
 </tbody>
</table>
<h4 id="3-双模式传输">3. 双模式传输</h4>
<p>同一个服务器支持两种启动方式：</p>
<pre><code class="language-bash"># stdio 模式 —— 本地客户端（VS Code、Cursor）
node build/index.js

# HTTP 模式 —— 远程客户端（Cherry Studio、picoclaw）
node build/index.js --http 3030
</code></pre>
<p>通过命令行参数切换，核心代码共用同一套工具处理逻辑。</p>
<hr>
<h2 id="四踩坑记录">四、踩坑记录</h2>
<h3 id="坑-1accept-头不完整在使用picoclaw时遇到的问题">坑 1：Accept 头不完整（在使用picoclaw时遇到的问题）</h3>
<p><strong>问题</strong>：部分 MCP 客户端发送请求时，<code>Accept</code> 头只包含 <code>application/json</code>，但 <code>StreamableHTTPServerTransport</code> 要求同时接受 <code>application/json</code> 和 <code>text/event-stream</code>。</p>
<p><strong>表现</strong>：服务器返回 400 错误，客户端无法连接。</p>
<p><strong>解决</strong>：在 Express 中间件中自动补全 Accept 头：</p>
<pre><code class="language-typescript">app.all("/mcp", async (req, res) =&gt; {
  const accept = req.headers["accept"] || "";
  if (!accept.includes("text/event-stream") || !accept.includes("application/json")) {
    req.headers["accept"] = "application/json, text/event-stream";
  }
});
</code></pre>
<h3 id="坑-2docker-镜像过大">坑 2：Docker 镜像过大</h3>
<p><strong>问题</strong>：初始镜像包含完整的 <code>node_modules</code> 和开发依赖，镜像体积超过 800MB。</p>
<p><strong>解决</strong>：使用多阶段构建（multi-stage build）：</p>
<pre><code class="language-dockerfile"># 阶段一：编译
FROM node:20-alpine AS builder
WORKDIR /app
COPY package*.json ./
RUN npm ci
COPY . .
RUN npx tsc -p tsconfig.json

# 阶段二：运行
FROM node:20-alpine
WORKDIR /app
COPY package*.json ./
RUN npm ci --omit=dev
COPY --from=builder /app/build ./build
COPY knowledge ./knowledge
CMD ["node", "build/index.js", "--http", "3030"]
</code></pre>
<h3 id="坑-3跨服务器部署">坑 3：跨服务器部署</h3>
<p><strong>问题</strong>：如果将项目完整搬移到服务器，那势必要重新部署环境，因此需要本地构建的 Docker 镜像需要部署到远程云服务器。</p>
<p><strong>解决</strong>：使用 <code>docker save</code> / <code>docker load</code> 方式：</p>
<pre><code class="language-bash"># 本地导出
docker save shiguang-mcp -o shiguang-mcp-server.tar
# 传输到服务器
scp shiguang-mcp-server.tar user@server:/opt/
# 服务器导入
</code></pre>
<hr>
<h2 id="五部署与验证">五、部署与验证</h2>
<h3 id="docker-compose-一键部署">Docker Compose 一键部署</h3>
<pre><code class="language-yaml">services:
  shiguang-mcp:
    image: shiguang-mcp:latest
    container_name: shiguang-mcp
    restart: unless-stopped
    ports:
      - "3030:3030"
    volumes:
      - /path/to/school_index.pb:/data/school_index.pb:ro
    environment:
      - SCHOOL_INDEX_PB=/data/school_index.pb
</code></pre>
<h3 id="验证-mcp-协议">验证 MCP 协议</h3>
<pre><code class="language-bash"># 健康检查
curl https://mcp.rinty.xyz/shiguang/health
# → {"status":"ok","service":"shiguang-mcp-server","version":"1.0.0"}

# MCP 握手
curl -X POST https://mcp.rinty.xyz/shiguang/ \
  -H "Content-Type: application/json" \
  -H "Accept: application/json, text/event-stream" \
  -d '{
    "jsonrpc": "2.0",
    "method": "initialize",
    "params": {
      "protocolVersion": "2025-11-25",
      "capabilities": {},
      "clientInfo": {"name": "test", "version": "1.0.0"}
    },
    "id": 1
  }'
# → 200 OK + session-id
</code></pre>
<h3 id="接入-picoclaw">接入 picoclaw</h3>
<p>在 picoclaw 配置中添加 MCP 服务器：</p>
<p><strong>！！！注意！！！</strong></p>
<p><strong><a href="https://monitor.rinty.xyz/">https://monitor.rinty.xyz/</a></strong>
 <br>
 <strong>MCP服务监测上线，已停止使用IP端口使用MCP的功能，转由<a href="https://mcp.rinty.xyz/shiguang/">https://mcp.rinty.xyz/shiguang/</a> 提供MCP服务使用<a href="https://mcp.rinty.xyz/shiguang/health%E4%BD%9C%E4%B8%BA%E5%81%A5%E5%BA%B7%E7%9B%91%E6%B5%8B%E7%BD%91%E5%9D%80">https://mcp.rinty.xyz/shiguang/health作为健康监测网址</a></strong>
 <br>
 <strong>目前MCP处于开发中，后续可能会开发MCP Hub作为MCP共享平台。因此本MCP链接不保证长期有效，若无法使用请访问监测平台获取最新mcp服务链接，感谢您的支持！</strong></p>
<pre><code class="language-yaml">mcp:
  servers:
    - name: shiguang
      type: http
      url: "https://mcp.rinty.xyz/shiguang/"
</code></pre>
<p>如果您使用WebUI版的picoclaw的话，可在</p>
<blockquote>
 <p>配置 ==&gt; MCP ==&gt;MCP服务</p>
</blockquote>
<p>添加好您的MCP服务，然后就可以使用询问，例如:</p>
<table>
 <thead>
  <tr>
   <th align="center">回复案例一</th>
   <th align="center">回复案例二</th>
  </tr>
 </thead>
 <tbody>
  <tr>
   <td align="center"><img src="https://rinty.xyz/apis/api.storage.halo.run/v1alpha1/thumbnails/-/via-uri?uri=https%3A%2F%2Foss.rinty.xyz%2FCBA571C5-B265-4AEF-9D00-2F6CAF452C43.png&amp;size=m" alt="CBA571C5-B265-4AEF-9D00-2F6CAF452C43.png"></td>
   <td align="center"><img src="https://rinty.xyz/apis/api.storage.halo.run/v1alpha1/thumbnails/-/via-uri?uri=https%3A%2F%2Foss.rinty.xyz%2F20B15431-E848-4A3C-BB5F-E259BBFCF022.png&amp;size=m" alt="20B15431-E848-4A3C-BB5F-E259BBFCF022.png"></td>
  </tr>
 </tbody>
</table>
<p>重启后日志显示连接成功：</p>
<pre><code>INF mcp &gt; Connected to MCP server protocol=2025-11-25 server=shiguang serverName=shiguang-server
INF mcp &gt; Listed tools from MCP server server=shiguang toolCount=6
INF mcp &gt; MCP tools registered successfully total_registrations=6 unique_tools=6
</code></pre>
<hr>
<h2 id="六思考与展望">六、思考与展望</h2>
<h3 id="mcp-的价值">MCP 的价值</h3>
<p>MCP 让 AI 从"背答案"变成了"查资料"。对于拾光课程表这样的应用，这意味着：</p>
<ol>
 <li><strong>知识库可以实时更新</strong> —— 添加新文档后，AI 立即可用，无需重新训练</li>
 <li><strong>答案更准确</strong> —— AI 基于官方文档回答，而不是靠猜测</li>
 <li><strong>可扩展</strong> —— 未来可以添加更多工具，比如直接查询用户的课表</li>
</ol>
<h3 id="mcp-的发现机制">MCP 的发现机制</h3>
<p>目前 MCP 还处于早期阶段，<strong>没有统一的服务发现和注册机制</strong>。每个客户端都需要手动配置 MCP 服务器地址。我在考虑构建一个 MCP 社区/平台：</p>
<ul>
 <li><strong>MCP Gateway（网关）</strong>：统一入口，客户端只需连一个地址</li>
 <li><strong>MCP Hub（注册中心）</strong>：开发者注册服务器，用户搜索/浏览/一键接入</li>
 <li><strong>工具市场</strong>：类似 Skill 商店，降低使用门槛</li>
</ul>
<h3 id="下一步计划">下一步计划</h3>
<ul class="contains-task-list">
 <li class="task-list-item"><input type="checkbox" disabled> 优化知识库内容，覆盖更多 FAQ</li>
 <li class="task-list-item"><input type="checkbox" disabled> 探索 picoclaw 的工具调用机制，让 LLM 能正确使用 MCP 工具</li>
 <li class="task-list-item"><input type="checkbox" disabled> 研究 MCP Gateway 的可行性</li>
 <li class="task-list-item"><input type="checkbox" disabled> 考虑支持 MCP Resources 和 Prompts</li>
</ul>
<hr>
<h2 id="七相关资源">七、相关资源</h2>
<ul>
 <li><a href="https://modelcontextprotocol.io">MCP 官方文档</a></li>
 <li><a href="https://github.com/modelcontextprotocol/typescript-sdk">MCP SDK (TypeScript)</a></li>
 <li><a href="https://github.com/XingHeYuZhuan/shiguang_warehouse">拾光课程表 GitHub</a></li>
 <li><a href="https://sgschedule.jursin.top/">拾光课程表介绍网站</a></li>
</ul>
<hr>
<p><em>本文由拾光课程表开发者撰写，记录了从零搭建 MCP 服务器的完整过程。如果你也在考虑为自己的项目接入 AI 能力，MCP 是一个值得尝试的方向。</em></p>]]></description><guid isPermaLink="false">/archives/019ec5b3-ee00-70f8-9095-b237442775d9</guid><dc:creator>Xuanna</dc:creator><enclosure url="https://rinty.xyz/apis/api.storage.halo.run/v1alpha1/thumbnails/-/via-uri?uri=%2Fupload%2F1096219.jpg&amp;size=m" type="image/jpeg" length="0"/><category>大学</category><category>计算机</category><pubDate>Sun, 14 Jun 2026 11:10:23 GMT</pubDate></item><item><title><![CDATA[给2026中高考生的一封书]]></title><link>https://rinty.xyz/archives/019e92b2-7ded-7430-8463-869e8a82f5af</link><description><![CDATA[<img src="https://rinty.xyz/plugins/feed/assets/telemetry.gif?title=%E7%BB%992026%E4%B8%AD%E9%AB%98%E8%80%83%E7%94%9F%E7%9A%84%E4%B8%80%E5%B0%81%E4%B9%A6&amp;url=/archives/019e92b2-7ded-7430-8463-869e8a82f5af" width="1" height="1" alt="" style="opacity:0;">
<p style=""><strong>致即将或刚刚完成人生重要阶段的你：</strong></p>
<p style="margin-left: 10px!important; text-align: left; line-height: inherit">此刻，你或许正站在知识的十字路口，手握笔杆，心怀对未来的憧憬与忐忑。2026年的夏天，对你而言不仅是季节的更替，更是成长轨迹上一个清晰的刻度。作为一位25年刚经历高考的考生，我想与你分享一些思考，也期待你能在此基础上找到属于自己的答案。</p>
<h3 style="text-align: left" id="%E4%B8%80%E3%80%81%E8%80%83%E8%AF%95%E5%8F%AA%E6%98%AF%E6%A3%80%E9%AA%8C%EF%BC%8C%E8%80%8C%E9%9D%9E%E5%AE%9A%E4%B9%89">一、考试只是检验，而非定义</h3>
<p style="margin-left: 10px!important; text-align: left; line-height: inherit">考试是学习过程的阶段性反馈，它系统性地检验了你在特定时间段内对知识的掌握程度、逻辑思维能力以及抗压能力。它是一份来自过去努力的“成绩单”，而非你全部价值的“判决书”。</p>
<p style="margin-left: 10px!important; text-align: left; line-height: inherit">我不会把每一次模拟考试当作是我的最终分数，因为我明白每一次的测试题型什么的都不相同，所以根本没有可比较性，我们要做的就是吃透每一个错题，解决每一个知识点。</p>
<h3 style="text-align: left" id="%E4%BA%8C%E3%80%81%E4%B8%8D%E5%BF%85%E6%9C%89%E5%A4%AA%E5%A4%A7%E7%9A%84%E5%8E%8B%E5%8A%9B">二、不必有太大的压力</h3>
<p style="margin-left: 10px!important; text-align: left; line-height: inherit">面对大考，焦虑是自然的生理与心理反应。关键在于如何将压力转化为动力。建议：</p>
<ol start="NaN">
 <li>
  <p style="line-height: inherit"><strong>给自己正反馈，告诉自己一定是能考好的，用平常心去对待它，它不过只是一次小测试</strong></p>
 </li>
 <li>
  <p style="line-height: inherit"><strong>旁边人发生了什么都与我无关，那是别人的事情，我不必掺和</strong></p>
 </li>
 <li>
  <p style="line-height: inherit"><strong>多运动，跑跑步</strong></p>
  <figure data-content-type="image" style="display: flex; flex-direction: column;">
   <img src="https://rinty.xyz/apis/api.storage.halo.run/v1alpha1/thumbnails/-/via-uri?uri=%2Fupload%2F707458350.jpg&amp;size=m" alt="707458350.jpg" width="50%" height="auto">
  </figure>
 </li>
</ol>
<h3 style="text-align: left" id="%E4%B8%89%E3%80%81%E9%80%81%E7%BB%99%E6%9C%AA%E6%9D%A5%E7%9A%84%E4%BD%A0">三、送给未来的你</h3>
<p style="margin-left: 10px!important; text-align: left; line-height: inherit">中高考是重要的路标，但绝非终点。未来的大学或职业道路</p>
<ul>
 <li>
  <p style="line-height: inherit"><strong>自主学习能力</strong>：在信息时代，主动构建知识体系的能力至关重要。</p>
 </li>
 <li>
  <p style="line-height: inherit"><strong>解决问题的能力</strong>：面对未知挑战，能综合运用资源找到解决方案。</p>
 </li>
 <li>
  <p style="line-height: inherit"><strong>坚韧与适应力</strong>：人生充满变化，保持弹性与韧性是长期发展的核心。</p>
 </li>
</ul>
<h3 style="text-align: left" id="%E7%BB%93%E8%AF%AD">结语</h3>
<p style="text-align: left"><strong><mark data-color="#fb923c" style="background-color: #fb923c; color: inherit"><u>没人喜欢去经历高三，但经历过高三，回想起来那绝对是一段难以忘却的时光，这些是青春最耀眼的时光。请多多留下些痕迹吧！</u></mark></strong></p>
<p style="margin-left: 10px!important; text-align: left; line-height: inherit">请记住，这场考验的终极目的，并非将你置于统一的标尺下衡量，而是为了赋予你一把更坚实的钥匙，去开启下一扇门。门后的世界辽阔无比，等待你的探索与创造。</p>
<p style="margin-left: 10px!important; text-align: left; line-height: inherit">无论结果如何，你为此付出的日日夜夜，所锤炼出的专注力、毅力与思维方式，都已成为你生命资产的一部分，它们将在未来更漫长的赛道上持续为你赋能。</p>
<p style="margin-left: 10px!important; text-align: left; line-height: inherit"><strong>祝你笔锋所至，皆为心之所向。</strong></p>
<p style="margin-left: 10px!important; text-align: left; line-height: inherit"><strong>预祝中考 高考加油！</strong><span data-name="melting_face" class="emoji-node" data-type="emoji">🫠</span>毕业快乐！</p>
<p style="margin-left: 10px!important; text-align: left; line-height: inherit"><strong>一位始终相信你的同行者</strong></p>
<p style="margin-left: 10px!important; text-align: left; line-height: inherit"><strong>2026年6月</strong></p>
<p style="margin-left: 10px!important; text-align: left; line-height: inherit"></p>
<p style="margin-left: 10px!important; text-align: left; line-height: inherit"></p>
<figure data-content-type="audio" style="display: flex; flex-direction: column;">
 <audio src="/upload/%E5%91%A8%E6%B7%B1%20-%20%E5%8E%BB%E6%98%8E%E5%A4%A9.flac" controls="true"></audio>
</figure>
<p style=""></p>]]></description><guid isPermaLink="false">/archives/019e92b2-7ded-7430-8463-869e8a82f5af</guid><dc:creator>Xuanna</dc:creator><enclosure url="https://rinty.xyz/apis/api.storage.halo.run/v1alpha1/thumbnails/-/via-uri?uri=https%3A%2F%2Foss.rinty.xyz%2F11456B25-BD4A-4225-A7E5-56D56753178B.png&amp;size=m" type="image/jpeg" length="0"/><category>生活</category><pubDate>Thu, 4 Jun 2026 16:09:05 GMT</pubDate></item><item><title><![CDATA[Rinty开发者的成长]]></title><link>https://rinty.xyz/archives/019dab3e-5ce8-759b-9ba0-15feba8b86f1</link><description><![CDATA[<img src="https://rinty.xyz/plugins/feed/assets/telemetry.gif?title=Rinty%E5%BC%80%E5%8F%91%E8%80%85%E7%9A%84%E6%88%90%E9%95%BF&amp;url=/archives/019dab3e-5ce8-759b-9ba0-15feba8b86f1" width="1" height="1" alt="" style="opacity:0;">
<h2 style="" id="%E4%B8%8D%E6%98%AF%E7%9C%8B%E5%88%B0%E5%B8%8C%E6%9C%9B%E6%89%8D%E5%9D%9A%E6%8C%81%EF%BC%8C%E8%80%8C%E6%98%AF%E5%9D%9A%E6%8C%81%E4%BA%86%E6%89%8D%E7%9C%8B%E5%88%B0%E5%B8%8C%E6%9C%9B%E3%80%82">不是看到希望才坚持，而是坚持了才看到希望。</h2>
<p style=""></p>
<timeline-view group-name="timeline-group-w0pfeo0z" orientation="vertical"></timeline-view>
<p style=""></p>
<p style=""></p>
<p style="">希望在Rinty中可以帮你解决一些生活中的小问题</p>
<p style=""></p>]]></description><guid isPermaLink="false">/archives/019dab3e-5ce8-759b-9ba0-15feba8b86f1</guid><dc:creator>Xuanna</dc:creator><enclosure url="https://rinty.xyz/apis/api.storage.halo.run/v1alpha1/thumbnails/-/via-uri?uri=%2Fupload%2F897409385.jpg&amp;size=m" type="image/jpeg" length="0"/><pubDate>Wed, 3 Jun 2026 22:25:00 GMT</pubDate></item><item><title><![CDATA[写在 2026：愿 Rinty 成为你追求卓越路上的坐标]]></title><link>https://rinty.xyz/archives/019c6461-4472-753e-ba6c-1dfdba8a59f0</link><description><![CDATA[<img src="https://rinty.xyz/plugins/feed/assets/telemetry.gif?title=%E5%86%99%E5%9C%A8%202026%EF%BC%9A%E6%84%BF%20Rinty%20%E6%88%90%E4%B8%BA%E4%BD%A0%E8%BF%BD%E6%B1%82%E5%8D%93%E8%B6%8A%E8%B7%AF%E4%B8%8A%E7%9A%84%E5%9D%90%E6%A0%87&amp;url=/archives/019c6461-4472-753e-ba6c-1dfdba8a59f0" width="1" height="1" alt="" style="opacity:0;">
<p style="">亲爱的 Rinty 用户与伙伴：</p>
<p style="">​2025 已经封装成册，2026 正平铺在眼前。🥳</p>
<p style="">​作为一个小型团队，我们常被问起：Rinty 到底是什么？有人说它是一个自习打卡的工具，有人说它是一个极客聚集的社区。但在我们心中，Rinty 更像是一个由大家共同构建的“数字自习室”。在这里，每一次打卡、每一行评论、每一个反馈，都在赋予这个空间新的生命力。😁</p>
<p style="">​我们深知，每一个选择 Rinty 的人，都是在试图变得更好的人。😙</p>
<p style="">所以新的一年，我们不打算谈论宏大的未来，我们只想谈论“陪伴”：</p>
<p style="">​陪伴你度过每一个感到孤单的自习深夜；</p>
<p style="">​陪伴你解决每一个棘手的逻辑 Bug；</p>
<p style="">​陪伴你从一个念头，走向一个成果。🥰</p>
<p style="">​2026 年，Rinty 会继续保持它的中规中矩——稳定、简洁、好用。我们会守护好这一方净土，让你在追求梦想的路上，总能有一个可以落脚、可以专注的地方。🤗</p>
<p style="">​新年快乐！愿新的一年，每一份努力都有回响。😜</p>
<p style="">—— Rinty 团队</p>]]></description><guid isPermaLink="false">/archives/019c6461-4472-753e-ba6c-1dfdba8a59f0</guid><dc:creator>Xuanna</dc:creator><enclosure url="https://rinty.xyz/apis/api.storage.halo.run/v1alpha1/thumbnails/-/via-uri?uri=%2Fupload%2F1771212248878.png&amp;size=m" type="image/jpeg" length="0"/><category>生活</category><pubDate>Mon, 16 Feb 2026 03:25:14 GMT</pubDate></item><item><title><![CDATA[Rinty 地震监测平台]]></title><link>https://rinty.xyz/archives/69dbce51-c697-44e4-898e-36f62bb4fb4c</link><description><![CDATA[<img src="https://rinty.xyz/plugins/feed/assets/telemetry.gif?title=Rinty%20%E5%9C%B0%E9%9C%87%E7%9B%91%E6%B5%8B%E5%B9%B3%E5%8F%B0&amp;url=/archives/69dbce51-c697-44e4-898e-36f62bb4fb4c" width="1" height="1" alt="" style="opacity:0;">
<p style="">Rinty地震监测平台</p>
<p style="">项目GIthub开源地址：<code>https://github.com/Xuan-Xuann/EarthQuakeDecte</code></p>
<p style="">链接：<code>earthquake.rinty.xyz</code></p>
<p style="">设备 ESP32-WROOM + MPU6050 + 若干跳线</p>
<p style=""></p>
<p style="">如果后面需要提高精度，首先传感器不能太差，其次需要加一些噪声滤波算法，以减少错误值的出现几率。</p>
<p style="">然后传感器放置应该装在固定容器，将容器和地面形成强链接，注意X Y Z三轴方向指向</p>
<p style="">此项目只是作为地震检测演示效果，并不具备任何预警能力！</p>
<p style=""></p>
<p style=""></p>
<p style="">介于MPU6050加速度传感器精度以及量程有限，无法代替或作为专业设备进行测量，请勿发布您的测量数据至任何公开平台，以免引起惊恐，如过造成任何问题，由转发者承担相应法律责任！</p>
<p style=""></p>]]></description><guid isPermaLink="false">/archives/69dbce51-c697-44e4-898e-36f62bb4fb4c</guid><dc:creator>Administrator</dc:creator><enclosure url="https://rinty.xyz/apis/api.storage.halo.run/v1alpha1/thumbnails/-/via-uri?uri=%2Fupload%2F1099376.png&amp;size=m" type="image/jpeg" length="0"/><category>计算机</category><pubDate>Fri, 9 Jan 2026 07:16:16 GMT</pubDate></item><item><title><![CDATA[考研小组文件共享]]></title><link>https://rinty.xyz/archives/math</link><description><![CDATA[<img src="https://rinty.xyz/plugins/feed/assets/telemetry.gif?title=%E8%80%83%E7%A0%94%E5%B0%8F%E7%BB%84%E6%96%87%E4%BB%B6%E5%85%B1%E4%BA%AB&amp;url=/archives/math" width="1" height="1" alt="" style="opacity:0;">
<pre><code>如果有任何投稿，请联系Email：heyuxuan200704@qq.com 
十分感谢您的投稿，我会在文件处标明出处！</code></pre>
<blockquote>
 <p style="text-align: left; line-height: 2">不是看到了希望才坚持，而是坚持了才看到希望。</p>
</blockquote>
<p style="line-height: 2"><span style="font-size: 18px"><strong><mark data-color="#fde047" style="background-color: #fde047; color: inherit">温馨提示：点击下载</mark></strong></span></p>
<h5 style="" id="%E6%95%99%E6%9D%90%EF%BC%9A">教材：</h5>
<p style=""><a href="https://rinty.xyz/upload/%E6%95%99%E6%9D%90-%E9%AB%98%E7%AD%89%E6%95%B0%E5%AD%A6%E4%B8%8A%E5%86%8C-%E5%90%8C%E6%B5%8E%E4%B8%83%E7%89%88.pdf">教材-高等数学上册-同济七版.pdf</a></p>
<p style=""><a href="https://rinty.xyz/upload/%E9%AB%98%E7%AD%89%E6%95%B0%E5%AD%A6%E4%B8%8A%E5%86%8C%E7%AC%AC%E5%85%AB%E7%89%88(%E5%90%8C%E6%B5%8E%E5%A4%A7%E5%AD%A6%E6%95%B0%E5%AD%A6%E7%A7%91%E5%AD%A6%E9%99%A2%E7%BC%96)(Z-Library).pdf">高等数学上册第八版(同济大学数学科学院编)(Z-Library).pdf</a></p>
<p style=""><a href="https://rinty.xyz/upload/%E9%AB%98%E7%AD%89%E6%95%B0%E5%AD%A6%E7%AC%AC8%E7%89%88%E4%B8%8B%E5%86%8C.pdf">高等数学第8版下册.pdf</a></p>
<h5 style="" id="%E5%AE%8B%E6%B5%A9%E8%AF%95%E9%A2%98%EF%BC%9A">宋浩试题：</h5>
<p style=""><a href="https://rinty.xyz/upload/%E5%AE%8B%E6%B5%A9%E9%AB%98%E7%AD%89%E6%95%B0%E5%AD%A6%E7%B2%BE%E9%80%89750%E9%A2%98%E4%B8%8A%E5%86%8C%20(%E5%AE%8B%E6%B5%A9)%20.pdf">宋浩高等数学精选750题上册 (宋浩) .pdf</a></p>
<p style=""></p>
<h5 style="" id="%E6%9D%8E%E6%9E%97%E8%AF%95%E9%A2%98%EF%BC%9A">李林试题：</h5>
<p style=""><a href="https://rinty.xyz/upload/26%E6%9D%8E%E6%9E%97880%E9%A2%98-%E8%AF%95%E9%A2%98%E5%86%8C%EF%BC%88%E6%95%B0%E4%BA%8C%EF%BC%89.pdf">26李林880题-试题册（数二）.pdf</a></p>
<p style=""><a href="https://rinty.xyz/upload/26%E6%9D%8E%E6%9E%97880%E9%A2%98-%E8%A7%A3%E6%9E%90%E5%86%8C%EF%BC%88%E6%95%B0%E4%BA%8C%EF%BC%89.pdf">26李林880题-解析册（数二）.pdf</a></p>
<p style=""></p>
<h5 style="" id="%E6%95%B0%E4%B8%89%EF%BC%9A">数三：</h5>
<p style=""><a href="https://rinty.xyz/upload/2026%E8%80%83%E7%A0%94660%E4%B9%A0%E9%A2%98%E5%86%8C%E6%95%B0%E4%B8%89%E3%80%90%E5%85%AC%E4%BC%97%E5%8F%B7%EF%BC%9A%E5%86%8D%E6%9D%A5%E4%B8%80%E6%9D%AF%E6%9F%A0.pdf">2026考研660习题册数三【公众号：再来一杯柠.pdf</a></p>
<p style=""><a href="https://rinty.xyz/upload/2026%E8%80%83%E7%A0%94660%E7%AD%94%E6%A1%88%E5%86%8C%E6%95%B0%E4%B8%89%E3%80%90%E5%85%AC%E4%BC%97%E5%8F%B7%EF%BC%9A%E5%86%8D%E6%9D%A5%E4%B8%80%E6%9D%AF%E6%9F%A0.pdf">2026考研660答案册数三【公众号：再来一杯柠.pdf</a></p>
<p style=""></p>
<p style=""></p>]]></description><guid isPermaLink="false">/archives/math</guid><dc:creator>kaoyan</dc:creator><enclosure url="https://rinty.xyz/apis/api.storage.halo.run/v1alpha1/thumbnails/-/via-uri?uri=%2Fupload%2F1089774.jpg&amp;size=m" type="image/jpeg" length="0"/><category>大学</category><pubDate>Fri, 28 Nov 2025 13:54:34 GMT</pubDate></item><item><title><![CDATA[Excel统计工具]]></title><link>https://rinty.xyz/archives/0596ac7d-7bc4-417d-8b4a-165d4db56b77</link><description><![CDATA[<img src="https://rinty.xyz/plugins/feed/assets/telemetry.gif?title=Excel%E7%BB%9F%E8%AE%A1%E5%B7%A5%E5%85%B7&amp;url=/archives/0596ac7d-7bc4-417d-8b4a-165d4db56b77" width="1" height="1" alt="" style="opacity:0;">
<h2 id="操作流程">操作流程</h2>
<h3 id="确保文件命名正确">确保文件命名正确</h3>
<p>首先确保所有文件均以xxx-姓名-xxx形式命名。</p>
<h3 id="生成txt文件">生成txt文件</h3>
<p>将bat文件拖动到统计文件夹根目录下，运行文件生成对应.txt文件。</p>
<h3 id="使用excel进行统计">使用excel进行统计</h3>
<p>这里使用了excel，可以直接与花名册进行比对</p>
<p><img src="https://rinty.xyz/apis/api.storage.halo.run/v1alpha1/thumbnails/-/via-uri?uri=%2Fupload%2Fclip_image002.jpg&amp;size=m" alt="clip_image002.jpg"></p>
<p><img src="https://rinty.xyz/apis/api.storage.halo.run/v1alpha1/thumbnails/-/via-uri?uri=%2Fupload%2Fclip_image004.png&amp;size=m" alt="clip_image004.png"></p>
<h3 id="进行比对">进行比对</h3>
<p>表格后添加此公式 自动提取姓名 <code>=TEXTBEFORE(TEXTAFTER(List__2[@Column1],"-",1),"-",1)</code></p>
<p><img src="https://rinty.xyz/apis/api.storage.halo.run/v1alpha1/thumbnails/-/via-uri?uri=%2Fupload%2Fimage-20251124141634988.png&amp;size=m" alt="image-20251124141634988.png"></p>
<p>插入以下公式，使其与花名册姓名进行比对 如果有提交记录 则显示相应姓名 如无 则#N/A</p>
<p><code>=VLOOKUP(D2,B:B,1,0)</code></p>
<p><img src="https://rinty.xyz/apis/api.storage.halo.run/v1alpha1/thumbnails/-/via-uri?uri=%2Fupload%2Fimage-20251124141951560.png&amp;size=m" alt="image-20251124141951560.png"></p>
<h3 id="数据统计">数据统计</h3>
<p>最后，可使用此公式来统计数量</p>
<p><code>=COUNTIF(E2:E44,"#N/A")</code></p>
<h3 id="更新数据">更新数据</h3>
<p>直接双击bat生成txt覆盖原有文件，excel中刷新表以同步更新，由于表格均使用公式化，实现半自动化。</p>
<p><img src="https://rinty.xyz/apis/api.storage.halo.run/v1alpha1/thumbnails/-/via-uri?uri=%2Fupload%2Fclip_image010.jpg&amp;size=m" alt="clip_image010.jpg"></p>
<h3 id="附件"><strong>附件</strong></h3>
<p>点击即可下载
 <br>
 <a href="https://rinty.xyz/upload/%E6%96%87%E4%BB%B6%E7%BB%9F%E8%AE%A1%E5%B7%A5%E5%85%B7.rar">(请解压使用)文件统计工具.rar</a></p>]]></description><guid isPermaLink="false">/archives/0596ac7d-7bc4-417d-8b4a-165d4db56b77</guid><dc:creator>Xuanna</dc:creator><enclosure url="https://rinty.xyz/apis/api.storage.halo.run/v1alpha1/thumbnails/-/via-uri?uri=%2Fupload%2Fcover-1761554440821.svg&amp;size=m" type="image/jpeg" length="0"/><category>计算机</category><pubDate>Mon, 24 Nov 2025 06:31:13 GMT</pubDate></item><item><title><![CDATA[致2026届高考生]]></title><link>https://rinty.xyz/archives/wei-ming-ming-wen-zhang-VyOSLqcX</link><description><![CDATA[<img src="https://rinty.xyz/plugins/feed/assets/telemetry.gif?title=%E8%87%B42026%E5%B1%8A%E9%AB%98%E8%80%83%E7%94%9F&amp;url=/archives/wei-ming-ming-wen-zhang-VyOSLqcX" width="1" height="1" alt="" style="opacity:0;">
<p style="text-align: left">你好哇，欢迎来到Xuann的博客～</p>
<p style="text-align: center"></p>
<p style="text-align: center"><img src="https://rinty.xyz/apis/api.storage.halo.run/v1alpha1/thumbnails/-/via-uri?uri=%2Fupload%2F707458350.jpg&amp;size=m" alt="707458350.jpg" width="100%" height="100%" style="display: inline-block"></p>
<p style=""></p>
<p style="">在这里，我想留出一方小小的空间，和你分享一些属于我的经历，也希望能带给你一点温暖和力量。</p>
<p style=""></p>
<p style="">还记得那段备考的日子，我也曾无数次怀疑过自己。看着别人轻松拿下高分，而我却一遍又一遍地被模拟考试打击；也曾在夜深人静时，一边看着卷子发呆，一边对自己说“是不是我真的不行”。那种焦虑和不安，我懂。</p>
<p style=""></p>
<p style=""><img src="https://rinty.xyz/apis/api.storage.halo.run/v1alpha1/thumbnails/-/via-uri?uri=%2Fupload%2F103251365.jpg&amp;size=m" alt="103251365.jpg" width="100%" height="100%" style="display: inline-block"></p>
<p style=""></p>
<p style="">可是后来，我慢慢明白，成长从来不是一条平坦的路。那些不如意的考试成绩、那些被否定的时刻，并不是在告诉你“你不够好”，而是在提醒你——你还在路上。</p>
<p style=""></p>
<p style="">我也曾以为，自己不会在高考中取得什么好成绩。可结果却出乎意料——那一次，我考出了从未有过的高分。也许在别人眼里，这个分数并不耀眼，但对我来说，它是我努力的证明，是我和无数次想要放弃的自己对抗之后的小小胜利。</p>
<p style=""></p>
<p style="">所以，如果你也正经历着低谷、焦虑、或者对未来的迷茫，请记得：没有一场努力是白费的。每一次失落，都是为下一次突破积蓄力量。你不是不行，只是你还没到达属于你的那段光亮。</p>
<p style=""></p>
<p style=""><img src="https://rinty.xyz/apis/api.storage.halo.run/v1alpha1/thumbnails/-/via-uri?uri=%2Fupload%2F-936608828.jpg&amp;size=m" alt="-936608828.jpg" width="100%" height="100%" style="display: inline-block"></p>
<p style=""></p>
<p style="">别着急，也别灰心。成绩只是人生的一部分，它不会定义你所有的价值。最重要的是，你要相信自己仍然有选择的权利——选择继续前行、选择不放弃、选择相信努力的意义。</p>
<p style=""></p>
<p style="">未来会在你不经意的时候，悄悄对你说一声：“你看，你做到了。”</p>
<p style=""></p>
<p style=""><img src="https://rinty.xyz/apis/api.storage.halo.run/v1alpha1/thumbnails/-/via-uri?uri=%2Fupload%2F-874722227.jpg&amp;size=m" alt="-874722227.jpg" width="100%" height="100%" style="display: inline-block"></p>
<p style="">——来自Xuann的一点心声 💫</p>
<p style="">愿看到这里的你，也能在属于自己的道路上闪闪发光。 加油🫠！</p>
<p style="">‘人无法拥有青春和 对青春的感受，好好珍惜，少年’</p>
<p style=""></p>]]></description><guid isPermaLink="false">/archives/wei-ming-ming-wen-zhang-VyOSLqcX</guid><dc:creator>Xuanna</dc:creator><enclosure url="https://rinty.xyz/apis/api.storage.halo.run/v1alpha1/thumbnails/-/via-uri?uri=%2Fupload%2F1746335401256.gif&amp;size=m" type="image/jpeg" length="0"/><category>生活</category><pubDate>Sat, 25 Oct 2025 13:08:02 GMT</pubDate></item></channel></rss>