Simon Willison 新买了 Canon R6 Mark II,于是开始拍更多鸟类照片。照片原本发在 iNaturalist,现在被同步到了他的个人博客里。

入口是一个新页面:/elsewhere/sightings/。页面展示野生动物观察记录,包括时间、物种名称和照片。站内搜索、日期归档、首页和 RSS 也会接住这些内容。

这件事有意思的地方不在“又多了一个照片页”。而是一个老问题被重新摆上桌面:个人内容发在外部平台以后,还能不能回到自己的长期档案里?

新页面做的不是展示照片,而是接管索引

Willison 的做法很克制。他没有把 iNaturalist 替换掉。

iNaturalist 仍然是发布野生动物观察、参与物种社区的地方。个人博客承担的是另一件事:把这些记录纳入自己的归档、搜索和订阅系统。

这就是主线。

外部平台给社区和分发,个人网站拿回记忆和索引。

位置原本角色同步后的变化更该关注的点
iNaturalist发布自然观察、参与物种社区仍是照片来源平台价值没有被替代
个人博客文章、链接、归档增加 Sightings 观察记录个人数据中枢变强
站内搜索 / RSS服务博客内容可搜、可订阅观察记录长期可发现性提升

他还回填了十多年 iNaturalist 记录。一个具体例子是,站内搜索 “lemur”,已经能找到他 2019 年在马达加斯加拍摄的狐猴照片。

这比新页面更重要。

很多个人数据不是丢了,而是沉在平台里。你知道它存在,但几年后很难再被顺手找到。进入站内搜索以后,旧照片不再只是平台时间线上的旧内容,而成了个人知识库的一部分。

Claude Code 的角色:补一个边界清楚的小系统

这个功能不是从零搭出来的。

Willison 说,它基于自己已有的 beats 系统。beats 的用途,是把他在外部服务上的内容聚合到个人博客。Sightings 是这个系统的新扩展。

开发方式也值得看。他称自己是在手机上使用 Claude Code for web 完成了这个功能,并公开了 PR 和 prompt。

这里不要夸大。

原文没有说 Claude Code 独立完成了全部开发,也没有披露同步频率、API 方案、错误处理或性能数据。所以它不能被说成成熟产品,更不能被包装成通用自动化服务。

它能说明的是另一件事:AI 辅助编程在“小而明确”的任务里很适合发力。

条件大致是这样的:

条件这次案例里的对应对开发者的提醒
已有系统beats 外部内容聚合系统AI 更适合扩展已有代码,而不是凭空造平台
任务边界清楚把 iNaturalist sightings 接入博客需求越具体,工具越有用
维护者懂代码库Willison 自己维护个人站人仍要判断取舍和验收结果
信息未完全公开未披露同步细节和稳定性不要照着想象补技术细节

对关注 AI 辅助编程的开发者,这个案例的启发很实际:别只盯着“AI 能不能写完整应用”。更值得试的是,把它放进自己熟悉的代码库里,让它补一个入口、改一段导入逻辑、接一类外部数据。

这种任务不炫,但省力。

对独立博客维护者:先判断值不值得同步

不是每个外部平台内容都值得搬回个人站。

如果只是短期状态、临时互动、随手点赞,同步回来会制造噪音。真正适合回流的,是那些多年后仍有检索价值的内容:照片、读书记录、代码项目、旅行轨迹、影评、自然观察。

个人网站维护者可以先做一个小判断:

要同步的内容值得同步的理由需要接受的成本
野生动物观察、摄影作品有时间、地点、对象,长期可检索要处理导入、去重、页面展示
GitHub 项目、技术笔记能和文章、搜索、归档互相连接要维护格式变化
运动、观影、读书记录适合形成个人时间线容易把博客变成杂物堆
社交平台碎片分发价值高,归档价值不稳定噪音大,筛选成本高

对独立博客维护者,动作不一定是马上复制 Sightings 页面。更现实的做法,是先选一个最有长期价值的数据源,接进站内搜索和归档。

不要一口吃成胖子。

先让一类外部内容回家,再看维护成本能不能承受。API 变动、字段变化、图片托管、重复记录,都会变成长期清单。独立网站的自由不是免费午餐,只是把平台规则换成了自己的维护责任。

接下来真正该观察的,也不是这个页面会不会更漂亮。

更关键的变量有两个:beats 系统能否稳定接住更多外部来源;当外部平台接口或数据格式变化时,个人维护成本会不会升高到不值得。

如果这两个问题能压住,个人博客就不只是文章发布器。它会更像一个可搜索、可订阅、可迁移的个人数据中枢。

这也是这次小更新最硬的地方:它没有喊“重回个人网站时代”,只是把一批十多年旧记录,真的拉回了自己的站内索引。