2026年11月13日,开源中国历史交互地图《江山时序》在 GitHub 发布页 推出 v1.3.0 版本。读史书或做历史科普时,想把王朝疆域和行军路线摆上同一张图,现在不用自己搭建 GIS 后台,打开 官方网页端 就能拖动公元前403年至2026年的时间轴,也能把整套地名库接进 Claude 或 Cursor 当成工具调用。
新版本直接能用的三项实操功能
这次更新最贴近日常读史的是「点事溯局」模式。安史之乱(?event=anshi)、靖康之变(?event=jingkang)和楚汉之争(?event=chuhan)三场大战,每场拆成 10 个节点与三幕流程,对阵双方用不同颜色标出进攻与防守线路;一旦战事跨越朝代更替,底图版图会跟着年份自动切换。你既可以在搜索框里输入战事名称,也能点击时间轴大事旁的入口直接切进沙盘。
地形与海岸线也补进了历史变化。新版本加入 9 处古海岸线演变阶段,拖动时间轴就能看清渤海湾西岸、苏北平原和珠三角如何逐步成陆,以及 1823年以前仍存在的台南台江内海;地图放大后还会按需加载 z5 到 z6 级别的山体晕渲图块(每像素约 2 km 至 1 km),关中、秦岭和太行一带的地势起伏一眼能看出来,在省流量模式或慢速网络下则会自动跳过加载。
拿来给学生或读者演示时,播放键旁边新增了语音朗读开关,开启后会调用浏览器自带语音依次读出纪年、年号与当年大事,同时自动压低古琴背景声;拖动时间轴两侧把手,还能把秦、三国、五代等短时期最多放大到 16 倍来细看。配合这次更新,全库扩充到了 198 幅版图快照与 526 条编年大事,同步加载的首屏脚本则从约 576 KB 减至 374 KB(gzip 压缩后瘦身 35%)。

不写代码怎么画明代路线或自定义行军图
如果你读的是明史人物、诗词游记,或者想在地图上标出其他朝代的行军路径,往往不需要重头另起炉灶。项目覆盖的 18 个历史时期里已经包含明代(1368年—1644年)多阶段版图,收录了朱元璋建明、徐达北伐、常遇春克上都、永乐十三年两京十三省,以及哈密卫、关西七卫、郑和下西洋航线与嘉峪关、山海关等明代雄关。内置的 124 位以上人物行迹里,王阳明(1472年—1529年)从余姚、龙场悟道到 35 天平定宁王叛乱的十站行程也已经可以直接步进播放,还能用「多人同看」把两三位同时代人物叠在一条时间轴上找交会点。
遇到菜单里没有的路线,可以利用项目在 llms.txt 说明文件 里公开的双参数 URL 协议,只需在网址后拼入年份和地名,网页就会自动换算坐标、绘制编号弧线并弹出古今政区沿革卡片:
- 单点定位:在网址后加上
?year=1415&place=应天府,即可跳转到明永乐十三年并标出南京应天府;悬停政区还支持?hover=应天府高亮当朝一级州府。 - 同年多站连线:把
place参数设为按顺序排列的多个地名并用英文逗号隔开,地图就会按编号连成朱砂弧线并自动缩放取景框,例如杜甫 763年自剑外经巴峡、巫峡、襄阳至洛阳的归乡路。 - 跨年时空路线:同时在
year和place两个参数中按相同顺序传入逗号分隔的年份与城名(如苏轼从湖州、黄州、惠州到儋州的跨年贬谪路线),点击任意站点底图都会跳转到对应朝代。 - 双路会师路线:需要画出两支兵马向同一战场汇合时,在
place参数里用分号隔开两段路线序列即可同屏渲染,例如赤壁之战前曹军与孙刘联军的两路进军。 - 嵌入网页或课件:在设定好视角与区间的链接末尾追加
&embed=1,再搭配from和to限定时间轴范围,就能直接放进博客、Notion 或在线课程的 iframe 里,并且不会卡住页面正常滚动。

把历史地图接进 Claude、Cursor 和本地工作流
如果你平时常用大模型整理史料或给读物配图,GitHub 主仓库 提供了三种免改代码就能接入的方案,核心思路都是让模型只负责从文本里推理出年份和地名,不去硬猜经纬度。
最常用的是本地 stdio MCP 服务。把仓库克隆到本地后,在 Claude Desktop、Cursor、Windsurf 或 Gemini CLI 的 mcpServers 配置文件里填上 node scripts/mcp_server.js 即可启动。整个服务端没有任何第三方 npm 依赖,离线单次查询响应不到 5ms,向模型暴露 inspect_place、inspect_person 和 search_atlas 三个工具,能直接返回当朝皇帝年号、所属政权、州郡府级建置、现代省市对应关系以及直达链接。
在命令行智能体场景下,可以把仓库里的 skills/jiangshan-atlas 目录复制到全局技能文件夹中,借助内置的无依赖 Python 脚本 jiangshan.py,按年份与地名直接输出路线截图和 JSON 结构化数据。如果使用支持 WebMCP(navigator.modelContext)的浏览器,打开网页时页面还会自动向浏览器上下文注册定位、检视与人物查询接口,并开放 window.atlasAPI 供 Playwright 脚本调用。

上手或二次开发前要核对的三条边界
先看内容范围与史料精度。目前「点事溯局」双阵营三幕推演只做完了安史之乱、靖康之变和楚汉之争三场;用 URL 参数拼出的自定义轨迹可以显示序号弧线和分号会师线,但不会自动生成分幕战局解说。网页底部也明确注明,图上的历代疆域和政区边界属于示意性近似,不是精密测绘地图;全库 1,455 条大事、事件、人物和行迹里,现阶段已有 139 条在 data/sources/ 目录标明了二十四史或《资治通鉴》出处,做严谨学术引用仍需回查原典。
再看代码与数据的授权拆解。前端程序、手工重绘的政权轮廓、人物传记和山体渲染图块都以 GPL-3.0 协议开源,唯独精细到州、郡、府一级的政区边界并非 GPL-3.0——这部分边界依据学术库 CHGIS V6 与 Robert M. Hartwell 数据简化到 0.01° 整理而成,受原始授权约束,只允许非营利的学术与教学使用,严禁再分发。仓库的 GeoJSON 导出工具 scripts/export_geojson.js 默认会略过这一层,只有在本地加上 --with-prefectures 参数时才会输出,导出成果不能公开发布。
最后看部署门槛。项目完全使用原生 JavaScript 搭配 SVG 与 Canvas 混合渲染,没有任何前端构建工具依赖,在本地目录运行 python3 -m http.server 8000 就能启动预览,也可以用自带的 Docker Compose 文件一键部署在 8008 端口。如果你想基于这份底图另做细分朝代专题,先看清上述政区图层的再分发限制,再决定是否直接引用在线深链或另建政区数据。

手头如果已经有某段历史或某本史书的地名表,可以先用官方网页测试几个关键古地名与跨年链接,确认内置 1,753 座古城和 20 座名关词库能否准确识别,再决定是直接嵌入深链,还是拉取仓库做二次扩展。