opendot:可全量回退操作的终端 AI Agent 发布
opendot 是一款支持快照与撤销的终端 AI Agent,模型无关,兼容多家云端与本地模型,并支持 MCP 与 Co…
opendot 是一款主打「可逆性」的终端 AI Agent 工具。与常见的命令行 Agent 不同,它在每次写入文件或执行 shell 命令前,会先将工作目录快照到本地的内容寻址存储中,并写入一份仅追加的账本(ledger)。用户随时可以通过 opendot log 审计 Agent 的全部操作,或通过 opendot undo 把工作区精确还原到任意一步之前。这一机制覆盖文件与 shell 命令,而不仅限于代码仓库内的编辑。
安装与使用
opendot 可通过 uvx opendot 零安装直接试用,也可使用 uv tool install 或 pipx 进行隔离全局安装,亦可直接 pip install opendot。进入交互式聊天后可使用 /model、/provider、/log、/undo、/clear、/compact、/help 等斜杠命令管理会话。
- 一句话调用:
opendot -p "summarize this project",适合脚本或 CI 场景 - 审计:
opendot log查看 Agent 的全部历史动作 - 撤销:
opendot undo撤销最近一步,或opendot undo 000004回到指定编号前的状态
模型与 Provider
opendot 模型无关,通过 LiteLLM 对接任意后端,BYO-key(自带 API Key)模式。默认模型为 gpt-5.1,若未配置 OpenAI Key 而配置了其他 Provider,则自动切换。已支持的 Provider 包括:
- OpenAI:
OPENAI_API_KEY,示例--model gpt-5.1 - Anthropic:
ANTHROPIC_API_KEY,示例--model claude-opus-4-5 - Google:
GEMINI_API_KEY,示例--model gemini/gemini-3-pro - DeepSeek:
DEEPSEEK_API_KEY,示例--model deepseek/deepseek-chat - Groq:
GROQ_API_KEY,示例--model groq/llama-3.3-70b-versatile - Hugging Face:
HF_TOKEN,可调用 Together 等推理后端 - Ollama:本地免 Key,示例
--model ollama/qwen3
对 llama.cpp、vLLM、LM Studio 等 OpenAI 兼容服务,可通过 --api-base 指向本地端口。推理类模型会在终端实时流式输出思考过程。
MCP 与 Composio 集成
opendot 既是 MCP 客户端,可通过 /mcp 或命令行添加 stdio、HTTP/SSE 远程服务器,配置保存在 ~/.opendot/mcp.json。由于外部工具行为不可预测,每次 MCP 工具调用都会被标记为「不可撤销」并要求二次确认。
通过 Composio,可接入 Gmail、Slack、GitHub、Notion、Linear 等 1000+ 应用工具,同样采用用户的 Composio API Key;OAuth 类连接会跳转浏览器完成授权。这些外部工具的调用同样按不可逆处理。
风险控制与项目规则
对于网络、sudo、git push、删除工作目录外文件等会「逃逸」工作区的命令,opendot 会在执行前弹出确认并明确标注无法完全撤销的范围。项目根目录可放置 OPENDOT.md 提供上下文,并可通过 opendot 代码块配置额外纳入或排除快照的路径,默认自动跳过 .git、node_modules、虚拟环境与构建缓存。
