{"repo":"vedaant00/opendot","free":true,"listed":false,"github":"https://github.com/vedaant00/opendot","clone":"git clone https://github.com/vedaant00/opendot.git","description":"A terminal AI agent you can fully undo - every file and shell action is snapshotted and reversible. Model-agnostic (any LLM), and connects to 1000+ app tools and MCP servers.","language":"Python","stars":36,"topics":["ai","ai-agents","cli","coding-agent","llm","tui","llama-cpp","hacktoberfest","hacktoberfest-accepted","agent"],"license":"MIT","category":"ai-agents","readme_excerpt":"An interactive terminal AI agent you can fully undo. --- opendot works directly on your real files and shell — but unlike other terminal agents, every action it takes is snapshotted first , so you can see exactly what it did and cleanly walk it back. Files and shell commands, not just in-repo edits. Commands whose effects escape your workspace (network, sudo, git push , deleting outside the working dir) are flagged and confirmed before they run, with an honest note about what can't be undone. That's the point of opendot: an agent you can let loose because nothing it does is a surprise, and (almost) nothing is irreversible. opendot is model-agnostic — it works with any model through LiteLLM (OpenAI, Anthropic, Google, DeepSeek, …) and runs fully local via Ollama. Ollama is just the zero-setup local option; use whatever backend you prefer. Installation Use Inside the chat, slash-commands: /model (searchable model picker), /provider (connect a provider + paste an API key), /mcp , /composio , /log , /undo , /redo , /diff , /trace (per-model-call cost + timing), /clear , /compact , /help . Any model Any model works — cloud, local, or Hugging Face. You need an API key for the provider you want to use (opendot is BYO-key; it doesn't host models). Pick a model and paste a key right inside the chat with /model and /provider , or set the key in your environment and pass --model : Provider names link to where you get a key. Provider Env var Example --model ---------- --------- ---------","default_branch":null,"files":null,"tree":[],"storefront":"/r/vedaant00","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/vedaant00/opendot/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}