refactor(core): 脚本收口——只留 agent 出稿,删旧散文路 + 单镜重跑改走 agent
删 /generate-script/ 端点 + generate_project_script + build_script_prompt + 旧单镜 build_segment_rerun_prompt;前端删静默兜底(agent 失败明确报错,不再掉回旧路)+ onGenerateScript prop/api。rerun-script-segment 改用 agent 单镜逻辑(regenerate_segment_via_agent:读全脚本上下文/保留其余镜/落新版本)。根因:旧路不产 script_entities/entity_refs,下游故事板/视频参考图断线→图飘。测试:删 3 个旧 generate 用例 + 重写 rerun 为 agent 版,ai+projects 23 测试除 4 个既有 base-asset 失败外全绿。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
This commit is contained in:
co-authored by
Claude Opus 4.8
parent
0695c36f4c
commit
1ecb186ddf
@@ -21,7 +21,6 @@ from apps.ai.services import (
|
||||
create_export_job,
|
||||
generate_base_asset,
|
||||
generate_person_triview,
|
||||
generate_project_script,
|
||||
generate_storyboard_frame,
|
||||
get_default_model,
|
||||
poll_video_segment,
|
||||
@@ -169,18 +168,6 @@ class ProjectViewSet(TeamScopedViewSetMixin, ModelViewSet):
|
||||
for index in range(4):
|
||||
VideoSegment.objects.create(project=project, sort_order=index, target_duration_seconds=15)
|
||||
|
||||
@action(detail=True, methods=["post"], url_path="generate-script")
|
||||
def generate_script(self, request, pk=None):
|
||||
project = self.get_object()
|
||||
script = generate_project_script(
|
||||
project=project,
|
||||
user=request.user,
|
||||
user_prompt=request.data.get("prompt", ""),
|
||||
selling_point_ids=request.data.get("selling_point_ids") or [],
|
||||
source=request.data.get("source") or "ai",
|
||||
)
|
||||
return Response(ScriptVersionSerializer(script).data, status=status.HTTP_201_CREATED)
|
||||
|
||||
@action(detail=True, methods=["post"], url_path="script-agent-stream", renderer_classes=[ServerSentEventRenderer])
|
||||
def script_agent_stream(self, request, pk=None):
|
||||
"""对话式脚本 agent · 流式(SSE)。出稿 + 改稿一体,多模型可选。
|
||||
|
||||
Reference in New Issue
Block a user