Agent Workspace
Your agent has persistent storage mounted at /data. Files here survive between conversations and container restarts.
Directory structure
Section titled “Directory structure”/data├── MEMORY.md # Agent's persistent memory├── config.json # Agent preferences (model, etc.)├── sessions/│ └── {id}.jsonl # Conversation history files├── outbox/│ ├── email/ # Pending emails to send│ ├── sent/ # Successfully sent emails│ └── failed/ # Failed email attempts└── events/ └── {timestamp}.jsonl # Run events for dashboardMEMORY.md
Section titled “MEMORY.md”This is your agent’s brain. It persists across sessions and contains:
- Agent identity and configuration
- Owner information
- Outbox pattern instructions
- Custom context you want the agent to remember
The agent reads this file at the start of every turn.
config.json
Section titled “config.json”Stores agent preferences like model selection:
{ "model": "haiku"}You can change the model via email:
/model haiku— Fastest, cheapest/model sonnet— Balanced/model opus— Most capable
Sessions
Section titled “Sessions”Each conversation is stored as a JSONL file in /data/sessions/. Sessions contain:
- Your messages
- Agent responses
- Tool calls and results
- Usage statistics
Managing sessions
Section titled “Managing sessions”| Command | Effect |
|---|---|
/clear | Start a new session (preserves old ones) |
/resume | List recent sessions with hashes |
/resume abc1 | Resume session by hash |
/compact | Compress context to reduce token usage |
Outbox
Section titled “Outbox”The outbox is how your agent sends emails. Instead of calling APIs directly, the agent writes JSON files:
/data/outbox/├── email/ # Pending - agent just wrote these├── sent/ # Successfully sent by platform└── failed/ # Failed to send (will retry)Example outbox file:
{ "subject": "Re: Your question", "body": "Here's what I found...", "in_reply_to": "<original-message-id>", "status": "pending"}See Outbox Pattern for details.
Events
Section titled “Events”The /data/events/ directory stores real-time events from agent runs. The dashboard uses these to show:
- Tool calls in progress
- Streaming text output
- Errors and completions
Pre-installed tools
Section titled “Pre-installed tools”Your agent’s container includes:
Core utilities:
git,curl,wget,jq,yqripgrep(rg),fd-find(fdfind),treesqlite3,psql(PostgreSQL client)zip,unzip,tmux,less
Python:
python3withuv(fast package manager)fpdf2for PDF generation
Developer tools:
gh(GitHub CLI)- Node.js 22 LTS
Skills
Section titled “Skills”Skills are documentation files that teach your agent how to use specific tools. They’re cloned to /opt/skills/ in the container:
/opt/skills/pi-skills/— Core skills from pi-mono/opt/skills/tiny-skills/— TinyFat platform skills
See Skills & Tools for the full list.
Storage limits
Section titled “Storage limits”Your agent’s R2 storage is currently unlimited during launch. In the future:
- Free tier: TBD
- Tiny tier ($5/mo): TBD
Files in the outbox are automatically cleaned up after successful sending.
Accessing files
Section titled “Accessing files”You can view and edit files through:
- Email — Ask your agent to read/write files
- Dashboard — File browser in the web UI (coming soon)
- Direct R2 — Export your data anytime
Next steps
Section titled “Next steps”- Memory Bank Pattern — Organize project knowledge
- Skills & Tools — What your agent can do
- Email Communication — How email works