#!/usr/bin/env python3 # -*- coding: utf-8 -*- """Langfuse 专题 · 步骤 5 · 修改前:确认 langfuse_trace.py 是否已打 Observation ID 补丁。""" from __future__ import annotations import sys import _bootstrap # noqa: F401 import _config as C import _plugin_util as PU from dify_api import Dify LF_TRACE_PATH = ( "/app/api/.venv/lib/python3.12/site-packages/dify_trace_langfuse/langfuse_trace.py" ) def main() -> int: d = Dify(C.DIFY_EMAIL, C.DIFY_PASSWORD) try: for ctr in (C.DIFY_WORKER, C.DIFY_API_CTR): print("\n=== %s ===" % ctr) out, err = d.sh("docker exec %s ls -l %s" % (ctr, LF_TRACE_PATH)) print(out or err) grep = PU.grep_in_container(d, ctr, LF_TRACE_PATH, "auto-assign if missing") if grep.strip(): print("[OK] 已打补丁:\n", grep) else: print("[WARN] 未打补丁 — 运行 Langfuse_01_打langfuse_trace补丁_修改后.py") return 0 finally: d.close() if __name__ == "__main__": sys.exit(main())