package main import ( "data-terminal-cloud/internal/workflowbridge" "log" "net/http" "os" "strings" "time" ) func secret(name string) string { if p := os.Getenv(name + "_FILE"); p != "" { b, err := os.ReadFile(p) if err != nil { log.Fatal("secret file unavailable") } return strings.TrimSpace(string(b)) } return strings.TrimSpace(os.Getenv(name)) } func main() { key, admin := secret("ARK_API_KEY"), secret("DIFY_BRIDGE_SECRET") if key == "" || admin == "" { log.Fatal("bridge credentials missing") } base := os.Getenv("ARK_BASE_URL") if base == "" { base = "https://ark.cn-beijing.volces.com/api/v3" } service, err := workflowbridge.NewArkService(admin, base, key) if err != nil { log.Fatal("model configuration invalid") } server := &http.Server{Addr: ":8188", Handler: service, ReadHeaderTimeout: 10 * time.Second, IdleTimeout: 30 * time.Second} log.Fatal(server.ListenAndServe()) }