开发者
资源
文档评分
获取效率
正确性
完整性
易理解
在线提单
论坛求助

OpenClaw与记忆服务部署

操作步骤

  • 若无安全需求则将openclaw.yaml中的runtimeClassName: kata-qemu-virtcca删除。
  • 当前部署脚本支持 OpenViking 和 oGMemory 两种记忆服务,二者通过 MEMORY_SYSTEM 参数二选一部署:
    MEMORY_SYSTEM=openviking|ogmemory

    默认使用 MEMORY_SYSTEM=openviking。若选择 oGMemory,则会部署 oGMemory 记忆服务,并将 OpenClaw 的上下文记忆插件切换为 og-memory-context-engine。

  1. 部署前请确认以下内容。
    1. 先确认以下环境项。
      • openclaw.yaml中runtimeClassName: kata-qemu-virtcca是否支持,即是否完成机密容器部署(可选)相关操作。
      • 节点端口未被占用:OpenViking默认为31933,oGMemory 默认为 31090,基础openclaw.yaml默认为30000,派生OpenClaw实例从30001开始。
    2. 首次部署需要设置以下关键变量。

      变量

      含义

      获取/设置方法

      OPENCLAW_LLM_BASE_URL

      OpenClaw调用LLM的API Base URL。

      从所选LLM服务商控制台或文档获取。

      例如:https://ark.cn-beijing.volces.com/api/coding/v3。

      OPENCLAW_LLM_API_KEY

      OpenClaw调用LLM的API Key。

      在LLM服务商控制台创建API Key。

      OPENCLAW_LLM_MODEL

      OpenClaw默认使用的LLM模型名。

      从模型服务商控制台选择已开通模型。

      例如:doubao-seed-2-0-code。

      OPENCLAW_GATEWAY_TOKEN

      OpenClaw Web UI/Gateway的访问token。

      自行生成一个随机token,用于访问控制。

      例如:openssl rand -hex 32。

      OPENGAUSS_GS_PASSWORD

      openGauss gaussdb用户密码,同时供OpenViking连接openGauss使用。

      自行设置高强度密码,建议包含大写字母、小写字母、数字和特殊字符(#?!@&)。

      3. 配置记忆服务内部使用的公共模型参数。

      变量

      含义

      获取/设置方法

      MEMORY_LLM_PROVIDER

      记忆服务调用 LLM 的服务提供商名称。

      根据实际 LLM 服务商填写。火山方舟场景通常填 volcengine,OpenAI 兼容服务可填 openai。

      MEMORY_LLM_BASE_URL

      记忆服务调用 LLM 的 API Base URL。

      从 LLM 服务商文档获取。例如:https://ark.cn-beijing.volces.com/api/v3

      MEMORY_LLM_API_KEY

      记忆服务调用 LLM 的 API Key。

      在 LLM 服务商控制台创建。

      MEMORY_LLM_MODEL

      记忆服务使用的 LLM 模型名。

      从 LLM 服务商控制台选择已开通模型。例如:doubao-seed-1-8-251228。

      4. 当选择 OpenViking 记忆服务时,还需设置以下变量。

      变量

      含义

      获取/设置方法

      OPENVIKING_ROOT_API_KEY

      OpenViking服务的Root API Key,同时写入OpenClaw配置中用于连接OpenViking。

      自行生成,测试可自定义;生产建议基于多租户文档设置为独立user key。

      例如:openssl rand -hex 32。

      5. 当选择 oGMemory 记忆服务时,还需设置以下变量。

      变量

      含义

      获取/设置方法

      OGMEM_URL

      OpenClaw 访问 oGMemory 的服务地址。

      集群内默认 http://ogmemory:8090,一般无需修改;若访问外部 oGMemory,可改为对应地址。

      OGMEM_EMBEDDING_PROVIDER

      oGMemory Embedding 服务提供商名称。

      默认 openai。

      OGMEM_EMBEDDING_API_KEY

      oGMemory Embedding API Key。

      默认复用 OGMEM_LLM_API_KEY。

      OGMEM_EMBEDDING_BASE_URL

      oGMemory Embedding API Base URL。

      默认复用 OGMEM_LLM_BASE_URL。

      OGMEM_EMBEDDING_MODEL

      oGMemory Embedding 模型名。

      默认 text-embedding-v4。

  2. 快速启动。通过quick-start-single.sh脚本即可快速启动,脚本会自动下载单实例YAML,替换必填占位符并顺序执行kubectl apply,无需下载完整目录。
    1. 创建部署目录并进入该目录,以openfuyao_deployment为例。
      mkdir -p openfuyao_deployment
      cd openfuyao_deployment
    2. 获取快速启动脚本(quick-start-single.sh)。
      curl -fL "https://gitee.com/kunpeng_compute/KunpengRAG/raw/master/openfuyao_deployment/quick-start-single.sh" -o quick-start-single.sh
    3. 增加执行权限。
      chmod +x quick-start-single.sh
    4. 执行quick-start-single.sh脚本,以下关键变量请根据实际情况修改。
      ./quick-start-single.sh MEMORY_SYSTEM=<openviking| ogmemory> \
        OPENCLAW_LLM_BASE_URL=https://ark.cn-beijing.volces.com/api/coding/v3 \
        OPENCLAW_LLM_API_KEY=sk-xxx \
        OPENCLAW_LLM_MODEL=doubao-seed-2-0-code \
        OPENCLAW_GATEWAY_TOKEN=change-me \
        MEMORY_LLM_PROVIDER=volcengine \ 
        MEMORY_LLM_BASE_URL=https://ark.cn-beijing.volces.com/api/v3 \ 
        MEMORY_LLM_API_KEY=your-vlm-key \ 
        MEMORY_LLM_MODEL=doubao-seed-1-8-251228 \
        OPENGAUSS_GS_PASSWORD=YourStrongPassword123!
      使用 OpenViking 记忆服务增加:
        OPENVIKING_ROOT_API_KEY=change-openviking-root-key 
      使用 oGMemory 记忆服务增加:
        OGMEM_URL=http://ogmemory:8090 \ 
        OGMEM_EMBEDDING_PROVIDER=openai \ 
        OGMEM_EMBEDDING_API_KEY=sk-xxx \ 
        OGMEM_EMBEDDING_BASE_URL=https://dashscope.aliyuncs.com/compatible-mode/v1 \     
        OGMEM_EMBEDDING_MODEL=text-embedding-v4

      OPENGAUSS_GS_PASSWORD要求:

      • 密码长度必须至少为8个字符。
      • 必须同时包含大写字母、小写字母、数字、以及特殊字符(#?!@&)。
    5. 执行quick-start-single.sh后,执行如下命令会出现如下图所示的三个Pod,说明容器启动成功。
      kubectl get pod -A

      截图:预期出现三个Pod,openclaw服务、openGauss数据库、OpenViking记忆服务,状态均为Running

    当前项目实现中,脚本会根据 MEMORY_SYSTEM 下载并覆盖待部署组件对应的 YAML。 如需基于openFuyao平台部署更多OpenClaw实例,可参考OpenClaw openFuyao对接操作文档修改相关YAML。

    OpenViking 路线默认处理以下文件:
    • opengauss.yaml:涉及 openGauss 相关的 Secret、StorageClass、PersistentVolume、StatefulSet、Service。
    • memory-openviking.yaml:涉及 OpenViking 相关的 Secret、ConfigMap、StatefulSet、Service。
    • openclaw-configmap-openviking.yaml:涉及 OpenClaw 连接 OpenViking 的 ConfigMap。
    • openclaw.yaml:涉及 OpenClaw 相关的 Deployment、Service。

    oGMemory 路线默认处理以下文件:

    • opengauss.yaml:涉及 openGauss 相关的 Secret、StorageClass、PersistentVolume、StatefulSet、Service。
    • memory-ogmemory.yaml:涉及 oGMemory 相关的 Secret、ConfigMap、Deployment、Service。
    • openclaw-configmap-ogmemory.yaml:涉及 OpenClaw 连接 oGMemory 的 ConfigMap。
    • openclaw.yaml:涉及 OpenClaw 相关的 Deployment、Service。

    单组件调试时,可通过COMPONENT参数只检查和部署指定组件。默认值为all,可指定为yaml、all、opengauss-openviking、openclaw-configmap、openclaw。若设置为yaml,则仅下载并替换YAML文件,不执行部署。

    • 当前模板默认使用OPENVIKING_ROOT_API_KEY作为OpenClaw连接OpenViking的apiKey,方便最小化部署联调。在生产多租户场景中,建议每个OpenClaw实例配置独立的user key,并写入对应实例的OpenClaw的配置中。多租户使用方式请参见OpenViking多租户官方文档,OpenViking服务端会根据user key反解出对应的account_id和user_id。
    • OpenClaw网关当前按部署联调场景开启了以下配置。
      "allowInsecureAuth": true,
      "dangerouslyDisableDeviceAuth": true

      当前配置降低了网关认证保护强度,便于在容器平台中直接访问控制UI。生产环境如需更严格的设备认证,应在openclaw-configmap.yaml中关闭上述选项,并同步调整访问方式。

    • 手动部署或者多实例部署可参考OpenClaw openFuyao对接操作文档与对应脚本代码。
    • OpenClaw工作目录默认持久化映射至宿主机/home/openclaw-data目录,可通过部署脚本参数OPENCLAW_DATA_ROOT_DIR修改。
    • oGMemory 的认证参数。若 oGMemory 未开启强认证,OG_AUTH_API_KEY 可为空;若启用认证,需要与 oGMemory 服务端 auth.root_api_key 保持一致。
  3. 访问http://<集群节点IP地址>:30000,即可访问OpenClaw Web UI进行验证。

    输入OpenClaw Web UI,输入设置的Gateway Token登录后,进行对话交互

    如需验证记忆服务状态,可执行以下命令。

    OpenViking: curl http://<集群节点IP地址>:31933/health 
    oGMemory: curl http://<集群节点IP地址>:31090/api/v1/health