修复 AI 追加轮后路线示意只剩一个点

根因: runPlan 追加轮把 state.nearby 置 null, payload.nearby 随之为空, 模型第二版不再点名具体地点; extractPlanPlaces 的 nearby 来源(带坐标)空了, 加粗词又无坐标, 无 Key 时全被判 missing -> 只剩 1 个已选目的地。

- 追加轮沿用 state.nearby 并继续放进上下文; 提示词要求保留加粗点名
- extractPlanPlaces(text, inherit) 继承上一版坐标 + 否定语境护栏
- planVersions 存 routePoints, 版本切换/回到初版/载入保存方案同步重绘
- previous 改用 currentPlanText(), drawRouteMap 用 state.routeMissing
- 新增 test-route-map-followup.cjs / verify-route-map-followup.cjs 与 README 说明
This commit is contained in:
2026-11-06 09:58:06 +08:00
parent 7ad86c6619
commit 1f902bc49b
6 changed files with 551 additions and 23 deletions
+3 -1
View File
@@ -134,7 +134,9 @@ function buildMessages(payload, systemPrompt, extra = {}) {
content:
`在上一版方案的基础上做如下调整:${extra.followUp || '请自行提升可执行性'}\n\n` +
'要求:输出调整后的**完整**方案,保持原有 Markdown 结构(方案总览 / 逐日安排 / 天气与装备 / 交通方案 / 预算粗估 / 出发前清单 / 风险与备选)。' +
'不要只输出改动片段,也不要写「已按要求修改」之类的交代;与上一版冲突的地方直接改掉,并在「风险与备选」里说明取舍。',
'不要只输出改动片段,也不要写「已按要求修改」之类的交代;与上一版冲突的地方直接改掉,并在「风险与备选」里说明取舍。' +
'另外:上一版点名的具体地点(**加粗**的景区、餐馆、场馆等)要继续写出名称,不要退化成「某片区」「自行核实」;' +
'若调整后新增或替换了地点,请从上下文 JSON 的 nearby / shortlist 里取真实名称,并同样用 **加粗** 标出,供行程路线示意定位。',
});
}
return msgs;