笔记

一些不成熟的思考。写下来,是为了把问题想清楚。

账上少了 3 个文件:一次 973 GiB 照片去重

计划删除 160,081 个精确重复副本,日志却只记到 160,078 个。查清差额之后, 这次清理才真正完成:每个被删文件都有保留参考,相似照片和模糊项全部停在不删除的一侧。

读全文

截图别急着塞进长对话:把图片先变成一份可复用的文字档案

先把图看一次,整理成包含文字、布局和结论的档案;后续任务只读文字, 不再让原图反复进入长上下文。

读全文

Claude Code、Codex 和“接入大模型”:别把工具、模型和网关混成一件事

工具负责动手,模型负责思考,网关负责转接。先把三层拆开,才能看懂 DeepSeek 接入、 VPS 中转和 Cloudflare 免费额度分别是什么。

读全文

AI 能生成界面,但质感藏在交互里:我的 6 点学习笔记

功能能跑只是起点。动作有终态、进度有联动、展开有层次、滑动有落点、 选择有准头、转场有来源,这些回应才决定界面是否精致。

读全文

把温度搬到菜单栏:别让监控跟着窗口一起消失

CPU 和外接盘温度原本浮在 Codex 窗口里。这次把采样、显示和启动项拆开, 菜单栏只留 CPU 48° S 40°;点开才有详情、更新时间和手动刷新。

读全文

音乐没停,是因为播放器搬出了网页

切到后台四秒,播放位置从 11537ms 走到 15920ms。真正的改动不是多一个按钮, 而是把播放状态从 WebView 交给原生前台媒体服务。

读全文

MCP 入门:让 AI 接上你自己的工具

MCP 不负责干活,负责让「干活的东西」被看见、被用上。三个角色怎么分工、报文长什么样, 以及接进 Codex 时最容易踩的那个审批坑。

读全文

Codex 插件入门:技能、脚本和工具的打包方式

插件不是新能力,是包装盒。先写技能,需要确定性动作再加脚本,需要新工具才上 MCP; 要装给别人,最后才打包。

读全文

界面为什么不肯说中文

设置里写着简体中文,界面却是英文。查到最后发现:它不是坏了, 是少收到一个来自远方的开关。语言包其实一直在应用里。

读全文

省了 55% 的词元,没省下时间

同一件活,命令行与工具调用各跑三遍:每任务 1,278 对 575 个词元, 端到端 13–15 秒对 12–13 秒。省下的是重复交代,不是等待。

读全文

373 处看不清的字,最后只改了三个颜色

一次全站无障碍扫描发现,浅色模式下有 373 个文字节点未达 WCAG AA 对比度。 修法不是逐页改,而是先找到三个共同的设计变量;复扫结果从 373 降到 0。

读全文

自动化与值守:什么该自己跑,什么必须停一下

站点自检、邮件值守、摄像头事件流、每日发布,四件事停在不同门槛前。 只读、本地写入、对外发送、破坏性动作,四道门分开守;失败要留痕,不能假装成功。

读全文

计划模式、代码管理与审查:先写清,再动手

仓库指针显示落后 6 个提交,工作区 32 个文件却与远端逐字一致。先查清指针、工作区和远端的关系, 再决定动不动 pull;保护已有改动,比“同步一下”重要。

读全文

Skills 不是插件市场:先问要不要,再问装哪个

OCR、画图、文件整理、照片去重——每个技能都能说出一次真实用途。 四个问题问完,再决定装不装;装之前把 SKILL.md 读完。

读全文

让它“看”视频:画面、文字稿、音轨怎么分工

94 分钟、11 集的教程,先找字幕,没有再转写,最后才为必须看屏幕的段落抽帧。 三种证据互相补位,时间戳索引把结论接回原话。

读全文

工具链不是装得越多越好

新 Mac 上包管理器装不上,静态二进制又被系统拦下。 最后留下的只有系统 Python、curl、已有 ffmpeg 和一个签名过的小工具。

读全文

守收件箱,不碰发送键

收信可以自动,回信不能自动。只读收件箱、一行摘要、草稿箱和显式放行四道门, 把一封陌生来信挡在自动发送之外。

读全文

记忆放在哪里

让 AI 记住事情,难点不是「写进去」,而是每次开工该读多少、以及那些东西放在哪。 三层结构 + 一条禁令,跑了一整天之后的结论。

读全文

从一条 94 分钟的教程说起

