Verne in GitHub

Kubernetes 多集群管理指南:使用 kubectx 优雅切换 Kubeconfig

最近在整理我的 Kubernetes 运维环境,发现随着手头项目的增多,我需要管理的集群数量也在蹭蹭往上涨。 以前只有一个测试环境和一个生产环境时,我还在傻傻地用 kubectl --kubeconfig=./prod.yaml 这样的命令,或者在终端里疯狂地敲 export KUBECONFIG=...。 直到有一天,我在一次紧急排查问题时,因为忘记切换环境变量,差点把测试环境的配置应用到了生产环境。那一刻我意识到,必须得有一个更安全、更直观、更高效的方式来管理这些“乱七八糟”的连接凭证了。 如果你也曾面对着终端里的一堆 config 文件发愁,或 Read more ...


让 AI 联网:Serper 极速 Google 搜索 API 使用指南

最近我在折腾一个基于 LangChain 的 AI 助手时,遇到了一个老生常谈的问题:怎么让大模型获取最新的实时信息? 虽然 ChatGPT 已经很强大了,但它的知识库永远是滞后的。当你问它”昨天发布的 iPhone 16 也是 60Hz 屏幕吗?”(假设场景),它大概率会一本正经地告诉你它不知道。为了解决这个问题,我们需要给 AI 装上”眼睛”,也就是联网搜索的能力。 我之前一直用 SerpApi,功能确实强大,覆盖了各大搜索引擎。但是,当我开始构建需要频繁调用搜索的 Agent 时,SerpApi 的响应速度(有时候需要 3-5 秒)和价格让我开 Read more ...


CopilotKit:让你的 React 应用 10 分钟拥有上下文感知的 AI Copilot

最近我一直在思考一个问题:为什么我们现在的很多应用里的 AI “助手”还是那么”笨”? 你可能也有这种体验:你在一个 SaaS 平台上操作复杂的报表,遇到问题点开右下角的 AI 客服,问它”为什么我的数据对不上?”,它通常会礼貌地回复你一段通用的帮助文档,或者干脆让你去读手册。它不知道你当前看的是哪张表,不知道你选了什么筛选条件,更不知道你刚刚进行了什么操作。 这种割裂感让我非常难受。我们想要的不是一个挂在网页旁边的 ChatGPT 网页版,而是一个真正”住”在应用里的、能看见我所见、能帮我操作的 Copilot(副驾驶)。 前段时间我发现了一个非 Read more ...


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 ...


最近文章

  • 入手 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 远程管理的最后一块短板补上了。
  • 呆呆面板 MCP 配置教程:让 Claude、Cursor 用自然语言管理定时任务 前两天写了一篇 呆呆面板 daidai-panel:轻量级青龙面板替代品介绍与 Docker 部署教程,在那篇文章里我提到呆呆面板和 [[qinglong 青龙面板]] 最明显的代差是内置了 [[MCP]] 服务,但只是简单带过。面板搭起来、脚本陆续迁移进来之后,我每天早上要做的第一件事就变成了打开面板,挨个看昨晚哪些任务失败了、报的什么错、是 Cookie 过期还是网站改版。这种重复又琐碎的巡检,恰好是 AI 最擅长替人做的事情。所以这一篇就专门聊聊呆呆面板的 MCP 怎么配置、怎么接入不同的客户端,以及在权限上应该怎么取舍。
  • 呆呆面板 daidai-panel:轻量级青龙面板替代品介绍与 Docker 部署教程 Homelab 里跑久了,总会攒下一堆零散的小脚本:每天早上抓一次汇率发到 Telegram,定时检查几个网站的证书有没有快过期,隔一段时间把某个 API 的数据拉下来存一份,再加上各种网站的自动签到。最开始我都是直接写进服务器的 crontab,时间一长就发现问题很多,脚本散落在不同的机器上,日志不知道去哪看,失败了也没人通知,Python 依赖装在系统里还经常和别的东西打架。几年前我为此折腾过 [[qinglong 青龙面板]],最近在 GitHub 上又看到一个定位几乎一样、但更轻量的新项目,叫呆呆面板([[daidai-panel]])。
  • RAGFlow:以深度文档理解为核心的开源 RAG 引擎介绍与部署使用教程 这两年我陆陆续续接触过一些 RAG 小工具,从最早自己用 [[LangChain]] 拼一个 demo,到后来用 [[AnythingLLM]]、[[Dify]] 的知识库功能,有一个体验几乎每次都会重演:拿几篇 Markdown 测试的时候效果惊艳,一旦换成真实的业务材料,比如一份带合并单元格的财报 PDF、一份双栏排版的论文、几页扫描的合同,回答马上就开始胡说八道。追查下去会发现问题根本不在大模型,而在最前面的解析和切块环节,表格被拍平成一串没有表头的数字,左右两栏的文字被交错拼接在一起,模型拿到的上下文本身就是错的。也正是因为这个痛点,我在调查 ESP32 小智 AI 后端的时候发现了 [[RAGFlow]],一个可以「深度文档理解」的开源 RAG 引擎。
  • Git 本地忽略文件:.git/info/exclude 的作用与使用技巧 由于本地 IDE、插件、Agent 的差异,所以经常打开项目之后会出现一些只属于我自己的文件,AI Agent 和一些 MCP,Skill 也喜欢在项目根目录里面添加文件。每次 git status 都能看到这一串红色的 untracked 文件,看着很烦,又不太好意思为了自己的习惯去改项目的 .gitignore。这时候我想起了 .git 目录里一个存在感极低的文件 info/exclude,它刚好就是为这种场景设计的。