8900 commited on
Commit
f8096f7
·
verified ·
1 Parent(s): 32815f8

Create setup-hf-config.mjs

Browse files
Files changed (1) hide show
  1. setup-hf-config.mjs +101 -0
setup-hf-config.mjs ADDED
@@ -0,0 +1,101 @@
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ import fs from “node:fs”;
2
+ import path from “node:path”;
3
+
4
+ var home = process.env.OPENCLAW_HOME || process.env.HOME || “/home/user”;
5
+ var stateDir = path.join(home, “.openclaw”);
6
+ var configPath = path.join(stateDir, “openclaw.json”);
7
+
8
+ function readGatewayToken() {
9
+ var fromEnv = (process.env.OPENCLAW_GATEWAY_TOKEN || “”).trim();
10
+ if (fromEnv) return fromEnv;
11
+ var filePath = (process.env.OPENCLAW_GATEWAY_TOKEN_FILE || “”).trim();
12
+ if (filePath && fs.existsSync(filePath)) {
13
+ try {
14
+ return fs.readFileSync(filePath, “utf-8”).trim();
15
+ } catch (e) {
16
+ return “”;
17
+ }
18
+ }
19
+ return “”;
20
+ }
21
+
22
+ function parseList(val) {
23
+ if (!val || !val.trim()) return [];
24
+ return val.split(”,”).map(function(s) { return s.trim(); }).filter(Boolean);
25
+ }
26
+
27
+ var defaultModel = (process.env.OPENCLAW_HF_DEFAULT_MODEL || “”).trim() || “huggingface/deepseek-ai/DeepSeek-R1”;
28
+ var gatewayToken = readGatewayToken();
29
+ var gatewayPassword = (process.env.OPENCLAW_GATEWAY_PASSWORD || “”).trim();
30
+
31
+ var DEFAULT_HF_TRUSTED_PROXY_IPS = [
32
+ “10.16.4.123”,
33
+ “10.16.7.92”,
34
+ “10.16.18.232”,
35
+ “10.16.34.155”,
36
+ “10.16.43.133”,
37
+ “10.20.1.9”,
38
+ “10.20.1.222”,
39
+ “10.20.26.157”,
40
+ “10.20.31.87”,
41
+ “10.20.0.1”,
42
+ “172.17.0.1”
43
+ ];
44
+
45
+ var trustedProxiesRaw = (process.env.OPENCLAW_GATEWAY_TRUSTED_PROXIES || “”).trim();
46
+ var trustedProxies = trustedProxiesRaw ? parseList(trustedProxiesRaw) : DEFAULT_HF_TRUSTED_PROXY_IPS;
47
+ var allowedOrigins = parseList(process.env.OPENCLAW_CONTROL_UI_ALLOWED_ORIGINS || “”);
48
+
49
+ var config = {};
50
+ try {
51
+ if (fs.existsSync(configPath)) {
52
+ config = JSON.parse(fs.readFileSync(configPath, “utf-8”));
53
+ }
54
+ } catch (e) {
55
+ config = {};
56
+ }
57
+
58
+ if (!config.agents) config.agents = {};
59
+ if (!config.agents.defaults) config.agents.defaults = {};
60
+ if (!config.agents.defaults.model) config.agents.defaults.model = {};
61
+ config.agents.defaults.model.primary = defaultModel;
62
+
63
+ if (!config.gateway) config.gateway = {};
64
+
65
+ var useTokenAuth = gatewayToken.length > 0;
66
+ var usePasswordAuth = gatewayPassword.length > 0 && !useTokenAuth;
67
+
68
+ if (useTokenAuth || usePasswordAuth) {
69
+ if (!config.gateway.auth) config.gateway.auth = {};
70
+ if (useTokenAuth) {
71
+ config.gateway.auth.mode = “token”;
72
+ config.gateway.auth.token = gatewayToken;
73
+ } else {
74
+ config.gateway.auth.mode = “password”;
75
+ config.gateway.auth.password = gatewayPassword;
76
+ }
77
+ }
78
+
79
+ if (!config.gateway.controlUi) config.gateway.controlUi = {};
80
+ config.gateway.controlUi.dangerouslyDisableDeviceAuth = true;
81
+ config.gateway.controlUi.allowInsecureAuth = true;
82
+
83
+ if (allowedOrigins.length > 0) {
84
+ config.gateway.controlUi.allowedOrigins = allowedOrigins;
85
+ }
86
+
87
+ config.gateway.trustedProxies = trustedProxies;
88
+
89
+ try {
90
+ fs.mkdirSync(stateDir, { recursive: true });
91
+ fs.writeFileSync(configPath, JSON.stringify(config, null, 2), “utf-8”);
92
+ } catch (e) {
93
+ console.error(”[openclaw-hf-setup] failed to write config: “ + e.message);
94
+ process.exit(0);
95
+ }
96
+
97
+ var authKind = useTokenAuth ? “token” : (usePasswordAuth ? “password” : “none”);
98
+ console.log(”[openclaw-hf-setup] auth=” + authKind + “ trustedProxies=” + trustedProxies.length + “ model=” + defaultModel + “ -> “ + configPath);
99
+ if (authKind === “none”) {
100
+ console.warn(”[openclaw-hf-setup] No auth set. Add OPENCLAW_GATEWAY_TOKEN in Space Secrets.”);
101
+ }