from dify_api import Dify, pp APP_ID = "40e95fd3-e7f5-44f2-a03b-dc3e60413540" PK = "pk-lf-84a76d89-b6b4-4943-b4ea-2dee48d4cda7" SK = "sk-lf-24aa6d73-ed36-4447-9eb6-3ebd446fb298" HOST = "http://192.168.110.207:3000" d = Dify("38205036@qq.com", "Difyai123456") ok, _, _ = d.login() print("login", ok) # 1) 看当前开关 pp("current trace", d.get("/apps/%s/trace" % APP_ID)) pp("current config", d.get("/apps/%s/trace-config?tracing_provider=langfuse" % APP_ID)) # 2) 写入密钥。没有配置则 POST,已有则 PATCH body = { "tracing_provider": "langfuse", "tracing_config": { "public_key": PK, "secret_key": SK, "host": HOST, }, } cfg = d.get("/apps/%s/trace-config?tracing_provider=langfuse" % APP_ID) if (cfg.get("json") or {}).get("has_not_configured"): r = d.post("/apps/%s/trace-config" % APP_ID, body=body) pp("create trace-config", r) else: r = d.req("PATCH", "/apps/%s/trace-config" % APP_ID, body=body) pp("update trace-config", r) if r["code"] not in ("200", "201"): r = d.post("/apps/%s/trace-config" % APP_ID, body=body) pp("create after failed patch", r) # 3) 打开总开关 r = d.post( "/apps/%s/trace" % APP_ID, body={"enabled": True, "tracing_provider": "langfuse"}, ) pp("enable tracing", r) # 4) 回读:密钥会被打码,并出现 project_url pp("trace after", d.get("/apps/%s/trace" % APP_ID)) pp("config after", d.get("/apps/%s/trace-config?tracing_provider=langfuse" % APP_ID)) d.close()