问题:进资产阶段点"提取人物/场景"间歇报「提取结果解析失败(模型未返回有效 JSON)」。根因——提取走非流式只读 content,而默认文本模型是会思考的推理模型 (豆包2.0Pro think:True),思考期常把内容留在 reasoning_content、content 返空 → 正则抽不到 JSON。脚本生成不犯此病是因其走流式、早已分离思考/正文。 改动: - 锁模型:提取固定用 doubao-seed-2-0-pro-260215(_resolve_extract_model_config), 取不到再回落默认,不再受各环境 DB 创建序漂移影响路由。 - 根治:提取复用与脚本生成同一条已验证稳定的流式通道(_collect_extract_text)—— 丢弃 reasoning 事件、只收正文 delta;正文为空时兜底回退 reasoning 里的 JSON。 response_payload 改存精简流式存档(streamed/model/content/had_reasoning)。 - 测试:提取步原零测试,新增 2 个——流式正文JSON正确落库+计费一次、content空→ 回退reasoning。其余链路(脚本生成/单镜重跑)未动。 验收:本机 Python3.9 跑不了 Django5 全套,核心逻辑(事件过滤/回退/JSON抽取)已 独立验证通过;py_compile 绿;完整套件由 CI 跑。 Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
AirShelf Backend
All backend code lives under AirShelf/core/backend by project decision.
Local bootstrap
cd /Users/maidong/Desktop/zyc/qiyuan_gitea/AirShelf/core/backend
python3.12 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
cp .env.example .env
python manage.py migrate
python manage.py runserver 0.0.0.0:8000
Start workers in separate terminals:
cd /Users/maidong/Desktop/zyc/qiyuan_gitea/AirShelf/core/backend
source .venv/bin/activate
celery -A airshelf worker -l info -P threads -c 4 # 线程池 4 并发(出图/视频可并行;勿用 -P solo 串行)
ffmpeg must be available on PATH for Stage5 export jobs.
Runtime layout
- Django project:
airshelf - Domain apps:
apps/* - Settings module:
airshelf.settings.development - Celery app:
airshelf.celery
Secrets must be supplied by environment variables or .env; never commit values from account.md.
Useful commands
python manage.py check
python manage.py makemigrations --check --dry-run
python manage.py migrate
python manage.py bootstrap_volcano_models
python manage.py test apps.accounts apps.projects apps.billing