本文介绍 OpenViking Serverless 版本如何对接 ArkClaw 使用。
接入前,请确保已具备以下环境:
项目 | 说明 |
|---|---|
account | 火山引擎账号 |
OpenViking serverless | OpenViking Serverless 实例,进入 ov-serverless 创建 |
ArkClaw | ArkClaw 实例,进入 arkclaw 创建 |
请为当前云上 OpenClaw 安装或更新 ov_dream skill,并配置为通过 OpenViking serverless 同步记忆。不要安装 OpenViking contextEngine 插件,不要占用插件槽位。 重要:该 skill 位于 OpenViking 官方仓库主分支: GitHub - volcengine/OpenViking: OpenViking is an open-source context database designed specifically 如果我没有提供真实值,请先停下来向我索要: - OPENVIKING_API_KEY - OPENVIKING_AGENT_ID 不要把 API Key 打印到日志或回复里。 请执行: 1. 创建目录: mkdir -p ~/.openclaw/skills/ov_dream/scripts 2. 从 OpenViking 官方仓库 main 分支下载并覆盖文件,不要从其他 fork 或其他分支下载: curl -fsSL https://raw.githubusercontent.com/volcengine/OpenViking/main/examples/skills/ov_dream/SKILL.md -o ~/.openclaw/skills/ov_dream/SKILL.md curl -fsSL https://raw.githubusercontent.com/volcengine/OpenViking/main/examples/skills/ov_dream/scripts/dream.py -o ~/.openclaw/skills/ov_dream/scripts/dream.py touch ~/.openclaw/skills/ov_dream/__init__.py touch ~/.openclaw/skills/ov_dream/scripts/__init__.py 如果 curl 404 或下载失败,立刻停止并告诉我。 3. 校验下载后的 dream.py 是否包含最新能力: grep -q 'SERVERLESS_BASE_URL' ~/.openclaw/skills/ov_dream/scripts/dream.py grep -q 'OPENVIKING_AUTH_MODE' ~/.openclaw/skills/ov_dream/scripts/dream.py grep -q 'viking://user/default' ~/.openclaw/skills/ov_dream/scripts/dream.py grep -q 'is_chat_session_key' ~/.openclaw/skills/ov_dream/scripts/dream.py grep -q 'raw jsonl fallback can accidentally sync cron/subagent transcripts' ~/.openclaw/skills/ov_dream/scripts/dream.py grep -q 'client.add_session_message(session.session_id' ~/.openclaw/skills/ov_dream/scripts/dream.py 如果任一校验失败,立刻停止并告诉我 OpenViking main 分支上的 skill 不是最新版本,不要继续配置 cron。 4. 创建或更新环境变量文件。如果文件已存在且已有真实值,不要覆盖真实 API Key;如果没有真实值,请停下来向我索要。 cat > ~/.openclaw/ov_dream.env <<'EOF' OPENVIKING_BASE_URL=https://api.vikingdb.cn-beijing.volces.com/openviking OPENVIKING_API_KEY=<替换成我的 OpenViking serverless API Key> OPENVIKING_AGENT_ID=<替换成我的 OpenViking Agent ID> OPENVIKING_AUTH_MODE=serverless EOF chmod 600 ~/.openclaw/ov_dream.env 5. 验证同步: cd ~/.openclaw/skills/ov_dream && set -a && . ~/.openclaw/ov_dream.env && set +a && python3 scripts/dream.py dream 6. 验证检索: cd ~/.openclaw/skills/ov_dream && set -a && . ~/.openclaw/ov_dream.env && set +a && python3 scripts/dream.py recall "最近我在聊什么" 7. 添加或更新 OpenClaw cronjob,每 5 分钟同步一次: openclaw cron add ov-dream-sync --schedule "*/5 * * * *" --command 'cd ~/.openclaw/skills/ov_dream && set -a && . ~/.openclaw/ov_dream.env && set +a && python3 scripts/dream.py dream' 8. 之后当我输入: ov recall <query> 你应该运行: cd ~/.openclaw/skills/ov_dream && set -a && . ~/.openclaw/ov_dream.env && set +a && python3 scripts/dream.py recall "<query>" 注意: - 不要使用 /Users/bytedance/OpenViking 这类本机路径。 - 不要安装 OpenViking contextEngine 插件。 - 不要占用插件槽位。 - 不要从其他 fork 或其他分支下载,只从 GitHub - volcengine/OpenViking: OpenViking is an open-source context database designed specifically 的 main 分支下载。 - 不要把 API Key 打印到日志或回复里。 - ov_dream 现在只读取 ~/.openclaw/agents/main/sessions/sessions.json 中的聊天 session,不再 fallback 扫描最新 jsonl。 - ov_dream 会过滤 :cron:、:heartbeat、:subagent:、:acp:、:hook: 等非聊天 session。 - ov_dream 会直接复用 OpenClaw 的 session_id 写入 OpenViking serverless,不再单独 create serverless session。 注意第 4 步:如果是“更新已有安装”,最好不要无脑覆盖 ~/.openclaw/ov_dream.env,否则可能把真实 key 覆盖成占位符。
发送后,ArkClaw 会返回以下提示:
准备 OpenViking Serverless 的 API Key 和 Agent ID。API Key 从 OpenViking Serverless 控制台的个人库中获取,Agent ID 由用户自定义。
OpenViking Serverless 控制台链接: ov-serverless
出现以下状态即表示安装成功:
按照上述步骤完成配置后,ov_dream skill 安装成功,ArkClaw 可通过 OpenViking Serverless 进行记忆同步。
配置的 cronjob 每 5 分钟自动执行一次 dream.py dream,将 ArkClaw 的聊天 session 同步到 OpenViking Serverless。
通过 ov recall <query> 触发检索,执行 dream.py recall "<query>" 召回与 query 相关的历史记忆。