西蒙·威尔森推出iNaturalist观察记录工具,按时间和地点分组

Simon Willison··作者 Simon Willison

关键信息

分组逻辑默认将相距2小时内且5公里内的观察记录归为一类;最终的应用程序通过CORS获取JSON,并用JavaScript动态渲染物种名称和图片。

资讯摘要

西蒙·威尔森创建了一个工具,用于将他的两个iNaturalist账户中的观察记录按时间和地点分组,整个过程完全在他手机上完成,使用了Claude Code辅助开发。他开发了一个名为 `inaturalist-clumper` 的Python命令行工具,根据距离和时间(默认2小时、5公里)对观察记录进行聚类。该工具运行在一个Git爬取仓库(`simonw/inaturalist-clumps`)中,自动更新托管在GitHub上的JSON文件。

该JSON可通过CORS公开访问,使得一个简单的HTML应用可以获取并显示所有观察记录的缩略图。点击缩略图会弹出包含完整图片和常见物种名称的模态框。整个流程从爬取到可视化都是自动化的、可复用的且开源的。

西蒙·威尔森推出iNaturalist观察记录工具,按时间和地点分组

资讯正文

工具:iNaturalist 观察记录

我想要查看我在两个独立账户上的 iNaturalist 观察记录,并按时间分组。这个周末我要去露营,于是我完全用手机,借助 Claude Code for Web 构建了这个工具。

我首先编写了一个名为 inaturalist-clumper 的 Python 命令行工具,用于获取并“聚合”观察记录——默认情况下,聚合规则是将相距不超过 2 小时、5 公里的观察记录归为一组。

接着,我把 simonw/inaturalist-clumps 设为一个 Git 抓取仓库,运行该工具并将结果保存到 clumps.json 文件中。

这个 JSON 文件托管在 GitHub 上,因此可以通过 JavaScript 使用 CORS 获取它。

最后,我在我的 simonw/tools 仓库中运行了以下提示语:

<blockquote>

<p>构建 inat-sightings.html —— 一个应用,它通过 fetch() 请求 https://raw.githubusercontent.com/simonw/inaturalist-clumps/refs/heads/main/clumps.json,然后在单个页面上展示所有观察记录,使用 https://static.inaturalist.org/photos/538073008/small.jpg 的缩略图 URL(加载方式设为 lazy),当点击缩略图时,在 HTML 模态框中显示 large.jpg 图片。缩略图和大图都应包含可用的常见物种名称。</p>

</blockquote>

标签:工具、claude-code、inaturalist、生成式 AI、AI、LLMs

来源与参考

  1. 原始链接
  2. Tool: iNaturalist Sightings

收录于 2026-05-02