Prof-Harita/terminaI

Open-source, local-first alternative to Cowork-style computer assistants: real PTY terminal ops, explicit approvals, JSONL audit logs. Windows + Linux + macOS. Model agnostic.

What it solves

TerminAI is a local-first AI operator for your terminal that eliminates the need to copy-paste commands from a chat interface into a shell. It allows users to describe a goal in plain language, which the AI then converts into a governed plan of action to operate the machine, diagnose issues, or orchestrate complex workflows without handing over unchecked control to an agent.

How it works

The system uses a "Plan-Act-Check" (PAC) loop to verify intent and propose actions. It operates through a true PTY (pseudo-terminal) via node-pty, enabling it to handle interactive sessions like sudo prompts, SSH, and Vim. To ensure safety, it employs a three-layer defense model: a cognitive layer for planning, a governance layer with a deterministic approval ladder (A/B/C) for human sign-off on risky actions, and an isolation layer using AppContainer or MicroVMs for OS-level sandboxing.

Who it’s for

  • Generalist users who need help with system maintenance, such as freeing up disk space or installing drivers.
  • Developers who want to automate environment setup and dependency installation.
  • Tech purists who require deterministic guardrails and local audit logs.
  • DevOps engineers who need a safer, repeatable way to remotely control servers.

Highlights

  • True PTY Support: Handles interactive terminal applications correctly.
  • Model Agnostic: Supports Google Gemini, OpenAI, and any OpenAI-compatible endpoint, including local LLMs via gateways like Ollama.
  • Governed Autonomy: Uses a policy engine and approval ladder to prevent "yolo execution."
  • Local-First & Private: Zero telemetry by design with structured JSONL audit logs stored locally.
  • Extensible: First-class support for MCP (Model Context Protocol) and an optional Agent-to-Agent (A2A) control plane.

Related

  • Project
  • Project
  • Project
  • Project
  • Project