Skip to content

memory_search tool hardcoded owner defaults to "agent:main" instead of current agent #1318

@souankou

Description

@souankou

Pre-submission checklist | 提交前检查

  • I have searched existing issues and this hasn't been mentioned before | 我已搜索现有问题,确认此问题尚未被提及
  • I have read the project documentation and confirmed this issue doesn't already exist | 我已阅读项目文档并确认此问题尚未存在
  • This issue is specific to MemOS and not a general software issue | 该问题是针对 MemOS 的,而不是一般软件问题

Bug Description | 问题描述

The memory_search tool uses hardcoded owner="agent:main" when no explicit owner parameter is provided.

This breaks the documented multi-agent isolation: "检索时自动过滤为当前 Agent + public"

Expected: Auto-detect agentId from ctx.workspaceDir or hookCtx.agentId

Workaround: Extract agentId from workspaceDir path (workspace-dev → agent:dev)

How to Reproduce | 如何重现

  1. Set up multiple agents (workspace-dev, workspace-javis)
  2. Call memory_search without owner parameter
  3. Check logs: shows owner=agent:main instead of agent:dev

Environment | 环境信息

  • OpenClaw: 2026.3.8
  • MemOS plugin: 1.0.5
  • OS: Linux Ubuntu
  • Node: v24.14.0

Additional Context | 其他信息

No response

Willingness to Implement | 实现意愿

  • I'm willing to implement this myself | 我愿意自己解决
  • I would like someone else to implement this | 我希望其他人来解决

Metadata

Metadata

Assignees

Labels

bugSomething isn't workingpendingPending items to be addressed | 待解决事项。

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions