<rss xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title>Tool - 分类 - Vindrin</title><link>https://vindrin.top/zh-cn/categories/tool/</link><description>Tool - 分类 - Vindrin</description><generator>Hugo -- gohugo.io</generator><language>zh-CN</language><managingEditor>vindrin@outlook.com (Vindrin)</managingEditor><webMaster>vindrin@outlook.com (Vindrin)</webMaster><lastBuildDate>Fri, 10 Apr 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://vindrin.top/zh-cn/categories/tool/" rel="self" type="application/rss+xml"/><item><title>RSS 阅读 Bot</title><link>https://vindrin.top/zh-cn/project/rss-reader-bot/</link><pubDate>Fri, 10 Apr 2026 00:00:00 +0000</pubDate><author>vindrin@outlook.com (Vindrin)</author><guid>https://vindrin.top/zh-cn/project/rss-reader-bot/</guid><description><![CDATA[<h1 id="rss-阅读-bot">RSS 阅读 Bot</h1>
<p>一个 Telegram 机器人，自动拉取你订阅的 RSS 源，每天发送一条摘要消息。</p>
<h2 id="背景">背景</h2>
<p>我关注超过 15 个博客和新闻源，每天手动逐个查看太累了。一个 bot，每天一条消息，搞定。</p>
<h2 id="架构">架构</h2>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">RSS 源 → 解析器 → 去重 → 摘要格式化 → Telegram Bot API</span></span></code></pre></div></div>
<h2 id="核心功能">核心功能</h2>
<ul>
<li>通过 bot 命令添加/删除订阅（<code>/add</code>、<code>/remove</code>、<code>/list</code>）</li>
<li>定时每日推送摘要</li>
<li>标记文章为已读</li>
<li>关键词过滤</li>
</ul>
<h2 id="部署">部署</h2>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-bash">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl">pip install feedparser python-telegram-bot apscheduler
</span></span><span class="line"><span class="cl"><span class="nb">export</span> <span class="nv">TELEGRAM_TOKEN</span><span class="o">=</span>your_token_here
</span></span><span class="line"><span class="cl">python bot.py</span></span></code></pre></div></div>
<h2 id="状态">状态</h2>
<p><code>v1.0.0</code> — 已稳定运行 2 个月，无故障。</p>]]></description></item><item><title>终端仪表盘</title><link>https://vindrin.top/zh-cn/project/terminal-dashboard/</link><pubDate>Sat, 28 Mar 2026 00:00:00 +0000</pubDate><author>vindrin@outlook.com (Vindrin)</author><guid>https://vindrin.top/zh-cn/project/terminal-dashboard/</guid><description><![CDATA[<h1 id="终端仪表盘">终端仪表盘</h1>
<p>完全运行在终端里的实时系统监控工具。</p>
<h2 id="为什么是终端">为什么是终端？</h2>
<p>有时候 SSH 进一台没有 GUI 的机器，需要查看 CPU、内存、磁盘和网络状态，却不想安装笨重的监控软件，终端仪表盘就是答案。</p>
<h2 id="用到的库">用到的库</h2>
<ul>
<li><strong>Textual</strong> — TUI 框架</li>
<li><strong>psutil</strong> — 系统指标采集</li>
<li><strong>rich</strong> — 漂亮的表格和图表</li>
</ul>
<h2 id="界面预览ascii">界面预览（ASCII）</h2>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-fallback" data-lang="fallback"><span class="line"><span class="cl">┌── CPU ──────────────────┐  ┌── 内存 ──────────────────┐
</span></span><span class="line"><span class="cl">│ 核心 0  ████░░░░  42%   │  │ 已用  6.2GB / 16GB  38% │
</span></span><span class="line"><span class="cl">│ 核心 1  ██░░░░░░  21%   │  │ 交换  0.1GB / 4GB    2% │
</span></span><span class="line"><span class="cl">└─────────────────────────┘  └──────────────────────────┘
</span></span><span class="line"><span class="cl">┌── 磁盘 ─────────────────────────────────────────────────┐
</span></span><span class="line"><span class="cl">│ C:\     80GB / 250GB  32%  ██████░░░░░░░░░░░░░░░░░░░░ │
</span></span><span class="line"><span class="cl">│ D:\    167GB / 250GB  67%  ██████████████░░░░░░░░░░░░ │
</span></span><span class="line"><span class="cl">└─────────────────────────────────────────────────────────┘</span></span></code></pre></div></div>
<h2 id="状态">状态</h2>
<p><code>v0.1.0</code> — 功能完整，样式待打磨。</p>]]></description></item><item><title>Markdown 笔记同步 CLI 工具</title><link>https://vindrin.top/zh-cn/project/markdown-note-sync/</link><pubDate>Thu, 05 Mar 2026 00:00:00 +0000</pubDate><author>vindrin@outlook.com (Vindrin)</author><guid>https://vindrin.top/zh-cn/project/markdown-note-sync/</guid><description><![CDATA[<h1 id="markdown-笔记同步-cli-工具">Markdown 笔记同步 CLI 工具</h1>
<p>用 Markdown 记笔记，随处同步，不依赖任何专有格式。</p>
<h2 id="问题背景">问题背景</h2>
<p>我在多台机器上用 Markdown 记笔记，想要比 Obsidian Sync 更简单的方案——只需要一个 CLI 工具，能 diff 并推送变更就够了。</p>
<h2 id="命令示例">命令示例</h2>
<div class="code-block code-line-numbers open" style="counter-reset: code-block 0">
    <div class="code-header language-bash">
        <span class="code-title"><i class="arrow fas fa-angle-right" aria-hidden="true"></i></span>
        <span class="ellipses"><i class="fas fa-ellipsis-h" aria-hidden="true"></i></span>
        <span class="copy" title="复制到剪贴板"><i class="far fa-copy" aria-hidden="true"></i></span>
    </div><div class="highlight"><pre tabindex="0" class="chroma"><code class="language-bash" data-lang="bash"><span class="line"><span class="cl"><span class="c1"># 初始化同步配置</span>
