feat(web): AI 立项方案生成+预填(种子门控 + 按字段接受)

向导阶段(project 未建)一键推演结构化书级蓝图预填立项向导。

- 新 SPEC project_plan_spec(analyst 档,纯预览 reads/writes=())+ schema
  ProjectPlanResult(书名候选 + 时空背景/叙事结构/故事核心/结局设计/基调,
  全字段默认值守解析韧性)+ 注册 SCHEMA_CATALOG;计数三处 21→22 + regen golden。
- 端点 POST /skills/project-plan/generate(不带 project 前缀,绕开 toolbox 404):
  请求体序列化向导草稿为 project_context,复用 build_brief_context + run_generator;
  种子门控(缺 genre/logline→422);请求 schema 加 max_length 上界。
- run_generator/_build_request 的 project_id 放宽 uuid.UUID|None(向导无 project)。
- 前端 wizard.ts 加 mapPlanResultToWizardForm(错配字段折进 premise 不静默丢)+
  applyPlanPatch(仅回填空字段、保护已编辑)+ useProjectPlan hook + PlanAssistant。
This commit is contained in:
Yaojia Wang
2026-07-06 16:26:08 +02:00
parent 821ace5989
commit 02d19019f6
22 changed files with 1187 additions and 9 deletions

View File

@@ -38,6 +38,7 @@ from .schemas import (
PaceIssue,
PaceReview,
PolishResult,
ProjectPlanResult,
Scene,
StyleDimension,
StyleDriftReview,
@@ -68,6 +69,7 @@ from .specs import (
opening_spec,
outliner_spec,
pace_spec,
project_plan_spec,
refiner_spec,
style_drift_spec,
style_extract_spec,
@@ -111,6 +113,7 @@ __all__ = [
"PaceIssue",
"PaceReview",
"PolishResult",
"ProjectPlanResult",
"Scene",
"StyleDimension",
"StyleDriftReview",
@@ -139,6 +142,7 @@ __all__ = [
"outliner_spec",
"output_schema_for",
"pace_spec",
"project_plan_spec",
"refiner_spec",
"style_drift_spec",
"style_extract_spec",