"""导出 App2 当前拼接后的完整 user prompt（不含百炼侧 system prompt）。"""
from __future__ import annotations

import asyncio
import json
import os
import sys

sys.path.insert(0, 'apps/backend')
from dotenv import load_dotenv
load_dotenv(dotenv_path=os.path.join(os.getcwd(), '.env'))

from app.ai.prompts.app2_finance_prompt import build_prompt


async def main() -> None:
    p = await build_prompt({
        'site_id': 2790685415443269,
        'time_dimension': 'this_month',
        'area': 'all',
    })
    pretty = json.dumps(json.loads(p), ensure_ascii=False, indent=2)
    md = f"""# App2 当前拼接 Prompt 快照（this_month / all）

- 生成时间：2026-04-22
- Prompt 长度：{len(p)} 字符
- 仅为 **user prompt**；百炼控制台 system prompt（行业背景 + 分析框架）不在此文件，会在调用时由百炼 SDK 前置拼接

## 完整 Prompt

```json
{pretty}
```
"""
    out = r'c:/Project/NeoZQYY/export/ai-prompt-samples/app2_current_user_prompt.md'
    with open(out, 'w', encoding='utf-8') as f:
        f.write(md)
    print(f'prompt={len(p)} chars')
    print(f'md={out}')
    print()
    print(pretty)


if __name__ == '__main__':
    asyncio.run(main())