</span></span><span class="line"><span class="cl">mnotes init --remote user@server:/notes
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 双向同步</span>
</span></span><span class="line"><span class="cl">mnotes sync
</span></span><span class="line"><span class="cl">
</span></span><span class="line"><span class="cl"><span class="c1"># 同步前预览差异</span>
</span></span><span class="line"><span class="cl">mnotes diff</span></span></code></pre></div></div>
<h2 id="工作原理">工作原理</h2>
<ol>
<li>对本地所有 <code>.md</code> 文件计算哈希值</li>
<li>与远程哈希索引比对</li>
<li>推送新增/修改的文件，拉取远程独有的文件</li>
<li>冲突处理：两份都保留，附加时间戳后缀</li>
</ol>
<h2 id="依赖">依赖</h2>
<ul>
<li><code>paramiko</code> — SSH 连接</li>
<li><code>watchdog</code> — 可选，文件变更时自动同步</li>
</ul>
<h2 id="状态">状态</h2>
<p><code>v0.2.1</code> — 双机同步稳定版。三端同步是未来计划。</p>]]></description></item><item><title>GitPush Manager</title><link>https://vindrin.top/zh-cn/project/gitpush-manager/</link><pubDate>Wed, 10 Sep 2025 00:00:00 +0000</pubDate><author>vindrin@outlook.com (Vindrin)</author><guid>https://vindrin.top/zh-cn/project/gitpush-manager/</guid><description><![CDATA[<h1 id="gitpush-manager">GitPush Manager</h1>
<p>用 <strong>pywebview + Flask</strong> 构建的轻量桌面应用，把常用的 Git 操作变成一个可视化界面。</p>
<h2 id="动机">动机</h2>
<p>每天重复敲同样的三条 Git 命令几十次，这个工具把它们变成一次点击。</p>
<h2 id="功能">功能</h2>
<ul>
<li>一个界面完成暂存、提交、推送</li>
<li>多仓库管理</li>
<li>提交信息模板</li>
<li>推送历史日志</li>
</ul>
<h2 id="技术栈">技术栈</h2>
<ul>
<li><strong>后端</strong>：Python + Flask</li>
<li><strong>前端</strong>：HTML/CSS/JS via pywebview</li>
<li><strong>打包</strong>：PyInstaller</li>
</ul>
<h2 id="状态">状态</h2>
<p><code>v0.3.0</code> — 个人使用稳定版。多仓库支持进行中。</p>]]></description></item></channel></rss>