#!/usr/bin/env python3 # -*- coding: utf-8 -*- """专题十二 · 步骤 5:验证 max_tokens 已改回 8192,并扫 api 日志无 token limit。""" from __future__ import annotations import sys import _bootstrap # noqa: F401 import _agent_db as A import _config as C from dify_api import Dify def main() -> int: d = Dify(C.DIFY_EMAIL, C.DIFY_PASSWORD) try: d.login() A.verify_max_tokens(d, C.SNAP_ID, C.DRAFT_ID) snap = A.read_max_tokens(d, "agent_config_snapshots", C.SNAP_ID) draft = A.read_max_tokens(d, "agent_config_drafts", C.DRAFT_ID) ok = str(snap) == str(C.MAX_TOKENS_DEFAULT) and str(draft) == str(C.MAX_TOKENS_DEFAULT) out, _ = d.sh( "docker logs --since 30m docker-api-1 2>&1 | grep -i 'token limit' | tail -5" ) print("\n=== 最近 api token limit 日志 ===") print(out.strip() or "(无新 token limit 日志)") print("\n[OK]" if ok else "\n[FAIL]", "期望 snapshot/draft 均为", C.MAX_TOKENS_DEFAULT) return 0 if ok else 1 finally: d.close() if __name__ == "__main__": sys.exit(main())