#!/usr/bin/env bash
set -euo pipefail
REPO_RAW="https://raw.gitcode.com/opengauss/oGMemory/raw/dev"
TARGET_DIR="./ogmem-deploy"
echo "下载 OpenClaw + oGMemory 一键部署脚本..."
mkdir -p "${TARGET_DIR}"
curl -fsSL "${REPO_RAW}/deploy/deploy.env" -o "${TARGET_DIR}/deploy.env"
curl -fsSL "${REPO_RAW}/deploy/ogmemory.example.yaml" -o "${TARGET_DIR}/ogmemory.example.yaml"
curl -fsSL "${REPO_RAW}/deploy/deploy.sh" -o "${TARGET_DIR}/deploy.sh"
chmod +x "${TARGET_DIR}/deploy.sh"
echo ""
echo "下载完成!文件已保存到 ${TARGET_DIR}/"
echo ""
echo "架构说明:"
echo " 本部署脚本会启动三个容器(如果启用 openGauss):"
echo " 1. openGauss 数据库容器(可选)"
echo " 2. ogmemory 容器:独立的 oGMemory 服务(HTTP API,端口 8090)"
echo " 3. openclaw-ogmemory 容器:OpenClaw Gateway(Web 界面,端口 18789)"
echo ""
echo "使用方法:"
echo " 1. cd ${TARGET_DIR}"
echo " 2. 编辑 deploy.env 填写 OpenClaw 和基础设施配置"
echo " 3. 复制并编辑 oGMemory 配置:"
echo " cp ogmemory.example.yaml ogmemory.yaml"
echo " 编辑 ogmemory.yaml 填写 LLM API Key、Embedding 模型等"
echo ""
echo " 必填配置项:"
echo " deploy.env 中:"
echo " - LLM_PROVIDER: LLM提供商标识(dashscope/openai/volcengine等)"
echo " - LLM_API_KEY: API密钥"
echo " - LLM_BASE_URL: API地址"
echo " - LLM_MODEL: 模型名称"
echo ""
echo " ogmemory.yaml 中:"
echo " - llm.api_key: oGMemory 使用的 API 密钥"
echo " - llm.model: oGMemory 使用的模型"
echo " - embedding.model: Embedding 模型名称"
echo " - vector_db.dimension: 向量维度(需与 Embedding 模型匹配)"
echo ""
echo " 4. 部署方式:"
echo " a) 完整部署(openGauss + ogmemory + openclaw-ogmemory):"
echo " bash deploy.sh -password <openGauss密码>"
echo " 密码要求:至少8字符,包含大写、小写、数字、特殊符号中的至少3种"
echo ""
echo " b) 仅部署 ogmemory + openclaw-ogmemory:"
echo " 修改 deploy.env 中 ENABLE_OPENGAUSS=false"
echo " bash deploy.sh"
echo ""
echo "首次访问:"
echo " oGMemory API: http://<OPENCLAW_HOST_IP>:8090"
echo " OpenClaw Web: http://<OPENCLAW_HOST_IP>:18789"
echo " 如果设置了 OPENCLAW_GATEWAY_TOKEN,需要输入 Token 完成配对"
echo ""
echo "配置文件说明:"
echo " deploy.env: OpenClaw Gateway + 基础设施(openGauss、容器、部署参数)配置"
echo " ogmemory.yaml: oGMemory 服务配置(LLM、Embedding、向量数据库、身份认证等)"
echo ""
echo "详细配置说明请参考各文件中的注释"