70 lines
2.2 KiB
Bash
70 lines
2.2 KiB
Bash
#!/bin/sh
|
|
set -eu
|
|
|
|
CONFIG_DIR="${HOME:-/home/node}/.openclaw"
|
|
CONFIG_FILE="${CONFIG_DIR}/openclaw.json"
|
|
DEFAULT_CONFIG="/opt/openclaw/defaults/openclaw.json"
|
|
BIND="${OPENCLAW_GATEWAY_BIND:-lan}"
|
|
TAILSCALE_MODE="${OPENCLAW_TAILSCALE_MODE:-off}"
|
|
PORT="${OPENCLAW_GATEWAY_PORT:-18789}"
|
|
|
|
mkdir -p "${CONFIG_DIR}"
|
|
|
|
if [ ! -f "${CONFIG_FILE}" ] && [ -f "${DEFAULT_CONFIG}" ]; then
|
|
cp "${DEFAULT_CONFIG}" "${CONFIG_FILE}"
|
|
fi
|
|
|
|
if [ ! -f "${CONFIG_FILE}" ]; then
|
|
printf '{}\n' > "${CONFIG_FILE}"
|
|
fi
|
|
|
|
tmp_file="$(mktemp)"
|
|
jq \
|
|
--arg bind "${BIND}" \
|
|
--arg tailscale_mode "${TAILSCALE_MODE}" \
|
|
--arg token "${OPENCLAW_GATEWAY_TOKEN:-}" \
|
|
'
|
|
.env.OPENCLAW_GATEWAY_TOKEN = "${OPENCLAW_GATEWAY_TOKEN}" |
|
|
.env.OPENAI_API_KEY = "${OPENAI_API_KEY}" |
|
|
.gateway.bind = $bind |
|
|
.gateway.tailscale.mode = $tailscale_mode |
|
|
.gateway.auth.mode = "token" |
|
|
.gateway.auth.token = (if $token == "" then (.gateway.auth.token // "${OPENCLAW_GATEWAY_TOKEN}") else $token end) |
|
|
.gateway.controlUi.allowInsecureAuth = true |
|
|
.models.providers.openai = {
|
|
baseUrl: "https://api.openai.com/v1",
|
|
apiKey: "${OPENAI_API_KEY}",
|
|
auth: "api-key",
|
|
api: "openai-completions",
|
|
models: [
|
|
{
|
|
id: "gpt-4.1-mini",
|
|
name: "GPT-4.1 mini",
|
|
reasoning: false,
|
|
input: ["text"],
|
|
cost: {input: 0, output: 0, cacheRead: 0, cacheWrite: 0},
|
|
contextWindow: 1047576,
|
|
maxTokens: 32768
|
|
},
|
|
{
|
|
id: "gpt-image-1",
|
|
name: "GPT Image 1",
|
|
reasoning: false,
|
|
input: ["text", "image"],
|
|
cost: {input: 0, output: 0, cacheRead: 0, cacheWrite: 0},
|
|
contextWindow: 128000,
|
|
maxTokens: 4096
|
|
}
|
|
]
|
|
} |
|
|
.agents.defaults.model.fallbacks = ((.agents.defaults.model.fallbacks // []) + ["openai/gpt-4.1-mini"] | unique) |
|
|
.agents.defaults.models["openai/gpt-4.1-mini"] = {alias: "OpenAI GPT-4.1 mini"}
|
|
' "${CONFIG_FILE}" > "${tmp_file}"
|
|
mv "${tmp_file}" "${CONFIG_FILE}"
|
|
|
|
if [ "${OPENCLAW_ENABLE_TAILSCALE:-0}" = "1" ] && [ -x /home/node/.local/bin/tailscale-start.sh ]; then
|
|
/home/node/.local/bin/tailscale-start.sh || true
|
|
fi
|
|
|
|
exec node dist/index.js gateway --bind "${BIND}" --port "${PORT}"
|