最近给自己的个人站换了一种打开方式:不再是一排排链接,而是把网站折成一片纸模型大陆。应用、开源项目和其他内容各住一座城;每个链接变成城里的一栋建筑,点进去就能到原来的页面。
后来把这套东西拆成了一个 Agent Skill ,叫 site-to-map。如果你有个人主页、导航站或书签列表,可以让 Codex 、Claude Code 之类的 agent 读入内容,整理分类、生成配置,再构建一张可探索的 3D 地图。
效果可以先看我的站:

地图里有什么
地形由种子生成:海岸、山、河流、道路和森林都不是手画的一张固定背景。城市按内容分组,建筑可以按链接的含义挑造型;没有指定造型时,引擎会尽量让轮廓多样一些。河流会绕开生成的城镇,桥和道路把它们连起来。
地图有拖拽、缩放、城市导航和导览;时间、天色和路灯跟随本地时间变化。手机和平板会用更轻的悬浮信息气泡。站点支持多语言配置,也可以选择打开键盘快捷键。
同一份配置还可以用域名作为种子,所以我的四个域名会长出不同的地形,但城和建筑保持一致——算是给同一份内容做了四张不同的地图。
想试试的话
可以先安装 skill:
npx skills add dofy/site-to-map
然后给 agent 一个网址,或者导出的书签文件,比如:
把我的书签做成一张地图,分成四座城,用岛屿地形。
agent 会规划分类、生成 site.json、构建页面并截图检查。城镇名称、分组、建筑类型、地形种子等都可以继续调整;生成结果是独立页面,需要通过 HTTP 服务打开。
目前更适合有明确分类和链接的个人主页、导航站、link-in-bio 或书签。地图依赖 WebGL ;不支持 JavaScript 时会保留链接列表。skill 默认使用来源网站的主要语言,不会自动翻译成其他语言。复杂的交互式应用不一定适合直接套进去。
项目用 three.js ,MIT 开源。目前还在继续打磨,欢迎试试,也欢迎吐槽生成效果或提出想加的建筑和场景。