Update AI planner integration, docs, and config
AI Code Review / review (pull_request) Successful in 11m45s

This commit is contained in:
周瑞哲
2026-07-30 16:33:39 +08:00
parent 33c14eec86
commit ac4179086c
13 changed files with 192 additions and 29 deletions
+6 -3
View File
@@ -5,7 +5,6 @@ import {
cloneTravelPreferences,
createLocalPlan,
createRecommendedPlan,
normalizePlanResponse,
normalizePlanningRequest,
normalizeTravelPreferences,
type PlanningOrigin,
@@ -15,7 +14,7 @@ import {
TravelValidationError,
} from '@/domain/travel'
import { createRemoteRecommendations, isRemoteTravelAssistantEnabled } from './remote'
import { loadPlan, loadPreferences, savePreferences } from './storage'
import { loadPlan, loadPlanningRequest, loadPreferences, savePlanningRequest, savePreferences } from './storage'
interface LocalSession {
plan: PlanResponse
@@ -55,7 +54,8 @@ function restoreLocalSession(conversationId: string): LocalSession | null {
const preferences = loadPreferences()
if (!plan || !preferences || plan.conversationId !== conversationId)
return null
rememberLocalSession(plan, {
const storedRequest = loadPlanningRequest()
rememberLocalSession(plan, storedRequest ?? {
mode: plan.itinerary.planningMode,
preferences,
durationMinutes: plan.itinerary.requestedMinutes,
@@ -118,11 +118,13 @@ export async function createPlan(
remote.generationMode === 'real' ? 'remote_ai' : 'remote_mock',
)
rememberLocalSession(plan, request)
savePlanningRequest(request)
return clonePlanResponse(plan, repository)
}
const plan = createLocalPlan(request, repository)
rememberLocalSession(plan, request)
savePlanningRequest(request)
return clonePlanResponse(plan, repository)
}
@@ -153,6 +155,7 @@ export async function adjustPlan(conversationId: string, message: string): Promi
adjusted.plan.source = session.plan.source
}
rememberLocalSession(adjusted.plan, adjusted.request)
savePlanningRequest(adjusted.request)
savePreferences(adjusted.preferences)
return clonePlanResponse(adjusted.plan, repository)
}