部署记忆服务(单机)
记忆服务相关进程(openGauss、OpenViking)整体CPU资源建议限定为16个vCPU,可按需进行绑核约束。
- 下载openGauss数据库的Docker镜像。
docker pull swr.cn-north-4.myhuaweicloud.com/kunpeng-ai/opengauss-distributed:0328
- 启动单机openGauss容器。
docker run --name opengauss --privileged=true -d \ -e GS_USERNAME={OG_USER} \ -e GS_PASSWORD={OG_PASSWORD} \ -e GS_NODENAME={OG_NODE_NAME} \ -e GS_PORT={OG_PORT} \ -p {HOST_PORT}:{OG_PORT} \ swr.cn-north-4.myhuaweicloud.com/kunpeng-ai/opengauss-distributed:0328
GS_PASSWORD包含大写字母、小写字母、数字及特殊符号中的三种或三种以上。
推荐使用以下简易启动命令,默认{OG_USER}为omm、{OG_NODE_NAME}为omm、{OG_PORT}为5432。
docker run --name opengauss --privileged=true -d \ --cpuset-cpus="32-39" \ -e GS_PASSWORD={OG_PASSWORD} \ -p {HOST_PORT}:5432 \ swr.cn-north-4.myhuaweicloud.com/kunpeng-ai/opengauss-distributed:0328按照默认配置部署成功后,下列openGauss容器应处于正常运行状态。

- 配置openGauss。
- 进入容器。
docker exec -it opengauss bash
- 切换到管理用户。
su omm
- 进入SQL命令行。
gsql -r
- 创建新用户test,并赋予权限。user_password包含大写字母、小写字母、数字及特殊符号中的三种或三种以上。
create user test with password '<user_password>'; grant all privileges to test;
- 进入容器。
- 下载并启动支持openGauss数据库的OpenViking镜像。
docker pull swr.cn-north-4.myhuaweicloud.com/kunpeng-ai/openviking-opengaussbackend:0328
启动OpenViking容器。docker run -d --name OpenViking \ -p 1933:1933 \ -e OPENVIKING_VLM_PROVIDER=openai \ -e OPENVIKING_VLM_API_BASE=<your_vlm_api_base> \ -e OPENVIKING_VLM_API_KEY="<your_api_key>" \ -e OPENVIKING_VLM_MODEL=<your_vlm_model> \ -e OPENVIKING_EMBEDDING_PROVIDER=openai \ -e OPENVIKING_EMBEDDING_API_BASE=<your_embedding_api_base> \ -e OPENVIKING_EMBEDDING_API_KEY="<your_api_key>" \ -e OPENVIKING_EMBEDDING_MODEL=<your_embedding_model> \ -e OPENVIKING_TARGET_URI=viking://user/memories \ -e OPENVIKING_ROOT_API_KEY=<your_root_key> \ -v /your_path/openclaw-data:/root/.openclaw \ -v /your_path/openviking-data:/root/.openviking \ swr.cn-north-4.myhuaweicloud.com/kunpeng-ai/openviking-opengaussbackend:0328
- /your_path/openclaw-data:挂载宿主机目录,用于持久化OpenClaw的配置和数据。
- /your_path/openviking-data:挂载宿主机目录,用于持久化OpenViking的配置和数据。
- your_root_key:(可选)设置用于控制OpenViking多租户模式下用户的访问。
- 修改ov.conf文件。
- 进入容器。
docker exec -it OpenViking bash
- 修改ov.conf配置文件。
vi /root/.openviking/ov.conf
- 按“i”进入编辑模式,配置OpenViking的向量数据库后端引擎为openGauss,按需修改Embedding模型。
{ "server": { "host": "0.0.0.0", "port": 1933, "root_api_key": null, "cors_origins": ["*"] }, "storage": { "workspace": "/home/your_user/openviking_workspace", "vectordb": { "backend": "opengauss", # 使用openGauss "dimension": 1024, # 需根据模型而定,建议小于等于1536 "opengauss": { "host": "{HOST_IP}", # 对应配置 "port": "{HOST_PORT}", # 对应配置 "user": "{OG_USER}", # 对应创建的用户 "password": "{OG_PASSWORD}", # 对应配置 "db_name": "{OG_NODE_NAME}", # 对应配置 "mode": "standalone" # 单机 } }, "agfs": { "port": 1833, "log_level": "warn", "backend": "local" } }, "embedding": { "dense": { "provider": "openai", "api_key": "local_key", "model": "bge-m3-Q8_0.gguf", # 对应Embedding模型 "api_base": "http://127.0.0.1:11133/v1", # 对应API地址 "dimension": 1024, # Embedding模型的维度大小 "input": "multimodal" } }, "vlm": { "provider": "openai", "api_key": "your_api_key", "model": "your_model", "api_base": "your_model_api_base", "temperature": 0.1, "max_retries": 3 }, "log": { "level": "INFO", "output": "stdout" } } - 按“Esc”键退出编辑模式,输入:wq!,按“Enter”键保存并退出文件。
- 重启OpenViking容器使配置生效。
docker restart OpenViking
- 进入openGauss数据库查看。
docker exec -it opengauss bash su omm gsql -r \d
应看到OpenViking初始化的三张表。

- 进入容器。
- 验证OpenViking服务。
curl http://<your_server_ip>:1933/health
预期返回:{"status":"ok"},示例如下。

- (可选)如需实现多Agent共享记忆,可启用OpenViking的多租户模式,并让多个Agent共用一个工作区下的User Key。
- 修改ov.conf配置文件。
vi /root/.openviking/ov.conf
- 按“i”进入编辑模式,设置server字段的root_api_key值。
"server": { "host": "0.0.0.0", "port": 1933, "root_api_key": "<root_key>", "cors_origins": ["*"] }, - 重启OpenViking容器使配置生效。
docker restart openViking
- 创建新工作区及其首个管理员用户。
curl -X POST http://localhost:1933/api/v1/admin/accounts\ -H "Content-Type: application/json"\ -H "X-API-Key: <root_key>"\ -d '{ "account_id": "<your_account_id>", "admin_user_id": "<your_usr_id>" }'响应示例如下:
{"status":"ok","result":{"account_id":"your_account_id","admin_user_id":"your_usr_id","user_key":"c11e7372fe26ed05541ad7f..."},"error":null,"telemetry":null}
- 在工作区中注册新用户。
curl -X POST http://localhost:1933/api/v1/admin/accounts/<your_account_id>/users\ -H "Content-Type: application/json"\ -H "X-API-Key: <root_key>"\ -d '{ "user_id": "<your_usr_id>", "role": "user" }'响应示例如下:
{"status":"ok","result":{"account_id":"your_account_id","user_id":"your_usr_id","user_key":"8ac0c833971ab9a91a74b83386..."},"error":null,"time":0.0,"usage":null}
- 修改ov.conf配置文件。
父主题: 方案部署指南