A FUSE-based filesystem interface for the Anthropic AI SDK, allowing you to interact with Claude and other Anthropic AI models through standard filesystem operations.
- 🗂️ Interact with Anthropic AI through familiar file operations
- 💬 Create and manage conversations as directories
- ⚡ Real-time message history and responses
- 🔄 Automatic caching and state management
- 🔒 Secure API key handling
- 📝 Simple file-based configuration
- 🚀 Built with TypeScript and Bun
- Bun runtime
- FUSE installed on your system
- Anthropic API key
Or with Bun:
bun add anthropic-fuse
import AnthropicFS from 'anthropic-fuse';
// Initialize and mount the filesystem
const fs = new AnthropicFS('your-api-key');
await fs.mount('/mnt/anthropic');
/mnt/anthropic/
├── conversations/
│ ├── [conversation-id]/
│ │ ├── messages.txt
│ │ ├── metadata.json
│ │ └── config.json
├── completions/
│ ├── new.txt
│ └── history/
├── config/
│ ├── model.txt
│ └── settings.json
└── status.txt
echo "Hello Claude!" > /mnt/anthropic/conversations/new.txt
echo "What's the weather like?" > /mnt/anthropic/conversations/abc123/messages.txt
cat /mnt/anthropic/conversations/abc123/messages.txt
echo "Translate to French: Hello world" > /mnt/anthropic/completions/new.txt
cat /mnt/anthropic/completions/new.txt
echo "claude-2" > /mnt/anthropic/config/model.txt
constructor(apiKey: string)
mount(mountPoint: string): Promise<void>
unmount(mountPoint: string): Promise<void>
mounted
: Emitted when filesystem is successfully mountedunmounted
: Emitted when filesystem is unmountederror
: Emitted when an error occurs
Errors are handled gracefully and logged to /mnt/anthropic/status.txt
. Common errors include:
- API rate limiting
- Network connectivity issues
- Invalid file operations
- Authentication failures
- Implements in-memory caching for frequently accessed data
- Automatic cleanup of stale conversations
- Efficient handling of large conversations
- Rate limit awareness
- API keys are stored securely in memory
- File permissions follow UNIX standards
- No sensitive data is written to disk
git clone https://github.com/yourusername/anthropic-fuse
cd anthropic-fuse
bun install
bun run build
bun test
- Fork the repository
- Create your feature branch (
git checkout -b feature/amazing-feature
) - Commit your changes (
git commit -m 'Add amazing feature'
) - Push to the branch (
git push origin feature/amazing-feature
) - Open a Pull Request
MIT License - see LICENSE file for details
- Anthropic AI team for their excellent SDK
- FUSE project contributors
- Bun runtime team
For support, please:
- Check the Issues page
- Create a new issue if needed
- Join our Discord community
- Add support for streaming responses
- Implement conversation branching
- Add compression for large conversations
- Develop GUI file browser integration
- Add multi-user support
Q: Why use a filesystem interface? A: Filesystem interfaces provide a familiar and universal way to interact with services, enabling easy integration with existing tools and workflows.
Q: Is this production-ready? A: While functional, please thoroughly test in your environment before using in production.
Q: What are the system requirements? A: FUSE-compatible OS (Linux, macOS), Bun runtime, and sufficient permissions to mount filesystems.