Vibe Kanban:当 AI 开始并行协作,我们的开发方式变了

在我之前的视频当中,我介绍过在 Claude Code 中使用子代理(Subagents)机制和 Git Worktree 来实现并行工作流。我们可以创建子代理来并行执行任务,但是 Subagents 的配置和使用都还需要我们在 Claude Code 中等待。那如果我们有完全独立的两个任务要执行呢,我们可以开两个 Claude Code 分别在两个 Claude Code 中提交任务,然后让 Claude Code 完成。此时我们依然会遇到一些问题,比如说两个 Claude Code 的代码可能产生冲突。并且如果我们有超过两个独立任务时,我们在管理 C Read more ...


终于还是入手了:Insta360 Go Ultra 初体验

每次想要拍摄,我得从口袋掏出手机,解锁,打开相机应用,切换到视频模式,然后举着它——这个过程在很多稍纵即逝的生活瞬间面前,显得太繁琐了。而且,当你举着手机拍摄时,你其实是在”观察”生活,而不是在”经历”生活。手机太”重”了,不是物理重量,而是心理负担。所以我想使用一个工具,可以帮我记录生活,但又不需要我刻意去”操作”它。于是,在观望了许久之后,我终于入手了这台 Insta360 Go Ultra。在 11.11 在天猫 2350 下单了 Insta360 Go Ultra,后来价格保护还退还了 260 块。 为什么我需要一个除去手机之外的镜头 在 Read more ...


奥卡姆剃刀:为何简单的往往就是最好的

最近我在整理我的 Obsidian 笔记库时,发现了一个有趣的现象。 回想几年前,我刚开始搭建个人知识库的时候,恨不得把所有的插件都装上。DataView、Templater、QuickAdd……各种自动化脚本写了一堆,试图构建一个”完美”的第二大脑。结果呢?维护这些系统的精力甚至超过了记笔记本身。每当我想快速记录一个想法时,复杂的流程反而成了阻碍。 这让我不禁陷入深思:我们是不是总是习惯性地把简单的问题复杂化? 在折腾了一圈之后,我最终删掉了大部分不常用的插件,回归到了最朴素的 Markdown 写作。那一刻,我感到了一种久违的轻松和高效。这让我 Read more ...


Fish Audio Python SDK 体验:下一代高质量 TTS 与声音克隆利器

也是时候给 AI 找个好嗓子了 最近我一直在折腾本地大模型,想给自己做一个语音助手。虽然 LLM 的回复已经很智能了,但一旦到了“开口说话”的环节,体验往往就断崖式下跌。我试过传统的 pyttsx3,也用过 Google 的 TTS,说实话,那种浓浓的“机器味”很容易让人出戏。 我一直想要这样一个工具:它的声音必须足够自然,要有呼吸感,不能像念经一样平铺直叙;其次,如果能复刻我自己的声音,或者某些特定的音色,那就更完美了。 前段时间刷 GitHub 偶然发现了 Fish Audio,体验了一下它的 Demo,当时就被惊艳到了。它不仅语调自然,而且反 Read more ...


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


最近文章

  • Syncthing 升级 2.0 后同步卡在 Preparing to Sync 的解决方法
  • Orca ADE 体验:为 AI 编码 Agent 而生的开发环境,用 worktree 让一群 Agent 并行干活 过去一年里软件的开发方式发生了一个我自己都没料到的转变。以前写代码是工程师对着编辑器敲,现在更多时候是同时开着好几个 [[Claude Code]]、[[Codex]] 之类的编码 Agent,让它们各自去完成一个任务,工程师只负责在中间调度、审阅、拍板。这种”我带一队 Agent 干活”的模式效率确实高,但很快就撞上了一堆现实的麻烦:几个 Agent 都在同一个仓库里改文件,分支互相污染;终端窗口开了一大排,切来切去分不清哪个是哪个;改完还得一个个去看 diff、跑测试、开 PR。工具还是那套为单人设计的 IDE,可我干活的方式早就不是单人了。
  • herdr 一个窗口调度多个 Coding Agent 什么是 Herdr
  • Claude Code 第三方 API 代理配置 Headroom 最近在给自己的 AI 编程工作流加入 [[Headroom]] 上下文压缩工具时,遇到了一个需要特别注意的配置问题。相信有不少人和我一样,为了降低成本或者改善访问体验,已经在 [[Claude Code]] 或 [[Codex]] 里配置了第三方 API 代理,比如一些第三方聚合平台或者自建的转发服务。这时候想再套上一层 Headroom 做 Token 压缩,就需要特别注意配置细节,不然两层代理会打架。
  • Headroom:让 AI Agent 少花冤枉钱的上下文压缩工具 最近一段时间我在深度使用 [[Claude Code]] 做开发工作,用得越多,账单就越触目惊心。一次稍微复杂一点的任务,比如让它读取几个文件、搜索一下代码、跑一下测试,轻轻松松就能烧掉超过 100K 的 Token。更让人无奈的是,这 100K 里面有相当大一部分是重复冗余的内容——工具调用的输出、日志、搜索结果,它们被原封不动地塞进上下文,再一次次地发给模型,而模型其实只需要其中很小一部分关键信息。