1) 摘要
我用 Trae SOLO 做了故事地图:输入一个历史人物名字,就能自动生成一份可交互的 HTML 地图课件,包含人物要点、地点事件卡片、轨迹连线,并支持时间轴联动查看不同时间窗下的人物群像关系。
它把课本里的“人物—事件—地点”从文字变成可回放的时空叙事,让老师备课更省心、让学生理解更直观。
2) 背景
我本科学GIS出身,平时对历史地理,人文诗词也比较感兴趣,再读到三国演义里面诸葛亮的北伐路线,看到李白的诗句时,总是把他们的行动轨迹还原出来。
现在也算个半个开发者,想把自己的技能整合做点有意思的东西。故事地图就是把兴趣爱好和专业技能结合的产物。
过去把一个历史人物讲清楚,往往要手工:查生平、整理年表、对照古地名、在地图上标点连线——费时还难复用。我希望用 SOLO 把这套流程自动化,让“文字里的历史”在地图上真正走起来。
3) 实践过程
3.1 我怎么拆解任务的
- 先把“输出形式”定死:最终要生成一个浏览器可打开的单页 HTML(能投屏、能分享)
- 再把流程拆成四段:
- 人物 → 结构化生平 Markdown(含年份/地点/事件)
- Markdown → 结构化数据(要点、年表、地点列表)
- 地名 → 坐标(优先本地索引 + CHGIS 兜底)
- 数据 → 地图渲染 + 时间轴联动 + 群像关系网
3.2 我用了 SOLO 哪些能力
- 快速理解旧代码结构并重构目录:把杂乱脚本收拢为 cli/ ,减少维护成本
- 端到端联调:生成服务 /generate + 进度轮询 /task + 前端跳转打开人物页
- 交互优化:时间轴滚轮缩放、惯性拖动、刻度吸附,群像关系网与时间窗强联动
- 质量回归:每次改完都做生成服务/页面/脚本的冒烟检查,避免“看起来好了但用不了”
3.3 关键 Prompt / 操作过程(示例)
- “请把人物生平输出为结构化 Markdown:包含生卒、朝代、人物要点、按年份列出地点与事件”
- “对地点做标准化,尽量给出现代地名,并输出用于地图渲染的数据字段”
- “当古地名无法直接定位时,优先用 CHGIS 的地名查询结果作为坐标来源,再兜底在线地理编码”
3.4 中间踩过的坑
- 群像视图“不顺手”(自动居中/闪烁抢操作):调试过程中经常“按下葫芦起来瓢”。需要单步调试:去掉闪烁,加入用户操作冷却,并用时间窗高亮带增强联动感
- 目录太乱影响复现:把脚本集中到 cli/ ,把古地名索引移到 data/ ,让项目更像一个可交付作品
4) 成果展示
-
GitHub(代码 + 数据 + 示例人物 md/html):
https://github.com/cuizicheng1024/map_story_poster
5) 效果与总结
- 以前:整理一个人物的“时间—地点—事件”要反复查证、手工制图,容易把时间花在机械劳动上
- 现在:把这部分交给 SOLO 自动化处理,我能把更多精力放在“讲清楚一个人”——他为什么做出那个选择、他如何在时代的推搡中完成自我,以及这些经历如何与我们当下的生活产生共鸣
- 可复用的方法:先固化输出形态(HTML 课件)→ 再拆 pipeline → 最后做联动与回归测试,保证可用性与可迭代性
最后做个无奖测试,猜猜下面这两个人物是谁
-
问余平生事业,黄州惠州儋州
-
关东有义士,兴兵讨群凶



