vedaant00/opendot
一个终端AI代理,在改动文件或执行命令前先拍快照,让你随时能完整撤销它做过的事
opendot是一个能在终端里修改文件、执行shell命令的AI代理,但它在每次动作前都会先给工作目录拍一次快照,所以它做的任何事都能用一条命令精确撤销。像联网请求、sudo、git push这类会影响工作目录之外、无法撤销的操作,会在执行前先弹出确认。它通过LiteLLM可以接入任意大模型,还能通过MCP服务器或Composio连接上千个外部应用工具。
它做什么
- 先拍快照再动手:每次写文件或执行shell命令前,opendot会先把工作目录存进一个按内容寻址的存储里,这样undo、redo、diff(预览撤销效果)都能精确还原或查看之前的状态。
- 区分风险动作:一个分类器会判断某条shell命令是否局限在工作目录内(自动执行、可撤销),还是会影响到联网、sudo、删除工作目录外文件等外部效果(先确认、标记为不可撤销)。
- 模型不限定:通过LiteLLM,只要有API密钥就能接入OpenAI、Anthropic、Google、DeepSeek、Groq、Hugging Face等模型,也可以用Ollama在本地免费跑模型。默认模型是gpt-5.1,若对应密钥缺失会自动切换到其他可用的provider。
- 设置预算上限:用--usd或--tokens参数设定花费或token使用上限,一旦累计消耗超过这个上限,任务会立刻停止运行。
- 连接外部工具:通过MCP服务器或自带API密钥的Composio,可以调用Gmail、Slack、GitHub等应用的工具,但这类外部调用一律视为不可撤销,执行前都要先确认。
为什么重要
对于不敢放手让AI代理随意改文件、跑命令的人来说,opendot给出了一个真正的安全网:出错了可以精确撤销,而不是听天由命。它的预算上限和权限策略(--yes、--allow、--deny)也让它能用在CI这类无人值守的自动化场景里,在没人盯着的情况下依然有边界可控。
本仓库术语
- MCP · 一种让AI模型与外部工具、服务器以标准方式通信的协议
- LiteLLM · 一个把多家大模型厂商的API统一成同一套接口调用的库
- 内容寻址存储 · 按文件内容而非路径来存储,相同内容的文件只保存一份的存储方式
- 仅追加式账本 · 只能往后追加、不能修改或删除的操作记录日志
- Composio · 把Gmail、Slack等大量外部应用的工具打包成统一API提供的服务
仓库简介(英文)
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.
在 GitHub 打开热门仓库
- vorssaint/vorssaint-utils一个免费菜单栏应用,顶替十几款付费Mac工具
- Alishahryar1/free-claude-code一个本地代理,把编程AI助手接到49家免费或低价模型服务商,不再只能用一家付费服务
- freestylefly/awesome-gpt-image-2把532个GPT-Image2案例拆解成可复用模板的提示词工程库
- block/buzz一个让人类和AI智能体在同一空间里聊天、写代码、做审查的开源协作平台
- NousResearch/hermes-agentNous Research推出的Hermes是一款越用越聪明的AI智能体
- virgiliojr94/book-to-skill把技术类书籍PDF变成AI编程助手随时可查阅的技能包
- VoltAgent/awesome-agent-skills把上千份让AI编程助手秒变专家的操作手册集中放在一个地方
- anthropics/claude-plugins-community一个把大家做的Claude插件集中起来供安装的仓库