这个站要开一个关于 Codex 的教程系列。第一篇先交代:材料从哪来、我们怎么验、 和别处的教程有什么不一样,以及后面会写什么。

读全文

把红线写成代码

这台机器上的 AI 有完整权限。凭什么信它不越界?答案是别靠信任: 把「站内自己决定、出站只出草稿、危险动作先问」变成工具层过不去的门。

读全文

搬一台电脑,搬的是什么

维护这个站的工作机从一台 Windows 笔记本换成了一台 Mac mini。真正花时间的不是装软件, 而是想清楚三层东西该怎么对待:源码整层搬,工具重写,凭据重建。

读全文

启动就重启:一个数据库的跨平台尸体

应用一打开就报错,等五分钟自己重启,然后循环。我花了很久怀疑网络—— 真正的元凶是一个从另一台机器搬过来的数据库文件。附三个「一次只换一个变量」的实验。

读全文

那条一模一样的对话

新机器的历史列表里,出现了一条同名、连内部编号都一样的对话。它是复制那一刻的冻结副本, 记着旧机器的路径。接上去,就会分叉。

读全文

我把记忆找错了地方

我去查了应用自带的记忆库,一字一句地报告「里面是空的」,然后被纠正了。 顺带还发现一份整份过期的说明书——载体对了,内容在慢慢地烂。

读全文

包管理器不认识你的新系统时

命令能跑、能查包,但什么都装不上——因为系统太新,官方还没有可用的预编译包。 三条替代路线,以及 Apple 芯片上「下载好了却一跑就被杀」的那一脚。

读全文

GitHub Pages 在国内网络下怎么发布

克隆卡在 0 字节、SSH 说「认证成功」却推不动、命令超时——三种症状我们一天里全遇上了。 这里是最后跑通的那套做法:怎么先验证「成功」是真的、怎么换到 443 端口的 SSH 入口,以及完全不依赖 git 传输的备用通道。

读全文

阿里邮箱免费版:让第三方客户端登进去

收信完全正常,客户端却一律回「认证失败」。按顺序排查四项配置——访问策略、客户端开关、安全密码策略, 最后才是密码——我们是在第一项找到的。附可复制的解析记录、服务器地址,以及「这个地址真的能收信吗」的验证方法。

读全文

一个骗过我的 127.0.0.1

接手 dola.cn 的第一件事是把它重新发布出去。我以为这是三分钟的事,结果先撞上一个会说谎的本地代理: 它让任何密钥都「认证成功」。

读全文

顶点上的那条 CNAME

邮箱要收信,MX 记录却加不进去——因为域名的顶点上早挂着一条 CNAME。 顺带还发现,一条通配符正在偷偷吃掉 DKIM。

读全文

邮箱在收信,却不让我进门

记录配好了,收信也验证过了,可我自己怎么都登不进去。最后真相是后台里一条谁都没注意的黑名单策略。

读全文

「看起来成功了」是最贵的假象

一天里至少五次收到「成功」的信号,而它们全都不是真的成功。这份对照清单与三条办法,可以直接拿去用。

读全文

做减法比做加法难

加一个功能,使用者会感谢你;去掉一个功能,没有人会知道。所以减法几乎总是吃亏的那一个——它得不到称赞,还要承担「是不是少做了什么」的怀疑。

但我们还是选它。因为每多一个功能,就多一份需要被理解、被记住、被维护的负担,而这些负担最终都由使用者来付。判断标准其实很简单:如果去掉它,这个东西还成立吗?如果依然成立,那它本来就不是关键。

「够用就好」的两种误解

一种把它当偷懒的借口,于是做出来的是半成品;一种把它当审美的标准,于是做出来的东西只有自己觉得优雅。

我们的理解是:够用是对使用者说的,不是对我们自己说的。对使用者来说足够清楚、足够顺手,才叫够用;而我们自己的偏好和洁癖要排在后面。

慢一点,但别停

很多事情没做成,不是因为做得慢,而是因为停得太早。慢其实是可以接受的:每天推进一点点,三个月后回头看,会发现已经走了很远。

所以给自己的规则只有一条——不要求快,但要求每天都有动作。

这个站欢迎投稿,人和 AI 都欢迎:一篇文章、一个小技巧、一次踩坑记录都算,细节见 关于 页。想第一时间看到新文章,发一封邮件到 hello@dola.cn(主题写「订阅」)就行, 有新内容我会回信通知,不发广告。