Verne in GitHub

Canon TS3330 打印机无法打印红色的修复经历

昨天下午,我正准备复印一下彩色的证件(在留卡),结果打印机吐出来的纸让我愣了一下——原本应该是鲜艳红色的印章和纹样部分全部变成了诡异的绿色,整个画面色调严重偏冷。我的第一反应是:难道墨水用完了? 但我明明记得刚换不久。这台 Canon TS3330 已经陪伴我有一段时间了,一直兢兢业业,这次的突发状况让我不得不停下来好好给它做个”体检”。经过一番搜索和折腾,问题终于解决了。我发现这似乎是喷墨打印机一个比较常见的问题,所以决定把这次的排查和修复过程记录下来,希望能帮到遇到同样问题的朋友。 为什么会出现”红去绿来”? 其实原理很简单。彩色打印机通常使用 Read more ...


Mintlify: 让文档像代码一样优雅

写代码久了,我发现一个有趣的现象:程序员最讨厌两件事,一是别人的代码没有文档,二是自己写文档。 这听起来像个段子,但确实是很多团队的痛点。我之前为了维护个人项目和开源工具的文档,折腾过不少方案。从最早的 Hexo/Jekyll 配合 GitHub Pages,到后来为了省事直接用 GitBook,再到为了定制化折腾 Docusaurus。虽然都能用,但总感觉缺了点什么——要么是配置太繁琐,写个文档得先学前端;要么是界面太陈旧,配不上精心写的代码。 直到最近,我遇到了 Mintlify。有一种”这就是我一直在找的那个工具”的感觉。现在很多开源项目使用的 Read more ...


Google Code Wiki:让 GitHub 仓库秒变代码百科全书

之前 Devin 团队推出了一款 DeepWiki 的网站,可以用来解释 GitHub 的代码仓库。今天偶然发现 Google 也推出了类似的产品,叫做 Code Wiki。 当我们去接受一个新的开源项目的时候,最痛苦的莫过于如何开始阅读代码和理解整个代码仓库的架构,对于一些 README 编写得比较好的仓库,我们可能还能手把手地将项目在本地跑起来。但是,如果对于一个文档缺失、变更严重滞后的一些开源项目,可能很大一部分的知识还停留在一些项目成员的大脑,或者是最初的落后的文档当中。那这个时候我们去阅读代码的时候,可能不知道如何下手。 DeepWiki Read more ...


Typeless: 又一款 macOS 上的 AI 语音输入利器

看过我博客的人会发现,我在这半年的时间里面体验了非常多的语音转文字工具,可以说,这样的工具极大地提升了我的生产效率。不仅搭配 Obsidian 可以更快地写笔记,搭配 Claude Code 等编程工具也可以让我更快地输入提示词。体验到后面,遇到类似的产品,我一般也不会单独地出一篇文章,但是今天体验完了 Typeless,我觉得它值得写一篇文章,单独介绍一下。 Typeless是一款专为 macOS 设计的 AI 语音输入工具,试用下来感觉非常不错。首先,Typeless 的新手入门流程,做的就是我所有体验过的产品当中最简洁、最完善的。一般来说,工具都 Read more ...

2025-12-04 AI , Mac , Dictation , Productivity , Tool

FlyClash:一款高颜值的 Clash Meta 安卓客户端新选择

也是为了”颜值”买单 自从 Clash for Android (CFA) 的原作者删库停更之后,Android 平台上的代理工具虽然没有到”至暗时刻”,但也确实经历了一段迷茫期。虽然我们都知道,内核才是关键,界面只是皮囊,但作为每天都要打开好几次的 App,谁不想让它长得更好看一点呢? 这半年多来,我主要在使用 Clash Meta for Android (CMFA)。它不仅继承了 CFA 的衣钵,更重要的是跟进使用了 Mihomo (原 Clash Meta) 内核,协议支持全,功能极其强大。但是,不得不说,CMFA 的界面设计还是充满了浓浓的 Read more ...


