- Store and retrieve user-specific data.
- Process documents and files.
- Maintain conversation-specific context.
- Generate reports or code files.
Quick Start
Add filesystem tools to your agent with default (conversation-level) isolation:images/main/main.py
- Conversation
chat-1:/tmp/agent-files/assistant/default/chat-1/notes.txt - Conversation
chat-2:/tmp/agent-files/assistant/default/chat-2/notes.txt
Visibility Levels
Visibility controls file isolation between users and conversations. Choose the level that matches your security and sharing requirements.Conversation (Default)
Maximum isolation - Each conversation has its own isolated filesystem:- Users must not see each other’s files
- Different conversations must be completely isolated
- Maximum security is required
- Building chat applications with ephemeral workspaces
Scope
Per-user/tenant isolation - Files shared across conversations for the same user:- Users need persistent storage across conversations
- Building document management or note-taking apps
- Implementing user workspaces
- Multi-tenant applications with user isolation
Agent
Per-agent isolation - Files shared across all users but separate per agent:- Agent accesses shared configuration or templates
- All users see the same reference files
- Building knowledge base or documentation assistants
- Single-tenant applications
All
No isolation - Files shared across all agents and users:- Building single-user development tools
- Prototyping and testing
- Files genuinely need to be shared globally
Available Operations
Filesystem tools provide these operations:List Directory
List files and directories:Read File
Read file contents:Write File
Create or overwrite files:Edit File
Modify existing files with search/replace:Find Files
Search for files by name pattern:Search in Files
Search file contents:Remove File
Delete a file:Remove Directory
Delete a directory and its contents:Copy File
Copy a file to a new location:Move File
Move or rename a file:Factory Mode vs Direct Mode
Factory Mode (Recommended)
In factory mode, passFilesystemTools() to the agent. The framework automatically creates the right instance with proper isolation:
- Extracts
scopeandconversationfrom each request - Creates an isolated
FilesystemToolsinstance for that context - All file operations stay within the visibility boundary
Direct Mode
Direct mode specifies the full context upfront:- Building single-user applications
- Running agents outside the HTTP API
- You need explicit control over file paths
- Testing and development
Configuration
Custom Base Directory
Change where files are stored:Multiple Filesystem Instances
Provide different filesystem access with different visibility levels:Complete Example
Build a document assistant with user-specific workspaces:images/main/main.py
images/main/Dockerfile
autonomy.yaml

