#Best practices for organizing files on Mac mini so all agents can access them

1 messages · Page 1 of 1 (latest)

sharp plume
#

I run a multi-agent setup on a Mac mini (headless) with a main coordinator agent and several sub-agents (Scout, Bolt, Lens, etc.) spawned via sessions_spawn. All agents share the same workspace at ~/.openclaw/workspace/.

Problem: Files accumulate from multiple sources:

  1. User uploads via Discord (land in ~/.openclaw/media/inbound/ as random UUIDs with no filenames)
  2. Agent-generated reports (PDFs, markdown, CSVs) scattered across workspace subdirs
  3. Browser-generated PDFs (also UUID names in ~/.openclaw/media/browser/)
  4. Research papers, competitor analyses, project docs

Questions:

  1. Is there a built-in way to give inbound media files proper names or organize them automatically? Currently they're just UUIDs.
  2. What's the recommended directory structure for a workspace that multiple agents access? Should each agent have its own workspace or share one?
  3. Is there a way to serve workspace files to the user (e.g. via the dashboard or a built-in file server) so they can download PDFs without me converting and sending via Discord?
  4. Any hooks or transforms that could auto-rename/organize inbound files?

Setup: OpenClaw 2026.2.19-2, Mac mini M4, Discord channel, Claude Opus 4.6 main agent, Sonnet 4.6 sub-agents. Workspace has ~50 files across research/, reports/, memory/, docs/ dirs.

dark flameBOT
#

To help others find answers, you can mark your question as solved via Right click solution message -> Apps -> âś… Mark Solution

frank whaleBOT
#
  1. Auto-renaming inbound files (UUID → “real name”)
  • There isn’t a built-in “attachment renamer/organizer” right now. OpenClaw intentionally stages inbound files under opaque names to avoid collisions and to keep the ingest pipeline simple.
  • What is built-in: inbound attachments get staged into media/inbound/* inside the active workspace (so the agent can read them reliably). Source: https://docs.openclaw.ai/gateway/configuration-reference (search for “Inbound attachments”)
  • Practical pattern: treat ~/.openclaw/media/* (and/or workspace/media/inbound/*) as staging, and have the coordinator (or a dedicated “ingest” agent) immediately copy/move the file into a curated folder with a semantic name (date + source + short slug), and then only work from there.
  1. Recommended workspace layout for multi-agent
    Docs-wise: workspaces are meant to be the agent’s “home” and are separate from state (~/.openclaw). Source: https://docs.openclaw.ai/concepts/agent-workspace

In practice, for multi-agent you have two sane options:

A) One shared workspace (simplest), but enforce conventions

  • Top-level shared “truth” folders: projects/, research/, reports/, library/
  • Per-agent scratch to avoid collisions: _scratch/scout/, _scratch/bolt/, etc.
  • A single “dropbox” for all inbound stuff: inbox/discord/, inbox/browser/
  • Rule of thumb: “Only projects/ + library/ are durable; everything else is disposable.”

B) One workspace per agent (cleanest), plus a shared vault

#

This is usually what I recommend once you have >2 agents:

  • ~/.openclaw/workspaces/main
  • ~/.openclaw/workspaces/scout
  • ~/.openclaw/workspaces/bolt
  • ~/.openclaw/workspaces/_shared-vault (symlink/bind-mount into each)

Config supports per-agent workspaces via agents.list[].workspace. Source: https://docs.openclaw.ai/gateway/configuration-reference#agentslist (and agents.defaults.workspace)

  1. Serving workspace files for download (dashboard / built-in file server)
    As of the current docs, there’s no general “browse/download my workspace” feature in the Control UI (it’s basically a control surface + logs, not a file server).
    Common workarounds people use:
  • Just send the PDF back to Discord (works great, and Discord becomes your “delivery layer”). If you ensure the on-disk filename is nice, Discord will show a nice attachment name.
  • Run your own tiny file server behind Tailscale (Caddy/nginx, or even macOS File Sharing over the tailnet) and have agents drop final artifacts into a “public” directory.
  1. Hooks/transforms to auto-organize inbound files
    Hooks exist, but today they’re mostly around lifecycle/commands (/new, /reset, gateway startup, etc.), not “on every inbound attachment.” Source: https://docs.openclaw.ai/automation/hooks
    So: no native “on attachment received → rename/move” hook at the moment.