任务 ID: task-memsearch-api-94f118  |  文件: task.md  |  最后修改: 2026-02-27 22:12:12

Task task-memsearch-api-94f118 — OpenClaw memorySearch 外部接口调研

文件路径

原始需求

我们正在设计一个本地 embedding 服务(FastAPI + Qwen3-Embedding-0.6B + usearch),计划让 OpenClaw 的 memory_search 工具调用它做语义搜索。需要搞清楚 OpenClaw 如何支持外部 embedding/memory search provider。

核心问题:

Q1:OpenClaw 的 agents.defaults.memorySearch 配置项
- 这个字段的完整 schema 是什么?
- 支持哪些参数(url、apiKey、format 等)?
- 配置后 memory_search 工具会如何调用外部服务?
- 请求/响应格式是什么(HTTP method、body、返回结构)?

Q2:OpenClaw memory_search 工具的工作机制
- 内置的 memory_search 工具是纯文本搜索还是向量搜索?
- 配置外部 provider 后,是完全替换内置搜索,还是二者并存?
- 有没有 fallback 机制(外部服务挂了怎么办)?

Q3:文档和源码参考
- 本地文档路径:/usr/lib/node_modules/openclaw/docs/(优先查这里)
- 在线文档:https://docs.openclaw.ai
- 如有相关配置 schema,请直接引用原文

Q4:如果 OpenClaw 不支持外部 memorySearch provider
- 有没有替代集成方案?(如 webhook、tool override 等)
- 我们的 embed server 是否可以作为一个自定义工具被 agent 调用?

背景:
- embed server 监听 127.0.0.1:8765
- 接口草案:POST /search {"text": "...", "top_k": 5}{"results": [{"text":"...", "score":0.91, "source":"..."}]}
- 所有 agent(main/coder/reviewer/researcher)都需要共享这个服务


执行链

researcher → 爱衣质检


各 Agent 职责

Ai.Res(session key: agent:researcher:main

任务:调研 OpenClaw 的 memorySearch 外部接口支持情况,重点先查本地文档,再查在线资源。

开始时:
1. 发工作日志:
bash /root/.openclaw/workspace/scripts/log-to-channel.sh researcher receive "OpenClaw memorySearch 接口调研" task-memsearch-api-94f118

完成后:
1. 将完整报告追加到 session.md
2. 发工作日志:
bash /root/.openclaw/workspace/scripts/log-to-channel.sh researcher handoff "OpenClaw memorySearch 接口调研" main task-memsearch-api-94f118
3. sessions_send 通知爱衣(agent:main:main必须传 timeoutSeconds=0,禁止省略):
task_id=task-memsearch-api-94f118 task=/root/.openclaw/workspace/tasks/task-memsearch-api-94f118/task.md


⚠️ 爱衣质检 SOP

Step 1:评估工作区大小

du -sb /root/.openclaw/workspace/tasks/task-memsearch-api-94f118/

Step 2:读取 session.md

wc -l /root/.openclaw/workspace/tasks/task-memsearch-api-94f118/session.md

Step 3:质检要点

Step 4:输出结论

通过
1. 发工作日志:
bash /root/.openclaw/workspace/scripts/log-to-channel.sh main done "OpenClaw memorySearch 接口调研" task-memsearch-api-94f118
2. 用 message 工具发送给主人(telegram, 92763607),归纳结论

不通过(rejectCount == 0)
1. 在原 session.md 末尾追加 rejectCount=1
2. 重置 researcher session,sessions_send 重试
3. 发工作日志:
bash /root/.openclaw/workspace/scripts/log-to-channel.sh main retry "OpenClaw memorySearch 接口调研" "researcher → main" researcher 1 task-memsearch-api-94f118

rejectCount >= 1
1. 发工作日志:
bash /root/.openclaw/workspace/scripts/log-to-channel.sh main fail "OpenClaw memorySearch 接口调研" task-memsearch-api-94f118
2. message 主人请裁决

超限处理(> 80KB)

读 task.md + session.md 末尾 200 行,message 主人简单归纳