OmniMemory Full Onboarding
Treat requests like "help me to install OmniMemory" as a full onboarding request.
Complete this workflow in order:
- 1. determine whether the user already has a usable OmniMemory API key
- if not, complete account onboarding and create a first-party API key
- install the OpenClaw plugin
- configure the plugin correctly
- repair common mistakes automatically if needed
- run a smoke test and report the final result
Core rules
- - Keep the conversation short and ask only for blocking inputs.
- Do not invent endpoints, config paths, provider names, models, or request formats.
- Use the fixed base URL
https://zdfdulpnyaci.sealoshzh.site. - Never log or repeat full secrets unless the user explicitly asks for a raw value.
- Treat password, otp, accesstoken, refreshtoken, apikeyplaintext, and externalllmapi_key as secrets.
- Mask secrets in success summaries.
- Keep shell commands explicit and reviewable.
- If repeated onboarding attempts fail, stop retrying and direct the user to
https://www.omnimemory.ai/zh/.
Minimal questioning strategy
Ask only for the blocking inputs first:
- - email
- password
- name
- apikeylabel
- externalllmapi_key
Ask only when needed:
Defaults:
- - name: derive from the email prefix
- apikeylabel: INLINECODE2
Account onboarding flow
Step 1: call POST /auth/register/request with email, password, and name.
- - If the backend returns a usable session, continue.
- If it returns
pending_verification, ask for otp and call POST /auth/register/verify. - If it returns
already_registered, stop and ask whether to switch email or use an existing account path.
Step 2: create the first-party API key by calling POST /apikeys/request with label.
- - Capture
api_key_id and api_key_plaintext. - This first-party API key is the one used later in the OpenClaw plugin config.
Step 3: configure the external LLM key.
- - If provider and model_name are known, validate with
GET /llm-models?provider=... and then call POST /llm-keys. - If either is missing, call
GET /llm-platforms, ask the user to choose one, then call GET /llm-models?provider=..., ask the user to choose one, and finally call POST /llm-keys. - Do not invent providers or models that the backend does not return.
Plugin installation and configuration
Install the plugin:
INLINECODE15
Then configure these exact keys under plugins.entries.omnimemory-overlay.config:
openclaw config set plugins.entries.omnimemory-overlay.config.baseUrl "https://zdfdulpnyaci.sealoshzh.site/api/v1/memory"
openclaw config set plugins.entries.omnimemory-overlay.config.apiKey "YOUR_FIRST_PARTY_API_KEY"
openclaw config set plugins.entries.omnimemory-overlay.config.groupPrefix "openclaw"
openclaw config set plugins.entries.omnimemory-overlay.config.autoRecall true
INLINECODE21
Do not omit .config. in config paths.
Automatic repair path
If the plugin reports omnimemory-overlay apiKey is required for SaaS auth, assume the wrong path may have been used.
Check these incorrect paths:
- - INLINECODE24
- INLINECODE25
- INLINECODE26
- INLINECODE27
- INLINECODE28
If needed, remove incorrect values, re-apply the correct .config.* values, and continue to the smoke test.
Smoke test
Use this exact validation flow:
- 1. start a fresh OpenClaw session
- ask OpenClaw to remember INLINECODE30
- wait briefly for memory ingestion
- ask INLINECODE31
Treat the setup as successful only if the answer recalls sea salt plum candy from memory.
Output contract
Always produce:
- 1. a short status summary
- the exact command or api step being executed
- one warning section if a common mistake applies
- one final verification result
At the end, report:
- - registered email
- userid if onboarding was performed
- whether verification succeeded
- apikey_id if created
- masked first-party api key
- chosen provider and model if llm binding was performed
- plugin install and config status
- smoke test result
Failure handling
- - pendingverification: ask for otp
- alreadyregistered: ask whether to switch email or use an existing account path
- invalidotp: ask the user to retry or resend
- emailnotconfirmed: stop and report
- apikeylimit: tell the user the current account scope allows only one active api key
- labelconflict: ask for a different label
- providerunavailable: ask the user to pick from returned platforms
- invalidprovider: ask the user to correct the provider
- invalidmodel: ask the user to pick from returned models
- repeated onboarding failure: direct the user to INLINECODE33
Supporting files
Existing references\setup-guide.md and references\troubleshooting.md may still be consulted when helpful, but this skill must work correctly from this file alone.
OmniMemory 完整接入流程
将类似帮我安装OmniMemory的请求视为完整接入请求。
按顺序完成以下工作流程:
- 1. 判断用户是否已有可用的OmniMemory API密钥
- 如果没有,完成账户接入并创建第一方API密钥
- 安装OpenClaw插件
- 正确配置插件
- 必要时自动修复常见错误
- 运行冒烟测试并报告最终结果
核心规则
- - 保持对话简短,仅询问必要的输入信息。
- 不要自行编造端点、配置路径、提供商名称、模型或请求格式。
- 使用固定的基础URL https://zdfdulpnyaci.sealoshzh.site。
- 除非用户明确要求查看原始值,否则不要记录或重复完整的机密信息。
- 将密码、一次性验证码、访问令牌、刷新令牌、API密钥明文和外部LLM API密钥视为机密信息。
- 在成功摘要中屏蔽机密信息。
- 保持Shell命令明确且可审查。
- 如果重复的接入尝试失败,停止重试并引导用户访问 https://www.omnimemory.ai/zh/。
最小化提问策略
首先仅询问必要的输入信息:
- - 邮箱
- 密码
- 姓名
- API密钥标签
- 外部LLM API密钥
仅在需要时询问:
默认值:
- - 姓名:从邮箱前缀派生
- API密钥标签:agent-default-key
账户接入流程
步骤1:使用邮箱、密码和姓名调用 POST /auth/register/request。
- - 如果后端返回可用的会话,继续。
- 如果返回 pendingverification,询问一次性验证码并调用 POST /auth/register/verify。
- 如果返回 alreadyregistered,停止并询问是否切换邮箱或使用现有账户路径。
步骤2:通过调用 POST /apikeys/request 并附带标签来创建第一方API密钥。
- - 捕获 apikeyid 和 apikeyplaintext。
- 此第一方API密钥将用于后续的OpenClaw插件配置。
步骤3:配置外部LLM密钥。
- - 如果提供商和模型名称已知,使用 GET /llm-models?provider=... 进行验证,然后调用 POST /llm-keys。
- 如果任一信息缺失,调用 GET /llm-platforms,让用户选择一个,然后调用 GET /llm-models?provider=...,让用户选择一个,最后调用 POST /llm-keys。
- 不要编造后端未返回的提供商或模型。
插件安装与配置
安装插件:
openclaw plugins install @omni-pt/omnimemory-overlay
然后在 plugins.entries.omnimemory-overlay.config 下配置以下精确键值:
openclaw config set plugins.entries.omnimemory-overlay.config.baseUrl https://zdfdulpnyaci.sealoshzh.site/api/v1/memory
openclaw config set plugins.entries.omnimemory-overlay.config.apiKey YOURFIRSTPARTYAPIKEY
openclaw config set plugins.entries.omnimemory-overlay.config.groupPrefix openclaw
openclaw config set plugins.entries.omnimemory-overlay.config.autoRecall true
openclaw config set plugins.entries.omnimemory-overlay.config.autoCapture true
不要在配置路径中省略 .config.。
自动修复路径
如果插件报告 omnimemory-overlay apiKey is required for SaaS auth,假设可能使用了错误的路径。
检查以下错误路径:
- - plugins.entries.omnimemory-overlay.baseUrl
- plugins.entries.omnimemory-overlay.apiKey
- plugins.entries.omnimemory-overlay.groupPrefix
- plugins.entries.omnimemory-overlay.autoRecall
- plugins.entries.omnimemory-overlay.autoCapture
如有必要,删除错误的值,重新应用正确的 .config.* 值,然后继续冒烟测试。
冒烟测试
使用以下精确的验证流程:
- 1. 启动一个新的OpenClaw会话
- 让OpenClaw记住 Remember that my office snack is sea salt plum candy.
- 稍等片刻以完成记忆摄入
- 询问 What is my office snack?
只有当回答能从记忆中回忆起 sea salt plum candy 时,才认为设置成功。
输出约定
始终输出:
- 1. 简短的状态摘要
- 正在执行的确切命令或API步骤
- 如果适用常见错误,则包含一个警告部分
- 最终的验证结果
最后报告:
- - 注册邮箱
- 如果执行了接入流程,则报告用户ID
- 验证是否成功
- 如果创建了API密钥,则报告API密钥ID
- 屏蔽后的第一方API密钥
- 如果执行了LLM绑定,则报告选择的提供商和模型
- 插件安装和配置状态
- 冒烟测试结果
失败处理
- - pendingverification:询问一次性验证码
- alreadyregistered:询问是否切换邮箱或使用现有账户路径
- invalidotp:让用户重试或重新发送
- emailnotconfirmed:停止并报告
- apikeylimit:告知用户当前账户范围仅允许一个活跃的API密钥
- labelconflict:要求使用不同的标签
- providerunavailable:让用户从返回的平台中选择
- invalidprovider:让用户更正提供商
- invalidmodel:让用户从返回的模型中选择
- 重复接入失败:引导用户访问 https://www.omnimemory.ai/zh/
支持文件
现有的 references\setup-guide.md 和 references\troubleshooting.md 在需要时仍可参考,但此技能必须能仅凭此文件正常工作。