让 AI 来编写 Git 提交变更信息

很早之前就看到了 GitHub Copilot 可以在 VS Code 中提交 Git 时自动编写提交 Message,但是实际上我一直没有用起来。正好现在对 Git Message 做一个完整的学习,顺便也了解一下当前的 AI Commits 方案。 之前其实看到过一个对于 Commit message 的规范 Conventional Commits,之前的一些提交提交历史也是按照 feat, fix 等等方式来进行的,但是其实理解和书写起来也没完全按照这个模式,只借鉴了其中关于提交类型的部分。所以这次调研才看到对于内容部分更详细的说明,现在很多 Read more ...

2025-06-17 ai , openai , git , git-message , ai-tools

Uptime Kuma 清理 SQLite 数据库历史数据

大概两年前我自己部署了 Uptime Kuma 来监控我的各项服务在线情况,这两年内一直工作非常稳定,除了偶尔的网络波动带来的误报,基本上没有其他大问题。 但是用了超过两年,最近访问后台加载起来越来越慢,经常需要好久才能将监控的列表加载出来。对于使用上的问题,对我的影响越来越不能忽视, 所以今天来讲一下如何优化 Uptime Kuma 的数据库。 原因 Uptime Kuma 在 1.x 版本中需要对整个 heartbeat 表进行扫描来执行一些操作,数据库中存在大量数据时,会导致显著的性能下降。根据开发者的说明,性能限制依赖于硬件配置,超过 50 Read more ...

2025-06-16 kuma , sqlite , uptime , uptime-kuma , website , monitor , ping

Longhorn 备份到 S3 兼容存储

在之前的文章当中已经介绍过如何在 K3S 当中使用 Longhorn 作为分布式存储方案,那么本文再记录一下如何将 Longhorn 的备份存储到 S3 兼容的对象存储当中。 要完成这个备份,需要完成两个核心步骤。创建一个 S3 访问凭证,然后在 Longhorn 的 UI 当中配置备份目标。 创建 S3 访问凭证 首先,您需要在  longhorn-system  命名空间中创建一个 Kubernetes Secret,用于安全地存储访问 S3 存储桶所需的凭证。 准备如下的信息 Access Key ID: 访问 S3 服务的授权 I Read more ...


iOS 发布 Bundle ID 不可用问题

这两天在发布 iOS 应用到 App Store 的时候,在第一步创建 Bundle ID 的地方就卡住了,这是 iOS 开发过程中的一大坑,所以本文记录一下。 什么是 Bundle ID Bundle ID 是苹果用于标识应用的唯一字符。每一个 iOS 应用都有一个唯一的 Bundle ID,有字符串组成,通常是反向域名的形式,比如 com.domain.appname。 Bundle ID 的作用非常关键,不仅用于区分应用,还用于应用的各种资源,比如推送通知,iCloud,SDK 验证等等。 所以本文下方就展开讲讲我是怎么调入 Bundle Read more ...


GKD: Android 下不仅能跳广告的自动化神器

在 Android 平台上,开屏广告一直是影响用户体验的一大顽疾。虽然市面上已经有不少类似「李跳跳」的工具,但随着 Android 系统的更新和应用厂商的对抗,很多工具逐渐停止维护或失效。 今天要介绍的是一款名为 GKD (搞快点) 的开源工具。它不仅能跳过开屏广告,还能通过自定义规则实现应用内的自动化操作(如自动领取奖励、关闭弹窗等),是一款由于其强大的扩展性而备受推崇的神器。 什么是 GKD? GKD(全称:搞快点)是一款基于 Android 无障碍服务 (AccessibilityService) 的自动化点击工具。它本身是一个空壳软件,不包 Read more ...

2025-06-09 Android , GKD , 去广告 , 开源 , 效率

2025 年历史最低 29 美元注册美国公司

