Show HN: slash-agent – Native LLM copilot for your terminal Slash-agent, a new open-source tool, integrates an LLM copilot directly into the Bash shell, offering zero-overhead AI assistance for terminal tasks. It supports local models via Ollama or cloud APIs, automatically captures terminal context to diagnose errors, and synchronizes state changes back to the parent shell. The tool aims to streamline developer workflows by providing context-aware command execution and editing without background resource usage. slash-agent is an ultra-lightweight, zero-overhead AI coding partner that integrates natively into your active Bash shell. It is designed to act as a seamless extension of your command line, keeping you focused in your terminal with 100% local, private LLM support via Ollama or cloud powerhouses OpenAI/Azure OpenAI . Important A Natural Coding Partner in Your Shell—Zero Workflow Interruption. slash-agent operates directly inside your active Bash session. It stays completely out of your way and consumes zero background resources no running daemons, no background processes when not in use. Simply type /agent when you hit a blocker: it instantly grabs your recent terminal context tmux pane scrollback or command history to diagnose errors, edit files, and execute commands—automatically syncing directory changes cd and environment exports back to your parent shell session when it exits. Get up and running instantly. Run the quick installer script in your shell supports Bash, Zsh, Ksh, and Fish : curl -fsSL https://raw.githubusercontent.com/akatzmann/slash-agent/master/bin/installer.sh | bash This automatically clones the repo to ~/.slash-agent, configures a Python virtual environment, installs requirements, and registers the shell integration in your appropriate shell profile file, e.g. ~/.zshrc, ~/.bashrc, ~/.bash profile, or config.fish. - 🤖 LLM Agnostic & Privacy First: Supports local offline models like Ollama with zero keys required and zero data leaving your machine, as well as OpenAI and Azure OpenAI. - 🔌 Zero-Overhead Integration: Completely passive. Consumes zero CPU/memory until you run /agent —no running background daemons, cron jobs, or log listeners. - 🔍 Context-Aware Diagnoses: Instantly extracts the last 50 lines of your active tmux pane or terminal history, letting the LLM read error outputs and tracebacks without manual copy-pasting. - ⚡ State Synchronization: Working directory transitions cd and environment exports export KEY=VAL made by the agent automatically sync back to your parent shell session on exit. - 🌉 Interactive PTY Bridge: Executes proposed commands in a pseudo-terminal PTY , allowing you to interactively type passwords e.g. sudo , view colored output, and see progress bars. - 🕹️ Steerable Confirmation Loop: Full control over every action:Run the command. y yes :Refuse the command and inform the agent. n no :Inline edit the command before running it. e edit :Type natural language guidance back to the agent e.g. c comment : "Use yarn instead of npm" . - 🛡️ Dry-run & Auto-confirm Modes: Preview agent actions safely with -n / --dry-run , or run fully unattended with -y / --yes . bash $ npm run build ❌ ERROR: Build failed. Cannot find module 'dotenv' in server.js:12 $ /agent Fix this Agent Shell Initializing with model 'gemma4:e4b-it-qat' at 'http://127.0.0.1:11434'... Agent Started Task Analyzing terminal context... Identified missing dependency 'dotenv' in server.js. Agent Proposed Command: $ npm install dotenv && npm run build Confirm action: y es / n o / e dit / c omment ? y Agent Running : npm install dotenv && npm run build ... added 1 package, and audited 120 packages in 1s ✓ Build completed successfully I have installed the missing 'dotenv' package and verified that the build now passes. - 🛠️ Build & Test Crashes: When a compiler error, script traceback, or unit test fails, simply run /agent to let it read the error logs directly and propose a fix. - 📦 Dependency Resolution: Missing package imports? The agent reads the import error, installs the package, and verifies the build. - 💻 Quick Scripting & Automation: Ask the agent to generate helper scripts, configure development environments, or perform regex logs processing on the fly. - ⚙️ System Configuration: Easily set up local databases, systemd services, or configuration files without looking up command flags. Unlike standard agents that run in isolated subshells and cannot modify your current directory or environment , slash-agent uses a lightweight state synchronization protocol: php graph TD A Active Bash Session -- |1. Type /agent| B Bash Sourcing Wrapper bin/slash-agent.sh B -- |2. Capture Screen Output| C Python Orchestrator slash agent/main.py C -- |3. Interface with local/cloud LLM| C C -- |4. Propose commands| D PTY Execution Bridge D -- |5. Interactive Steering Loop| A D -- |6. Capture exit code, PWD, env updates| B B -- |7. Source sync file on exit| A Context Capture: The shell wrapper automatically captures the active tmux pane buffer or history to give the LLM immediate context. Interactive PTY Bridge: Commands run inside a real pseudo-terminal PTY so you see colored outputs, progress bars, and can interact with prompts like typing passwords for sudo . Parent Shell Sync: Directory changes cd or environment variables export are safely passed back to your main shell session via a temporary sourcing script on exit. If you prefer to set up the agent manually instead of using the Quick Start script: Clone the Repository: git clone https://github.com/akatzmann/slash-agent.git ~/.slash-agent cd ~/.slash-agent Install Python Requirements: pip install -r requirements.txt Register Shell Integration: Add the appropriate sourcing statement to your shell configuration file: Bash Linux : source ~/.slash-agent/bin/slash-agent.sh in ~/.bashrc Bash macOS : source ~/.slash-agent/bin/slash-agent.sh in ~/.bash profile or ~/.profile Zsh: source ~/.slash-agent/bin/slash-agent.sh in ~/.zshrc Ksh: source ~/.slash-agent/bin/slash-agent.sh in ~/.kshrc Fish: source ~/.slash-agent/bin/slash-agent.fish in ~/.config/fish/config.fish slash-agent runs natively inside Unix-like PTY environments. Native Windows execution under standard CMD or PowerShell is not supported due to PTY emulation limitations. However, the tool is 100% compatible with WSL2 Windows Subsystem for Linux . Windows users can run slash-agent by opening any WSL2 Linux terminal such as Ubuntu or Debian and running the standard Quick Start installation command. Configure the LLM backend, endpoint, model, and capture settings in your .env file or shell profile: LLM Backend: openai default , ollama, azure openai, dummy export AGENT BACKEND="openai" Model name Defaults: gpt-4o-mini for openai, gemma4:e4b-it-qat for ollama export AGENT MODEL="gpt-4o-mini" API endpoint base URL defaults to official OpenAI API endpoint export AGENT ENDPOINT="" OpenAI API Key required for default OpenAI backend export OPENAI API KEY="your-api-key-here" Context extraction settings export AGENT TMUX LINES=50 Lines captured from active tmux scrollback export AGENT HISTORY COMMANDS=20 Commands captured from history fallback For a full list of configuration variables e.g., Azure OpenAI variables , see the .env.template /akatzmann/slash-agent/blob/main/.env.template file. /agent create a new directory named 'sandbox' and write a basic python flask server inside it If a compiler, build tool, or script crashes, run /agent with no arguments or a request to fix it : /agent Fix this crash Simulate proposed steps and check the agent's plan without making actual system changes: /agent -n setup a docker compose file for PostgreSQL and Redis Run tasks without any confirmation prompts for safe, low, or moderate risk commands: /agent -y update package lists and install tree By default, critical commands like rm -rf or commands using sudo are not auto-confirmed by -y to prevent accidental damage. To auto-confirm even critical commands, pass the --unsafe-yes flag: /agent --unsafe-yes clean up docker volumes and system cache For more technical details on the architecture, the interactive PTY bridge loop, and the environment state-synchronization protocol, read the Technical Documentation /akatzmann/slash-agent/blob/main/docs/documentation.md .