Explorar el Código

Merge remote-tracking branch 'refs/remotes/origin/main'

Talegorithm hace 2 horas
padre
commit
89c7cad1d3
Se han modificado 59 ficheros con 476 adiciones y 1294 borrados
  1. 2 2
      agent/core/runner.py
  2. 20 0
      agent/tools/builtin/feishu/chat_history/chat_关涛.json
  3. 67 66
      config/feishu_contacts.json
  4. 1 1
      examples/plan/config.py
  5. 1 0
      examples/plan/input/descriptions/创作表.md
  6. 74 0
      examples/plan/input/descriptions/制作点.md
  7. 44 0
      examples/plan/input/descriptions/图片亮点.md
  8. 10 0
      examples/plan/input/features/character_asset/mapping.json
  9. 2 2
      examples/plan/input/features/color_scheme/mapping.json
  10. 0 87
      examples/plan/input/features/costume_description/costume_description.json
  11. BIN
      examples/plan/input/features/depth_map/depth_img_1_colored.png
  12. BIN
      examples/plan/input/features/depth_map/depth_img_2_colored.png
  13. BIN
      examples/plan/input/features/depth_map/depth_img_3_colored.png
  14. BIN
      examples/plan/input/features/depth_map/depth_img_4_colored.png
  15. BIN
      examples/plan/input/features/depth_map/depth_img_5_colored.png
  16. BIN
      examples/plan/input/features/depth_map/img_1_depth.png
  17. BIN
      examples/plan/input/features/depth_map/img_2_depth.png
  18. BIN
      examples/plan/input/features/depth_map/img_3_depth.png
  19. BIN
      examples/plan/input/features/depth_map/img_4_depth.png
  20. BIN
      examples/plan/input/features/depth_map/img_5_depth.png
  21. 10 10
      examples/plan/input/features/depth_map/mapping.json
  22. BIN
      examples/plan/input/features/easel_asset/easel_with_painting_img3.png
  23. 3 5
      examples/plan/input/features/easel_asset/mapping.json
  24. 0 189
      examples/plan/input/features/feature_index.json
  25. 0 125
      examples/plan/input/features/lighting_description/lighting_description.json
  26. BIN
      examples/plan/input/features/natural_background_asset/background_ref_img1.png
  27. BIN
      examples/plan/input/features/natural_background_asset/background_ref_img4.png
  28. 0 51
      examples/plan/input/features/natural_background_asset/mapping.json
  29. 0 61
      examples/plan/input/features/painting_in_painting/mapping.json
  30. 0 12
      examples/plan/input/features/painting_in_painting/painting_in_painting_img_1.json
  31. 0 13
      examples/plan/input/features/painting_in_painting/painting_in_painting_img_2.json
  32. 0 155
      examples/plan/input/features/painting_in_painting/pip_analysis.json
  33. BIN
      examples/plan/input/features/painting_in_painting/pip_structure_visual.png
  34. BIN
      examples/plan/input/features/painting_tools_asset/easel_ref_img3.png
  35. BIN
      examples/plan/input/features/painting_tools_asset/easel_ref_img4.png
  36. BIN
      examples/plan/input/features/painting_tools_asset/easel_ref_img4_v2.png
  37. 0 69
      examples/plan/input/features/painting_tools_asset/mapping.json
  38. 3 22
      examples/plan/input/features/palette_asset/mapping.json
  39. BIN
      examples/plan/input/features/palette_asset/palette_impasto_img5_v2.png
  40. BIN
      examples/plan/input/features/palette_asset/palette_ref_img1.png
  41. BIN
      examples/plan/input/features/palette_asset/palette_ref_img5.png
  42. 12 24
      examples/plan/input/features/pose_skeleton/mapping.json
  43. 0 31
      examples/plan/input/features/rose_asset/mapping.json
  44. BIN
      examples/plan/input/features/rose_asset/white_rose_img1.png
  45. BIN
      examples/plan/input/features/soft_edge_map/img_1_soft_edge.png
  46. BIN
      examples/plan/input/features/soft_edge_map/img_2_soft_edge.png
  47. BIN
      examples/plan/input/features/soft_edge_map/img_3_soft_edge.png
  48. BIN
      examples/plan/input/features/soft_edge_map/img_4_soft_edge.png
  49. BIN
      examples/plan/input/features/soft_edge_map/img_5_soft_edge.png
  50. 0 45
      examples/plan/input/features/soft_edge_map/mapping.json
  51. BIN
      examples/plan/input/features/white_dress_asset/dress_ref_back.png
  52. BIN
      examples/plan/input/features/white_dress_asset/dress_ref_back_v2.png
  53. BIN
      examples/plan/input/features/white_dress_asset/dress_ref_backless.png
  54. BIN
      examples/plan/input/features/white_dress_asset/dress_ref_full.png
  55. 0 78
      examples/plan/input/features/white_dress_asset/mapping.json
  56. 86 161
      examples/plan/input/index.md
  57. 130 77
      examples/plan/research.prompt
  58. 10 2
      examples/plan/run.py
  59. 1 6
      examples/research/research.prompt

+ 2 - 2
agent/core/runner.py

@@ -1107,7 +1107,6 @@ class AgentRunner:
 
                 if not has_context_call:
                     # 手动添加 get_current_context 工具调用
-                    import uuid
                     context_call_id = f"call_context_{uuid.uuid4().hex[:8]}"
                     tool_calls.append({
                         "id": context_call_id,
@@ -1825,7 +1824,8 @@ class AgentRunner:
         goal_tree: Optional[GoalTree],
     ) -> str:
         """构建周期性注入的上下文(GoalTree + Active Collaborators + Focus 提醒)"""
-        parts = []
+        from datetime import datetime
+        parts = [f"## Current Time\n\n{datetime.now().strftime('%Y-%m-%d %H:%M:%S')}"]
 
         # GoalTree
         if goal_tree and goal_tree.goals:

+ 20 - 0
agent/tools/builtin/feishu/chat_history/chat_关涛.json

@@ -56,5 +56,25 @@
         "text": "\n\n登录完成后请回复我,谢谢!"
       }
     ]
+  },
+  {
+    "role": "assistant",
+    "message_id": "om_x100b55cbef1ea0a8c34e82fb1503e8a",
+    "content": [
+      {
+        "type": "text",
+        "text": "你好,我正在尝试使用豆包搜索最新的图生成方案,但需要登录。\n\n请帮忙扫码登录豆包:\n\n云浏览器实时画面链接:https://live.browser-use.com?wss=https%3A//e32222bb-bcb5-4a29-aa0c-bae5d742e6a0.cdp2.browser-use.com\n\n当前登录页面截图如下,请用豆包App扫描右侧的二维码登录。登录完成后请回复我一下,谢谢!"
+      }
+    ]
+  },
+  {
+    "role": "assistant",
+    "message_id": "om_x100b5435821368b0c44ae50a4f91e82",
+    "content": [
+      {
+        "type": "text",
+        "text": "你好,我在执行图文帖子还原粗工序制定任务,但找不到 input/ 目录。\n\n任务描述中提到:\n- 读取 input/index.md\n- 读取 input/descriptions/图片亮点.md\n- 读取 input/descriptions/制作点.md\n- 输出到 examples/plan/output/\n\n但我在当前工作目录中找不到这些文件。能否确认:\n1. input/ 目录的完整路径是什么?\n2. 我当前的工作目录应该在哪里?\n\n谢谢!"
+      }
+    ]
   }
 ]

+ 67 - 66
config/feishu_contacts.json

@@ -1,68 +1,69 @@
 [
-    {
-        "name": "谭景玉",
-        "description": "",
-        "open_id": "ou_11fdbd559cc6513ab53ff06d6c63413d",
-        "chat_id": "oc_56e85f0e2c97405d176729b62d8f56e5"
-    },
-    {
-        "name": "王华东",
-        "description": "",
-        "open_id": "ou_82340312cf9d215f49a41b67fa9c02c2"
-    },
-    {
-        "name": "孙若天",
-        "description": "",
-        "open_id": "ou_ede69f28c2617bf80a7574f059879c8d"
-    },
-    {
-        "name": "刘斌",
-        "description": "",
-        "open_id": "ou_50c2307c3531e6293b3d5533d14592e9"
-    },
-    {
-        "name": "关涛",
-        "description": "",
-        "open_id": "ou_90b80ed994fe41b7f038a63cb9182f72"
-    },
-    {
-        "name": "刘龙",
-        "description": "",
-        "open_id": "ou_2d25b935d720c4404e4ea88b70bcdce2"
-    },
-    {
-        "name": "马晗",
-        "description": "",
-        "open_id": "ou_405c6b8581ee36b153ff8159cfc9f29e"
-    },
-    {
-        "name": "王雅萱",
-        "description": "",
-        "open_id": "ou_22b070f27496faae0c4d841b82eda5c1"
-    },
-    {
-        "name": "苏朋",
-        "description": "",
-        "open_id": "ou_1bca759ca8efc4870f262c97c1a05e52"
-    },
-    {
-        "name": "杨孝辉",
-        "description": "",
-        "open_id": "ou_68709278795778df53519a577e3da486"
-    },
-    {
-        "name": "刘志恒",
-        "description": "",
-        "open_id": "ou_1922d32126d44e1cdbe658e6c184f502"
-    },
-    {
-        "name": "聂琦",
-        "description": "",
-        "open_id": "ou_3707d21dd00fa8753b9827214b834142"
-    },
-    {
-        "name": "蒋德敏",
-        "description": "",
-        "open_id": "ou_f6a659e740ebd110cfe27dc38bbddb37"
-    }
+  {
+    "name": "谭景玉",
+    "description": "",
+    "open_id": "ou_11fdbd559cc6513ab53ff06d6c63413d",
+    "chat_id": "oc_56e85f0e2c97405d176729b62d8f56e5"
+  },
+  {
+    "name": "王华东",
+    "description": "",
+    "open_id": "ou_82340312cf9d215f49a41b67fa9c02c2"
+  },
+  {
+    "name": "孙若天",
+    "description": "",
+    "open_id": "ou_ede69f28c2617bf80a7574f059879c8d"
+  },
+  {
+    "name": "刘斌",
+    "description": "",
+    "open_id": "ou_50c2307c3531e6293b3d5533d14592e9"
+  },
+  {
+    "name": "关涛",
+    "description": "",
+    "open_id": "ou_90b80ed994fe41b7f038a63cb9182f72",
+    "chat_id": "oc_ac9633d2c61f43b5049c425305482491"
+  },
+  {
+    "name": "刘龙",
+    "description": "",
+    "open_id": "ou_2d25b935d720c4404e4ea88b70bcdce2"
+  },
+  {
+    "name": "马晗",
+    "description": "",
+    "open_id": "ou_405c6b8581ee36b153ff8159cfc9f29e"
+  },
+  {
+    "name": "王雅萱",
+    "description": "",
+    "open_id": "ou_22b070f27496faae0c4d841b82eda5c1"
+  },
+  {
+    "name": "苏朋",
+    "description": "",
+    "open_id": "ou_1bca759ca8efc4870f262c97c1a05e52"
+  },
+  {
+    "name": "杨孝辉",
+    "description": "",
+    "open_id": "ou_68709278795778df53519a577e3da486"
+  },
+  {
+    "name": "刘志恒",
+    "description": "",
+    "open_id": "ou_1922d32126d44e1cdbe658e6c184f502"
+  },
+  {
+    "name": "聂琦",
+    "description": "",
+    "open_id": "ou_3707d21dd00fa8753b9827214b834142"
+  },
+  {
+    "name": "蒋德敏",
+    "description": "",
+    "open_id": "ou_f6a659e740ebd110cfe27dc38bbddb37"
+  }
 ]

+ 1 - 1
examples/plan/config.py

@@ -36,7 +36,7 @@ RUN_CONFIG = RunConfig(
         default_tags={"project": "research", "domain": "ai_agent"},  # 默认 tags(会与工具调用参数合并)
         default_scopes=["org:cybertogether"],  # 默认 scopes
         default_search_types=["strategy", "tool"],  # 默认搜索类型过滤
-        default_search_owner=""  # 默认搜索 owner 过滤(空则不过滤)
+        default_search_owner="1746532635@qq.com"  # 默认搜索 owner 过滤(空则不过滤)
     )
 )
 

+ 1 - 0
examples/plan/input/descriptions/创作表.md

@@ -0,0 +1 @@
+本段落以图文叙事结合的方式,通过一段富有诗意的文字描述和9张多图组呈现的图片,共同展现了秋日花园的艺术创作过程与情感表达。文字部分以"听闻秋日是倒放的春天"开篇,描绘了创作者心中一座秋日的花园,其中栽种着淡却温暖的花朵,风从远山吹来,阳光热情而秋风微凉,营造出一种宁静而美好的氛围。创作者将这种感受与颜料一起酝酿成画面,并用比喻的手法,将白裙比作"一抹无暇",迎着光线绘画出"限定的浪漫"。图片则展示了艺术创作的场景,包括画架支起在绿草坪上,以及女性在户外进行绘画的瞬间,其中可能运用了逆光拍摄和景深虚化等手法来增强画面的艺术感。文字最后以"再添一笔白 为我画一枝玫瑰的奇遇"收尾,进一步强调了这种充满诗意生活的自然之美。

+ 74 - 0
examples/plan/input/descriptions/制作点.md

@@ -0,0 +1,74 @@
+{
+"元素名称": "女性",
+"元素描述": "穿着白裙的女性,包括其背影、躯干与手臂,有蹲坐姿态。",
+"段落数量": 8,
+"段落列表": [
+"段落1.1.1",
+"段落2.1.1",
+"段落3.1.1",
+"段落4.1.1.1",
+"段落4.1.1.2"
+],
+"综合权重": 84.5
+},
+{
+"元素名称": "绘画工具",
+"元素描述": "包含调色板、画笔和颜料,部分描述涉及手持这些工具的动作,调色板有主体部分。",
+"段落数量": 15,
+"段落列表": [
+"段落1.1.3",
+"段落2.1.3",
+"段落4.1.3",
+"段落4.1.4",
+"段落5.1.1.1",
+"段落5.1.1.2",
+"段落5.2.1.1",
+"段落5.2.1.2"
+],
+"综合权重": 78.5
+},
+{
+"元素名称": "自然背景",
+"元素描述": "由草坪、树木和阳光构成的自然背景,部分描述提及远处建筑。",
+"段落数量": 8,
+"段落列表": [
+"段落1.3",
+"段落2.2",
+"段落3.2",
+"段落4.2.1",
+"段落4.2.2"
+],
+"综合权重": 74.0
+},
+{
+"元素名称": "画架与画布",
+"元素描述": "包含画架结构和其上的画布,画布可以是空白的或正在创作的油画。",
+"段落数量": 8,
+"段落列表": [
+"段落4.1.2.1",
+"段落4.1.2.2",
+"段落5.2.2",
+"段落5.2.3"
+],
+"综合权重": 67.67
+},
+{
+"元素名称": "画架与油画",
+"元素描述": "画架上放置着油画。",
+"段落数量": 4,
+"段落列表": [
+"段落1.1.2",
+"段落2.1.2",
+"段落3.1.2"
+],
+"综合权重": 60.97
+},
+{
+"元素名称": "女性衣物",
+"元素描述": "女性穿着的白色衣物,包括白色上衣。",
+"段落数量": 3,
+"段落列表": [
+"段落5.1.2"
+],
+"综合权重": 44.7
+}

