8900 commited on
Update setup-hf-config.mjs
Browse files- setup-hf-config.mjs +30 -23
setup-hf-config.mjs
CHANGED
|
@@ -8,7 +8,8 @@ var CONFIG_PATH = path.join(STATE_DIR, "openclaw.json");
|
|
| 8 |
var SPACE_HOST = (process.env.SPACE_HOST || "").trim();
|
| 9 |
|
| 10 |
console.log("[setup] Startingโฆ HOME=" + HOME);
|
| 11 |
-
console.log("[setup]
|
|
|
|
| 12 |
|
| 13 |
// โ helpers โ
|
| 14 |
function parseList(val) {
|
|
@@ -25,10 +26,10 @@ console.error("[setup] FATAL: set OPENCLAW_GATEWAY_TOKEN or OPENCLAW_GATEWAY_PAS
|
|
| 25 |
process.exit(0);
|
| 26 |
}
|
| 27 |
|
| 28 |
-
// โ default model (
|
| 29 |
var defaultModel = envStr("OPENCLAW_HF_DEFAULT_MODEL") || "openai-codex/gpt-5.3-codex";
|
| 30 |
|
| 31 |
-
// โ dynamic provider key detection
|
| 32 |
var EXCLUDE_PREFIXES = [
|
| 33 |
"OPENCLAW_", "SPACE_", "SYSTEM_", "HF_",
|
| 34 |
"NODE_", "PATH", "HOME", "USER", "PWD", "LANG", "LC_",
|
|
@@ -68,7 +69,7 @@ var trustedProxies = envProxies.length>0 ? envProxies : [
|
|
| 68 |
"10.20.0.1","172.17.0.1"
|
| 69 |
];
|
| 70 |
|
| 71 |
-
// โ build config
|
| 72 |
var config = {
|
| 73 |
gateway: {
|
| 74 |
auth: gatewayToken ? { mode:"token", token:gatewayToken } : { mode:"password", password:gatewayPassword },
|
|
@@ -79,11 +80,9 @@ agents: {
|
|
| 79 |
defaults:{
|
| 80 |
model: {
|
| 81 |
primary: defaultModel,
|
| 82 |
-
// Fallback to other free/cheap models if Codex is rate limited
|
| 83 |
fallbacks: [
|
| 84 |
"google/gemini-2.0-flash",
|
| 85 |
-
"openrouter/auto"
|
| 86 |
-
"anthropic/claude-3-haiku"
|
| 87 |
]
|
| 88 |
}
|
| 89 |
}
|
|
@@ -91,7 +90,7 @@ fallbacks: [
|
|
| 91 |
env: { vars:{} }
|
| 92 |
};
|
| 93 |
|
| 94 |
-
// Add
|
| 95 |
providerKeys.forEach(pk=>{
|
| 96 |
config.env.vars[pk] = envStr(pk);
|
| 97 |
});
|
|
@@ -121,9 +120,6 @@ req.write(data);
|
|
| 121 |
req.end();
|
| 122 |
});
|
| 123 |
if(r && r.ok) console.log("[setup] Telegram: webhook registered -> "+webhookUrl);
|
| 124 |
-
else {
|
| 125 |
-
console.log("[setup] Telegram: auto-registration failed (HF outbound blocked)");
|
| 126 |
-
}
|
| 127 |
}
|
| 128 |
|
| 129 |
config.channels = { telegram:{ enabled:true, accounts:{ main:{ botToken:token, apiRoot:"https://api.telegram.org" } } } };
|
|
@@ -142,20 +138,31 @@ fs.writeFileSync(CONFIG_PATH, JSON.stringify(config,null,2),"utf-8");
|
|
| 142 |
console.log("[setup] Done! Configuration created.");
|
| 143 |
console.log("[setup] auth = "+(gatewayToken?"token":"password"));
|
| 144 |
console.log("[setup] default model = "+defaultModel);
|
| 145 |
-
console.log("[setup] fallback models= 3");
|
| 146 |
console.log("[setup] config = "+CONFIG_PATH);
|
| 147 |
console.log("");
|
| 148 |
-
console.log("
|
| 149 |
-
console.log("
|
| 150 |
-
console.log("
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 151 |
console.log("");
|
| 152 |
-
console.log("[setup]
|
| 153 |
-
console.log("[setup]
|
| 154 |
-
console.log("[setup]
|
|
|
|
|
|
|
| 155 |
console.log("");
|
| 156 |
-
console.log("[setup] Why OAuth instead of token extraction?");
|
| 157 |
-
console.log("[setup] 1. OpenAI officially supports OAuth with third-party tools");
|
| 158 |
-
console.log("[setup] 2. Session tokens extracted from browser donโt have API scopes");
|
| 159 |
-
console.log("[setup] 3. OAuth provides real, authorized API access");
|
| 160 |
-
console.log("[setup] 4. This method is officially recommended and supported");
|
| 161 |
})().catch(e=>{ console.error("[setup] Fatal: "+e.message); process.exit(0); });
|
|
|
|
| 8 |
var SPACE_HOST = (process.env.SPACE_HOST || "").trim();
|
| 9 |
|
| 10 |
console.log("[setup] Startingโฆ HOME=" + HOME);
|
| 11 |
+
console.log("[setup] ๐ฏ Setting up OpenClaw with OpenAI Codex OAuth");
|
| 12 |
+
console.log("[setup] (Works with both FREE and PLUS ChatGPT accounts)");
|
| 13 |
|
| 14 |
// โ helpers โ
|
| 15 |
function parseList(val) {
|
|
|
|
| 26 |
process.exit(0);
|
| 27 |
}
|
| 28 |
|
| 29 |
+
// โ default model (ไฝฟ็จ OpenAI Codex๏ผ้่ฆ้่ฟ OAuth ๆๆ) โ
|
| 30 |
var defaultModel = envStr("OPENCLAW_HF_DEFAULT_MODEL") || "openai-codex/gpt-5.3-codex";
|
| 31 |
|
| 32 |
+
// โ dynamic provider key detection โ
|
| 33 |
var EXCLUDE_PREFIXES = [
|
| 34 |
"OPENCLAW_", "SPACE_", "SYSTEM_", "HF_",
|
| 35 |
"NODE_", "PATH", "HOME", "USER", "PWD", "LANG", "LC_",
|
|
|
|
| 69 |
"10.20.0.1","172.17.0.1"
|
| 70 |
];
|
| 71 |
|
| 72 |
+
// โ build config โ
|
| 73 |
var config = {
|
| 74 |
gateway: {
|
| 75 |
auth: gatewayToken ? { mode:"token", token:gatewayToken } : { mode:"password", password:gatewayPassword },
|
|
|
|
| 80 |
defaults:{
|
| 81 |
model: {
|
| 82 |
primary: defaultModel,
|
|
|
|
| 83 |
fallbacks: [
|
| 84 |
"google/gemini-2.0-flash",
|
| 85 |
+
"openrouter/auto"
|
|
|
|
| 86 |
]
|
| 87 |
}
|
| 88 |
}
|
|
|
|
| 90 |
env: { vars:{} }
|
| 91 |
};
|
| 92 |
|
| 93 |
+
// Add API keys
|
| 94 |
providerKeys.forEach(pk=>{
|
| 95 |
config.env.vars[pk] = envStr(pk);
|
| 96 |
});
|
|
|
|
| 120 |
req.end();
|
| 121 |
});
|
| 122 |
if(r && r.ok) console.log("[setup] Telegram: webhook registered -> "+webhookUrl);
|
|
|
|
|
|
|
|
|
|
| 123 |
}
|
| 124 |
|
| 125 |
config.channels = { telegram:{ enabled:true, accounts:{ main:{ botToken:token, apiRoot:"https://api.telegram.org" } } } };
|
|
|
|
| 138 |
console.log("[setup] Done! Configuration created.");
|
| 139 |
console.log("[setup] auth = "+(gatewayToken?"token":"password"));
|
| 140 |
console.log("[setup] default model = "+defaultModel);
|
|
|
|
| 141 |
console.log("[setup] config = "+CONFIG_PATH);
|
| 142 |
console.log("");
|
| 143 |
+
console.log("โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ");
|
| 144 |
+
console.log("โ โ
OpenClaw is ready for OAuth login! โ");
|
| 145 |
+
console.log("โโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโโ");
|
| 146 |
+
console.log("");
|
| 147 |
+
console.log("[setup] ๐ NEXT STEP - Complete OAuth Authorization:");
|
| 148 |
+
console.log("[setup]");
|
| 149 |
+
console.log("[setup] When OpenClaw starts, it will print an OAuth link in the logs.");
|
| 150 |
+
console.log("[setup] Look for a URL like this in the logs:");
|
| 151 |
+
console.log("[setup] https://auth.openai.com/authorize?client_id=โฆ&redirect_uri=โฆ&code_challenge=โฆ");
|
| 152 |
+
console.log("");
|
| 153 |
+
console.log("[setup] โ ๏ธ INSTRUCTIONS:");
|
| 154 |
+
console.log("[setup] 1๏ธโฃ ๅคๅถ้ฃไธชๅฎๆด็ URL");
|
| 155 |
+
console.log("[setup] 2๏ธโฃ ๅจๆฐๆต่งๅจ็ชๅฃไธญๆๅผ๏ผ็จไฝ ็ๆๆบไนๅฏไปฅ๏ผ");
|
| 156 |
+
console.log("[setup] 3๏ธโฃ ็จไฝ ็ ChatGPT ่ดฆๅท็ปๅฝ๏ผๅ
่ดน่ดฆๅทโ
ๆ Plus โ
้ฝๅฏไปฅ๏ผ");
|
| 157 |
+
console.log("[setup] 4๏ธโฃ ็นๅป \"Continue\" ๆ \"Authorize\" ๆ้ฎ");
|
| 158 |
+
console.log("[setup] 5๏ธโฃ ๆต่งๅจไผ้ๅฎๅๅฐไธไธช้่ฏฏ้กต้ข๏ผ่ฟๆฏๆญฃๅธธ็๏ผ๏ผ");
|
| 159 |
+
console.log("[setup] 6๏ธโฃ ๅคๅถ้ๅฎๅๅ็ๅฎๆด URL๏ผๅ
ๅซ ?code=โฆ ้จๅ๏ผ");
|
| 160 |
+
console.log("[setup] 7๏ธโฃ ็ฒ่ดดๅฐ OpenClaw ็ๆฅๅฟๆ็คบไธญๆๆ ๅ่พๅ
ฅ");
|
| 161 |
console.log("");
|
| 162 |
+
console.log("[setup] ๐ก Why this works for FREE accounts:");
|
| 163 |
+
console.log("[setup] - OpenAI supports ChatGPT account OAuth");
|
| 164 |
+
console.log("[setup] - Free account can authenticate and use Codex");
|
| 165 |
+
console.log("[setup] - Just slower/limited than Plus (if you hit limits)");
|
| 166 |
+
console.log("[setup] - No payment required!");
|
| 167 |
console.log("");
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 168 |
})().catch(e=>{ console.error("[setup] Fatal: "+e.message); process.exit(0); });
|