Skip to content

Commit 96b389b

Browse files
committed
Clean up MANUAL.md
1 parent cc1b953 commit 96b389b

File tree

1 file changed

+0
-121
lines changed

1 file changed

+0
-121
lines changed

MANUAL.md

Lines changed: 0 additions & 121 deletions
Original file line numberDiff line numberDiff line change
@@ -203,52 +203,6 @@ agentfs fs cat hello.txt
203203
agentfs fs cat /artifacts/report.txt
204204
```
205205

206-
## How AgentFS Works
207-
208-
### Architecture
209-
210-
```
211-
┌─────────────────────────────────────────┐
212-
│ Agent Application │
213-
├─────────────────────────────────────────┤
214-
│ AgentFS Sandbox (Hermit) │
215-
│ Filesystem Interception Layer │
216-
├─────────────────────────────────────────┤
217-
│ /agent mount point │
218-
├─────────────────────────────────────────┤
219-
│ Agent Filesystem (agent.db) │
220-
│ SQLite Database │
221-
└─────────────────────────────────────────┘
222-
```
223-
224-
### Filesystem Interception
225-
226-
AgentFS uses [Hermit](https://github.com/facebookexperimental/hermit), a deterministic execution sandbox that intercepts all system calls. When a program running inside AgentFS attempts filesystem operations on `/agent/*`, AgentFS:
227-
228-
1. **Intercepts** the system call (open, read, write, etc.)
229-
2. **Translates** the path to a SQLite query
230-
3. **Executes** the operation on the agent database
231-
4. **Returns** results to the program
232-
233-
This is completely transparent to the application - it sees `/agent` as a normal POSIX filesystem.
234-
235-
### SQLite as a Filesystem
236-
237-
The agent filesystem uses a Unix-like inode design implemented in SQLite. See the [Agent Filesystem Specification](SPEC.md) for complete details.
238-
239-
**Key features:**
240-
- **Inodes** - Each file/directory has a unique inode number and metadata
241-
- **Directory entries** - Map names to inodes (enables hard links)
242-
- **Data chunks** - File contents stored as BLOBs
243-
- **Metadata** - Unix-style permissions, timestamps, ownership
244-
245-
**Benefits:**
246-
- **Single file** - Entire filesystem in one `.db` file
247-
- **Snapshotting** - Copy the file to snapshot complete state
248-
- **Auditability** - Query filesystem history with SQL
249-
- **ACID transactions** - Consistency guarantees
250-
- **Portability** - Works everywhere SQLite works
251-
252206
## AgentFS SDK
253207

254208
The AgentFS SDK provides a TypeScript/JavaScript interface for building agents that use the agent filesystem. It offers three main APIs for working with the agent database:
@@ -664,86 +618,11 @@ Or use the SQL interface from your application to analyze agent behavior, search
664618

665619
See the [Agent Filesystem Specification](SPEC.md) for the complete schema.
666620

667-
## Use Cases
668-
669-
### 1. Agent Development and Testing
670-
671-
- Run agents in isolated environments
672-
- Snapshot state before risky operations
673-
- Replay agent execution from checkpoints
674-
- Debug by querying filesystem history
675-
676-
### 2. Production Agent Deployment
677-
678-
- Monitor agent filesystem access
679-
- Audit all file operations
680-
- Track tool invocations and errors
681-
- Maintain complete operation history
682-
683-
### 3. Multi-Agent Systems
684-
685-
- Each agent gets its own `.db` file
686-
- Share data by mounting common databases
687-
- Analyze agent interactions via SQL queries
688-
- Compare agent behavior across runs
689-
690-
### 4. Agent Training and Fine-tuning
691-
692-
- Capture agent decisions and outcomes
693-
- Query successful vs. failed operations
694-
- Extract training data from agent history
695-
- Analyze tool usage patterns
696-
697-
## Security Considerations
698-
699-
**Sandboxing:**
700-
- AgentFS intercepts filesystem operations but doesn't provide full security isolation
701-
- Programs can still make network calls, execute system commands, etc.
702-
- Use additional security measures (containers, VMs, network policies) for untrusted code
703-
704-
**Database Security:**
705-
- Agent databases are SQLite files - protect them like any sensitive data
706-
- Use file permissions to restrict access
707-
- Encrypt databases at rest if needed
708-
- Be cautious with sensitive data in tool call parameters/results
709-
710-
**Determinism:**
711-
- The Hermit sandbox provides deterministic execution
712-
- Same inputs produce same outputs (useful for testing)
713-
- Some non-deterministic operations may be restricted
714-
715-
## Troubleshooting
716-
717-
### "agent.db already exists"
718-
719-
Use `--force` to overwrite:
720-
```bash
721-
agentfs init --force agent.db
722-
```
723-
724-
### Program can't find files in /agent
725-
726-
Make sure you're running the program with `agentfs run`:
727-
```bash
728-
agentfs run /bin/bash
729-
```
730-
731-
Files written to `/agent` inside the sandbox are stored in `agent.db`, not on the host filesystem.
732-
733-
### SQLite database is locked
734-
735-
Only one process can write to the database at a time. Make sure you don't have multiple `agentfs run` instances using the same `agent.db` file.
736-
737-
### Permission denied errors
738-
739-
Check file permissions in the agent filesystem using `agentfs fs ls -l` (once implemented) or by querying the `fs_inode` table directly.
740-
741621
## Learn More
742622

743623
- **[Agent Filesystem Specification](SPEC.md)** - Complete technical specification of the filesystem schema
744624
- **[SDK Examples](sdk/examples/)** - Working code examples
745625
- **[README](README.md)** - Project overview and motivation
746-
- **[Hermit Project](https://github.com/facebookexperimental/hermit)** - The underlying sandbox technology
747626

748627
## Contributing
749628

0 commit comments

Comments
 (0)