码农早餐 · 2026-09-07
今日头菜:把 .gitignore 反过来写:默认忽略一切,只放行需要的文件。另有 7 条快讯:OpenAI 开源 Codex 技能目录:25.6k Star 的可复用技能库;Ladybird 八月:内存从 17.8 GiB 降到 61 MiB;等。
packagemain.tech 的 Alex Pliutau 用 6 行配置把 .gitignore 倒过来写:先 * 全忽略,再 ! 放行 .go、go.mod 等白名单。这个反直觉思路,我第一反应是「终于不用再伺候那串黑名单了」,但白名单漏一个文件就够你哭的。
把 .gitignore 反过来写:默认忽略一切,只放行需要的文件
你有没有过这种时刻:提交完代码,突然发现仓库里混进了 .DS_Store、node_modules、IDE 配置文件,甚至更糟——环境变量文件。然后是一连串的补救:补写 .gitignore、从历史里清理、祈祷没人注意到那次尴尬的提交。packagemain.tech 的 Alex Pliutau 在 9 月 5 日提出了一个反直觉的思路:与其默认放行一切、再费力去忽略,不如反过来——默认忽略一切,只显式放行你真正想跟踪的文件。
具体怎么做?一个简单的 Go 项目只需要 6 行:

*
!.gitignore
!*.go
!README.md
!go.mod
!go.sum
第一行 * 忽略所有文件,后面每行用 ! 把你想跟踪的东西捞回来:.gitignore 自身、Go 源文件、README、模块文件。除此之外的一切——本地生成的临时文件、Agent 产生的文档目录、IDE 配置——统统不会进入 Git 的视野。你再也用不着维护一份越来越长的黑名单,只需要维护一份很短的白名单。
这个思路的诱人之处,看看 typescript-go 项目的 .gitignore 就明白了——整整 207 行。我猜那里面有一半是「某个工具在某天突然生成了一堆文件,然后你把它加进去」的疤痕组织。而白名单模式把这些全删了:新工具、新 Agent、新 IDE 生成了什么乱七八糟的东西?无所谓,反正默认忽略。
不过话说回来,这个方案不是没有代价。它最适合的是结构清晰、文件类型有限的项目——比如 Go、Rust 这类编译型语言,源码文件后缀就那么几种。但如果你在做一个前端项目,src/ 下几十种文件类型、各种配置文件、静态资源、测试夹具……白名单会变成一份你得精心维护的「VIP 名单」,稍不留神就漏了某个该提交的文件。而且新加入项目的同事得先搞懂这份白名单的逻辑,不然 git add . 之后发现一堆文件没进去,又是一轮 git check-ignore -v 的排查。
作者也给了个排查工具:git check-ignore -v internal/server/server.go,能直接告诉你某个路径为什么被忽略、被哪条规则命中。这命令能省掉不少「我明明 add 了怎么没提交」的挠头时刻。
往深里想一层,这个思路其实反映了开发工作流的一个变化:本地目录里的「杂物」越来越多——各种 Agent 的文档、缓存目录、临时脚本。以前 .gitignore 是给 Git 看的过滤器,现在它更像是一份「这个项目的边界声明」:什么算项目的一部分,什么只是你本地的临时产物。当 Agent 开始在项目里留下各种 CLAUDE.md、.cursor/ 之类的文件时,白名单模式反而成了最干净的边界——不是追着新工具生成的每一类文件打补丁,而是从源头声明:没被点名的,都不是这个项目的。
这个技巧不是银弹,作者自己也承认不一定适合每个仓库。但下次你面对一份 200 行的 .gitignore 时,不妨想想:如果反着写,会不会更省心?至少,那些「提交了不该提交的文件」的社死时刻,能少一次是一次。
💡 主厨说:文中提到 typescript-go 的 .gitignore 有 207 行,这个项目是微软用 Go 重写 TypeScript 编译器的那次尝试——连它都攒了这么多规则,说明黑名单模式在大型项目里确实会失控。
来源:
OpenAI 开源 Codex 技能目录:25.6k Star 的可复用技能库
OpenAI 在 GitHub 上发布了官方 Skills Catalog for Codex,这个仓库目前已经积累了 25.6k Star 和 1.7k Fork,114 个 commit 显示项目仍在活跃迭代。简单说,这是一套给 Codex 用的「技能」定义集合——把常见的编码任务封装成可复用的指令模板,让 Agent 不用每次从头理解需求。
对写代码的人来说,这东西的实际价值在于:以前你让 Codex 干活,每次都要把上下文、约束、输出格式重新说一遍,现在可以直接引用一个 skill 文件,把「怎么处理这类任务」的规范一次性定义好。仓库里已经有 19 个分支在维护不同版本的技能定义,最新的 commit 还在调整 skill installer 的安装后引导逻辑,说明 OpenAI 自己也在摸索这套体系的最佳实践。
我的第一反应是:这跟 MCP 有点像,但定位不同。MCP 解决的是「Agent 怎么调用外部工具」,skills 解决的是「Agent 怎么按你的规范完成任务」。如果你已经在用 Codex 处理重复性较高的编码任务,值得去翻翻这个目录,看有没有能直接拿来用的定义——省下的 prompt 调试时间,够你多喝两杯咖啡了。
不过也别急着把所有工作流都迁过去。这类技能库还在快速演进期,现在定义的格式过几个月可能就变了,就像当年各家 Agent 框架的 plugin 规范一样。先挑一两个高频任务试试水,等生态稳定了再大规模接入,可能是更务实的姿势。
来源:
Ladybird 八月:内存从 17.8 GiB 降到 61 MiB
Ladybird 浏览器发布 2026 年 8 月开发小结,这个月最大的变化是性能成为持续关注重点:新的 style engine、布局缓存、CSS 动画移出主线程,同时 CSS 解析和绘制管线迁移到了 Rust。对写代码的人来说,最直观的对比是 Strava 一个活动页面原来能长到吃掉 17.8 GiB 内存,修复后只占 61 MiB——降了 99.7%,这数字我反复看了两遍确认没看错。
这个月功能落地也相当密集。视频方面,Media Source Extensions 支持了 fragmented MP4 和 AVC、HEVC、AV1、AAC 编码,Twitch 和 Plex 能播自适应码率视频了,YouTube 上以前只有 AVC 的老视频和 8K 的 AV1 流也能放。CSS scroll snap 来了,支持 wheel、键盘、触摸板 fling 和 scrollTo(),但 scrollIntoView() 还不吸。DevTools 里能下断点、单步调试、看 watch expressions,用的是 Firefox DevTools 前端做过渡。下载支持暂停续传,还能跨浏览器重启存活,最多四路并行。Ctrl+Shift+T 恢复的不再只是 URL,而是完整会话历史,包括前进后退状态。
值得注意的是 site-compatibility rules 改成了运行时加载的声明式 JSON,不再把站点策略硬编码进浏览器,目前 nytimes.com 和 cnn.com 靠隐藏 User-Agent 里的 "Ladybird" 来正常渲染。另外 alert()、confirm()、prompt() 改成了页内 overlay 而不是系统模态框,while (true) alert("lol") 再也锁不住整个浏览器了——这个我懂,谁没被这种代码坑过。项目完全靠赞助,本月新进一位赞助者捐了 5000 美元。Ladybird 还在早期,别指望它当日常主力,但如果你想看一个不被广告和商业利益绑架的浏览器长什么样,现在去跑一遍很值。
来源:
Chrome 再给自家网站开「数据豁免」后门
Chrome 又一次让 Google 自家网站绕开你的站点数据设置,第三方开发者看了只能苦笑——同一套规则,自家产品永远有 VIP 通道。这事对写代码的人意味着什么?你精心调教的隐私配置,在 Google 系站点上可能根本不生效。虽然不是新漏洞,但这种「规则双标」值得你留个心眼:别假设所有站点都遵守你的浏览器设置,该手动清理的 cookie 还是得定期动手。
来源:
qBittorrent 沙箱逃逸:下载器越界执行操作
一条关于 qBittorrent 沙箱逃逸的消息在 Hacker News 上传开,标题直白得有点吓人:「QBittorrent breaks out of sandbox to commit crimes」。目前能看到的信息只有这一句,具体漏洞细节、影响版本、利用方式都还没公开。不过对正在用 qBittorrent 的你来说,这至少是个提醒:别急着把下载目录权限开到最大,也别在沙箱环境里裸奔。等漏洞详情出来,记得第一时间查自己用的版本是否在受影响范围内,该升级升级,该隔离隔离。
来源:
humanlayer/skills 登 GitHub 趋势榜:Agent 技能库的「新解法」还是「又一层封装」?
humanlayer/skills 今天冲上 GitHub 趋势榜,仓库地址就在 humanlayer 名下。光看名字,你可能以为又是给 AI Agent 加技能包的轮子——但点进去你会发现,它更像是在帮你管理 Agent 的「技能调用」这件事本身。目前仓库还没放出具体的使用案例或性能数据,所以别急着下结论。如果你正在折腾 Agent 的 tool-use 流程,值得花十分钟看看它的 README,搞清楚它和你现在用的 function calling 方案差在哪。趋势榜上的东西,一半是实力,一半是运气,先别急着改架构。
来源:
GPT-6 Astra 上机械臂:物理世界的「代码审查」才刚开始
还记得我们前几期聊代码审查吗?结论是性能提升但成本高、隐私有顾虑。今天 GPT-6 Astra 跑到机械臂上,这俩问题不但没消失,反而更扎眼——代码审查里你还能用私有化部署兜底,机械臂连着云 API 干活,每一帧画面、每个动作指令都在过网,车间里那点工艺秘密还藏得住吗?成本账也得更细算:API 按 token 收费,机械臂一个抓取动作可能要拆成几十次推理调用,延迟和账单一起涨。宣传里「AI 进工厂」听着很美,但实际部署前你得先想清楚:哪些动作能容忍网络往返,哪些必须本地推理兜底。别被 demo 视频忽悠,真上线跑一个月账单见分晓。
来源:
Asahi Linux 官方支持 M3,但先别急着把 M3 当主力机
Asahi Linux 宣布正式支持 Apple M3 芯片的 Mac 了,这对想在 Apple Silicon 上跑 Linux 的你来说是个实打实的好消息。不过标题里那个「Caveats」不是客套话——目前支持还带着明显限制,比如 GPU 驱动、电源管理这些核心部分大概率还没完全到位。折腾过 Apple Silicon Linux 的人都知道,能开机和能日用是两码事。我的第一反应是:M3 用户现在可以开始尝鲜,但别指望立刻替代 macOS 当生产环境。想试的话,建议先查清楚你的具体机型和外设兼容性再动手。
来源:
你敢把手头项目的 .gitignore 翻过来写,只留那几行白名单吗?敢的扣「翻」,不敢的扣「稳」。明早 8 点见。
本期从过去 24h 的 X / Hacker News / GitHub Trending 共 49 条信息中挑出 8 条(全天逐小时采写、经事实校对后于晨间选编)。内容由 LLM 辅助生成,每条均附原始来源链接,重要决策请交叉验证。
喜欢这篇?订阅每日推送
每天 8:00 帮你挑好 AI 圈最重要的 5-10 条,说人话、看得懂、不浪费时间。
本页内容由 LLM 自动聚合 + 解读生成,每条均有原始来源链接,建议交叉验证。