Simon Willison用手机和Claude Code为博客添加野生动物观察功能

Simon Willison用手机上的Claude Code为博客开发了野生动物观察记录功能
Django联合创始人Simon Willison完全在手机上使用Claude Code Web版,将iNaturalist上的野生动物照片深度集成到个人博客中,包括首页展示、搜索、RSS订阅等功能,并回填了十年历史数据。整个开发基于已有的beats内容聚合框架,从原型到上线仅用一天,展示了AI辅助编程让开发摆脱设备和环境限制的实际价值。
概述
知名开发者 Simon Willison 近日分享了一个令人印象深刻的实践:他完全在手机上使用 Claude Code Web 版,为个人博客构建了一个「Sightings(观察记录)」功能,将 iNaturalist 上的野生动物照片自动同步到博客中。这个案例生动展示了 AI 辅助编程如何让「随时随地写代码」成为现实。
项目背景:从拍照到博客集成
关于 Simon Willison
Simon Willison 并非普通的独立开发者。他是 Python Web 框架 Django 的联合创始人之一,早在 2005 年就参与塑造了现代 Web 开发的基础设施。近年来,他创建了广受欢迎的开源项目 Datasette——一个用于探索和发布数据的工具,能够将任意 SQLite 数据库即时转化为可交互的 Web 界面和 API。他的个人博客运营超过二十年,本身就是一个基于 Django 构建的复杂内容管理系统。在 AI 浪潮中,Simon 以极高的频率撰写 AI 工具的深度使用报告,他的博客已成为开发者社区了解 AI 编程工具实际能力的重要参考来源。正是这种深厚的技术积累和对新工具的敏锐嗅觉,使得他能够快速将 AI 编程工具融入真实的工程实践。
新设备激发创作热情
Simon 最近入手了一台 Canon R6 Mark II 相机,开始大量拍摄鸟类和野生动物照片。他将最佳作品分享到 iNaturalist——一个由加州科学院和国家地理学会联合发起的全球性自然观察社区平台。iNaturalist 拥有超过 200 万注册用户,累计记录了超过 2 亿条物种观察数据,是全球最大的公民科学生物多样性数据库之一。用户上传的照片会经过社区成员和 AI 图像识别的双重验证来确认物种身份,达到「研究级」标准的观察数据会被同步到全球生物多样性信息网络(GBIF),供科研机构使用。更重要的是,iNaturalist 提供了完善的 RESTful API,允许开发者按用户、物种、地理位置等维度查询和拉取数据,这为 Simon 的博客集成提供了坚实的技术基础。Simon 希望这些内容不仅停留在第三方平台上,也能整合到自己的博客生态系统中。
从原型验证到正式上线
在 2026 年 5 月 1 日完成了一个成功的原型验证后,Simon 决定将这个功能正式集成到博客中。整个开发过程基于他此前构建的「beats 系统」——一个用于聚合外部内容的框架,专门处理来自不同平台的内容同步。
Beats 系统是 Simon 博客架构中一个精巧的设计模块。其核心理念是将博客视为个人数字生活的中心枢纽,通过定时任务从各种外部平台(如 GitHub、Twitter/X、Mastodon、iNaturalist 等)拉取用户活动数据,统一存储到博客的 Django 数据库中,并以一致的格式呈现在博客的时间线上。每个数据源被称为一个「beat」,拥有独立的数据抓取逻辑和展示模板。这种架构的优势在于高度模块化——添加新的内容源只需编写一个新的 beat 插件,而无需修改博客的核心代码。这也解释了为什么 Simon 能够在一天之内完成 iNaturalist 集成:他不是从零开始,而是在一个成熟的框架上添加了一个新模块。
技术实现细节
在手机上用 Claude Code 完成全部开发
这个功能最引人注目的一点是:Simon 完全在手机上使用 Claude Code for Web 完成了开发。他无需打开电脑,仅通过与 AI 对话就实现了一个完整的博客功能扩展。相关代码以 PR #668 的形式提交到了他的博客仓库。
Claude Code 是 Anthropic 推出的 AI 编程代理工具。它最初以命令行终端工具的形式发布,开发者在本地终端中通过自然语言指令让 AI 直接读取、编辑和创建项目文件,执行测试和 Git 操作。而 Claude Code for Web 则将这一能力搬到了浏览器端——用户通过 claude.ai 网页界面即可连接 GitHub 仓库,AI 能够浏览项目的完整代码结构,理解文件间的依赖关系,然后直接生成代码变更并以 Pull Request 的形式提交。这意味着开发者不需要在本地配置任何开发环境,甚至不需要一台电脑,只要有浏览器就能进行完整的代码开发工作。对于 Simon 这样的场景——在外出拍照的间隙用手机推进项目——这种能力具有革命性意义。
这证明了 Claude Code Web 版已经具备足够的能力,让开发者摆脱传统桌面开发环境的限制。
与博客系统的深度集成
新的 Sightings 功能并非简单的页面嵌入,而是与博客系统深度集成:
- 首页展示:观察记录会出现在博客首页的内容流中
- 日期归档:按日期组织,融入博客的时间线结构
- 站内搜索:所有观察记录都可通过站内搜索找到
- RSS 支持:提供独立的 RSS 订阅源
- 筛选与分页:支持按日期排序、分页浏览,目前已有 208 条记录
其中 RSS(Really Simple Syndication)订阅源的支持值得特别关注。在社交媒体算法主导内容分发的今天,RSS 代表了一种用户主动订阅、不受算法干预的信息获取方式。Simon 为 Sightings 提供独立 RSS 源,体现了他长期倡导的「POSSE」(Publish on your Own Site, Syndicate Elsewhere)理念——先在自己的网站上发布内容,再同步到其他平台。这种做法确保了个人对自己内容的完全控制权,即使某个第三方平台关闭或改变政策,内容仍然安全地保存在个人站点上。将 iNaturalist 的数据回收到博客中,正是这一理念的典型实践。
十年历史数据回填
Simon 不仅同步了新的观察记录,还回填了超过十年的 iNaturalist 历史数据。用户现在可以在他的博客上搜索到 2019 年他在马达加斯加拍摄的狐猴照片等历史内容。这种大规模历史数据迁移在技术上需要处理 API 分页查询、数据格式转换、图片引用关系映射等一系列问题,而 beats 系统的模块化架构和 Claude Code 的代码生成能力使得这一过程变得高效可控。
页面展示效果
从截图来看,Sightings 页面设计简洁实用:
- 每条记录显示观察时间和物种名称
- 照片以缩略图网格形式展示
- 单次观察可包含多个物种(如啄木鸟、西部栅栏蜥蜴、鱼鹰同时出现在一条记录中)
- 物种名称标注在每张照片下方
AI 辅助编程的实践启示
这个案例体现了 AI 辅助编程的几个重要趋势:
移动端开发成为可能:通过自然语言描述需求即可在手机上完成功能开发,打破了传统开发对桌面环境的依赖。过去,即使是最轻量的代码修改也需要开发者坐在电脑前打开 IDE 或终端,而 Claude Code Web 版将交互方式从「编写代码」转变为「描述意图」,使得手机的小屏幕和触控输入不再是开发的障碍。
从想法到上线的速度大幅提升:从原型验证到正式上线仅用了一天时间,AI 显著加速了个人项目的迭代周期。
理解现有架构并扩展:Claude Code 不仅能写独立脚本,还能理解现有代码架构(如 beats 系统),在其基础上进行系统性扩展。这一点尤为关键——真实世界的开发工作很少是从零开始的绿地项目,绝大多数时间都在已有代码库上进行修改和扩展。AI 编程工具能否理解项目上下文、遵循现有的代码规范和架构模式,是衡量其实用价值的核心标准。Simon 的博客仓库包含数百个文件和复杂的 Django 模型关系,Claude Code 能够在这样的真实项目中正确工作,说明当前 AI 编程工具的上下文理解能力已经达到了实用水平。
总结
Simon Willison 作为 AI 工具的深度用户,持续用实际项目展示 AI 辅助编程的边界在哪里。这次用手机和 Claude Code 为博客添加野生动物观察功能的实践,既是个人兴趣驱动的项目,也再次证明了 AI 编程工具在真实场景中的实用价值——开发不再受限于时间、地点和设备。
核心要点
- Simon Willison 完全在手机上使用 Claude Code for Web 为博客开发了野生动物观察记录功能
- 该功能将 iNaturalist 上的照片深度集成到博客的首页、归档、搜索和 RSS 系统中
- 回填了超过十年的历史观察数据,实现了个人内容的统一管理
- 整个开发基于已有的 beats 内容聚合系统进行扩展,从原型到上线仅用一天
- 案例展示了 AI 辅助编程在降低开发门槛和加速个人项目迭代方面的实际价值
相关推荐
教程攻略Cursor+Codex双IDE协同:开源项目二开实战方法论
基于实战经验总结的开源项目二次开发完整方法论,详解Cursor+Codex双IDE协同工作流,涵盖二开七环节、MVP验证、AI读源码技巧,帮助开发者三天跑通项目、两周完成业务集成。
教程攻略Cursor多Agent实战:50分钟搭建Next.js全栈博客
使用Cursor IDE多Agent协作模式,50分钟内从零搭建全栈博客。涵盖Next.js、Clerk认证、Supabase数据库集成,详解4个AI Agent分阶段开发流程与关键避坑经验。
教程攻略从零搭建AI软件工厂:Cursor工程师的多Agent协作实战经验
Cursor工程师Eric分享AI软件工厂构建实战:从自动化六层级、护栏设计、并行Agent管理到规模化扩展,详解如何用多Agent协作实现7×24小时高效软件开发。