DEV Community

Cover image for Built an AI Terminal Assistant Because I Got Tired of Googling "Tar" Flags
Pedro Dias
Pedro Dias

Posted on

Built an AI Terminal Assistant Because I Got Tired of Googling "Tar" Flags

The Problem: Context Switching Kills Flow

We've all been there. You're deep in a server debugging session, checking logs, and suddenly you need to construct a complex sed command to filter a specific pattern. Or maybe you need to compress a directory but can't remember if it's -czvf or -xzvf.
So you Alt-Tab, open a browser, Google it, copy the command, tab back, and paste it.
This micro-context switch happens dozens of times a day. It breaks your flow. It's concise, but it adds up.

The Solution: An AI That Lives in Your Terminal

I decided to solve this by building CLI Pal, a server management platform with a twist: The AI Assistant lives directly inside your terminal interface.
It’s not just a chatbot. It’s a pair programmer for your infrastructure.
Alt Text
(Screenshot of the split-pane interface)

How It Works

The interface is a split-pane view (xterm.js on the right, AI Chat on the left). Here is why it's better than just using ChatGPT:

It Can "See" Your Screen

When you ask for help, the AI (powered by LLMs) receives the last few lines of your terminal output as context. If you get a cryptic error message, you don't even have to copy-paste it. You just ask, "Why did that fail?" and the AI already knows.

It Knows Your Server Specs

The backend automatically injects system context into the prompt before sending it to the AI. The agent knows:

  • Your OS and Version (e.g., Ubuntu 22.04)
  • CPU Architecture (x86_64 vs ARM)
  • Current RAM and Disk usage This means if you ask "How do I install Redis?", it won't give you yum commands for an Ubuntu server. It gives you apt-get, tailored exactly to your environment.
  • One-Click Execution The AI responds with structured JSON that renders as Markdown. Code blocks come with a distinct "Run" button. You can review the command and execute it directly in the connected terminal socket with a single click. No copy-pasting required.

Under the Hood

For the curious, here is the tech stack making this possible:

  • Frontend: xterm.js for the terminal emulator + xterm-addon-fit for responsive resizing.
  • Backend: A PHP WebSocket server (using Ratchet) handles the persistent SSH stream.
  • AI Layer: A custom PHP Agent class that constructs prompts with:
    • System Context (OS, Hardware)
    • Terminal Buffer (The last N lines of output)
    • User Query

Try It Out

I built this primarily to scratch my own itch, but it's now open for others. If you want to stop Googling regex patterns and start just doing them, check it out.

Let me know what you think! Does having an AI in your terminal sound useful, or do you prefer the manual way?

Top comments (0)