“Just a rather very intelligent system.” — Tony Stark 😀
Every DevOps Engineer has a terminal open. What if that terminal could think?
Friday — an open-source, multi-provider AI agent that runs entirely in your terminal. No browser tabs, no Electron apps, no subscriptions bundling features you don’t need. Just a clean, minimal CLI that connects to Gemini, ChatGPT, Claude, GitHub Copilot, or your own local Ollama server — and lets you switch between them with a single command.
In this post, I’ll walk through why I built it, the architecture behind it, and how you can install it in one command.
In this post, I’ll walk through why I built it, the architecture behind it, and how you can install it in one command.
What Friday Delivers
Friday is a terminal-native AI agent with three core capabilities:
1. Multi-Provider Chat
Connect to any major AI provider through a unified interface:
The Problem
Modern AI workflows are fragmented:
- Multiple browser tabs (ChatGPT, Claude, Gemini)
- Constant copy-paste between the terminal and AI tools
- No direct execution — only suggestions
Even simple queries, like checking disk usage, require manual execution after being asked.
The requirement was clear:
A single interface that supports multiple models and can perform real actions on the machine.
What Friday Delivers
1. Unified Multi-Provider Interface
Friday integrates major AI providers into one CLI:
Model availability is dynamically fetched via APIs — ensuring accuracy without manual updates.
2. Agentic Capabilities for DevOps
Friday is built for execution, not just conversation.
Core capabilities:
- Shell command execution (with confirmation)
- File operations (read, write, search)
- Web search integration
- System diagnostics (CPU, memory, disk)
- Python execution
Example:
Instead of suggesting commands, Friday directly performs tasks like file discovery or diagnostics.
All critical operations require explicit confirmation, ensuring safety.
3. Voice Interaction
Voice support enables hands-free interaction:
- Toggle via /voice
- Speak queries with empty input
- Configure pitch, speed, and voice profile
This is particularly useful during troubleshooting or multitasking scenarios.
Architecture Overview
Friday follows a modular, provider-agnostic architecture:
Application Layer (CLI + Commands)
↓
Friday Client (Abstraction Layer)
↓
Providers (Gemini, OpenAI, Claude, Copilot, Ollama)
Provider Abstraction
Each provider implements a common interface:
class BaseProvider(ABC):
def initialize(self): ...
def chat(self, message, history, tools): ...
@property
def model(self): ...
This enables seamless extensibility with minimal integration effort.
Tool System
Tools are defined once and adapted across providers:
@register_tool
def get_system_info():
return {...}
A universal schema ensures compatibility across different APIs.
Dynamic Model Discovery
Friday queries provider APIs at runtime:
- Eliminates outdated configurations
- Supports local and remote Ollama instances
- Ensures real-time model availability
Command System
A structured command interface simplifies interaction:
/login Connect provider
/switch Change provider
/model Select model
/logout Remove credentials
/voice Toggle voice
/voice config Configure voice
/tools List tools
/help Show commands
bye Exit
Credentials are securely stored with restricted permissions.
User Interface
Built using the Rich library, the UI is clean and minimal:
- Color-coded provider panels
- Markdown rendering with syntax highlighting
- Interactive menus
- Lightweight terminal-first design
The focus remains on usability rather than visual complexity.
Getting Started
Installation
git clone https://github.com/mahinshanazeer/friday.git && cd friday && bash install.sh
First Run
friday
Authenticate using /login, and the session persists for future use.
Uninstall
cd friday && bash uninstall.sh
Key Learnings
1. Provider APIs Differ Significantly
Function-calling implementations vary widely across providers, requiring a unified abstraction layer.
2. Terminal UX Matters
Design improvements significantly impact usability and adoption.
3. Reliability Is Critical
Graceful handling of missing dependencies or failures ensures stability.
4. Persistence Improves Experience
Credential storage transformed the tool from experimental to practical.
Built Using AI
Friday itself was built using AI-assisted development:
- Antigravity — architecture and scaffolding
- GitHub Copilot — inline coding
- Claude — design validation and reviews
Workflow:
- Define architecture via prompts
- Iteratively build features
- Debug and refine using AI
Result: A production-ready system built in hours rather than weeks.
Roadmap
Planned improvements include:
- Streaming responses
- Chat export functionality
- Plugin architecture
- Multi-modal input (image support)
- Git integration
Repository
🔗 https://github.com/mahinshanazeer/friday
git clone https://github.com/mahinshanazeer/friday.git && cd friday && bash install.sh
Closing Note
Friday is built on a simple principle:
Your terminal should not just execute commands — it should assist, decide, and act.



Top comments (0)