+ 44 - 0
examples/plan/input/descriptions/图片亮点.md

@@ -0,0 +1,44 @@
+以下是图组中,必须要保持高表现力的亮点
+{
+“post_name”: “户外白裙写生少女”,
+
+“聚类结果”: [
+{
+"聚类主题": "优雅的白裙写生少女",
+"聚类描述": "该聚类汇集了画面核心人物的实质特征。身着纯白连衣裙的女性主体,无论是优雅的背影、专注的侧颜,还是发丝与耳饰等精致细节,都共同塑造了一位充满了文艺气质与娴静美的写生缪斯形象。",
+"亮点类型": "实质",
+"图片列表": ["img_1", "img_2", "img_3", "img_4", "img_5"]
+},
+{
+"聚类主题": "斑斓厚重的油画颜料",
+"聚类描述": "该聚类专门聚焦于画面中色彩最丰富、质感最独特的实质物体。木质调色盘上堆积的厚重油画颜料(Impasto),以其杂乱而鲜艳的色彩肌理,与周围大面积纯净的白色衣物形成强烈视觉反差,强调了艺术创作的真实性。",
+"亮点类型": "实质",
+"图片列表": ["img_1", "img_5"]
+},
+{
+
+"聚类主题": "构建叙事的写生道具",
+"聚类描述": "该聚类集合了定义‘户外写生’场景的关键道具。画架、画布、画笔以及作为点缀的白玫瑰,这些物品在空间上组合排列,通过具体的实体展示了人物的活动内容,构建了画面的叙事背景。",
+"亮点类型": "实质",
+"图片列表": ["img_3", "img_4"]
+},
+{
+"聚类主题": "清新雅致的白绿配色",
+"聚类描述": "该聚类强调了画面在色彩构成上的形式美感。大面积的高饱和度自然草木绿背景与人物衣着的纯白形成鲜明对比,确立了清新、自然且具有治愈感的森系视觉基调。",
+"亮点类型": "形式",
+"图片列表": ["img_1", "img_4"]
+},
+{
+"聚类主题": "唯美梦幻的光影与景深",
+"聚类描述": "该聚类整合了营造画面氛围的光学形式手段。摄影师结合了温暖的逆光/轮廓光与大光圈带来的浅景深虚化(Bokeh)效果,使背景呈现出柔和的散景,共同营造出一种脱离现实的梦幻、浪漫且充满空气感的视觉氛围。",
+"亮点类型": "形式",
+"图片列表": ["img_2", "img_3", "img_5"]
+},
+{
+"聚类主题": "虚实呼应的画中画结构",
+"聚类描述": "该聚类归纳了画面中独特的逻辑形式。画布上的内容与现实场景形成"镜像"或"互文"关系,通过现实与艺术创作之间的视觉呼应,构建出一种增加了叙事深度的画中画结构。",
+"亮点类型": "形式",
+"图片列表": ["img_1", "img_2"]
+}
+]
+}

+ 10 - 0
examples/plan/input/features/character_asset/mapping.json

@@ -9,6 +9,16 @@
       "view": "3/4 back view",
       "purpose": "IP-Adapter主参考图"
     },
+    "character_ref_main.png": {
+      "source_image": "img_2",
+      "view": "rear view",
+      "purpose": "正后方人物参考"
+    },
+    "character_ref_img1.png": {
+      "source_image": "img_1",
+      "view": "medium shot",
+      "purpose": "中景人物参考"
+    },
     "character_ref_side.png": {
       "source_image": "img_4",
       "view": "side profile",

+ 2 - 2
examples/plan/input/features/color_scheme/mapping.json

@@ -42,7 +42,7 @@
       "type": "形式",
       "feature": "白绿配色",
       "specific": "白裙+绿色草地背景",
-      "path": "output/features/color_scheme/color_scheme_visual.png"
+      "path": "features/color_scheme/color_scheme_visual.png"
     },
     {
       "image": "img_4",
@@ -50,7 +50,7 @@
       "type": "形式",
       "feature": "白绿配色",
       "specific": "白裙+高饱和绿色背景(最典型)",
-      "path": "output/features/color_scheme/color_scheme_visual.png"
+      "path": "features/color_scheme/color_scheme_visual.png"
     }
   ]
 }

+ 0 - 87
examples/plan/input/features/costume_description/costume_description.json

@@ -1,87 +0,0 @@
-{
-  "dimension": "costume_description",
-  "type": "形式",
-  "highlight_cluster": "优雅的白裙写生少女",
-  "description": "白色长袖连衣裙的款式、材质、褶皱等形式特征的专业文字描述,用于生成模型的服装控制信号",
-  "consistency_note": "5张图均为同一件或同款白裙,核心特征一致:纯白色、宽松长袖、飘逸裙摆、腰部收腰",
-  "per_image": {
-    "img_1": {
-      "paragraph": "段落1.1.2.1",
-      "highlight": "优雅的白裙写生少女",
-      "features": {
-        "color": "pure white, no pattern or decoration",
-        "silhouette": "long-sleeve A-line maxi dress, V-neckline, loose sleeves, flowing skirt to ankle",
-        "back_design": "V-back with tie/lace-up detail at back",
-        "waist": "slightly cinched waist with tie",
-        "fabric": "lightweight cotton-linen or silk blend, excellent drape and breathability",
-        "texture": "soft, slightly sheer, natural wrinkle texture",
-        "wrinkles": "natural flowing wrinkles at skirt hem and sleeves, especially at waist and arm bends",
-        "sd_prompt": "pure white long sleeve maxi dress, loose flowing sleeves, V-back backless design with tie, cinched waist, flowing skirt, lightweight cotton linen fabric, natural drape, elegant wrinkles"
-      }
-    },
-    "img_2": {
-      "paragraph": "段落2.1.2.1",
-      "highlight": "优雅的白裙写生少女",
-      "features": {
-        "color": "pure white, slightly warm ivory tone in sunlight",
-        "silhouette": "long-sleeve A-line maxi dress, V-back backless design, loose sleeves",
-        "back_design": "deep V-back with tie/lace-up, backless",
-        "waist": "tie-cinched waist",
-        "fabric": "silk or cotton-silk blend, smooth surface with slight sheen, lightweight",
-        "texture": "smooth, slightly lustrous, soft drape",
-        "wrinkles": "natural vertical drape wrinkles at skirt, subtle wrinkles at V-back",
-        "sd_prompt": "pure white long sleeve maxi dress, deep V-back backless with lace-up tie, cinched waist, flowing A-line skirt to ankle, silk-like fabric with slight sheen, elegant drape"
-      }
-    },
-    "img_3": {
-      "paragraph": "段落3.1.2.1",
-      "highlight": "优雅的白裙写生少女",
-      "features": {
-        "color": "pure white, clean and bright",
-        "silhouette": "long-sleeve maxi dress, V-back backless, loose flowing skirt to floor",
-        "back_design": "V-back with white cross-lace tie detail, backless",
-        "waist": "tie-cinched waist",
-        "fabric": "lightweight soft cotton-linen or chiffon, excellent drape",
-        "texture": "soft, flowing, natural",
-        "wrinkles": "multiple soft natural wrinkles at skirt due to kneeling pose, layered and airy",
-        "sd_prompt": "pure white long sleeve maxi dress, V-back backless with cross lace-up tie, cinched waist, floor-length flowing skirt, soft cotton chiffon fabric, multiple natural wrinkles from kneeling pose"
-      }
-    },
-    "img_4": {
-      "paragraph": "段落4.1.2.1",
-      "highlight": "优雅的白裙写生少女",
-      "features": {
-        "color": "pure white, clean and bright",
-        "silhouette": "long-sleeve maxi dress, round neckline, loose sleeves, loose flowing skirt to ankle",
-        "back_design": "round neck, modest back",
-        "waist": "slightly cinched waist",
-        "fabric": "cotton-linen or chiffon, lightweight breathable",
-        "texture": "soft, flowing, natural",
-        "wrinkles": "natural vertical drape wrinkles at skirt and sleeves, smooth flowing lines",
-        "sd_prompt": "pure white long sleeve maxi dress, round neckline, loose flowing sleeves, slightly cinched waist, ankle-length flowing skirt, lightweight cotton linen fabric, natural smooth drape"
-      }
-    },
-    "img_5": {
-      "paragraph": "段落5.1.2",
-      "highlight": "优雅的白裙写生少女",
-      "features": {
-        "color": "pure white, no pattern",
-        "silhouette": "long-sleeve shirt + long skirt combination, loose fit, cinched waist",
-        "back_design": "not visible (upper body close-up)",
-        "waist": "cinched waist design",
-        "fabric": "soft cotton-linen or silk blend, slight sheen, good drape",
-        "texture": "soft, slightly lustrous",
-        "wrinkles": "natural wrinkles at arm bends and waist, adds dimensionality",
-        "sd_prompt": "pure white long sleeve top and long skirt, loose fit, cinched waist, soft cotton linen fabric with slight sheen, natural wrinkles at arm bends"
-      }
-    }
-  },
-  "unified_sd_prompt": "pure white long sleeve maxi dress, backless V-back with lace-up tie detail, cinched waist, loose flowing sleeves, floor-length flowing skirt, lightweight cotton linen or silk blend fabric, natural elegant drape, soft wrinkles",
-  "mapping": [
-    {"image": "img_1", "paragraph": "段落1.1.2.1", "type": "形式", "feature": "白裙服装形式描述"},
-    {"image": "img_2", "paragraph": "段落2.1.2.1", "type": "形式", "feature": "白裙服装形式描述(露背)"},
-    {"image": "img_3", "paragraph": "段落3.1.2.1", "type": "形式", "feature": "白裙服装形式描述(跪坐褶皱)"},
-    {"image": "img_4", "paragraph": "段落4.1.2.1", "type": "形式", "feature": "白裙服装形式描述(圆领款)"},
-    {"image": "img_5", "paragraph": "段落5.1.2",   "type": "形式", "feature": "白裙服装形式描述(上半身特写)"}
-  ]
-}

BIN
examples/plan/input/features/depth_map/depth_img_1_colored.png


BIN
examples/plan/input/features/depth_map/depth_img_2_colored.png


BIN
examples/plan/input/features/depth_map/depth_img_3_colored.png


BIN
examples/plan/input/features/depth_map/depth_img_4_colored.png


BIN
examples/plan/input/features/depth_map/depth_img_5_colored.png


BIN
examples/plan/input/features/depth_map/img_1_depth.png


BIN
examples/plan/input/features/depth_map/img_2_depth.png


BIN
examples/plan/input/features/depth_map/img_3_depth.png


BIN
examples/plan/input/features/depth_map/img_4_depth.png


BIN
examples/plan/input/features/depth_map/img_5_depth.png


+ 10 - 10
examples/plan/input/features/depth_map/mapping.json

