An autonomous AI agent that works natively across all your devices. Multi-modal, connects to 30+ AI models, and can create applications, generate media, access your tools, and schedule tasks — from the terminal or the desktop.
Friday is built as three layers — a portable runtime that any client can use:
| Package | Description |
|---|---|
packages/runtime |
friday-runtime — The core agent. Model routing, MCP servers, tool execution, permission sandboxing, streaming. Connects to 30+ models (OpenAI, Google, Anthropic, ElevenLabs). |
packages/cli |
@tryfridayai/cli — Terminal interface. Chat, generate media, run commands, manage plugins, schedule agents. Published on npm. |
packages/desktop |
Friday AI: Studio — Electron desktop app. Media creation studio with image/video/voice generation, gallery, live preview. |
- Autonomous Agent — Friday can read files, write code, run commands, and iterate on tasks
- Multi-Modal AI — Generate images (DALL-E, Imagen), videos (Sora, Veo), and audio (OpenAI TTS, ElevenLabs, Google WaveNet)
- MCP Servers — Extensible tool ecosystem via Model Context Protocol
- Secure by Design — API keys stored in system keychain, never exposed to agent
- Scheduled Agents — Automate recurring tasks with cron-based scheduling
- Two Clients, One Runtime — CLI and Desktop Studio both run on the same friday-runtime
# Install globally
npm install -g @tryfridayai/cli
# Start chatting
friday chat
# Add API keys (stored securely in system keychain)
# Type /keys in chat to configure# Clone the repo
git clone https://github.com/tryfridayai/friday_cli.git
cd friday_cli
# Install dependencies
npm install
# Run the desktop app in development
npm run dev:electronThe desktop app starts both the Vite dev server (React UI) and the Electron shell. It automatically spawns friday-runtime as a backend process.
- Node.js 18+
- At least one API key: Anthropic, OpenAI, or Google AI
- For desktop: macOS (native title bar), Linux, or Windows
friday chat # Start interactive chat
friday chat --verbose # Show debug output| Command | Description |
|---|---|
/help |
Show all commands |
/keys |
Add/update API keys (secure keychain storage) |
/status |
Session info, costs, capabilities |
/plugins |
Install/uninstall/list plugins |
/model |
Browse and toggle AI models |
/schedule |
Manage scheduled agents |
/new |
Start new session |
/quit |
Exit |
Friday supports multiple AI providers. Add keys via /keys (CLI) or Settings > API Keys (Desktop):
| Provider | Key | Capabilities |
|---|---|---|
| Anthropic | ANTHROPIC_API_KEY |
Chat (Claude) |
| OpenAI | OPENAI_API_KEY |
Chat, Images, Voice, Video |
| Google AI | GOOGLE_API_KEY |
Chat, Images, Voice, Video |
| ElevenLabs | ELEVENLABS_API_KEY |
Premium Voice |
Keys are stored securely in your system keychain (macOS Keychain, Windows Credential Manager, or Linux libsecret).
friday/
├── packages/
│ ├── cli/ # CLI package (@tryfridayai/cli)
│ │ ├── bin/ # Entry points (friday.js)
│ │ └── src/ # CLI source — commands, keystore, input
│ ├── runtime/ # Agent runtime (friday-runtime)
│ │ ├── src/ # Runtime, providers, sandbox, MCP credentials
│ │ ├── mcp-servers/ # MCP server implementations
│ │ └── friday-server.js # Standalone server entry point
│ └── desktop/ # Electron desktop app (Friday AI: Studio)
│ ├── electron/ # Main process, preload, IPC handlers
│ ├── src/ # React UI — components, store, themes
│ │ ├── components/ # Chat, home, preview, settings, agents
│ │ ├── store/ # Zustand state management
│ │ └── lib/ # Themes, utilities
│ └── package.json
├── CHANGELOG.md # Version history
├── CLAUDE.md # AI assistant instructions
└── README.md # This file
Friday uses the Model Context Protocol (MCP) for tool integration:
| Server | Purpose |
|---|---|
filesystem |
File read/write operations |
terminal |
Shell command execution |
github |
GitHub API integration |
friday-media |
Image/video/audio generation |
firecrawl |
Web scraping |
figma |
Design file access |
resend |
Email sending |
supabase |
Database operations |
Friday is designed with security as a priority:
- Keychain Storage — API keys stored in OS-level secure storage
- Environment Filtering — Sensitive keys never exposed to agent context
- Command Sandboxing — Dangerous commands blocked by pattern matching
- Permission System — User approval required for sensitive operations
# Clone the repo
git clone https://github.com/tryfridayai/friday_cli.git
cd friday_cli
# Install dependencies
npm install
# Run CLI in development
node packages/cli/bin/friday.js chat
# Run desktop app in development
npm run dev:electronContributions are welcome! Please read our contributing guidelines and submit PRs.
MIT License - see LICENSE for details.
- Website: tryfriday.ai
- npm: @tryfridayai/cli
- GitHub: tryfridayai/friday_cli