#!/usr/bin/env python3 # -*- coding: utf-8 -*- """专题十四 · 步骤 2:采样 agent_backend / xinference / api 日志。""" from __future__ import annotations import sys import _bootstrap # noqa: F401 import _config as C from dify_api import Dify def main() -> int: d = Dify(C.DIFY_EMAIL, C.DIFY_PASSWORD) try: cmds = [ ("agent_backend", "docker logs --since 20m docker-agent_backend-1 2>&1 | grep -Ei 'knowledge_base_search|chat qwen|token limit|retrieve' | tail -30"), ("api", "docker logs --since 20m docker-api-1 2>&1 | grep -Ei 'Unknown Error|token limit|Agent App generate' | tail -20"), ("xinference", "docker logs --since 20m %s 2>&1 | grep -E 'POST /v1/rerank|POST /v1/embeddings|ERROR|403' | tail -20" % C.XF_CONTAINER), ("plugin_daemon", "docker logs --since 20m %s 2>&1 | grep -Ei 'xinference|openai|timeout|error' | tail -15" % C.PLUGIN_CONTAINER), ] for name, cmd in cmds: print("\n=== %s ===" % name) out, err = d.sh(cmd) print((out or err)[-3000:]) return 0 finally: d.close() if __name__ == "__main__": sys.exit(main())