前几个月很多人分享通过 [[Stripe Atlas]] 注册美国公司(LLC),但是 Atlas 及时通过微软的创业者链接也需要 250 美元,今天就教一下大家如何只需要 133 美元就可以注册一家美国 LLC。 现在全球化的商业环境中,不论是初创的 SaaS 公司,还是实际经营跨境电商,进出口业务,都需要有一个正式的商业实体,一方面可以为个人提供责任保护,将个人资产和公司债务分离,另外一方面也可以在税务上提供更大的灵活性,并且有助于提升商业信誉。 我个人结合我自身的需求以及经过大量的研究和比较之后,最终选择了 [[Northwest Regist Read more ...


kookey 美国静态住宅 IP

去年开始因为一些海淘的原因,所以租赁了一个美国静态住宅 IP,299 美元买了一台 Google Pixel 9,后来陆陆续续又因为申请美国网站的各种服务就一直续费了下来。所以本文就记录一下非常个人的使用。 住宅 IP 是什么 首先我们来说一下什么是住宅 IP。 住宅 IP 是由互联网服务提供商(ISP)分配给个人用户的真实家庭网络 IP 地址,由 100%真实 WIFI 网络用户组成。这些 IP 地址与实际物理位置关联,具有不连号、散点分布的特点,与普通网民使用的 IP 完全一致。相比数据中心 IP,住宅 IP 更难被网站识别和屏蔽,被列入黑名单的 Read more ...

2025-05-30 ip , us-ip , static-ip , vpn , proxy

Novita AI 面向 AI 开发者的 GPU 云平台

在如今 AI 时代,个人开发者和企业都想要高效,经济,且容易部署的 AI 模型,尤其是 DeepSeek 横空出世之后使得个人在部署使用私有 AI 模型方面变得异常简单,但问题随之出现,普通人的电脑无法带动 DeepSeek 发布的更消耗内存更消耗计算能力的模型,普通用户也很难去给自己的每台电脑都配上英伟达 4090,更不用说去管理 GPU 集群,而普通开发者如果想要将自己的模型部署到云服务上也非常棘手,而这就是今天我要介绍的 Novita.AI 要解决的问题。 什么是 Novita Novita.AI 是一个专为开发者设计的 AI 云平台,用户可以 Read more ...

2025-05-29 gpu , ai , open-source , model , deepseek , google

Zig 语言编写的开源终端 Ghostty

在 Linux 上我使用 [[Guake]],到后来换成 macOS 之后使用 Kitty,直到前段时间更换成 Warp,但是没想到这几天又发现一款不错的终端 Ghostty。没查不知道,但是一查之后才发现 Ghostty 背后的作者的故事是多么精彩,并且 Ghostty 使用的 Zig 语言也是我第一次听说。 Ghostty 由著名的开发者 Mitchell Hashimoto(HashiCorp 联合创始人)使用 Zig 语言编写的一款终端模拟器,在速度,功能性方面都有不错的优势。 Ghostty 目标是成为一个更快,功能更丰富的下一代终端应用, Read more ...


关于在 Docker 容器中如何优雅关闭 Java 应用的记录

这两天遇到一个和 Docker 运行相关的问题,我们使用 Azure App Service 来运行服务,但是每次重启服务的时候,发现不会出发 Javalin 的 stop,感觉 Java 进程没有接受到 Docker 容器停机的信号,然后就被系统杀死了,所以就这个问题,仔细地研究了一下 Docker 运行以及如何优雅地关闭 Docker 容器中的 Java 进程。 问题原因 信号是操作系统用于向正在运行的进程发送消息,使其以特定方式运行的一种方式,常见的情况是操作系统会向进程 ID 发送 SIGTERM 信号来终止进程,当我们执行 kill PID Read more ...

2025-05-23 docker , java , sigterm , shell , dockerfile

最近文章

  • herdr 一个窗口调度多个 Coding Agent 什么是 Herdr
  • Claude Code 第三方 API 代理配置 Headroom 最近在给自己的 AI 编程工作流加入 [[Headroom]] 上下文压缩工具时,遇到了一个需要特别注意的配置问题。相信有不少人和我一样,为了降低成本或者改善访问体验,已经在 [[Claude Code]] 或 [[Codex]] 里配置了第三方 API 代理,比如一些第三方聚合平台或者自建的转发服务。这时候想再套上一层 Headroom 做 Token 压缩,就需要特别注意配置细节,不然两层代理会打架。
  • Headroom:让 AI Agent 少花冤枉钱的上下文压缩工具 最近一段时间我在深度使用 [[Claude Code]] 做开发工作,用得越多,账单就越触目惊心。一次稍微复杂一点的任务,比如让它读取几个文件、搜索一下代码、跑一下测试,轻轻松松就能烧掉超过 100K 的 Token。更让人无奈的是,这 100K 里面有相当大一部分是重复冗余的内容——工具调用的输出、日志、搜索结果,它们被原封不动地塞进上下文,再一次次地发给模型,而模型其实只需要其中很小一部分关键信息。
  • 用 Harbor 搭建私有 Docker Registry:从安装到日常使用的完整实践 我维护过几个跑在自己服务器上的小项目,构建出来的 [[Docker]] 镜像最早都是直接推到 [[Docker Hub]] 上的。用了一段时间之后开始觉得别扭:一些只在内网跑的服务镜像,没必要也不应该传到公开的仓库;Docker Hub 对匿名拉取做了限流之后,CI 流水线偶尔会因为触发了速率限制而失败;再加上想给不同的项目、不同的同事分配不同的访问权限时,公共仓库这套体系根本满足不了。折腾到后来我意识到,是时候在自己的机器上搭一个真正能用的私有镜像仓库了。
  • 用 New API 打造个人 AI 网关:统一管理所有大语言模型接口 这段时间我同时用着好几个大语言模型服务:日常写作和代码靠 [[Claude]],轻量任务交给 [[Codex]],搜索增强用 [[Antigravity]],还有几个本地跑着 [[Ollama]] 的小模型供离线场景使用。每个平台各自的 API Key 散落在项目环境变量里,月底要去好几个后台分别对账,想横向对比两个模型的输出还得打开不同的网页或客户端来回切换,很费事。