seaislee1209 6ee5c8ffdb feat(records): api_prompt 永久留痕 + 详情弹窗调试信息折叠区
后端:
- GenerationRecord 加 api_prompt TextField(blank, default='')
- 0021_add_api_prompt migration
- video_generate_view 计算完 _format_prompt_for_ark 后立即 save api_prompt
  (即使 create_task 抛错也保留,方便事后查实际传了什么)
- admin_records / team_records view 各回传 api_prompt 字段

前端:
- AdminRecord 类型加 api_prompt?: string
- RecordDetailModal 详情弹窗右侧底部加"调试信息(开发/客服参考)"折叠区
  - 默认收起,小灰字 ▸/▾ toggle
  - 仅当 api_prompt && api_prompt !== prompt 才显示"实际发给火山"等宽字 box
    (历史记录 api_prompt 为空则不显示这栏)
  - 火山 Task ID + 复制按钮(showToast 反馈)
  - 失败任务才显示原始错误(raw_error)
  - 平时用户察觉不到,客服/财务复盘时点开就能看完整调试信息

Co-Authored-By: Claude Opus 4.7 (1M context) <noreply@anthropic.com>
2026-05-12 18:19:36 +08:00

19 lines
540 B
Python

# v0.20.1 — 给 GenerationRecord 加 api_prompt 字段(实际发给火山的提示词,永久留痕)
from django.db import migrations, models
class Migration(migrations.Migration):
dependencies = [
('generation', '0020_quotaconfig_base_token_price_1080p_and_more'),
]
operations = [
migrations.AddField(
model_name='generationrecord',
name='api_prompt',
field=models.TextField(blank=True, default='', verbose_name='实际发给火山的提示词'),
),
]