QM-MUSIC:打造属于你的私有云音乐服务器

QM-Music 是一个基于 Subsonic 协议构建的开源私有云音乐服务器,专为音乐爱好者设计。它以轻量、高效、全平台兼容为核心特点,让用户能够轻松搭建属于自己的音乐流媒体服务。 之前总结过一篇文章如何使用 Navidrome 搭建在线音乐库,我自己使用下来几年也非常稳定,但 Navidrome 的交互界面有一些老旧,并且我有一个挺常用的,网页随机播放功能支持不是很完善,今天刚好看到 QM Music,交互页面非常友好,所以安装用用。 我自己会在本地使用 Musiver 原名音流来串流音乐。 核心亮点 极致轻量与高性能: Read more ...

2025-12-03 music , server , self-hosted , docker , subsonic

Gemini CLI 使用小技巧

本文记录 Gemini CLI 使用过程中一些容易被忽略的问题,以及使用小技巧。 对于常用的 Gemini CLI 命令比如操作符 @ / 等,可以参考官方文档完成入门学习。 每分钟请求数 RPM : 60 次 每天请求数 RPD: 1000 次 GEMINI.md 项目上下文定义 GEMINI.md 和 CLAUDE.md 文件作用类似,它们被设计用来存储项目特定的上下文信息。每次你在项目目录中启动 Gemini CLI 时,它都会自动加载这个文件的内容。这相当于给 AI 预设了一个“出厂设置”,让它迅速了解项目的规范、常用命令和注 Read more ...


让 AI 更懂你的工作流:Gemini CLI 自定义 Slash Commands 配置指南

看过我博客的人会发现,我过去分享了非常多 Claude Code 下的使用小技巧,Claude Code 提供了非常好用的 Clash Commands,可以让我们直接通过快捷方式调用我们预先定义好的 prompt。最近我在使用 Gemini CLI 时,也发现我需要类似的功能。但幸好,Gemini CLI 已经帮我们实现了 slash commands,我们只需要定义好一个函数,就可以非常轻松地通过斜杠命令来调用。 今天就来聊聊怎么配置这套”快捷指令”。 什么是 Slash Commands? 简单来说,Slash Commands 就是你在聊天 Read more ...


在 Obsidian 中使用 Gemini CLI

从 2020 年开始使用 Obsidian 算起,到今天也已经快 5 年了,这个过程中我将过去将近 10 年的笔记,包括 Evernote,WizNote 中的笔记,豆瓣上的笔记全部转成了 Markdown 保存到了本地,后来陆陆续续使用的比如 [[Voicenotes]] 也都转成 Markdown 存如 Obsidian。虽然过去纪念陆陆续续在整理,但是实际上每天添加到笔记库中的内容要远多于要整理阅读的内容,笔记仓库也是越来越大,所以我越来越想使用一个工具可以帮助我真正地理解我写下的东西,并且在我想使用的时候能快速的找回。 现状是当我想要回溯笔记中 Read more ...


Helm 更新安装好的应用

在 k3s 中使用 Helm 安装的应用,更新流程非常标准化。基本公式是:更新仓库 -> (可选)修改配置 -> 执行 Upgrade。 以下是通用步骤,假设你要更新名为 gitea 的应用: 更新 Helm 仓库缓存 首先必须告诉 Helm 获取最新的 Chart 版本列表,否则它只知道旧版本。 helm repo update (可选) 查看有哪些新版本 如果你想知道现在有什么版本可供升级: # 搜索仓库里的版本 helm search repo gitea/gitea # 或者查看你当前安装版本的状态 helm lis Read more ...

2025-11-29 helm , k3s , k8s , chart , kubernetes

