Skip to content

Distributed deployment feedback + OpenClaw plugin suggestion #46

@unfall103-debug

Description

@unfall103-debug

Hi Varun,

I've been running SLM v3.6.13 in a fully distributed LXC setup (SLM, MCP Hub, OpenClaw each in separate containers) for a few weeks now. Everything is finally stable — thank you for the rapid updates that made this possible. I wanted to share some detailed feedback from this experience, and a suggestion for the future.

Minor Issues in Distributed Deployment

These are all things I encountered while debugging. None of them block functionality, but they made the setup process much harder than it needed to be.

1. CSP headers block WebSocket/SSE connections from LAN addresses

  • Problem: The connect-src directive in src/superlocalmemory/server/security_middleware.py and src/superlocalmemory/server/middleware/security_headers.py strictly allows ws://localhost:* and ws://127.0.0.1:*.
  • Impact: Remote browsers accessing the Dashboard via LAN IP (192.168.50.x) get blocked by Chrome's CSP policy, causing the EventStream (/events/stream) to disconnect and rendering Listeners: 0. I had to manually patch both source files to add my LAN subnet wildcard.
  • Suggestion: Consider relaxing connect-src when SLM_REMOTE=1 is enabled, or mapping it dynamically to allowed network interfaces.

2. SLM_REMOTE=1 + SLM_MCP_STATELESS=1 changes host matching behavior

  • Problem: When stateless MCP mode is enabled, the SLM_MCP_ALLOWED_HOSTS allowlist requires strict exact string matches. Wildcards like * and CIDR ranges like 192.168.50.0/24 do not bypass the Uvicorn host layer as expected for raw HTTP clients.
  • Suggestion: A short note in the distributed deployment guide about this behavior would save future users hours of network debugging.

3. Dashboard "Connected Agents" panel shows 0 for non-Claude clients

  • Problem: I'm using OpenClaw via MCP Hub. All tools (remember, recall) work perfectly. However, the Dashboard's "Connected Agents" panel continuously shows 0 for everything (total agents, active, writes, recalls).
  • Impact: It seems the audit registry automatically filters out the generic "agent_id": "mcp_client" or stateless HTTP connections to avoid telemetry pollution, which accidentally hides real OpenClaw agent activities.
  • Suggestion: This panel could use a more generic agent detection mechanism, perhaps relying on custom HTTP attribution headers or fallback identifiers.

4. Mesh Peers displays 127.0.0.1:? instead of actual agent identity

  • Problem: When MCP Hub or a remote client registers as a mesh peer, the dashboard topology maps it as 127.0.0.1:? rather than rendering the actual client LAN IP or agent type. Makes it hard to distinguish between different connected clients in the Homelab mesh.

5. slm mcp (stdio) crashes when connection is closed after calling mesh_summary

  • Reproducible: Run echo '...' | ssh ... "slm mcp" with a mesh_summary call, then close the pipeline pipe immediately. The daemon's async heartbeat task gets stuck during cleanup and the process times out. This is an edge case, but worth noting for custom pipeline scripts.

🚀 Suggestion: An OpenClaw Plugin

Instead of trying to make SLM natively support every AI client, introducing a lightweight plugin interface for MCP-compatible agents would be a game-changer.

OpenClaw is gaining rapid popularity as an open-source AI assistant. It speaks MCP natively and has an active self-hosted community. An SLM-OpenClaw plugin could:

  • Automatically call session_init / close_session on session start/end.
  • Auto-inject relevant memories at conversation start.
  • Report tool usage outcomes back to SLM for adaptive learning.
  • Inject a stable agent_id so the Dashboard shows real agent activity.

This is basically what I've been doing manually through AGENTS.md system rules and MCP Hub configuration. A dedicated plugin would make it "just work" for everyone.

I'm not a core developer, but I'd be very happy to share my real-world PVE/LXC logs, usage patterns, and pain points as reference for this plugin design.

Final Thoughts

SLM is an incredibly impressive project — the mathematical foundations (Fisher-Rao metrics, Sheaf Cohomology), the local-first philosophy, and the sheer engineering quality are outstanding. What you've built is more than just a memory tool; it's becoming a software ecosystem for local AI agents. I really hope it gains the recognition it deserves.

Thank you again for your incredible work.

Best regards,
sinking

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions