融合 Claude Code、OpenAI Codex 与 Reasonix 的核心能力,
支持 MCP 协议、Skill 技能系统、分层规划、符号推理与自我纠错。
内置 Web 工作台(v1.0 起为 React 18 + TypeScript + Ant Design 现代化前端,
源码在 web/,构建产物随包内置开箱即用),可聊天、可工作、可编程,
并带 📚 RAG 知识库(上传文档,对话自动检索引用)。
数据不出本机。 模型 API Key 存在本地配置文件,任务历史存在本地 SQLite, 知识库向量索引存在本地目录 —— 除了你自己配置的模型服务商,不向任何第三方发送数据。
✨ v1.11.13 更新亮点
- 🛠 工具调用成功率系统性提升:参数同义名/类型自动归一、相对路径统一锚到会话工作副本、
文件读取自动兼容 GBK、终端链式命令自动换壳 ——
file_read/file_write/file_edit/terminal/pwsh等工具"一次做对"的概率显著提高。 - 🔍
web_search开箱即用:配过 DeepSeek Key 就自动走官方搜索 API(不消耗模型轮次), 没配 Key 也有免密钥网页检索兜底;也支持显式接 Tavily / Serper / Brave / 自建 SearXNG。 - 🤖 飞书 / 企业微信 / 钉钉机器人更稳:机器人会话使用独立
bot-…命名空间与独立工作副本, 与 Web 工作区互不混淆;写文件不再被自检插件误判,任务过程与结果稳定回传聊天。 - 📋 协作能力:待办清单、向用户提问、交付声明、上下文自动压缩与
/compact; 专业版另有子智能体委派(并发 4、嵌套 1 层、默认只读工具)。
界面一览
🔧 工具面板 —— 40 个内置工具(含待办 / 提问 / 交付 / 文件批量编辑等新能力)、技能、MCP 与插件,按来源标注,可搜索可开关 |
📈 观测中心 —— 当前任务的实时执行 DAG,看得见每一步在干什么 |
📋 计划视图 —— 分层目标树、每步状态、前置条件与预期结果 |
📚 RAG 知识库 —— 传文档进去,对话时自动检索引用 |
版本说明:社区版 / 专业版 / 企业版
本仓库开源部分为 社区版(MIT 许可,免费)。商业能力由独立的
automind-pro 扩展包提供,安装并配置许可证后自动激活,详见
docs/EDITIONS.md。
| 功能 | 社区版(免费开源) | 专业版 | 企业版 |
|---|---|---|---|
| 💬 对话 / ⚙️ 工作 / 💻 编程 三种模式 | ✅ | ✅ | ✅ |
| 工具 / 技能 / MCP / 插件系统 | ✅ | ✅ | ✅ |
| 分层规划 · 符号推理 · 自我纠错 · 记忆系统 | ✅ | ✅ | ✅ |
| Web 工作台 + CLI + 自主任务闭环 | ✅ | ✅ | ✅ |
| 工具审批 · 安全审计 · 鉴权 / 限流 / 脱敏 | ✅ | ✅ | ✅ |
| 基础统计(任务/成功率/Token/工具排行) | ✅ | ✅ | ✅ |
| 📚 RAG 知识库(分段/embedding/对话自动检索) | 5 文档·10MB | 无限·200MB | 全部不限 |
| 📚 多知识库 · Reranker · 引用溯源 · 定时重嵌入 | — | ✅ | ✅ |
| 📚 混合检索 · 热度统计 · 检索审计 · 批量导入 | — | — | ✅ |
| ⚡ 语义缓存(相似问题秒回省 Token) | — | ✅ 基础 | ✅ 高级 |
| 🧭 模型智能路由(按复杂度分级选模型) | — | ✅ 2 级 | ✅ N 级 |
| 💰 成本仪表盘(模型成本/缓存节省分析) | — | — | ✅ |
| 📏 每日任务 / 工作区数量 | 100 次·3 个 | 不限·30 个 | 全部不限 |
| 🤝 协同模式(多智能体编排) | — | ✅ | ✅ |
| 🔁 循环模式(Loop Engineering) | — | ✅ | ✅ |
| ⏰ 定时任务 | — | ✅ | ✅ |
| 📊 高级统计仪表盘(命中率/效率/趋势) | — | ✅ | ✅ |
| 📈 观测中心(执行流程 DAG + 实时看板) | 当前任务 DAG(只读) | + 看板/历史 200/导出 | + 会话维度·历史 2000 |
| ⭐ 自定义模板(提示词资产沉淀) | — | ✅ | ✅ |
| 📄 审计报告导出(PDF) | — | ✅ | ✅ |
| 🎓 专家进阶(无限创建/分享/导入导出/统计) | 基础(3 个) | ✅ | ✅ |
| 🏛️ 企业专家市场(审批发布) | — | — | ✅ |
| 👥 多用户会话池(执行态隔离) | — | — | ✅ |
| 🔐 SSO / LDAP 单点登录集成 | — | — | ✅ |
| 🧩 细粒度权限(RBAC 角色矩阵) | — | — | ✅ |
| 🚪 私有模型网关(出口收敛/模型白名单) | — | — | ✅ |
| 独立统计分析服务(analytics-service) | — | — | ✅ |
安全能力(鉴权、限流、密钥脱敏、审计)全部保留在社区版 — 安全不设付费墙。
五种交互模式
| 模式 | 说明 | 适用场景 |
|---|---|---|
| 💬 对话 | 纯多轮对话,不调用工具,响应最快(支持图片输入/视觉模型) | 问答、咨询、头脑风暴 |
| ⚙️ 工作 | 分层规划 + 工具执行 + 符号验证 | 建项目、跑命令、改文件等自动化任务 |
| 💻 编程 | ReAct 思考-行动循环,聚焦代码 | 阅读 / 编写 / 调试 / 重构 / 测试 |
| 🤝 协同(专业版) | 多智能体分工协作并综合 | 复杂、跨角色的长任务 |
| 🔁 循环(专业版) | Loop Engineering:自主"行动-观察-修正"闭环 | 需反复迭代直到达标的任务 |
工具审批模式(Approval)
顶部下拉可切换工具调用的审批策略(Reasonix 风格 deny > ask > allow 门控):
- 🙋 询问 — 除只读工具外,每次工具调用前弹窗请求人工批准。
- ⚡ 自动(默认)— 自动批准普通/低风险工具,仅高危操作需确认。
- ✅ 全批准 — 跳过所有工具审批,完全自主运行(慎用)。
循环工程 / 定时任务 / 统计
- 循环模式(专业版)自带停止条件(任务完成 / 连续无进展 / 达到最大轮数)与人工中断,防止死循环。
- ⏰ 定时任务(专业版):按固定间隔自动执行某个任务(任意模式),后台调度并记录结果。
- 📊 统计分析:社区版提供基础聚合(任务数、成功率、Token、耗时、工具排行); 命中率环图 / 上下文使用率 / 效率趋势等高级仪表盘为专业版功能。
- 📈 观测中心:把执行过程实时画成 DAG(任务→计划步骤→工具调用), 状态配色 + 耗时/失败原因,看清 Agent 卡在哪一步。社区版可看当前任务的 实时 DAG(只读);专业版加实时看板(成功率 / P50·P95 / 工具热度 / 失败归因)、 运行历史回看与导出;企业版增加按会话维度的分组统计。
快速开始
# 方式 A:下载桌面安装包(推荐,不需要装 Python)
# https://github.com/yl13571844594-arch/AutoMind/releases/latest
# Windows .exe(代码签名) · macOS .dmg(通用二进制) · Linux .deb
# 方式 B:从源码安装
git clone https://github.com/yl13571844594-arch/AutoMind.git
cd AutoMind
pip install -e ".[web]"
# 方式 C:从 PyPI 安装
pip install "automind-agent[web]" # Web + OpenAI 兼容后端
# 升级:pip install -U "automind-agent[web]";全部模型后端换成 [full]
✅ 下载:桌面安装包见 Releases (Windows
.exe已代码签名 · macOS.dmg通用二进制 · Linux.deb), 三平台包的SHA256SUMS随 Release 一并提供,可直接sha256sum -c校验。 v1.11.13 的 PyPI wheel/sdist 也已作为 Release 附件提供(pip install的 PyPI 正式版同步需要维护者一次性配置 Trusted Publisher,详见 Release 说明)。
# 启动 Web 工作台(推荐)
python -m automind.server --port 8765
# 然后浏览器打开 http://localhost:8765
# Windows 一键启动
launch.bat
# CLI 交互模式
automind
automind "你的任务描述"
automind --version
Docker
docker compose up --build
# Web UI: http://localhost:8765
模型配置
打开 Web 工作台后,点击左下角 「⚙ 设置」→「🔑 API Keys」:
- 支持 OpenAI / Claude / DeepSeek / Kimi / 百炼 / 智谱 / 豆包 / Gemini / Grok / Ollama。
- 自定义 OpenAI 标准接口(中转代理):在底部填写
api_base(如https://api.your-proxy.com/v1)、 默认模型与 API Key,即可对接任意兼容 OpenAI/v1/chat/completions的服务或中转站。 - 每个提供商均可自定义具体使用的模型名(模型名输入框可直接输入任意模型)。
- API Key 仅保存在本地
.automind_config.json,不会上传。 也可通过环境变量配置(如OPENAI_API_KEY、DEEPSEEK_API_KEY、MOONSHOT_API_KEY等)。
项目目录 / 工具 / 技能 / MCP
- 本地项目目录:右上角 📁 徽标或「设置 → 通用 → 浏览」可选择本地目录作为 Agent 工作根目录。
- 自定义模型:模型配置中输入模型名后点「➕ 添加」即可持久化到下拉列表(按提供商区分,可删除)。
- 工具面板(侧边栏 🔧)分三个标签:
- 工具 — 内置工具列表(含权限等级与风险分)。
- 技能 — 内置技能 + 「加载本地技能目录」(扫描含
AbstractSkill子类的.py)。 - MCP — 添加并连接 MCP 服务器(stdio / sse),自动发现其工具(需
pip install mcp)。
工作区 / 模板 / 主题 / 撤销
- 🗂 工作区:右上角工作区徽标可管理/切换多个工作区,每个工作区 = 独立目录 + 独立上下文,切换后 Agent 在新目录下操作,任务之间互不污染。
- 📚 模板库:内置 10 个基础模板(建站/脚手架/修 Bug/补测试/数据分析/爬虫等), 欢迎页与 📚 按钮一键填入即可开跑;首次打开有 4 步新手引导(❓ 可重看)。
- 🌓 浅色模式:左下角「⚙ 设置」菜单随时切换深/浅主题,跟随系统偏好自动初始化。
- 💰 实时成本:右栏 Token 面板与每条结果显示预估花费(内置主流模型单价,可自定义)。
- ↩️ 撤销/回滚:Agent 改过的文件记录在右栏「文件改动」,可单文件撤销或全部回滚。
- ▶ 中断续跑:任务中断/出错后点「继续此任务」,从中断处继续不重做,省 Token。
- 📄 代码编辑器(Web IDE):右栏「📄 代码」标签 = 文件树 + Monaco 编辑器 + 改动 Diff 预览,浏览器直接改代码(Ctrl+S 保存、可撤销),聊天区不受影响。
- 🎓 专家市场:官方精选 10 个专家一键安装、自建专家(社区版 3 个), 激活后所有任务带角色设定执行;专业版无限创建/分享/导入导出/统计。
- 👥 团队协作:任务分配看板 + 操作实时通知(同事的 Agent 改文件会提醒你); 工作区/模板/专家为服务器级存储,同一部署天然团队共享。
- 🔌 Agent 集成:内置 OpenAI 兼容接口(
/v1/chat/completions,SSE 流式); 左下角「⚙ 设置」→「🔌 Agent 集成」一键生成 Continue.dev(VS Code/JetBrains 面板)与 Cline 配置, Cline / Zed 等任何 OpenAI 客户端同样可接。
对话历史
对话模式的多轮记录持久化到 .automind/chat_history.json,刷新页面自动恢复;
点击 🔄 新会话 可删除当前对话记录。任务历史(侧边栏 📜)支持单条删除与全部清空。
流式输出 · 任务中断 · 中途插话
- 流式对话:对话模式通过 WebSocket 逐字流式返回,带打字光标实时显示。
- 任务中断:执行中点击 ■ 可真正取消后台任务(
asyncio.Task取消),对话/工作/编程均支持。 - 💬 中途插话(v1.7.2):AI 回答到一半发现它漏了一件事?不用先停下 ——
直接在输入框里补一句,按
Ctrl/⌘+Enter(或点「⤴ 插入补充」),它会把这句 并进正在生成的这一段回答里继续写,你看到的是一段连续的回答。工作/编程模式 同样有效(补充会在下一步开始前进入它的上下文)。气泡上会标记 「补充 · 待本轮读取 → ✓ 已纳入本轮」;若这一轮在你补充之前就结束了, 它会明确告诉你这条没纳入,而不是假装收到。 - WebSocket 不可用时自动回退到 REST 同步模式。
多模态 · 语音 · 预览 · Token 统计
- 🪙 Token 用量统计:右栏实时显示每次任务的输入/输出 token 与累计总量、任务数,可一键重置。
- 🔍 HTML 预览:模型输出的 ```html 代码块带「预览页面」按钮,在安全沙箱 iframe 中渲染;
右栏「HTML 预览」列出项目目录中的
.html文件,点击即可预览(`/api/preview/file`,限定项目目录防穿越)。 - 🎤 语音输入:点击麦克风按钮用 Web Speech API 语音转文字(Chrome/Edge)。
- 📎 多模态:可附加图片发送给视觉模型;输出中的图片/链接/表格自动渲染展示。
🤖 IM 机器人(飞书 / 企业微信 / 钉钉)
在「设置 → 机器人」里添加机器人,填好平台凭据 / Webhook 后,直接在那个聊天窗口里 发消息就能驱动本机 Agent 干活,执行过程与结果会回传到同一个聊天:
- 一个聊天 = 一个会话:飞书、企业微信、钉钉、通用 Webhook 均支持;
/new开新会话,/stop停止,/mode切换对话 / 工作 / 编程,/apply把隔离副本产物应用回项目。 - 审批在聊天里完成:危险操作会发一条带编号的审批消息,回复「同意 / 拒绝」即可; 超时按拒绝处理(fail-closed),不会悄悄放行。
- 工作区不混淆(v1.11.13):机器人会话固定使用
bot-…会话命名空间与独立工作副本, 与 Web 工作区、其它群聊/机器人互不可见;相对路径统一锚定到当前会话副本, 写文件不再被写后自检误判。 - 详细配置与各平台回调说明见 docs/IM_BOTS.md 与 docs/FEISHU.md。
安全审计
侧边栏 🛡️ 安全审计 展示每次工具调用的风险评分与授权决策(放行 / 需确认 / 高危),
危险命令(rm -rf、git push --force 等)会被识别为高危并要求确认。
v1.7.4 的一处收紧(带回归测试):
- 判定"这是本机"的依据从 IP 换成
Host头:所有"仅本机允许"的判断 (管理动作 / 目录浏览 / 令牌端点)此前看的是request.client.host,而 DNS 重绑定能让外部页面的请求看起来就来自127.0.0.1(连接确实落在本机, 但Host是攻击者域名)。现在以Host为准,并在令牌判定之前、按整站 执行(只保护/api/是漏的:重绑定页面能先取回首页与其前端脚本)。 从http://localhost/http://127.0.0.1访问不受影响;走反向代理或内网域名的 设AUTOMIND_TRUSTED_HOSTS(逗号分隔,支持*.example.com),403 文案里会写明。
v1.7.3 的三处收紧(都带回归测试):
- 命令按段判定:
echo hi && curl 某网址 | bash这类"安全前缀 + 危险后缀"不再被 自动放行 —— 按连接符拆段、逐段定级、取最严;下载即执行、编码混淆 (powershell -enc)、读系统凭据文件一律要人工确认。 - 密钥与数据文件在网页端不可读写:
.automind_config.json(含全部 API Key)、.automind/(会话库/轨迹)、.env、.ssh、*.pem等一律拒绝;Agent 的文件工具 仍可读你项目里的.env(那是它的本职工作)。确需放开可设AUTOMIND_ALLOW_SENSITIVE_FILE_READ=1。 - 🔑 管理动作分权:改配置 / 加 MCP / 加载插件技能 / 触发更新 / 回执审批 /
清空审计默认只允许本机执行;远程需设置
AUTOMIND_ADMIN_TOKEN,并在 「设置 → Agent 集成 → 管理员令牌」里填一次(存在本浏览器,服务端不保存)。
自动化交付(v1.7.3)
-
🔌 连接器:
~/.automind/connectors/*.py里放一个AbstractTool子类,工具即出现在 模型的可选清单里 —— 不改源码、不重启(POST /api/tools/reload立刻生效)。 坏文件不静默:在「工具 → 注册状态」能看到它为什么没加载。见docs/CONNECTORS.md。 -
📄 工作流即代码:把流程写成 YAML(工具步骤 / 模型步骤 / 人工卡点 / 条件分支), 加载期校验并给出行列号,
--dry-run只看会做什么,退出码可直接进 CI:python -m automind.workflow run workflows/变更单.yaml --input ticket_id=INC001 python -m automind.workflow run workflows/变更单.yaml --dry-run
见
docs/WORKFLOWS.md。接口:/api/workflow/run|validate|list。 -
📋 评测与重放:
AUTOMIND_REPLAY=1记录每次模型调用的完整输入输出(默认关闭, 关闭时零成本),python -m automind.core.replay <文件>照着重跑并比对;python -m automind.eval run smoke跑内置套件,给出通过率/耗时/成本, 退出码 0/1/2/3 区分"全过 / 有未通过 / 配置问题 / 中断"。见docs/EVAL.md。 -
📣 出站事件与外部审批:任务与审批事件推送到你的工单/IM (
AUTOMIND_WEBHOOKS,HMAC 签名 + 指数退避 + 有界队列,绝不阻塞任务); 审批可在外部系统里回执(POST /api/approvals/{id},迟到回执明确 409)。 见docs/WEBHOOKS.md。 -
📊 运维接口:
GET /metrics(Prometheus 文本格式,零新依赖:任务数/耗时分布/ 工具调用/审批/插话/预算/token/webhook 投递)与GET /api/health/ready(真检查数据目录/SQLite/项目目录/磁盘,任一不可用返回 503)。
商用部署 / 多用户
-
会话隔离:每个浏览器拥有独立
session_id,对话历史互不可见、互不覆盖(持久化于.automind/chats/)。 -
访问鉴权(可选,默认关闭):设置令牌后,所有
/api/*与/ws需携带令牌:# Windows PowerShell $env:AUTOMIND_AUTH_TOKEN="your-secret-token" $env:AUTOMIND_CORS_ORIGINS="https://your-domain.com" # 收紧跨域(可选) $env:AUTOMIND_MAX_CONCURRENT="16" # 并发任务上限(默认 8) python -m automind.server --host 0.0.0.0 --port 8765
前端请求需带
Authorization: Bearer <token>,WebSocket 用ws://host/ws?token=<token>。 -
Host 准入(v1.7.4):所有"仅本机允许"的判定(管理动作 / 目录浏览 / 令牌端点) 以请求头
Host为准 —— 挡住了 DNS 重绑定(把外部域名解析到127.0.0.1, 借"IP 是回环"冒充本机)。从localhost/127.0.0.1访问无感; 走反向代理、隧道或内网域名的,把域名写进AUTOMIND_TRUSTED_HOSTS(逗号分隔,支持*.example.com),否则会被 403 —— 报错文案里会写明怎么填。 -
健康检查:
GET /api/health(无需鉴权)返回版本、运行任务数、并发上限、uptime,供探活/负载均衡。 -
资源保护:并发任务超过
AUTOMIND_MAX_CONCURRENT时返回 429。
注:社区版对话模式为完整多用户隔离;工作/编程等执行态任务按会话缓存轻量克隆 (
clone_for_session),交互模式、上下文、token 计数互不污染。 目录仍是共享的 —— v1.6.4 起用「按路径串行化写入 + 外来改动检出 + 可选会话 独立工作目录」三层防护,避免并发改同一工作区时静默互相覆盖(见execution.write_conflict_policy/execution.isolate_workspace)。 企业版提供会话级 Agent 池(Session-Agent-Pool),执行态也按用户完全隔离, 并可对接独立统计分析服务。详见 docs/EDITIONS.md。
演示
python demo/e2e_demo.py
开源说明
- 许可证:社区版(本仓库全部代码)以 MIT 许可 开源 — 可自由使用、 修改、分发及商用,仅需保留版权与许可声明;软件按"现状"提供,不附带任何担保。
- 安装:
pip install automind-agent(PyPI),或克隆本仓库pip install -e ".[web]"。 - 版本边界:商业功能(协同/循环/定时任务/高级统计/会话池)由闭源扩展包
automind-pro提供,不在本仓库中;社区核心通过automind/core/edition.py的稳定扩展协议与其对接, 未安装扩展时以社区版完整运行。安全能力永久保留在社区版。 - 隐私:AutoMind 本地运行,API Key 与聊天记录只存在你自己的机器上
(
.automind_config.json/.automind/),不会上传任何遥测。 - 参与贡献:见 CONTRIBUTING.md;版本变更见 CHANGELOG.md。
参与社区
| 我想…… | 去这里 |
|---|---|
| 🐛 报个 bug | 新建 Issue |
| ✨ 提个功能建议 | 新建 Issue |
| 💬 问怎么用 / 不确定是不是 bug | Discussions |
| 🔒 报告安全漏洞 | 私密通道 —— 请勿发公开 Issue |
| 🛠 提交代码 | 贡献指南 · 行为准则 |
安全策略与威胁模型(哪些算漏洞、哪些是设计内行为)见 SECURITY.md。
Metadata
Release files for automind-agent 1.11.13
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| automind_agent-1.11.13.tar.gz | 1.6 MB | Without provenance | Details for automind_agent-1.11.13.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| automind_agent-1.11.13-py3-none-any.whl | Python 3 | none | any | Details for automind_agent-1.11.13-py3-none-any.whl |
Total release size: 3.3 MB
Release files / automind_agent-1.11.13.tar.gz
| Download URL | automind_agent-1.11.13.tar.gz |
|---|---|
| Size | 1.6 MB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
380a998302b6f143ea637e381dc679e656db5feae02ed5035bd89cda1c88d4cd
|
|
BLAKE2b-256 checksum How to use checksums |
7c4da71846bf06efdb551b5f92cdffebffbfde52be6778b2836c07ce12ea9c52
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|
Release files / automind_agent-1.11.13-py3-none-any.whl
| Download URL | automind_agent-1.11.13-py3-none-any.whl |
|---|---|
| Size | 1.7 MB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c13dd3b2f91a712677d67d8a0dd85fedbe4e1143958ebf94030131c788ef95c2
|
|
BLAKE2b-256 checksum How to use checksums |
3310828d079a0de3b41dd09f334ea6669899c3ee5147a77bc20436c64eee02d5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|
Security for automind-agent 1.11.13
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.