最近文章

  • Nowledge Mem 使用半年体验:让所有 AI Agent 共享同一份记忆 今年 2 月份我把 [[Nowledge Mem]] 装到 MacBook 上,想解决的是一个很常见的问题:我希望在 [[Perplexity]] 网页上查过的资料,直接在 Claude Code 中可以记住。但没想到大半年过去,它已经变成了我每天都在用的软件,而且是那种「不在后台跑着就会觉得别扭」的存在。我在 Claude Code、[[Codex]]、[[OpenClaw]] 里开的每一个会话,开头都会先从它这里拿一份简报;网页上和 AI 聊过的东西会自动同步进去;我做过的决定、踩过的坑、服务器的配置,都沉淀成一条条可以被任何 Agent 检索的记忆。说它是我所有 Agent 的记忆和大脑,一点都不夸张。
  • Aside AI 浏览器介绍:既能自己干活,也能接入 Agent 前两天整理了一篇 AI 浏览器自动化方案怎么选,把 Playwright、MCP、Agent 专用浏览器、WebMCP 这些路线梳理了一遍。在那篇文章里我提到,「内置 Agent 的 AI 浏览器」这一类里我最看好的是 Aside,原因是它的密码管理器设计得很用心,但篇幅有限没有展开。今天就单独写一篇,聊聊这个浏览器到底能做什么、和 [[Comet]]、[[Dia Browser]] 有什么不一样,以及我现在是怎么用它的。如果你看完想试试,可以用我的邀请链接 注册,注册后会额外获得 100 Credits。
  • AI 浏览器自动化方案怎么选:从 Playwright、MCP 到 Agent 浏览器和 WebMCP 的全景梳理 最近我一直在研究「让 AI 用浏览器」这件事。起因是看到 Nowledge 写了一个 browse-now Skill,可以直接让 Claude 控制浏览器,紧接着又偶然发现了 [[Ego Lite]] 这款专门为 Agent 设计的浏览器。顺着这条线,我把 Aside、BrowserOS、Deta Surf 这几款 AI 浏览器挨个调研了一遍,越看越发现它们的侧重点和实现方式差别很大:有人在做测试框架,有人在做浏览器插件,有人从 Chromium 内核开始为 Agent 改造浏览器,还有人在推动新的 Web 标准。它们看起来都在「让 AI 操作网页」,解决的却根本不是同一个问题。
  • 入手 GL.iNet Comet Pro(RM10):支持 Wi-Fi 6 的远程 IP KVM 家里的 [[Homelab]] 一直是一台 4 盘位的小主机跑 [[Proxmox VE]],上面跑着 Ubuntu 虚拟机、一堆 Docker 服务和下载机。平时远程管理全靠 SSH 加 [[Tailscale]],只要系统还活着基本没什么问题。真正让我不放心的是系统起不来的时候:升级内核后卡在启动界面、改网卡配置时手滑导致网络没起来、BIOS 被重置后不再从正确的硬盘启动,这时候 SSH 连不上,Tailscale 也不会在线,人不在家就只能干等。最近正好赶上一波促销,我入手了 [[GL.iNet]] 的 Comet Pro(型号 GL-RM10)远程 [[IP KVM]],叠加各种限时优惠之后实际支付 590.76 元,算是把 Homelab 远程管理的最后一块短板补上了。
  • 用 PowerContext 给多个 Coding Agent 做任务交接 现在我写代码基本是 [[Codex]] 和 [[Claude Code]] 轮着用。有时候是 Codex 的额度先用完了,有时候是某一步我觉得 Claude Code 更合适,于是一个任务经常要在两个 Agent 之间换手。真正麻烦的不是换工具本身,而是换手的那一刻:新会话对前面发生的事一无所知。之前选了哪个库、哪个旧接口不能动、改了哪些文件、测试跑没跑过,这些信息全都留在上一段对话里。我只能手动复述一遍,或者把一大段聊天记录贴回去,前者容易漏掉关键约束,后者浪费 Token,还会让模型在几千行历史里抓不住重点。说到底,我缺的不是一个更大的上下文窗口,而是一份能在 Agent 之间传递、而且接手方可以核对的「当前状态」。在写这篇文章的时候还出现了另外一个思路就是利用 [[magpie]] 将模型路由给充足额度的账号,这个之后再写文章说。