simplify: use openclaw onboard for model config instead of custom .env
Don't reinvent the wheel - OpenClaw's own onboard flow handles model selection, auth, and provider config correctly and securely.
This commit is contained in:
@@ -246,167 +246,19 @@ run_openclaw() {
|
||||
"$NODE_BIN" openclaw.mjs "$@"
|
||||
}
|
||||
|
||||
# 写入模型配置到 models.json 和 auth-profiles.json
|
||||
write_model_config() {
|
||||
local PROVIDER_ID="$1"
|
||||
local PROVIDER_NAME="$2"
|
||||
local BASE_URL="$3"
|
||||
local API_KEY="$4"
|
||||
local MODEL_ID="$5"
|
||||
local MODEL_NAME="$6"
|
||||
local CONTEXT_WINDOW="${7:-128000}"
|
||||
|
||||
local AGENT_DIR="$PORTABLE_STATE_DIR/agents/main/agent"
|
||||
mkdir -p "$AGENT_DIR"
|
||||
|
||||
# 写 auth-profiles.json
|
||||
cat > "$AGENT_DIR/auth-profiles.json" << AUTHEOF
|
||||
{
|
||||
"version": 1,
|
||||
"profiles": {
|
||||
"${PROVIDER_ID}:default": {
|
||||
"type": "api_key",
|
||||
"provider": "${PROVIDER_ID}",
|
||||
"key": "${API_KEY}"
|
||||
}
|
||||
}
|
||||
}
|
||||
AUTHEOF
|
||||
|
||||
# 写 models.json
|
||||
cat > "$AGENT_DIR/models.json" << MODELEOF
|
||||
{
|
||||
"providers": {
|
||||
"${PROVIDER_ID}": {
|
||||
"baseUrl": "${BASE_URL}",
|
||||
"api": "openai-completions",
|
||||
"models": [
|
||||
{
|
||||
"id": "${MODEL_ID}",
|
||||
"name": "${MODEL_NAME}",
|
||||
"reasoning": false,
|
||||
"input": ["text"],
|
||||
"contextWindow": ${CONTEXT_WINDOW},
|
||||
"maxTokens": 8192
|
||||
}
|
||||
],
|
||||
"apiKey": "${API_KEY}"
|
||||
}
|
||||
}
|
||||
}
|
||||
MODELEOF
|
||||
|
||||
# 设置为默认模型
|
||||
run_openclaw config set agents.defaults.model "${MODEL_ID}" 2>/dev/null
|
||||
|
||||
echo ""
|
||||
echo -e " ${GREEN}${MODEL_NAME} 已配置完成!${NC}"
|
||||
echo -e " ${GREEN}模型: ${MODEL_ID}${NC}"
|
||||
echo -e " ${GREEN}接口: ${BASE_URL}${NC}"
|
||||
echo ""
|
||||
echo -e " ${YELLOW}配置已保存到 U 盘。重启网关后生效(主菜单选 [4] 或 [17])${NC}"
|
||||
}
|
||||
|
||||
# [5] 配置国产模型
|
||||
# [5] 配置 AI 模型(直接用 OpenClaw 自带的配置向导)
|
||||
do_china_models() {
|
||||
echo ""
|
||||
echo -e " ${CYAN}${BOLD}━━━ 配置国产 AI 模型 ━━━${NC}"
|
||||
echo -e " ${CYAN}${BOLD}━━━ 配置 AI 模型 ━━━${NC}"
|
||||
echo ""
|
||||
echo -e " ${RED}★ 推荐先注册一个,其他以后再加${NC}"
|
||||
echo -e " OpenClaw 内置支持国产模型:"
|
||||
echo -e " DeepSeek、Kimi、通义千问 Qwen、MiniMax、火山引擎 等"
|
||||
echo ""
|
||||
echo -e " ${GREEN}[a]${NC} DeepSeek(深度求索)${RED} ★推荐${NC} — 便宜好用,编程最强"
|
||||
echo -e " ${GREEN}[b]${NC} Kimi / 月之暗面 — 256K 超长上下文"
|
||||
echo -e " ${GREEN}[c]${NC} 通义千问 Qwen — 阿里云,免费额度大"
|
||||
echo -e " ${GREEN}[d]${NC} 智谱 GLM — 清华系,学术场景强"
|
||||
echo -e " ${GREEN}[e]${NC} MiniMax — 语音和多模态"
|
||||
echo -e " ${GREEN}[f]${NC} 豆包 Doubao(字节跳动) — 火山引擎平台"
|
||||
echo -e " ${YELLOW}即将启动 OpenClaw 配置向导,按提示操作即可。${NC}"
|
||||
echo ""
|
||||
echo -e " ${DIM}[o] 用 OpenClaw 自带的配置向导(英文,更多选项)${NC}"
|
||||
echo ""
|
||||
echo -e " ${YELLOW}请选择 (a-f / o):${NC} "
|
||||
read -n 1 MODEL_CHOICE
|
||||
echo ""
|
||||
echo ""
|
||||
|
||||
ensure_deps
|
||||
|
||||
case $MODEL_CHOICE in
|
||||
a)
|
||||
echo -e " ${CYAN}配置 DeepSeek${NC}"
|
||||
echo " 注册获取 API Key: https://platform.deepseek.com/"
|
||||
echo ""
|
||||
read -p " 请输入 DeepSeek API Key: " API_KEY
|
||||
if [ -n "$API_KEY" ]; then
|
||||
write_model_config "deepseek" "DeepSeek" \
|
||||
"https://api.deepseek.com/v1" "$API_KEY" \
|
||||
"deepseek-chat" "DeepSeek V3" "128000"
|
||||
fi
|
||||
;;
|
||||
b)
|
||||
echo -e " ${CYAN}配置 Kimi (月之暗面)${NC}"
|
||||
echo " 注册获取 API Key: https://platform.moonshot.cn/"
|
||||
echo ""
|
||||
read -p " 请输入 Moonshot API Key: " API_KEY
|
||||
if [ -n "$API_KEY" ]; then
|
||||
write_model_config "moonshot" "Moonshot" \
|
||||
"https://api.moonshot.cn/v1" "$API_KEY" \
|
||||
"kimi-k2.5" "Kimi K2.5" "256000"
|
||||
fi
|
||||
;;
|
||||
c)
|
||||
echo -e " ${CYAN}配置通义千问 Qwen${NC}"
|
||||
echo " 注册获取 API Key: https://dashscope.console.aliyun.com/"
|
||||
echo ""
|
||||
read -p " 请输入 Qwen API Key: " API_KEY
|
||||
if [ -n "$API_KEY" ]; then
|
||||
write_model_config "qwen" "Qwen" \
|
||||
"https://dashscope.aliyuncs.com/compatible-mode/v1" "$API_KEY" \
|
||||
"qwen-max" "Qwen Max" "128000"
|
||||
fi
|
||||
;;
|
||||
d)
|
||||
echo -e " ${CYAN}配置智谱 GLM${NC}"
|
||||
echo " 注册获取 API Key: https://open.bigmodel.cn/"
|
||||
echo ""
|
||||
read -p " 请输入智谱 API Key: " API_KEY
|
||||
if [ -n "$API_KEY" ]; then
|
||||
write_model_config "zhipu" "Zhipu" \
|
||||
"https://open.bigmodel.cn/api/paas/v4" "$API_KEY" \
|
||||
"glm-4-plus" "GLM-4 Plus" "128000"
|
||||
fi
|
||||
;;
|
||||
e)
|
||||
echo -e " ${CYAN}配置 MiniMax${NC}"
|
||||
echo " 注册获取 API Key: https://platform.minimaxi.com/"
|
||||
echo ""
|
||||
read -p " 请输入 MiniMax API Key: " API_KEY
|
||||
if [ -n "$API_KEY" ]; then
|
||||
write_model_config "minimax" "MiniMax" \
|
||||
"https://api.minimax.chat/v1" "$API_KEY" \
|
||||
"MiniMax-Text-01" "MiniMax Text 01" "128000"
|
||||
fi
|
||||
;;
|
||||
f)
|
||||
echo -e " ${CYAN}配置豆包 Doubao (字节跳动)${NC}"
|
||||
echo " 注册获取 API Key: https://console.volcengine.com/ark"
|
||||
echo ""
|
||||
read -p " 请输入火山引擎 API Key: " API_KEY
|
||||
if [ -n "$API_KEY" ]; then
|
||||
write_model_config "volcengine" "Volcano Engine" \
|
||||
"https://ark.cn-beijing.volces.com/api/v3" "$API_KEY" \
|
||||
"doubao-pro-256k" "Doubao Pro" "256000"
|
||||
fi
|
||||
;;
|
||||
o)
|
||||
echo -e " ${CYAN}启动 OpenClaw 配置向导...${NC}"
|
||||
echo ""
|
||||
cd "$OPENCLAW_DIR"
|
||||
run_openclaw onboard
|
||||
;;
|
||||
*)
|
||||
echo -e " ${YELLOW}无效选择${NC}"
|
||||
;;
|
||||
esac
|
||||
cd "$OPENCLAW_DIR"
|
||||
run_openclaw onboard
|
||||
}
|
||||
|
||||
# [6] 配置中国聊天平台
|
||||
|
||||
Reference in New Issue
Block a user