@@ -3,27 +3,27 @@
   "type": "形式",
   "description": "深度图,用于ControlNet深度控制,反映场景空间层次和浅景深效果",
   "valid_files": {
-    "img_1_depth.png": {
+    "depth_img_1.png": {
       "source": "img_1",
       "method": "局部方差法(清晰度代理深度)",
       "mean": 72.3
     },
-    "img_2_depth.png": {
+    "depth_img_2.png": {
       "source": "img_2",
       "method": "局部方差法(清晰度代理深度)",
       "mean": 79.1
     },
-    "img_3_depth.png": {
+    "depth_img_3.png": {
       "source": "img_3",
       "method": "局部方差法(清晰度代理深度)",
       "mean": 93.1
     },
-    "img_4_depth.png": {
+    "depth_img_4.png": {
       "source": "img_4",
       "method": "局部方差法(清晰度代理深度)",
       "mean": 82.5
     },
-    "img_5_depth.png": {
+    "depth_img_5.png": {
       "source": "img_5",
       "method": "局部方差法(清晰度代理深度)",
       "mean": 65.8
@@ -43,7 +43,7 @@
       "type": "形式",
       "feature": "景深空间关系",
       "highlight": "唯美梦幻的光影与景深",
-      "path": "output/features/depth_map/img_2_depth.png"
+      "path": "features/depth_map/depth_img_2.png"
     },
     {
       "image": "img_3",
@@ -51,7 +51,7 @@
       "type": "形式",
       "feature": "景深空间关系",
       "highlight": "唯美梦幻的光影与景深",
-      "path": "output/features/depth_map/img_3_depth.png"
+      "path": "features/depth_map/depth_img_3.png"
     },
     {
       "image": "img_5",
@@ -59,21 +59,21 @@
       "type": "形式",
       "feature": "景深空间关系",
       "highlight": "唯美梦幻的光影与景深",
-      "path": "output/features/depth_map/img_5_depth.png"
+      "path": "features/depth_map/depth_img_5.png"
     },
     {
       "image": "img_1",
       "paragraph": "段落1",
       "type": "形式",
       "feature": "景深空间关系",
-      "path": "output/features/depth_map/img_1_depth.png"
+      "path": "features/depth_map/depth_img_1.png"
     },
     {
       "image": "img_4",
       "paragraph": "段落4",
       "type": "形式",
       "feature": "景深空间关系",
-      "path": "output/features/depth_map/img_4_depth.png"
+      "path": "features/depth_map/depth_img_4.png"
     }
   ]
 }

BIN
examples/plan/input/features/easel_asset/easel_with_painting_img3.png


+ 3 - 5
examples/plan/input/features/easel_asset/mapping.json

@@ -4,17 +4,15 @@
   "highlight_cluster": "构建叙事的写生道具",
   "description": "木质三脚画架本体素材,包含两种状态:承载进行中油画的画架(img_3)和承载空白画布+白玫瑰的画架(img_4)",
   "files": {
-    "easel_with_painting_img3.png": {
-      "source_image": "img_3",
-      "state": "easel with impressionistic oil painting on canvas",
-      "purpose": "画架+进行中油画参考,用于画中画叙事场景"
-    },
     "easel_blank_canvas_img4.png": {
       "source_image": "img_4",
       "state": "easel with blank white canvas + white rose on crossbar",
       "purpose": "画架+空白画布+白玫瑰参考,用于写生道具叙事场景"
     }
   },
+  "missing_files": {
+    "easel_with_painting_img3.png": "画架+进行中油画参考图已删除"
+  },
   "mapping": [
     {
       "image": "img_1",

+ 0 - 189
examples/plan/input/features/feature_index.json

@@ -1,189 +0,0 @@
-{
-  "project": "户外白裙写生少女",
-  "version": "2.0",
-  "description": "多模态特征空间,支持无损还原与高自由度改写",
-  "total_dimensions": 12,
-  "total_files": 89,
-  "dimensions": {
-    "实质维度": {
-      "character_asset": {
-        "type": "实质",
-        "highlight": "优雅的白裙写生少女",
-        "consistency_element": "女性",
-        "primary_files": [
-          "character_ref_back.png",
-          "character_ref_main.png",
-          "character_ref_side.png",
-          "character_ref_kneel.png"
-        ],
-        "usage": "IP-Adapter人物一致性",
-        "quality": "★★★★★",
-        "path": "output/features/character_asset/"
-      },
-      "white_dress_asset": {
-        "type": "实质",
-        "highlight": "优雅的白裙写生少女",
-        "consistency_element": "女性衣物",
-        "primary_files": [
-          "dress_ref_back_v2.png",
-          "dress_ref_full.png"
-        ],
-        "usage": "服装一致性控制",
-        "quality": "★★★★",
-        "path": "output/features/white_dress_asset/"
-      },
-      "palette_asset": {
-        "type": "实质",
-        "highlight": "斑斓厚重的油画颜料",
-        "consistency_element": "绘画工具",
-        "primary_files": [
-          "palette_impasto_img5_v2.png",
-          "palette_impasto_img1_v2.png"
-        ],
-        "usage": "调色板Impasto质感参考",
-        "quality": "★★★★★",
-        "path": "output/features/palette_asset/"
-      },
-      "painting_tools_asset": {
-        "type": "实质",
-        "highlight": "构建叙事的写生道具",
-        "consistency_element": "画架与画布",
-        "primary_files": [
-          "easel_ref_img4_v2.png",
-          "easel_ref_img3.png"
-        ],
-        "usage": "画架画布道具参考",
-        "quality": "★★★★",
-        "path": "output/features/painting_tools_asset/"
-      },
-      "natural_background_asset": {
-        "type": "实质",
-        "highlight": "清新雅致的白绿配色",
-        "consistency_element": "自然背景",
-        "primary_files": [
-          "background_ref_img4.png",
-          "background_ref_img1.png"
-        ],
-        "usage": "自然背景环境参考",
-        "quality": "★★★★★",
-        "path": "output/features/natural_background_asset/"
-      }
-    },
-    "形式维度": {
-      "pose_skeleton": {
-        "type": "形式",
-        "highlight": "优雅的白裙写生少女",
-        "primary_files": [
-          "img_1_pose.png",
-          "img_2_pose.png",
-          "img_3_pose.png",
-          "img_4_pose.png",
-          "img_5_pose.png"
-        ],
-        "usage": "ControlNet OpenPose姿态控制",
-        "quality": "★★★★★",
-        "validation": "已通过一致性校验",
-        "path": "output/features/pose_skeleton/"
-      },
-      "painting_in_painting": {
-        "type": "形式",
-        "highlight": "虚实呼应的画中画结构",
-        "primary_files": [
-          "pip_structure_visual.png",
-          "pip_analysis.json"
-        ],
-        "usage": "构图叙事结构控制",
-        "quality": "★★★★",
-        "path": "output/features/painting_in_painting/"
-      },
-      "color_scheme": {
-        "type": "形式",
-        "highlight": "清新雅致的白绿配色",
-        "primary_files": [
-          "color_scheme_visual.png",
-          "color_scheme_complete.json"
-        ],
-        "usage": "色彩方案控制",
-        "quality": "★★★★★",
-        "key_formula": "Pure White (#FFFFFF) vs Vivid Green (HSV: 100-120°, S>60%, V>40%)",
-        "path": "output/features/color_scheme/"
-      },
-      "lighting_bokeh": {
-        "type": "形式",
-        "highlight": "唯美梦幻的光影与景深",
-        "primary_files": [
-          "lighting_visual.png",
-          "lighting_analysis.json"
-        ],
-        "usage": "光影景深参数控制",
-        "quality": "★★★★★",
-        "sd_tokens": "backlit, rim lighting, bokeh, shallow DOF, golden hour, dreamy atmosphere",
-        "path": "output/features/lighting_bokeh/"
-      },
-      "edge_map": {
-        "type": "形式",
-        "primary_files": [
-          "img_1_canny.png",
-          "img_2_canny.png",
-          "img_3_canny.png",
-          "img_4_canny.png",
-          "img_5_canny.png"
-        ],
-        "usage": "ControlNet Canny结构控制",
-        "quality": "★★★★",
-        "path": "output/features/edge_map/"
-      },
-      "soft_edge_map": {
-        "type": "形式",
-        "primary_files": [
-          "img_1_soft_edge.png",
-          "img_2_soft_edge.png",
-          "img_3_soft_edge.png",
-          "img_4_soft_edge.png",
-          "img_5_soft_edge.png"
-        ],
-        "usage": "ControlNet软边缘控制",
-        "quality": "★★★★",
-        "path": "output/features/soft_edge_map/"
-      },
-      "depth_map": {
-        "type": "形式",
-        "primary_files": [
-          "img_1_depth.png",
-          "img_2_depth.png",
-          "img_3_depth.png",
-          "img_4_depth.png",
-          "img_5_depth.png"
-        ],
-        "usage": "ControlNet深度控制",
-        "quality": "★★★",
-        "limitation": "局部方差法,非真实深度。建议使用Depth-Anything-V2重新提取",
-        "path": "output/features/depth_map/"
-      }
-    }
-  },
-  "sd_generation_config": {
-    "controlnet_stack": [
-      {
-        "type": "OpenPose",
-        "source": "pose_skeleton/img_*_pose.png",
-        "weight": 0.8
-      },
-      {
-        "type": "Canny",
-        "source": "edge_map/img_*_canny.png",
-        "weight": 0.4
-      },
-      {
-        "type": "Depth",
-        "source": "depth_map/img_*_depth.png",
-        "weight": 0.3
-      }
-    ],
-    "ip_adapter": {
-      "source": "character_asset/character_ref_*.png",
-      "weight": 0.6
-    },
-    "base_prompt": "masterpiece, best quality, female artist painting outdoors, white dress, lush green background, natural light, oil painting supplies, wooden easel"
-  }
-}

+ 0 - 125
examples/plan/input/features/lighting_description/lighting_description.json

@@ -1,125 +0,0 @@
-{
-  "dimension": "lighting_description",
-  "type": "形式",
-  "highlight_cluster": "唯美梦幻的光影与景深",
-  "description": "各图光照方向、质量、色温、景深等形式特征的专业文字描述,用于生成模型的光照控制信号",
-  "per_image": {
-    "img_1": {
-      "paragraph": "段落1",
-      "highlight": "清新雅致的白绿配色",
-      "lighting": {
-        "type": "natural soft light",
-        "direction": "upper-left, slightly front-side",
-        "quality": "soft, diffused, no harsh shadows",
-        "color_temperature": "neutral to slightly cool, ~5500K",
-        "intensity": "medium, well-balanced exposure",
-        "shadows": "gentle shadows on right side of subject and left side of easel",
-        "special_effects": "none (no lens flare, no bokeh)",
-        "dof": "shallow depth of field, background trees slightly blurred",
-        "atmosphere": "fresh, natural, clear"
-      },
-      "sd_prompt_tokens": [
-        "soft natural light", "diffused sunlight", "upper left lighting",
-        "gentle shadows", "neutral color temperature", "clear atmosphere",
-        "shallow depth of field", "outdoor daylight", "fresh natural lighting"
-      ]
-    },
-    "img_2": {
-      "paragraph": "段落2",
-      "highlight": "唯美梦幻的光影与景深",
-      "lighting": {
-        "type": "strong backlight / contre-jour",
-        "direction": "upper-left backlight, sun behind subject",
-        "quality": "direct sunlight filtered through foliage, creates hard spots and flare",
-        "color_temperature": "warm golden, ~4500-5000K, golden hour quality",
-        "intensity": "high key-to-fill ratio 8:1~10:1, strong backlight",
-        "shadows": "subject front in deep shadow, rim light outlines hair and shoulders",
-        "special_effects": "pronounced lens flare upper-left, starburst, rim lighting, sun rays through leaves, bokeh balls in background",
-        "dof": "extremely shallow DOF, f/1.8-2.8, heavy background blur, bokeh circles",
-        "atmosphere": "dreamy, ethereal, romantic, backlit glow"
-      },
-      "sd_prompt_tokens": [
-        "backlit", "contre-jour", "rim lighting", "lens flare", "starburst",
-        "bokeh", "shallow depth of field", "golden hour", "warm sunlight",
-        "f/2.0 aperture", "dreamy atmosphere", "ethereal glow", "85mm lens",
-        "sun rays through leaves", "cinematic lighting"
-      ]
-    },
-    "img_3": {
-      "paragraph": "段落3",
-      "highlight": "唯美梦幻的光影与景深",
-      "lighting": {
-        "type": "backlight / rim light",
-        "direction": "15° upper-left backlight",
-        "quality": "direct but slightly diffused by atmospheric haze",
-        "color_temperature": "warm golden, ~3200-3800K, golden hour",
-        "intensity": "key:fill 4:1, strong backlight with soft ambient fill",
-        "shadows": "subject slightly underexposed front, lifted shadows from ambient bounce",
-        "special_effects": "pronounced rim light on hair and dress edges, subtle lens flare top-left, atmospheric glow",
-        "dof": "shallow DOF f/2.2-3.5, heavy blur for distant trees, moderate for closer trees",
-        "atmosphere": "dreamy, serene, idyllic, romantic, warm glow"
-      },
-      "sd_prompt_tokens": [
-        "backlit", "rim lighting", "lens flare", "bokeh", "shallow depth of field",
-        "golden hour", "warm light", "f/2.8 aperture", "85mm lens",
-        "dreamy atmosphere", "outdoor portrait", "natural light", "creamy bokeh",
-        "glowing edges", "atmospheric haze"
-      ]
-    },
-    "img_4": {
-      "paragraph": "段落4",
-      "highlight": "清新雅致的白绿配色",
-      "lighting": {
-        "type": "natural front-side light",
-        "direction": "upper-right, front-side",
-        "quality": "bright, clear, direct natural sunlight",
-        "color_temperature": "neutral daylight, ~5500-6000K",
-        "intensity": "bright, high key, well-exposed",
-        "shadows": "clear bright highlights on right side, soft shadows on left",
-        "special_effects": "none (no lens flare, minimal bokeh)",
-        "dof": "moderate depth of field, background slightly blurred but still recognizable",
-        "atmosphere": "fresh, bright, clear, natural"
-      },
-      "sd_prompt_tokens": [
-        "natural daylight", "bright sunlight", "upper right lighting",
-        "clear shadows", "neutral color temperature", "outdoor bright light",
-        "fresh atmosphere", "moderate depth of field", "vivid colors"
-      ]
-    },
-    "img_5": {
-      "paragraph": "段落5",
-      "highlight": "唯美梦幻的光影与景深",
-      "lighting": {
-        "type": "soft backlight / over-the-shoulder light",
-        "direction": "75° upper-right backlight",
-        "quality": "soft, moderately diffused, open sky condition",
-        "color_temperature": "cool daylight with subtle warm undertone, ~6000-6500K",
-        "intensity": "key:fill 3:1~4:1, well-lit ambient scene",
-        "shadows": "subtle rim light on right arm and shoulder, gentle fabric glow",
-        "special_effects": "subtle top-right rim light, no lens flare",
-        "dof": "shallow DOF f/2.8-4.0, heavy background grass blur, smooth creamy bokeh",
-        "atmosphere": "serene, artistic, calm, ethereal, fresh"
-      },
-      "sd_prompt_tokens": [
-        "backlit", "soft light", "rim lighting", "shallow depth of field",
-        "bokeh", "creamy bokeh", "f/2.8", "natural light", "outdoor photography",
-        "daylight", "green background", "artistic", "ethereal atmosphere",
-        "close-up portrait"
-      ]
-    }
-  },
-  "common_features": {
-    "lighting_style": "Natural backlight / rim light, warm golden hour quality (img_2/3/5) or soft natural daylight (img_1/4)",
-    "bokeh_style": "Shallow DOF with smooth circular bokeh, heavy background blur (img_2/3/5)",
-    "atmosphere": "Dreamy, romantic, ethereal, air-like, warm (img_2/3/5) / Fresh, natural, clear (img_1/4)",
-    "unified_sd_tokens_bokeh": "backlit, rim lighting, bokeh, shallow depth of field, golden hour, warm sunlight, dreamy atmosphere, soft light, lens flare, f/1.8, 85mm lens, outdoor natural light",
-    "unified_sd_tokens_clear": "soft natural light, diffused sunlight, neutral color temperature, shallow depth of field, fresh atmosphere, outdoor daylight"
-  },
-  "mapping": [
-    {"image": "img_1", "paragraph": "段落1", "type": "形式", "feature": "光照形式描述(柔和自然光)", "highlight": "清新雅致的白绿配色"},
-    {"image": "img_2", "paragraph": "段落2", "type": "形式", "feature": "光照形式描述(强逆光+光斑+Bokeh)", "highlight": "唯美梦幻的光影与景深"},
-    {"image": "img_3", "paragraph": "段落3", "type": "形式", "feature": "光照形式描述(逆光+轮廓光+暖色调)", "highlight": "唯美梦幻的光影与景深"},
-    {"image": "img_4", "paragraph": "段落4", "type": "形式", "feature": "光照形式描述(明亮正侧光)", "highlight": "清新雅致的白绿配色"},
-    {"image": "img_5", "paragraph": "段落5", "type": "形式", "feature": "光照形式描述(柔和逆光+奶油Bokeh)", "highlight": "唯美梦幻的光影与景深"}
-  ]
-}

BIN
examples/plan/input/features/natural_background_asset/background_ref_img1.png


BIN
examples/plan/input/features/natural_background_asset/background_ref_img4.png


+ 0 - 51
examples/plan/input/features/natural_background_asset/mapping.json

@@ -1,51 +0,0 @@
-{
-  "dimension": "natural_background_asset",
-  "type": "实质",
-  "highlight_cluster": "清新雅致的白绿配色",
-  "description": "高饱和度自然草木绿背景,草坪、树木和阳光构成的户外环境,是白绿配色形式的实质载体",
-  "files": {
-    "background_ref_img4.png": {
-      "source_image": "img_4",
-      "purpose": "自然背景参考(白绿配色最典型)"
-    },
-    "background_ref_img1.png": {
-      "source_image": "img_1",
-      "purpose": "自然背景参考(绿色草地+树木)"
-    }
-  },
-  "mapping": [
-    {
-      "image": "img_1",
-      "paragraph": "段落1.3",
-      "type": "实质",
-      "feature": "自然草木背景"
-    },
-    {
-      "image": "img_2",
-      "paragraph": "段落2.2",
-      "type": "实质",
-      "feature": "自然草木背景(含阳光)"
-    },
-    {
-      "image": "img_3",
-      "paragraph": "段落3.2",
-      "type": "实质",
-      "feature": "自然草木背景(含远处建筑)"
-    },
-    {
-      "image": "img_4",
-      "paragraph": "段落4.2.1",
-      "type": "实质",
-      "feature": "自然草木背景"
-    },
-    {
-      "image": "img_5",
-      "paragraph": "段落5.3",
-      "type": "实质",
-      "feature": "自然草木背景(虚化)"
-    }
-  ],
-  "consistency_elements": [
-    "自然背景"
-  ]
-}

+ 0 - 61
examples/plan/input/features/painting_in_painting/mapping.json

@@ -1,61 +0,0 @@
-{
-  "dimension": "painting_in_painting",
-  "type": "形式",
-  "highlight_cluster": "虚实呼应的画中画结构",
-  "description": "画布上的内容与现实场景形成镜像或互文关系,增加叙事深度的画中画结构",
-  "files": {
-    "pip_structure_visual.png": {
-      "type": "视觉参考图",
-      "purpose": "画中画三层叙事结构示意图,展示img_1和img_2的构图逻辑",
-      "tool": "Python PIL生成"
-    },
-    "pip_analysis.json": {
-      "type": "详细分析",
-      "purpose": "画中画结构专业分析,包含每张图的层次关系和生成信号"
-    }
-  },
-  "structure_template": {
-    "layer_1": "Foreground: Girl in white dress + painting tools (sharp, 40% frame)",
-    "layer_2": "Mid-ground: Canvas on easel showing painted scene (sharp, 30% frame)",
-    "layer_3": "Background: Real natural scene (blurred bokeh, 30% frame)",
-    "narrative_echo": "Canvas content mirrors/echoes the real background, creating meta-artistic narrative",
-    "composition_key": "Side-back angle allows simultaneous view of painter, canvas, and real scene"
-  },
-  "per_image_composition": {
-    "img_1": {
-      "camera_angle": "3/4 side-rear (侧后方视角)",
-      "canvas_content": "Impressionist woman in blue-green flower field",
-      "narrative_type": "Artist's vision of surrounding nature",
-      "sd_composition": "female artist from side-rear, easel with painting visible, lush green background"
-    },
-    "img_2": {
-      "camera_angle": "Direct rear (正后方视角)",
-      "canvas_content": "Impressionist girl in garden with purple flowers",
-      "narrative_type": "Idealized interpretation of real scene",
-      "sd_composition": "female artist from direct rear, canvas with painting in front, backlit natural scene"
-    }
-  },
-  "sd_prompt_template": {
-    "base": "female artist painting outdoors, painting-within-painting composition, canvas visible with impressionist artwork",
-    "img_1": "three-quarter rear view, artist to right, easel with canvas to left, impressionist painting on canvas, lush green background",
-    "img_2": "direct rear view, artist centered, canvas directly in front, backlit golden hour, impressionist painting visible on canvas"
-  },
-  "mapping": [
-    {
-      "image": "img_1",
-      "paragraph": "段落1.2.1",
-      "type": "形式",
-      "feature": "画中画结构",
-      "specific": "侧后方视角,画布内容与现实场景镜像",
-      "path": "output/features/painting_in_painting/pip_structure_visual.png"
-    },
-    {
-      "image": "img_2",
-      "paragraph": "段落2.1.2",
-      "type": "形式",
-      "feature": "画中画结构",
-      "specific": "正后方视角,画布与背景互文",
-      "path": "output/features/painting_in_painting/pip_structure_visual.png"
-    }
-  ]
-}

+ 0 - 12
examples/plan/input/features/painting_in_painting/painting_in_painting_img_1.json

@@ -1,12 +0,0 @@
-{
-  "canvas_content": "The canvas depicts a painting of a young woman from behind, wearing a white dress and holding a parasol. She appears to be standing in a green field with blue flowers, echoing the surrounding natural environment.",
-  "mirror_relationship": "The painted subject (the woman from behind in a white dress) loosely mirrors the painter herself, who is also a woman wearing a white dress. The scene within the painting attempts to recreate what the painter may be seeing, suggesting a painting of the environment she is in however is incomplete.",
-  "spatial_layers": "There are three clear spatial layers: 1. The real world (the woman, the easel, the grass, the background trees). 2. The canvas itself, acting as a barrier between the real and the painted. 3. The painted world within the canvas (the woman in the painting and the field).",
-  "narrative_depth": "The image creates a meta-narrative effect. It is self-referential, a comment on the act of painting itself. It invites the viewer to consider the relationship between reality and representation, truth and artifice, and the subjective perspective of the artist. The incompleteness of the painted canvas creates an ambiguity; is the painting unfinished because the artist has not completed her work, or because representation will always fall short of reality?",
-  "composition_analysis": "The canvas is positioned directly in front of the artist, and slightly off-center to account for the painters position. It occupies roughly 20% of the total frame surface.",
-  "visual_echo_points": [
-    "The woman's white dress: Both the artist and the subject in the painting wear white dresses, though one appears to be painting the image with the other present in the real world",
-    "The field setting: The real background and the painted field share green/greenblue grass. The painting appears to emulate the real foliage",
-    "Brushstrokes: There is a literal and figurative crossing the point from real world to canvas world via her paint brush"
-  ]
-}

+ 0 - 13
examples/plan/input/features/painting_in_painting/painting_in_painting_img_2.json

@@ -1,13 +0,0 @@
-{
-  "canvas_content": "The painting on the canvas depicts a scene that seems to mirror the real scene surrounding the artist.  There's a suggestion of a figure, possibly a woman in a white dress, standing in what appears to be a garden or park setting, amidst foliage and possibly flowers. The style of the painting appears impressionistic or expressive, using loose brushstrokes and vibrant colors.",
-  "mirror_relationship": "The painted subject has a loose mirror relationship to the real subject. The painted figure seems to be in the same type of environment as the real woman. While the poses are difficult to compare due to the angle and painted style, a figure depicted in the artwork hints that the painting mirrors the larger outdoor setting. It creates a self-referential link where the artist is painting her surroundings--or even herself.",
-  "spatial_layers": "There are three distinct visual layers: 1. The real world (grass, trees, sunlight, the woman in white). 2. The canvas itself, acting as a portal or filter. 3. The painted world, showing the artist's interpretation of the landscape.",
-  "narrative_depth": "The \"painting-within-painting\" structure creates a strong narrative depth by adding layers of interpretation and perspective. It's self-referential, suggesting themes of artistic creation, representation vs. reality, and the subjective nature of perception. The viewer becomes aware of process of constructing the image, the artist's selection of what to emphasize. It has a meta-narrative quality where the painting comments on or refers to the art of painting itself.",
-  "composition_analysis": "The canvas is positioned centrally in the frame, slightly off-center to the right. It occupies approximately 20-25% of the total frame. The real subject (the woman) directly foregrounds the canvas, placing it in the middle ground of the perspective. The positioning emphasizes the act of creation because it has the audience looking into the canvas. The location is outside, and this composition is an extremely simple art exercise.",
-  "visual_echo_points": [
-    "The white dress is suggested in both the painting and the real subject.",
-    "The background greenery (trees, grass) is echoed in the paint strokes of the canvas.",
-    "Hints of sunlight or bright areas are present in both the real scene and on the canvas.",
-    "The figure in the painted depiction is implied to be standing in the same scenery as the artist is."
-  ]
-}

+ 0 - 155
examples/plan/input/features/painting_in_painting/pip_analysis.json

@@ -1,155 +0,0 @@
-{
-  "dimension": "painting_in_painting",
-  "type": "形式",
-  "highlight_cluster": "虚实呼应的画中画结构",
-  "description": "画布上的内容与现实场景形成镜像或互文关系,通过现实与艺术创作之间的视觉呼应构建叙事深度",
-  "per_image_analysis": {
-    "img_1": {
-      "paragraph": "段落1",
-      "analysis": {
-        "canvas_content": {
-          "depiction_on_canvas": "The canvas depicts a young woman, seen from behind, walking through a vibrant, impressionistic field of blue and green flowers. She is wearing a light-colored dress, similar in style to the artist's. The brushwork is loose and textural, characteristic of a painting rather than a photorealistic rendering.",
-          "relation_to_real_scene": "The painting on the canvas appears to be an artistic interpretation of the 'real' background scene, potentially imagining a figure within it. While the specific person depicted on the canvas is not directly visible in the background, the painter's current location (outdoors, with lush greenery) strongly suggests she is painting the environment around her. The context suggests it's not a mirror reflection, but an artist's vision inspired by or placed within the general character of the surrounding landscape.",
-          "spatial_relationship": "The canvas is positioned on an easel slightly to the left of the central axis of the image, prominently in the mid-ground. The artist is standing to the right of the canvas, actively painting. The canvas is oriented to directly face the viewer, while the artist is seen from a three-quarters rear view, facing towards the canvas. The 'real' background scene extends behind the canvas, providing the natural environment that inspires the painting."
-        },
-        "visual_layers": {
-          "layer_1_foreground": {
-            "elements": "The artist, captured from a precise side-rear (侧后方) three-quarters view, occupies approximately 40% of the frame's width on the right side. She holds a palette (approximately 15% of frame width) in her left hand and a brush in her right hand, actively touching the canvas. A white rose is casually draped on the easel's crossbar, just to the left of the canvas. The immediate grassy ground where the easel stands is also part of this layer.",
-            "depth_effect": "This layer establishes the immediate foreground interaction and the human element, drawing the viewer's eye into the act of creation. The close-up of the artist and her tools creates a sense of intimacy and immediacy."
-          },
-          "layer_2_mid_ground": {
-            "elements": "The canvas on the easel, occupying approximately 25-30% of the frame's width and a significant portion of its height, is the central focus of this layer. The easel itself, a wooden tripod structure, anchors this layer. The painted scene within the canvas shows a figure amidst flowers.",
-            "depth_effect": "This layer serves as the narrative bridge between the artist and the external world. Its deliberate placement and size emphasize the 'painting-within-painting' concept. The painting's content subtly echoes the background, reinforcing the connection."
-          },
-          "layer_3_background": {
-            "elements": "A lush, verdant natural scene featuring dense green trees and a soft, slightly out-of-focus lawn stretching into the distance. The sky is not visible, implying a somewhat enclosed natural setting under diffused light.",
-            "depth_effect": "This layer provides the context and inspiration for the entire scene. Its soft focus contrasts with the sharp detail of the foreground and mid-ground, enhancing the sense of depth. The uniformity of the green acts as a calming backdrop, allowing the brighter colors of the canvas and the artist's white dress to stand out."
-          },
-          "overall_depth_creation": "The composition masterfully uses overlapping elements (artist over canvas, canvas over background) and varying levels of sharpness (sharp foreground/mid-ground, soft background) to create a strong sense of spatial depth. The angle of the artist relative to the canvas also contributes to this layering, guiding the viewer's gaze from the act of painting, to the painting itself, and finally to the environment that inspired it."
-        },
-        "narrative_structure": {
-          "meta_quality": "The image possesses a strong 'meta' quality, as it depicts art (the photograph) showing art (the painting) being created. This self-referential aspect highlights the artistic process itself, making the act of creation a central theme. The photograph becomes a commentary on the artist's engagement with their environment and their expression through paint.",
-          "emotional_conceptual_connection": "There is a subtle, almost poetic connection between the real and the painted. While not a direct mirror, the painting on the canvas reflects the aesthetic and thematic essence of the natural surroundings. The vibrant and textured natural background suggests the inspiration for the impressionistic style and content of the canvas. The serene posture of the artist, her white dress contrasting with the green, and the tranquil setting evoke a sense of peaceful artistic immersion and a harmonious relationship between human creativity and nature. The painted figure may represent the artist's imaginative self or a metaphorical embodiment of her presence within this idealized natural space.",
-          "compositional_echo_or_contrast": "The most prominent compositional echo is the overall theme of lush greenery. The 'real' trees and grass in the background are abstractly echoed in the green and blue hues and organic forms within the canvas painting. There's a contrast in specificity: the background is a general natural setting, while the canvas offers a focused, albeit stylized, narrative 'within' that setting. The artist's white attire provides a clean contrast against both the dense green background and the colorful palette, drawing attention to her and the act of painting."
-        },
-        "generation_signals": {
-          "composition_description": "A female artist, wearing a flowing white dress, is captured from a three-quarters side-rear view (侧后方视角) as she paints outdoors. She stands to the right of an easel. The easel holds a canvas which depicts an impressionistic scene of a woman in a light dress walking through a field of blue and green flowers. The artist is actively painting with a brush in her right hand and holds a colorful palette in her left. A single white rose rests on the easel's middle bar. The background is a gently blurred, lush green landscape of trees and grass, indicative of a peaceful natural setting.",
-          "key_visual_elements_positions": {
-            "artist_body": "Right side of frame, approximately 40% width, extending from bottom edge to upper mid-frame (head). Arm extends towards canvas.",
-            "palette": "Held by artist's left hand, mid-right, below canvas, approximately 15% width.",
-            "easel": "Centered to slightly left of frame's vertical axis, supporting canvas. Extends from bottom edge to mid-upper frame.",
-            "canvas_with_painting": "Prominently displayed on easel, centrally located in mid-ground, occupying approximately 25-30% of frame's width and 30-40% of its height. The painted woman within the canvas should be in the lower-mid section of the canvas, facing away from the viewer.",
-            "white_rose_on_easel": "Small element, resting on the easel's crossbar, just left of the canvas's bottom edge.",
-            "background_greenery": "Filling approximately 60% of the upper frame and extending behind the easel and artist, appearing softly blurred to enhance depth.",
-            "foreground_grass": "Filling approximately 40% of the lower frame, a vibrant green, slightly sharper than background."
-          },
-          "depth_cues": [
-            "**Focus & Blur**: Sharp focus on the artist, easel, canvas, and palette. Progressive Gaussian blur applied to the background greenery to simulate shallow depth of field.",
-            "**Color & Contrast**: Artist and canvas elements are brightly lit and have high contrast. Background elements are slightly desaturated and have softer contrast.",
-            "**Overlapping Elements**: Artist's arm and palette overlapping the canvas. The canvas overlapping the background trees. The white rose overlapping the easel.",
-            "**Scale Variation**: The artist is large in the foreground, the painted figure on the canvas is smaller, and the distant background elements are vast and diffused.",
-            "**Lighting**: Diffused, soft outdoor lighting, possibly overcast or late afternoon, creating gentle shadows and minimizing harsh highlights and shadows to enhance the serene mood."
-          ]
-        }
-      }
-    },
-    "img_2": {
-      "paragraph": "段落2",
-      "analysis": {
-        "canvas_content": {
-          "depicted_on_canvas": "The canvas depicts a young girl in a light-colored dress (possibly white or very pale) standing amidst what appears to be a garden or natural setting with wildflowers, particularly notable are purple and green hues suggesting foliage and flowers. The style is impressionistic and somewhat simplified, with soft brushstrokes and a bright, airy feeling.",
-          "relation_to_reality": "The painting on the canvas is an artistic interpretation of the scene or a similar scene. It's not a mirror reflection; while it shares the general theme of a natural environment and potentially similar lighting, the content within the painting (a figure) is not directly present in the immediate 'real' background visible from the painter's perspective. It could be an imagined figure within the scene, or a figure from a past observation, or even the artist themselves if they were painting a self-portrait or a scene they were part of. The background behind the painted figure seems to echo the broader natural environment (trees, leaves) but is rendered with artistic license rather than being a literal copy.",
-          "spatial_relationship": "The canvas is positioned on an easel in the midground, directly in front of the artist, blocking a portion of the real background scene. Its top edge aligns roughly with the upper third of the background tree line, and its base is in the grassy midground. This placement allows the artist to simultaneously view both her work and the inspiring environment around her."
-        },
-        "visual_layers": {
-          "layer_1_foreground": "The person (artist) is the primary foreground element, viewed from a 正后方视角 (direct rear perspective). Her long, brown hair cascades down her back, obscuring much of her head and shoulders. She wears a light-colored, flowing dress. Her right hand (partially visible) holds a paintbrush, and her left hand (partially visible) holds a palette. The bottom half of her body and the tools occupy approximately the bottom 60% of the horizontal frame width and extend vertically from the bottom edge upwards, with her head nearing the middle of the vertical frame. This layer establishes intimacy and focuses on the act of creation.",
-          "layer_2_midground": "The canvas on the easel is situated directly in front of the artist, slightly to the right of the central vertical axis. It measures approximately 25-30% of the image's height and 15-20% of its width. The easel's legs extend downwards into the grassy midground. This layer serves as the 'painting-within-painting' element, drawing the viewer's eye to the artwork in progress.",
-          "layer_3_background": "The real natural scene comprises a lush green grassy field in the lower half of the background, transitioning to a dense canopy of trees and foliage in the upper half. The sun is beaming brightly from the upper left, creating lens flares and bright highlights, indicating either a sunrise or sunset. This background provides the context and inspiration for the artist and adds a sense of depth and natural beauty. This layer occupies the entire background, extending behind both the artist and the easel.",
-          "depth_and_narrative": "These layers create a strong sense of depth through occlusion (artist partially blocking easel, easel blocking background). The layering also builds a narrative: the foreground artist's act of creation, the midground canvas showcasing the nascent art, and the background revealing the inspiring reality. The arrangement invites the viewer to ponder the connection between the artist's perception, her interpretation, and the world around her, effectively framing the creative process."
-        },
-        "narrative_structure": {
-          "meta_quality": "The image possesses a strong 'meta' quality by depicting art about art. It's an image of an artist creating a painting, inviting reflection on the artistic process itself, visual representation, and the relationship between reality and its interpretation. This self-referential aspect elevates the basic scene to a commentary on creation and perception.",
-          "emotional_conceptual_connection": "There's a palpable emotional and conceptual connection between the painted and real elements. The painting on the canvas, with its impressionistic depiction of a girl in a natural setting, feels like a poetic distillation or idealization of the peaceful, sun-drenched natural environment in which the artist is situated. It suggests that the artist is capturing the 'spirit' or an idealized moment of her surroundings, rather than a literal copy. The sun's warm glow permeates both the real scene and seems to be reflected in the bright, light colors used in the painting, creating a harmonious and idyllic mood.",
-          "compositional_echo_contrast": "There is a subtle compositional echo: the general form of the painted figure (standing, central in its own frame) might subtly echo the artist's own stance (implied, as she is behind the easel) or the general impression of a human presence within a natural setting. The contrast lies in the simplification and artistic rendering within the canvas versus the photographic realism of the larger scene. The softness and blur of the painted background within the canvas echo the blurred sun-drenched lushness of the real background, suggesting a continuity of light and atmosphere."
-        },
-        "generation_signals": {
-          "composition_description": "A 正后方视角 (direct rear perspective) of a lone female artist standing in a sunlit grassy field, painting on an easel. The artist's back is to the viewer, her long brown hair flowing. She wears a flowing light-colored dress and holds a paintbrush and palette. An impressionistic painting of a young girl in a garden is visible on the canvas, positioned directly in front of her. The background is a vibrant, sun-drenched natural landscape with lush green trees and foliage, with soft sunlight filtering through the leaves from the upper left, creating a warm, ethereal glow. The scene conveys a peaceful, creative atmosphere.",
-          "key_visual_elements_positions": [
-            {
-              "element": "Artist's head/hair (top of head)",
-              "position_x_center": "50%",
-              "position_y_center": "35%",
-              "coverage_vertical": "30%",
-              "coverage_horizontal": "40%"
-            },
-            {
-              "element": "Artist's torso/dress (mid-chest to waist)",
-              "position_x_center": "50%",
-              "position_y_center": "60%",
-              "coverage_vertical": "40%",
-              "coverage_horizontal": "70%"
-            },
-            {
-              "element": "Painting palette (left hand)",
-              "position_x_center": "20%",
-              "position_y_center": "80%",
-              "coverage_vertical": "15%",
-              "coverage_horizontal": "10%"
-            },
-            {
-              "element": "Paintbrush (right hand)",
-              "position_x_center": "35%",
-              "position_y_center": "70%",
-              "coverage_vertical": "20%",
-              "coverage_horizontal": "5%"
-            },
-            {
-              "element": "Canvas on easel",
-              "position_x_center": "68%",
-              "position_y_center": "55%",
-              "coverage_vertical": "30%",
-              "coverage_horizontal": "20%"
-            },
-            {
-              "element": "Painted figure on canvas",
-              "position_x_center_on_canvas": "50%",
-              "position_y_center_on_canvas": "60%",
-              "coverage_vertical_on_canvas": "60%",
-              "coverage_horizontal_on_canvas": "40%"
-            },
-            {
-              "element": "Grassy foreground/midground",
-              "position_y_coverage": "bottom 40%",
-              "coverage_horizontal": "100%"
-            },
-            {
-              "element": "Tree line/foliage background",
-              "position_y_coverage": "top 60%",
-              "coverage_horizontal": "100%"
-            },
-            {
-              "element": "Sun/light source",
-              "position_x_center": "25%",
-              "position_y_center": "10%",
-              "effect": "strong lens flare, glowing sunbeams"
-            }
-          ],
-          "depth_cues": [
-            "Foreground blur (subtle, on extreme edges of artist's hair/dress if present)",
-            "Midground sharpness (artist, easel, canvas should be in sharp focus)",
-            "Background blur (bokeh effect on trees and distant foliage to emphasize depth and sunlight)",
-            "Layering: Artist occludes easel, easel occludes background.",
-            "Atmospheric perspective (slight haziness in distant background due to sunlight)."
-          ]
-        }
-      }
-    }
-  },
-  "structure_template": {
-    "layer_1": "Foreground: Girl in white dress + painting tools (sharp, 40% frame)",
-    "layer_2": "Mid-ground: Canvas on easel showing painted scene (sharp, 30% frame)",
-    "layer_3": "Background: Real natural scene (blurred bokeh, 30% frame)",
-    "narrative_echo": "Canvas content mirrors/echoes the real background, creating meta-artistic narrative",
-    "composition_key": "Side-back angle allows simultaneous view of painter, canvas, and real scene"
-  }
-}

BIN
examples/plan/input/features/painting_in_painting/pip_structure_visual.png


BIN
examples/plan/input/features/painting_tools_asset/easel_ref_img3.png


BIN
examples/plan/input/features/painting_tools_asset/easel_ref_img4.png


BIN
examples/plan/input/features/painting_tools_asset/easel_ref_img4_v2.png


+ 0 - 69
examples/plan/input/features/painting_tools_asset/mapping.json

@@ -1,69 +0,0 @@
-{
-  "dimension": "painting_tools_asset",
-  "type": "实质",
-  "highlight_cluster": "构建叙事的写生道具",
-  "description": "木质三脚画架、画布(含进行中的油画)、画笔及白玫瑰,构建户外写生叙事场景的关键道具",
-  "files": {
-    "easel_ref_img4_v2.png": {
-      "source_image": "img_4",
-      "purpose": "画架画布道具参考(主要),空白画布+白玫瑰",
-      "quality": "有效,木质棕色内容清晰",
-      "tool": "gemini-2.5-flash-image"
-    },
-    "easel_ref_img3.png": {
-      "source_image": "img_3",
-      "purpose": "画架画布道具参考(含进行中的画作)"
-    },
-    "easel_ref_img4.png": {
-      "source_image": "img_4",
-      "purpose": "画架画布道具参考(旧版)"
-    }
-  },
-  "easel_characteristics": {
-    "material": "light-colored wood, natural grain",
-    "structure": "tripod easel with adjustable canvas holder",
-    "canvas_state": {
-      "img_3": "in-progress oil painting (impressionist style)",
-      "img_4": "blank white canvas with white rose on crossbar"
-    },
-    "sd_tokens": "wooden easel, artist easel, canvas on easel, outdoor painting setup, white rose on easel, art supplies"
-  },
-  "mapping": [
-    {
-      "image": "img_3",
-      "paragraph": "段落3.1.2",
-      "type": "实质",
-      "feature": "画架画布写生道具(含油画)",
-      "highlight": "构建叙事的写生道具",
-      "path": "output/features/painting_tools_asset/easel_ref_img3.png"
-    },
-    {
-      "image": "img_4",
-      "paragraph": "段落4.1.2.1",
-      "type": "实质",
-      "feature": "画架画布写生道具(空白画布)",
-      "highlight": "构建叙事的写生道具",
-      "path": "output/features/painting_tools_asset/easel_ref_img4_v2.png"
-    },
-    {
-      "image": "img_4",
-      "paragraph": "段落4.1.2.2",
-      "type": "实质",
-      "feature": "白玫瑰道具",
-      "highlight": "构建叙事的写生道具",
-      "path": "output/features/painting_tools_asset/easel_ref_img4_v2.png"
-    },
-    {
-      "image": "img_1",
-      "paragraph": "段落1.2",
-      "type": "实质",
-      "feature": "画架结构",
-      "highlight": "构建叙事的写生道具",
-      "path": "output/features/painting_tools_asset/easel_ref_img3.png"
-    }
-  ],
-  "consistency_elements": [
-    "画架与画布",
-    "画架与油画"
-  ]
-}

+ 3 - 22
examples/plan/input/features/palette_asset/mapping.json

@@ -4,31 +4,12 @@
   "highlight_cluster": "斑斓厚重的油画颜料",
   "description": "木质调色盘上堆积的厚重油画颜料(Impasto),杂乱而鲜艳的色彩肌理,与白色衣物形成强烈视觉反差",
   "files": {
-    "palette_impasto_img5_v2.png": {
-      "source_image": "img_5",
-      "view": "close-up",
-      "purpose": "调色板颜料特写(主要参考),展示Impasto厚涂质感,颜色最丰富",
-      "quality": "高质量,38%非白色内容,颜色多样性强",
-      "tool": "gemini-2.5-flash-image"
-    },
     "palette_impasto_img1_v2.png": {
       "source_image": "img_1",
       "view": "medium",
       "purpose": "调色板整体形态参考",
       "quality": "有效,20%非白色内容",
       "tool": "gemini-2.5-flash-image"
-    },
-    "palette_ref_img5.png": {
-      "source_image": "img_5",
-      "view": "close-up",
-      "purpose": "调色板颜料特写(旧版参考)",
-      "quality": "有效,47%非白色内容"
-    },
-    "palette_ref_img1.png": {
-      "source_image": "img_1",
-      "view": "medium",
-      "purpose": "调色板整体形态参考(旧版)",
-      "quality": "有效,33%非白色内容"
     }
   },
   "impasto_characteristics": {
@@ -54,7 +35,7 @@
       "type": "实质",
       "feature": "调色板颜料Impasto质感",
       "highlight": "斑斓厚重的油画颜料",
-      "path": "output/features/palette_asset/palette_impasto_img1_v2.png"
+      "path": "features/palette_asset/palette_impasto_img1_v2.png"
     },
     {
       "image": "img_5",
@@ -62,7 +43,7 @@
       "type": "实质",
       "feature": "调色板颜料Impasto质感(特写)",
       "highlight": "斑斓厚重的油画颜料",
-      "path": "output/features/palette_asset/palette_impasto_img5_v2.png"
+      "note": "img_5 特写参考图已删除,可参考 img_1 的调色板素材"
     },
     {
       "image": "img_5",
@@ -70,7 +51,7 @@
       "type": "实质",
       "feature": "颜料色彩种类与分布",
       "highlight": "斑斓厚重的油画颜料",
-      "path": "output/features/palette_asset/palette_impasto_img5_v2.png"
+      "note": "img_5 特写参考图已删除,可参考 img_1 的调色板素材"
     }
   ],
   "consistency_elements": [

BIN
examples/plan/input/features/palette_asset/palette_impasto_img5_v2.png


BIN
examples/plan/input/features/palette_asset/palette_ref_img1.png


BIN
examples/plan/input/features/palette_asset/palette_ref_img5.png


+ 12 - 24
examples/plan/input/features/pose_skeleton/mapping.json

@@ -4,42 +4,38 @@
   "highlight_cluster": "优雅的白裙写生少女",
   "description": "各图人物姿态骨骼图,用于ControlNet姿态控制,每张图姿态不同",
   "valid_files": {
-    "img_1_pose.png": {
+    "img_1_openpose.png": {
       "source_image": "img_1",
       "format": "黑底彩色骨骼图 (DWPose标准格式)",
       "pose": "站立侧后方,右臂举起持笔,左臂弯曲持调色板",
       "colored_pixels": 27332,
       "quality": "✓ 有效"
     },
-    "img_2_pose.png": {
+    "img_2_openpose.png": {
       "source_image": "img_2",
       "format": "黑底彩色骨骼图 (DWPose标准格式)",
       "pose": "站立正后方,双臂持绘画工具",
       "colored_pixels": 23513,
       "quality": "✓ 有效"
     },
-    "img_3_pose.png": {
+    "img_3_openpose.png": {
       "source_image": "img_3",
       "format": "黑底彩色骨骼图 (DWPose标准格式)",
       "pose": "跪坐/蹲坐,后方视角,双臂伸向画架",
       "colored_pixels": 45531,
       "quality": "✓ 有效"
     },
-    "img_4_pose.png": {
+    "img_4_openpose.png": {
       "source_image": "img_4",
       "format": "黑底彩色骨骼图 (DWPose标准格式)",
       "pose": "站立侧面,面向画架,绘画姿态",
       "colored_pixels": 41132,
       "quality": "✓ 有效"
-    },
-    "img_5_pose.png": {
-      "source_image": "img_5",
-      "format": "黑底彩色骨骼图 (DWPose标准格式)",
-      "pose": "上半身特写,持调色板,略俯视角度",
-      "colored_pixels": 79351,
-      "quality": "✓ 有效"
     }
   },
+  "missing_files": {
+    "img_5": "img_5 的骨骼图尚未生成"
+  },
   "deprecated_files": {
     "pose_img_1.png": "几乎全白(>99%),提取失败,已废弃",
     "pose_img_3.png": "几乎全白(>99%),提取失败,已废弃",
@@ -60,7 +56,7 @@
       "type": "形式",
       "feature": "人物姿态骨骼",
       "specific": "站立侧后方绘画姿态",
-      "path": "output/features/pose_skeleton/img_1_pose.png"
+      "path": "features/pose_skeleton/img_1_openpose.png"
     },
     {
       "image": "img_2",
@@ -68,7 +64,7 @@
       "type": "形式",
       "feature": "人物姿态骨骼",
       "specific": "站立正后方绘画姿态",
-      "path": "output/features/pose_skeleton/img_2_pose.png"
+      "path": "features/pose_skeleton/img_2_openpose.png"
     },
     {
       "image": "img_3",
@@ -76,7 +72,7 @@
       "type": "形式",
       "feature": "人物姿态骨骼",
       "specific": "跪坐绘画姿态",
-      "path": "output/features/pose_skeleton/img_3_pose.png"
+      "path": "features/pose_skeleton/img_3_openpose.png"
     },
     {
       "image": "img_4",
@@ -84,16 +80,8 @@
       "type": "形式",
       "feature": "人物姿态骨骼",
       "specific": "站立侧面绘画姿态",
-      "path": "output/features/pose_skeleton/img_4_pose.png"
-    },
-    {
-      "image": "img_5",
-      "paragraph": "段落5.1.1",
-      "type": "形式",
-      "feature": "人物姿态骨骼",
-      "specific": "上半身持调色板姿态",
-      "path": "output/features/pose_skeleton/img_5_pose.png"
+      "path": "features/pose_skeleton/img_4_openpose.png"
     }
   ],
-  "tool_note": "DWPose骨骼图(黑底彩色格式),用于ControlNet OpenPose条件控制。img_*_pose.png为有效文件。"
+  "tool_note": "DWPose骨骼图(黑底彩色格式),用于ControlNet OpenPose条件控制。img_*_openpose.png为有效文件。注意 img_5 的骨骼图缺失。"
 }

+ 0 - 31
examples/plan/input/features/rose_asset/mapping.json

@@ -1,31 +0,0 @@
-{
-  "dimension": "rose_asset",
-  "type": "实质",
-  "highlight_cluster": "构建叙事的写生道具",
-  "description": "画架横杆上放置的白色玫瑰花,作为写生场景的点缀道具,增添浪漫文艺气息",
-  "files": {
-    "white_rose_img1.png": {
-      "source_image": "img_1",
-      "state": "fully bloomed white rose with green leaves",
-      "purpose": "白玫瑰道具参考,用于写生场景点缀"
-    }
-  },
-  "flower_description": {
-    "color": "pure white petals, petal edges slightly tinged with green",
-    "shape": "fully bloomed rose, layered petals, full and plump shape, slightly inward-curled center",
-    "leaves": "deep green, serrated leaf edges",
-    "placement": "resting on easel crossbar, below the canvas",
-    "sd_prompt": "single white rose, fully bloomed, layered petals, pure white, deep green leaves, serrated edges, soft natural light, elegant"
-  },
-  "mapping": [
-    {
-      "image": "img_1",
-      "paragraph": "段落1.2.2",
-      "type": "实质",
-      "feature": "白色玫瑰花道具",
-      "highlight": "构建叙事的写生道具"
-    }
-  ],
-  "consistency_elements": ["绘画工具"],
-  "generation_notes": "白玫瑰仅出现在img_1的画架横杆上,是写生场景的点缀元素,img_4的easel_blank_canvas图中也可见"
-}

BIN
examples/plan/input/features/rose_asset/white_rose_img1.png


BIN
examples/plan/input/features/soft_edge_map/img_1_soft_edge.png


BIN
examples/plan/input/features/soft_edge_map/img_2_soft_edge.png


BIN
examples/plan/input/features/soft_edge_map/img_3_soft_edge.png


BIN
examples/plan/input/features/soft_edge_map/img_4_soft_edge.png


BIN
examples/plan/input/features/soft_edge_map/img_5_soft_edge.png


+ 0 - 45
examples/plan/input/features/soft_edge_map/mapping.json

@@ -1,45 +0,0 @@
-{
-  "dimension": "soft_edge_map",
-  "type": "形式",
-  "description": "Sobel软边缘图(HED风格近似),保留更多细节和渐变信息,适合人物和自然场景的柔和控制",
-  "tool": "OpenCV Sobel算子 + 高斯模糊",
-  "files": {
-    "img_1_soft_edge.png": "img_1软边缘图",
-    "img_2_soft_edge.png": "img_2软边缘图",
-    "img_3_soft_edge.png": "img_3软边缘图",
-    "img_4_soft_edge.png": "img_4软边缘图",
-    "img_5_soft_edge.png": "img_5软边缘图"
-  },
-  "mapping": [
-    {
-      "image": "img_1",
-      "paragraph": "段落1",
-      "type": "形式",
-      "feature": "软边缘结构控制"
-    },
-    {
-      "image": "img_2",
-      "paragraph": "段落2",
-      "type": "形式",
-      "feature": "软边缘结构控制"
-    },
-    {
-      "image": "img_3",
-      "paragraph": "段落3",
-      "type": "形式",
-      "feature": "软边缘结构控制"
-    },
-    {
-      "image": "img_4",
-      "paragraph": "段落4",
-      "type": "形式",
-      "feature": "软边缘结构控制"
-    },
-    {
-      "image": "img_5",
-      "paragraph": "段落5",
-      "type": "形式",
-      "feature": "软边缘结构控制"
-    }
-  ]
-}

BIN
examples/plan/input/features/white_dress_asset/dress_ref_back.png


BIN
examples/plan/input/features/white_dress_asset/dress_ref_back_v2.png


BIN
examples/plan/input/features/white_dress_asset/dress_ref_backless.png


BIN
examples/plan/input/features/white_dress_asset/dress_ref_full.png


+ 0 - 78
examples/plan/input/features/white_dress_asset/mapping.json

@@ -1,78 +0,0 @@
-{
-  "dimension": "white_dress_asset",
-  "type": "实质",
-  "highlight_cluster": "优雅的白裙写生少女",
-  "description": "纯白宽松长袖连衣裙,露背设计,优雅垂坠感,是人物形象的核心服装元素",
-  "files": {
-    "dress_ref_back_v2.png": {
-      "source_image": "img_2",
-      "view": "back view",
-      "purpose": "白裙背面参考(主要),展示露背设计和整体轮廓",
-      "quality": "有效,白色裙子内容清晰",
-      "tool": "gemini-2.5-flash-image"
-    },
-    "dress_ref_backless.png": {
-      "source_image": "img_2",
-      "view": "back view",
-      "purpose": "白裙背面参考(旧版),展示露背设计"
-    },
-    "dress_ref_full.png": {
-      "source_image": "img_1",
-      "view": "3/4 back view",
-      "purpose": "白裙整体参考,展示宽松袖子和裙摆"
-    }
-  },
-  "dress_characteristics": {
-    "color": "pure white",
-    "style": "loose-fitting long-sleeve dress",
-    "design_features": [
-      "backless design",
-      "tie details at back",
-      "loose sleeves",
-      "flowing skirt",
-      "V-neck"
-    ],
-    "fabric": "lightweight cotton-linen or silk blend, good drape",
-    "sd_tokens": "pure white dress, backless dress, flowing white dress, loose sleeves, elegant white gown, cottagecore dress"
-  },
-  "mapping": [
-    {
-      "image": "img_1",
-      "paragraph": "段落1.1.2.1",
-      "type": "实质",
-      "feature": "白色长裙服装",
-      "path": "output/features/white_dress_asset/dress_ref_full.png"
-    },
-    {
-      "image": "img_2",
-      "paragraph": "段落2.1.2.1",
-      "type": "实质",
-      "feature": "白色长裙服装(露背)",
-      "path": "output/features/white_dress_asset/dress_ref_back_v2.png"
-    },
-    {
-      "image": "img_3",
-      "paragraph": "段落3.1.2.1",
-      "type": "实质",
-      "feature": "白色长裙服装(露背)",
-      "path": "output/features/white_dress_asset/dress_ref_back_v2.png"
-    },
-    {
-      "image": "img_4",
-      "paragraph": "段落4.1.1.1",
-      "type": "实质",
-      "feature": "白色长裙服装",
-      "path": "output/features/white_dress_asset/dress_ref_full.png"
-    },
-    {
-      "image": "img_5",
-      "paragraph": "段落5.1.2",
-      "type": "实质",
-      "feature": "白色长裙服装",
-      "path": "output/features/white_dress_asset/dress_ref_full.png"
-    }
-  ],
-  "consistency_elements": [
-    "女性衣物"
-  ]
-}

+ 86 - 161
examples/plan/input/index.md

@@ -1,196 +1,121 @@
-# 户外白裙写生少女 — 多模态特征索引
+# 户外白裙写生少女 — 内容还原素材索引
 
-> 本索引以 5 张制作表为主线,渐进式串联 `features/` 中的 12 个特征维度
-> 读取时只需按需展开对应图片段落,即可定位所需素材与控制信号
+> 本目录包含一组图文帖子的完整解构数据,用于驱动 AI 还原出与原帖视觉一致的图片
+> 还原思路:先理解制作点和图片亮点(做什么),再深入制作表(怎么做),需要多模态素材时从 features/ 中按需获取
 
 ---
 
-## 快速导航
-
-| 制作表 | 核心构图 | 综合评分 |
-|--------|----------|----------|
-| [img_1](#img_1) | 侧后方中景 · 站立绘画 | 0.780 |
-| [img_2](#img_2) | 正后方 · 逆光站立 | 0.825 |
-| [img_3](#img_3) | 后方 · 跪坐绘画 | 0.810 |
-| [img_4](#img_4) | 侧面平视 · 站立绘画 | 0.830 |
-| [img_5](#img_5) | 上半身特写 · 调色板细节 | 0.965 |
+## 目录结构
+
+```
+input/
+├── descriptions/                # 核心描述文件(还原的起点)
+│   ├── 图片亮点.md              # ★ 最重要 — 6 组视觉亮点聚类,定义了还原的优先级
+│   ├── 制作点.md                # ★ 最重要 — 6 个核心制作元素及其权重排序
+│   ├── 创作表.md                # 原帖的创作视角完整描述,可作为还原时的氛围参考
+│   ├── 写生油画__img_1_制作表.json  # 各图的详细制作表(分段描述+形式参数+评分)
+│   ├── 写生油画__img_2_制作表.json
+│   ├── 写生油画__img_3_制作表.json
+│   ├── 写生油画__img_4_制作表.json
+│   └── 写生油画__img_5_制作表.json
+└── features/                    # 多模态特征素材(按需取用)
+    ├── character_asset/         # 人物角色参考图
+    ├── background_asset/        # 背景参考图
+    ├── palette_asset/           # 调色板质感参考图
+    ├── easel_asset/             # 画架道具参考图
+    ├── pose_skeleton/           # 姿态骨骼图
+    ├── edge_map/                # Canny 边缘图
+    ├── depth_map/               # 深度图
+    ├── color_scheme/            # 色彩方案数据+可视化
+    └── lighting_bokeh/          # 光照散景分析数据+可视化
+```
 
 ---
 
-## img_1
-
-**制作表**: [`descriptions/写生油画__img_1_制作表.json`](descriptions/写生油画__img_1_制作表.json)
-
-侧后方中景,女性站立绘画,右臂持笔,左手调色板。背景绿色树木草地,浅景深。
-
-### 关联特征
+## 第一层:制作点与图片亮点(还原优先级)
 
-#### 实质维度
+还原工作应从这两个文件开始,它们定义了"什么最重要"。
 
-| 维度 | 关联段落 | 素材文件 | 用途 |
-|------|----------|----------|------|
-| 人物角色 | 段落1.1 | [`character_asset/character_ref_back.png`](features/character_asset/character_ref_back.png) | IP-Adapter 主参考图(3/4 背面) |
-| 白裙服装 | 段落1.1.2.1 | [`white_dress_asset/dress_ref_back_v2.png`](features/white_dress_asset/dress_ref_back_v2.png) | 背面V领系带服装参考 |
-| 调色板 | 段落1.1.2.3 | [`palette_asset/palette_impasto_img1_v2.png`](features/palette_asset/palette_impasto_img1_v2.png) | 调色板 Impasto 质感参考 |
-| 画架道具 | 段落1.2 | [`painting_tools_asset/`](features/painting_tools_asset/) | 画架画布道具 |
-| 自然背景 | 段落1.3 | [`natural_background_asset/background_ref_img1.png`](features/natural_background_asset/background_ref_img1.png) | 绿色自然背景 |
-| 玫瑰花 | 段落1.2.2 | [`rose_asset/white_rose_img1.png`](features/rose_asset/white_rose_img1.png) | 画架白玫瑰装饰 |
-
-#### 形式维度
-
-| 维度 | 关联段落 | 素材文件 | 用途 |
-|------|----------|----------|------|
-| 姿态骨骼 | 段落1.1.2 | [`pose_skeleton/img_1_openpose.png`](features/pose_skeleton/img_1_openpose.png) | ControlNet OpenPose |
-| 画中画 | 段落1.2.1 | [`painting_in_painting/pip_structure_visual.png`](features/painting_in_painting/pip_structure_visual.png) | 侧后方视角,画布内容与现实镜像 |
-| 色彩方案 | 段落1 | [`color_scheme/img_1_palette.png`](features/color_scheme/img_1_palette.png) | 白绿配色典型 |
-| 光照描述 | 段落1 | [`lighting_description/lighting_description.json`](features/lighting_description/lighting_description.json) → `img_1` | 柔和自然光,左上方照射 |
-| 边缘图 | — | [`edge_map/img_1_canny.png`](features/edge_map/img_1_canny.png) | ControlNet Canny |
-| 软边缘图 | — | [`soft_edge_map/img_1_soft_edge.png`](features/soft_edge_map/img_1_soft_edge.png) | Sobel 软边缘控制 |
-| 深度图 | — | [`depth_map/img_1_depth.png`](features/depth_map/img_1_depth.png) | ControlNet Depth |
-
----
+### 图片亮点(`descriptions/图片亮点.md`)
 
-## img_2
+将图组的视觉表现力归纳为 6 组亮点聚类,分为实质亮点和形式亮点:
 
-**制作表**: [`descriptions/写生油画__img_2_制作表.json`](descriptions/写生油画__img_2_制作表.json)
+| 亮点聚类             | 类型 | 涉及图片            | 核心描述                                  |
+| -------------------- | ---- | ------------------- | ----------------------------------------- |
+| 优雅的白裙写生少女   | 实质 | 全部 5 张           | 人物主体的文艺气质与娴静美                |
+| 斑斓厚重的油画颜料   | 实质 | img_1, img_5        | 调色板上 Impasto 厚涂颜料与白裙的视觉反差 |
+| 构建叙事的写生道具   | 实质 | img_3, img_4        | 画架、画布、画笔、白玫瑰构建的叙事场景    |
+| 清新雅致的白绿配色   | 形式 | img_1, img_4        | 纯白与高饱和绿的鲜明对比,森系基调        |
+| 唯美梦幻的光影与景深 | 形式 | img_2, img_3, img_5 | 逆光/轮廓光 + 大光圈散景的梦幻氛围        |
+| 虚实呼应的画中画结构 | 形式 | img_1, img_2        | 画布内容与现实场景的镜像互文              |
 
-正后方视角,女性站立绘画,逆光,阳光穿过树叶形成光斑,强景深虚化。
+同时该文件中还包含一个创作视角的完整描述,也可以在还原过程中做一些参考。
 
-### 关联特征
+同时可参考 `descriptions/创作表.md`,其中包含原帖创作者视角的完整描述,有助于理解整组图的情感基调和叙事意图。
 
-#### 实质维度
+### 制作点(`descriptions/制作点.md`)
 
-| 维度 | 关联段落 | 素材文件 | 用途 |
-|------|----------|----------|------|
-| 人物角色 | 段落2.1 | [`character_asset/character_ref_main.png`](features/character_asset/character_ref_main.png) | IP-Adapter 人物一致性 |
-| 白裙服装 | 段落2.1.2.1 | [`white_dress_asset/dress_ref_full.png`](features/white_dress_asset/dress_ref_full.png) | 逆光半透明质感参考 |
-| 背景素材 | 段落2.3 | [`background_asset/background_bokeh_img2.png`](features/background_asset/background_bokeh_img2.png) | 逆光散景背景 |
+按权重排序的 6 个核心制作元素:
 
-#### 形式维度
-
-| 维度 | 关联段落 | 素材文件 | 用途 |
-|------|----------|----------|------|
-| 姿态骨骼 | 段落2.1.2 | [`pose_skeleton/img_2_openpose.png`](features/pose_skeleton/img_2_openpose.png) | ControlNet OpenPose |
-| 画中画 | 段落2.1.2 | [`painting_in_painting/pip_analysis.json`](features/painting_in_painting/pip_analysis.json) | 正后方视角,画布与背景互文 |
-| 光照散景 | 段落2 | [`lighting_bokeh/lighting_img_2.json`](features/lighting_bokeh/lighting_img_2.json) | 逆光 + 金色散景 |
-| 色彩方案 | 段落2 | [`color_scheme/img_2_palette.png`](features/color_scheme/img_2_palette.png) | 暖调色板 |
-| 边缘图 | — | [`edge_map/img_2_canny.png`](features/edge_map/img_2_canny.png) | ControlNet Canny |
-| 软边缘图 | — | [`soft_edge_map/img_2_soft_edge.png`](features/soft_edge_map/img_2_soft_edge.png) | Sobel 软边缘控制 |
-| 深度图 | — | [`depth_map/img_2_depth.png`](features/depth_map/img_2_depth.png) | ControlNet Depth |
+| 制作元素   | 权重 | 说明                                 |
+| ---------- | ---- | ------------------------------------ |
+| 女性人物   | 84.5 | 白裙女性的背影、躯干、手臂、蹲坐姿态 |
+| 绘画工具   | 78.5 | 调色板、画笔、颜料及手持动作         |
+| 自然背景   | 74.0 | 草坪、树木、阳光构成的户外环境       |
+| 画架与画布 | 67.7 | 画架结构及其上的画布(空白或创作中) |
+| 画架与油画 | 61.0 | 画架上已完成/进行中的油画            |
+| 女性衣物   | 44.7 | 白色连衣裙的细节                     |
 
 ---
 
-## img_3
-
-**制作表**: [`descriptions/写生油画__img_3_制作表.json`](descriptions/写生油画__img_3_制作表.json)
-
-后方视角,女性跪坐草地绘画,V领白裙,背景含自然和远处城市建筑。
-
-### 关联特征
+## 第二层:制作表(还原的详细蓝图)
 
-#### 实质维度
+每张图有一个 JSON 制作表(`descriptions/写生油画__img_N_制作表.json`),包含:
 
-| 维度 | 关联段落 | 素材文件 | 用途 |
-|------|----------|----------|------|
-| 人物角色 | 段落3.1 | [`character_asset/character_ref_kneel.png`](features/character_asset/character_ref_kneel.png) | 跪坐姿态参考 |
-| 白裙服装 | 段落3.1.2.1 | [`costume_description/costume_description.json`](features/costume_description/costume_description.json) → `img_3` | V领裙摆在草地上铺展 |
-| 画架道具 | 段落3.2 | [`painting_tools_asset/easel_ref_img3.png`](features/painting_tools_asset/easel_ref_img3.png) | 带画作的画架 |
-| 画架素材 | 段落3.2 | [`easel_asset/easel_with_painting_img3.png`](features/easel_asset/easel_with_painting_img3.png) | 画架 + 进行中油画 |
+- 分层段落结构(场景 → 人物/道具/背景 → 细节子元素)
+- 每个段落的形式参数(拍摄角度、景别、光照、色彩饱和度、清晰度、构图)
+- 每个层级的综合评分
 
-#### 形式维度
+### 5 张图概览
 
-| 维度 | 关联段落 | 素材文件 | 用途 |
-|------|----------|----------|------|
-| 姿态骨骼 | 段落3.1.2 | [`pose_skeleton/img_3_openpose.png`](features/pose_skeleton/img_3_openpose.png) | ControlNet OpenPose |
-| 光照散景 | 段落3 | [`lighting_bokeh/lighting_img_3.json`](features/lighting_bokeh/lighting_img_3.json) | 自然光照分析 |
-| 色彩方案 | 段落3 | [`color_scheme/img_3_palette.png`](features/color_scheme/img_3_palette.png) | 色板 |
-| 边缘图 | — | [`edge_map/img_3_canny.png`](features/edge_map/img_3_canny.png) | ControlNet Canny |
-| 软边缘图 | — | [`soft_edge_map/img_3_soft_edge.png`](features/soft_edge_map/img_3_soft_edge.png) | Sobel 软边缘控制 |
-| 深度图 | — | [`depth_map/img_3_depth.png`](features/depth_map/img_3_depth.png) | ControlNet Depth |
+| 图片  | 核心构图                | 评分  | 主要特点                                      |
+| ----- | ----------------------- | ----- | --------------------------------------------- |
+| img_1 | 侧后方中景 · 站立绘画   | 0.846 | 白绿配色典型,画中画结构,调色板 Impasto 质感 |
+| img_2 | 正后方 · 逆光站立       | 0.825 | 强逆光散景,画中画互文,梦幻氛围              |
+| img_3 | 后方 · 跪坐绘画         | 0.810 | 独特跪坐姿态,画架道具叙事,光影散景          |
+| img_4 | 侧面平视 · 站立绘画     | 0.830 | 侧面轮廓,白绿配色最典型,道具完整            |
+| img_5 | 上半身特写 · 调色板细节 | 0.850 | 特写景别,颜料质感突出,柔和光影              |
 
 ---
 
-## img_4
-
-**制作表**: [`descriptions/写生油画__img_4_制作表.json`](descriptions/写生油画__img_4_制作表.json)
-
-侧面平视,女性站立面向画架绘画,画布空白,背景高饱和度绿色。
-
-### 关联特征
+## 第三层:多模态特征素材(按需获取)
 
-#### 实质维度
+`features/` 下按维度组织,每个目录包含一个 `mapping.json` 说明该维度的素材与制作表段落的对应关系。
 
-| 维度 | 关联段落 | 素材文件 | 用途 |
-|------|----------|----------|------|
-| 人物角色 | 段落4.1.1 | [`character_asset/character_ref_side.png`](features/character_asset/character_ref_side.png) | 侧面参考 |
-| 白裙服装 | 段落4.1.1.2.1 | [`white_dress_asset/dress_ref_backless.png`](features/white_dress_asset/dress_ref_backless.png) | 侧面全身裙装参考 |
-| 画架道具 | 段落4.2 | [`painting_tools_asset/easel_ref_img4_v2.png`](features/painting_tools_asset/easel_ref_img4_v2.png) | 空白画布画架 |
-| 画架素材 | 段落4.2 | [`easel_asset/easel_blank_canvas_img4.png`](features/easel_asset/easel_blank_canvas_img4.png) | 画架 + 空白画布 |
-| 自然背景 | 段落4.3 | [`natural_background_asset/background_ref_img4.png`](features/natural_background_asset/background_ref_img4.png) | 高饱和绿背景 |
-| 背景素材 | 段落4.3 | [`background_asset/background_green_img4.png`](features/background_asset/background_green_img4.png) | 鲜艳绿色背景 |
-
-#### 形式维度
-
-| 维度 | 关联段落 | 素材文件 | 用途 |
-|------|----------|----------|------|
-| 姿态骨骼 | 段落4.1.1.2 | [`pose_skeleton/img_4_openpose.png`](features/pose_skeleton/img_4_openpose.png) | ControlNet OpenPose |
-| 色彩方案 | 段落4 | [`color_scheme/img_4_palette.png`](features/color_scheme/img_4_palette.png) | 白绿配色最典型 |
-| 边缘图 | — | [`edge_map/img_4_canny.png`](features/edge_map/img_4_canny.png) | ControlNet Canny |
-| 软边缘图 | — | [`soft_edge_map/img_4_soft_edge.png`](features/soft_edge_map/img_4_soft_edge.png) | Sobel 软边缘控制 |
-| 深度图 | — | [`depth_map/img_4_depth.png`](features/depth_map/img_4_depth.png) | ControlNet Depth |
-
----
-
-## img_5
-
-**制作表**: [`descriptions/写生油画__img_5_制作表.json`](descriptions/写生油画__img_5_制作表.json)
-
-上半身特写,手持调色板,聚焦颜料质感与手部细节,最高综合评分。
-
-### 关联特征
-
-#### 实质维度
-
-| 维度 | 关联段落 | 素材文件 | 用途 |
-|------|----------|----------|------|
-| 人物角色 | 段落5.1 | [`character_asset/character_ref_main.png`](features/character_asset/character_ref_main.png) | IP-Adapter 人物一致性 |
-| 调色板 | 段落5.1.1.3 | [`palette_asset/palette_impasto_img5_v2.png`](features/palette_asset/palette_impasto_img5_v2.png) | 调色板 Impasto 质感(最佳) |
-
-#### 形式维度
-
-| 维度 | 关联段落 | 素材文件 | 用途 |
-|------|----------|----------|------|
-| 姿态骨骼 | 段落5.1.1 | [`pose_skeleton/img_5_openpose.png`](features/pose_skeleton/img_5_openpose.png) | ControlNet OpenPose(特写) |
-| 光照散景 | 段落5 | [`lighting_bokeh/lighting_img_5.json`](features/lighting_bokeh/lighting_img_5.json) | 柔和正面光 |
-| 色彩方案 | 段落5 | [`color_scheme/img_5_palette.png`](features/color_scheme/img_5_palette.png) | 色板 |
-| 边缘图 | — | [`edge_map/img_5_canny.png`](features/edge_map/img_5_canny.png) | ControlNet Canny |
-| 软边缘图 | — | [`soft_edge_map/img_5_soft_edge.png`](features/soft_edge_map/img_5_soft_edge.png) | Sobel 软边缘控制 |
-| 深度图 | — | [`depth_map/img_5_depth.png`](features/depth_map/img_5_depth.png) | ControlNet Depth |
-
----
+### 实质素材(物体/材质参考图)
 
-## 全局共享特征
+| 维度     | 目录                | 内容                               | 用途           |
+| -------- | ------------------- | ---------------------------------- | -------------- |
+| 人物角色 | `character_asset/`  | 3 张人物参考图(背面、侧面、跪坐) | 人物一致性基座 |
+| 背景素材 | `background_asset/` | 绿色自然背景、逆光散景背景参考     | 背景还原参考   |
+| 调色板   | `palette_asset/`    | Impasto 厚涂质感参考图             | 颜料质感还原   |
+| 画架道具 | `easel_asset/`      | 画架空白画布参考图                 | 道具还原参考   |
 
-以下特征跨越多图,不绑定单一制作表:
+### 形式素材(控制信号与分析数据)
 
-| 特征 | 文件 | 说明 |
-|------|------|------|
-| 色彩总方案 | [`color_scheme/color_scheme_complete.json`](features/color_scheme/color_scheme_complete.json) | 完整色彩数据(HEX/RGB/SD tokens) |
-| 色彩可视化 | [`color_scheme/color_scheme_visual.png`](features/color_scheme/color_scheme_visual.png) | 白绿对比 + 暖光色调 + 调色板颜料色 |
-| 光照总分析 | [`lighting_bokeh/lighting_analysis.json`](features/lighting_bokeh/lighting_analysis.json) | 全图光照散景分析 |
-| 光照可视化 | [`lighting_bokeh/lighting_visual.png`](features/lighting_bokeh/lighting_visual.png) | 光照散景效果参考图 |
-| 画中画分析 | [`painting_in_painting/pip_analysis.json`](features/painting_in_painting/pip_analysis.json) | 三层叙事结构分析 |
-| 画中画可视化 | [`painting_in_painting/pip_structure_visual.png`](features/painting_in_painting/pip_structure_visual.png) | 画中画结构示意图 |
-| 服装描述 | [`costume_description/costume_description.json`](features/costume_description/costume_description.json) | 白裙形式特征 + SD prompts |
-| 光照描述 | [`lighting_description/lighting_description.json`](features/lighting_description/lighting_description.json) | 各图光照文字描述 + SD prompts |
-| 特征总索引 | [`features/feature_index.json`](features/feature_index.json) | 12 维度 89 文件元数据 + SD 生成配置 |
+| 维度     | 目录              | 内容                           | 用途         |
+| -------- | ----------------- | ------------------------------ | ------------ |
+| 姿态骨骼 | `pose_skeleton/`  | 5 张 DWPose 骨骼图(黑底彩色) | 人物姿态控制 |
+| 边缘图   | `edge_map/`       | 5 张 Canny 边缘检测图          | 结构轮廓控制 |
+| 深度图   | `depth_map/`      | 5 张深度估计图                 | 空间层次控制 |
+| 色彩方案 | `color_scheme/`   | 完整色彩数据 + 每图色板可视化  | 配色还原参考 |
+| 光照散景 | `lighting_bokeh/` | 光照分析数据 + 可视化          | 光影氛围还原 |
 
 ---
 
-## 渐进式加载建议
+## 渐进式还原建议
 
-1. **第一层 — 制作表**: 加载 `descriptions/写生油画__img_N_制作表.json`,获取该图的完整语义结构与评分
-2. **第二层 — 实质素材**: 按上方表格,按需加载 `character_asset`、`white_dress_asset` 等 PNG 参考图
-3. **第三层 — 形式控制**: 按需加载 ControlNet 控制图(`pose_skeleton`、`edge_map`、`depth_map`)
-4. **第四层 — 细化参数**: 加载 `color_scheme`、`lighting_bokeh`、`lighting_description` 等 JSON 获取精确控制参数
-5. **全局参考**: 需要跨图一致性时,加载"全局共享特征"中的汇总文件
+1. **理解优先级**:先读图片亮点和制作点,明确哪些视觉特征最重要、权重最高
+2. **深入制作表**:针对要还原的图片,读取对应制作表,理解其分段结构和形式参数
+3. **按需取素材**:根据制作表中提到的具体特征,从 features/ 中获取对应的参考图或控制信号
+4. **逐特征叠加**:不要一次性还原所有特征,而是一个特征一个特征地叠加验证

+ 130 - 77
examples/plan/research.prompt

@@ -1,100 +1,153 @@
 ---
-model: sonnet-4.6
+model: anthropic/claude-sonnet-4.5
 temperature: 0.3
 ---
 
 $system$
-你是一个图文帖子内容还原的调研与规划专家。你的任务是:基于已有的内容解构数据,深入调研相关的生成技术和工作流,然后制定一份渐进式的还原工序规划,并输出为结构化的 HTML 报告
+你是一个图文帖子内容还原的策略专家。你的任务是:理解还原需求,搜索和确定还原策略,然后将策略实例化为针对当前帖子的粗工序
 
-当前阶段你不需要执行任何实际的图片生成,只需要完成调研和规划
+**你不需要关心具体的实现细节**(如工具参数、模型权重等),只需要确定还原的整体策略和粗工序
 
-## 输出要求
-
-所有输出文件必须保存在 `examples/plan/output/` 目录下,包括:
-- 调研报告(markdown 或 HTML)
-- 工序规划文档(HTML,包含工具链序列可视化)
-- 其他中间产物
-
-## 工作原则
-
-1. **充分调研**:从方法论角度调研工具知识,理解每个工具的输入、输出、典型用例,以便串联成完整工作链条。
-2. **多源调研**:
-   - 创作者视角:小红书、公众号、知乎等平台的实战经验
-   - 技术专家视角:GitHub 上的技术文档、代码示例、issue 讨论,了解如何在图片中还原特定特征
-3. **先读再想**:先阅读 `input/index.md` 了解项目结构,再按需读取 descriptions 和 features 中的具体文件。
-4. **结构化规划**:输出的工序规划要包含清晰的工具序列,每个步骤标注 tool_name / input / output / reasoning。
-
-## 工作流程
-
-### 第一步:理解手头素材
-- 阅读 `input/index.md`,掌握 5 张图的概况和 12 个特征维度的组织方式
-- 按需深入读取制作表和特征文件,理解每张图有哪些可用的控制条件
-
-### 第二步:线上调研(工具知识导向)
-
-**调研方法论**:
-不要只搜索具体案例,而是从工具的角度系统调研:
-- 每个工具的输入格式、输出格式、核心参数
-- 工具之间如何串联(前一个工具的输出如何作为下一个工具的输入)
-- 工具的适用场景和局限性
+## 核心概念
 
-**调研来源**:
-1. **创作者视角**(小红书、公众号、知乎):搜索专业创作者分享的实战经验和工作流
-2. **技术专家视角**(GitHub、技术文档):搜索技术实现方案和代码示例
+### 还原策略
+还原策略是一种通用的方法论,描述如何将一组图片从解构数据还原出来。策略的可行性往往取决于工具的能力——例如某个工具能精准做局部修改,那么"底图+逐步叠加"就是可行策略。所以搜索策略时要同时关注支撑策略的工具能力。
 
-具体搜索什么关键词、关注哪些方向,由你根据对素材的理解自行决定。
+### 粗工序
+粗工序是将策略实例化到具体帖子上的结果:这个帖子里的哪些图由哪些特征组成、哪些特征可以预先生成、哪些可以作为底图被后续拼接、图与图之间的依赖关系和执行顺序。粗工序不关心"用什么工具",只关心"做什么、先后顺序、为什么"。
 
-**调研输出**:
-整理成工具知识库,每个工具记录:
-- 工具名称和版本
-- 输入:需要什么数据/文件
-- 输出:生成什么结果
-- 用例:使用的过程示例(记录一些关键参数/关键prompt/关键用法)
-- 与其他工具的衔接方式
-
-### 第三步:制定还原工序规划
+## 输出要求
 
-基于对素材的理解和调研结果,输出一条完整的工具调用链。
+所有输出文件必须保存在 `examples/plan/output/` 目录下。
+每个阶段都要产出过程文件。
 
-**规划时需要考虑的方面**(不限于此,不要求固定格式):
-- 单图维度:每张图的预处理、底图生成、精调等阶段需要哪些工具
-- 多图维度:哪些图共享特征可以复用、哪些图可以作为其他图的基础、是否需要 3D 建模作为中间步骤
-- 一致性:多图之间如何保持风格统一
+## 工作流程
 
-**最终输出**:一条工具调用链,每个节点包含:
-```
-tool_name: 工具名称
-input: 输入数据
-output: 输出结果
-reasoning: 为什么在这一步使用这个工具
+### 第一步:需求分析(轻量读取,聚焦于"还原什么")
+
+只需要读取少量核心文件,理解还原需求:
+- `examples/input/index.md`(导航概览)
+- `examples/input/descriptions/图片亮点.md`(核心亮点聚类)
+- `examples/input/descriptions/制作点.md`(核心制作元素及权重)
+- `examples/input/descriptions/创作表.md` (创作视角描述)
+
+这一步的目标不是理解所有素材细节,而是搞清楚:**需要在哪些角度精准还原,哪些地方不能出错。**
+
+**输出** `examples/plan/output/analysis.json`:
+
+1. **上限点(内容角度的精准还原目标)**:
+   - 直接来自图片亮点中的核心亮点聚类
+   - 这些是内容层面必须高度还原的特征(如画中画结构、Impasto 质感、白绿配色等)
+   - 注意:上限点虽然是内容上的重点,但不一定技术上最难——有些可能很容易还原
+
+2. **下限点(你自己总结的底线要求)**:
+   这部分不在已有文件中,需要你基于对内容的理解自行总结。下限点是那些:
+   - 如果做不好,会让整组图"一眼假"或"一眼 AI"的特征
+   - 例如:人物跨图一致性(不同角度是否像同一个人)、手部/手指的真实性、衣物褶皱的自然度、道具的空间透视关系、光影的物理合理性等
+   - **下限点往往是技术上最难、最需要重点攻克的部分**
+   - 对每个下限点,说明为什么它重要、做不好会怎样
+
+3. **需求总结**:
+   - 将上限点和下限点整合为一份还原需求清单
+   - 标注优先级:哪些是"必须做到"、哪些是"尽量做到"
+
+**每一条结论都要附带推理过程。**
+
+### 第二步:搜索和确定还原策略
+
+**开始前**:重新读取 analysis.json,确认需求。
+
+带着第一步的需求,去搜索可行的还原策略。核心问题是:**什么样的策略能同时满足上限点和下限点的要求?**
+
+**策略搜索顺序(优先级从高到低)**:
+
+1. **优先:搜索知识库**:
+   - 使用 search_knowledge 工具,根据第一步得到的需求自行决定关键词搜索信息,允许多轮搜索
+   - 查看是否有之前积累的策略经验、工具评估、工作流总结
+   - 如果知识库中已有成熟策略,直接评估是否适用,不需要重复调研
+
+2. **其次:线上调研**:
+   - 知识库中没有或不够用时,再去线上搜索
+   - 从工作流角度(小红书、公众号、知乎):搜索多图一致性生成、人物写真还原等实战工作流
+   - 从工具能力角度(GitHub、产品官网、社区):搜索各类工具的能力边界,判断哪些能力可以支撑哪种策略
+     - C 端平台(Midjourney、即梦、海螺、Lovart、可灵等)
+     - 专业平台和开源项目
+     - 不要预设哪些是"最新的",从搜索结果中比对发布时间、社区活跃度来判断
+
+3. **最后:自行总结**:
+   - 如果知识库和线上调研都没有找到完全匹配的策略,基于已收集的信息自行总结出策略
+   - 将总结出的策略使用 save_knowledge 存储到知识库,供后续复用
+
+**对每个发现的策略,评估**:
+- 核心思路
+- 它依赖什么工具能力(当前是否可用)
+- 它能否满足第一步中的上限点和下限点
+- 优点、局限性、风险
+
+**实时输出**到 `examples/plan/output/research.json`。
+
+**调研中途检查**:每完成一轮搜索,重新读取 analysis.json,检查策略是否能覆盖需求。
+
+最终选定一个策略(或策略组合),说明选择理由。
+
+### 第三步:实例化粗工序(精细读取素材)
+
+**开始前**:重新读取 analysis.json 和 research.json。
+
+现在才需要精细地查看具体素材。根据选定的策略,逐个读取:
+- 每张图的制作表(`descriptions/写生油画__img_N_制作表.json`)
+- 每个 features/ 目录的 mapping.json 和具体素材
+
+目标是将策略实例化:手头有哪些素材可以直接用、策略中的每一步对应到具体的图和特征上。
+
+**输出粗工序**到 `examples/plan/output/pipeline.json`:
+```json
+{
+  "selected_strategy": {
+    "name": "策略名称",
+    "description": "策略核心思路",
+    "reasoning": "为什么选这个策略(关联 analysis.json 中的哪些需求)"
+  },
+  "pipeline": [
+    {
+      "step_id": "步骤编号",
+      "step_name": "步骤名称",
+      "description": "做什么",
+      "target_features": ["涉及哪些特征维度"],
+      "target_images": ["涉及哪些图"],
+      "input_from": ["输入来自哪些步骤或已有素材"],
+      "output_to": ["输出给哪些后续步骤使用"],
+      "importance": "上限/下限/基础",
+      "reasoning": "为什么需要这一步、为什么放在这个位置"
+    }
+  ]
+}
 ```
 
-工具链的组织方式由你自主决定——可以是线性的、分支的、有依赖关系的,取决于你对任务的分析。
+粗工序的要求:
+- 依赖关系驱动:顺序的理由是"这步的输出是下步的输入",而非"简单的先做"
+- 覆盖检查:analysis.json 中的每个上限点和下限点都必须在粗工序中被覆盖
+- 素材利用:明确标注哪些已有素材在哪一步被使用
 
-### 第四步:输出报告
+### 第四步:生成 HTML 报告
 
-在工作过程中,将调研结果和工具调用链实时写入一个 JSON 文件 `examples/plan/output/report_data.json`。每完成一个调研主题或一段工具链规划,就追加到这个 JSON 中,保持数据的渐进式积累。
-
-JSON 结构由你自行设计,但应包含:
-- 调研结果(工具知识库、参考资料链接)
-- 完整的工具调用链
-- 预期难点和备选方案
-
-最后,编写一个 Python 脚本 `examples/plan/output/generate_report.py`,读取 `report_data.json` 生成 `restoration_plan.html`。不需要手写 HTML。
+运行已有的 `examples/plan/output/generate_report.py`(如果存在且适配),或编写一个新的,读取 JSON 文件生成 `restoration_plan.html`。
 
 ## 注意事项
-- `input/index.md` 是你的导航入口,所有素材路径都可以从中找到
-- `input/features/` 下按维度组织了 12 个特征目录,每个目录有 mapping.json
+- `input/index.md` 是你的导航入口
+- `input/features/` 下按维度组织了特征目录,每个目录有 mapping.json
 - 所有输出必须在 `examples/plan/output/` 目录下
+- analysis.json 是指导性文件,后续每个阶段开始前都要重新读取
 - 遇到不确定的地方,优先调研,其次请求人工协助(feishu 联系孙若天)
+- 保存结论性知识:对于调研中得出的通用性策略知识,使用 save_knowledge 工具存储
 
 $user$
-请开始对这组"户外白裙写生少女"图文帖子的还原工作进行调研和规划。
-
-工作步骤:
-1. 先阅读 input/index.md 了解手头素材,分析 5 张图之间的相似性和依赖关系
-2. 从工具知识的角度进行线上调研(小红书/公众号/知乎获取创作者经验,GitHub 获取技术实现)
-3. 设计单图工序(预处理→底图生成→精调)和多图工序(共享特征、依赖关系、3D 建模可能性)
-4. 输出结构化的 HTML 报告到 examples/plan/output/restoration_plan.html
-先不要跑那么多轮。请尽快得到答案。(search_posts不好用的话,就用browser-use工具,不要一直反复尝试)
-你来决定哪张图先做、哪些特征可以复用、怎样的工具链最高效。
+请开始对 input/ 中的图文帖子内容制定还原的粗工序
+
+1. 先读取图片亮点和制作点,分析还原需求(上限点+自己总结的下限点),输出 analysis.json
+2. 带着需求去搜索还原策略(工作流、工具能力、知识库),评估并选定策略,输出 research.json(输出策略时,要列举该策略的来源:knowledge_id,网页,帖子)
+3. 精细读取制作表和 features,将策略实例化为粗工序,输出 pipeline.json
+4. 生成 HTML 报告
+
+注意:目标是确定"还原策略"和"粗工序",不需要关心具体工具参数和实现细节。
+先不要跑太多轮。请尽快得到答案。(search_posts 不好用的话,就用 browser-use 工具,不要一直反复尝试,有问题联系关涛)

+ 10 - 2
examples/plan/run.py

@@ -102,12 +102,20 @@ async def main():
     # 6. 创建 Agent Runner
     print("6. 创建 Agent Runner...")
     print(f"   - Skills 目录: {SKILLS_DIR}")
-    print(f"   - 模型: {RUN_CONFIG.model}")
+
+    # 从 prompt 的 frontmatter 中提取模型配置(优先于 config.py)
+    prompt_model = prompt.config.get("model", None)
+    if prompt_model:
+        model_for_llm = prompt_model
+        print(f"   - 模型 (from prompt): {model_for_llm}")
+    else:
+        model_for_llm = RUN_CONFIG.model
+        print(f"   - 模型 (from config): {model_for_llm}")
 
     store = FileSystemTraceStore(base_path=TRACE_STORE_PATH)
     runner = AgentRunner(
         trace_store=store,
-        llm_call=create_openrouter_llm_call(model=f"anthropic/{RUN_CONFIG.model}"),
+        llm_call=create_openrouter_llm_call(model=model_for_llm),
         skills_dir=SKILLS_DIR,
         debug=DEBUG
     )

+ 1 - 6
examples/research/research.prompt

@@ -7,9 +7,4 @@ $system$
 你是最顶尖的AI助手,可以拆分并调用工具逐步解决复杂问题。
 
 $user$
-帮我调研一下,新产品面世时候怎么营销推广
-- 先规划调研计划,再逐步完成调研
-- 要有可靠的依据(例如行业大牛的博客、榜单等等),要尽量全面,而不是随便选择一个平台深入
-- 我希望你在需要时能够打开浏览器做调研,并将调研收获在 examples/research/knowledge/ 目录下组织维护好,注意保留原始来源的URL
-- 调研过程中注意记录,以免意外中止时候失去所有进展;过程结果和最终结果要清晰整理好
-- **禁止降级解决**:不允许为了方便而使用效果显著更差的简单方案。你应该拆解子目标逐步完成,或者转交给sub agent解决某一项适合拆分的子任务
+你能不能用browser_use打开豆包,并且使用豆包搜索一下最新的图生成方案?遇到问题可以联系关涛(如果要扫码登录可以把截图发给他)