# iNaturalist Sightings Canonical URL: https://www.traeai.com/articles/3a518683-155d-41b2-9134-772013e9d666 Original source: https://simonwillison.net/2026/May/1/inat-sightings/#atom-everything Source name: Simon Willison's Weblog Content type: article Language: 中文 Score: 7.2 Reading time: 2 分钟 Published: 2026-05-01T19:35:41+00:00 Tags: iNaturalist, CLI, Git scraping, LLM, frontend ## Summary Simon Willison 构建了一个轻量级前端工具 iNaturalist Sightings,通过 CLI 抓取 + GitHub 托管 JSON + 纯 JS 渲染,实现跨账号观鸟记录聚合与懒加载展示。 ## Key Takeaways - 用 Claude Code 在手机上快速生成完整工具链,体现 LLM 辅助个人开发的新范式 - 采用 Git scraping 模式将动态数据静态化,兼顾可追溯性与部署简易性 - 纯前端 fetch + modal 展示方案规避后端依赖,适合个人数据小规模可视化 ## Outline - 工具目标 — 聚合多个 iNaturalist 账号的观测记录,并按时空邻近性分组展示。 - 数据获取层 — 开发 inaturalist-clumper CLI 工具,支持按 2 小时/5km 规则聚类观测数据。 - 数据托管层 — 通过 Git scraping 将 clumps.json 提交至 GitHub,提供 CORS 可访问的静态 JSON 接口。 - 前端渲染层 — 用纯 HTML/JS 实现懒加载缩略图与点击弹出高清图的交互逻辑。 - AI 辅助开发 — 全程在手机端使用 Claude Code 生成代码,验证 LLM 驱动个人工具开发的可行性。 ## Highlights - > 我 camping 这个周末所以完全在手机上用 Claude Code 构建了这个工具。 — 正文第 2 段 - > inaturalist-clumper 默认按 2 小时内、5 公里内观测进行‘clumping’(聚类)。 — 正文第 3 段 - > GitHub 托管的 JSON 文件天然支持 CORS,可被前端直接 fetch,无需后端代理。 — 正文第 4 段 - > prompt 明确指定:用 small.jpg 懒加载缩略图,点击后 modal 展示 large.jpg 并显示物种通用名。 — 正文第 5 段 ## Citation Guidance When citing this item, prefer the canonical traeai article URL for the AI-readable summary and include the original source URL when discussing the underlying source material.