Metadata-Version: 2.4
Name: automind-agent
Version: 1.1.0
Summary: 通用自动化 Agent 框架（社区版）- 支持分层规划、符号推理、自我纠错、MCP 和多模型后端
Author: AutoMind Team
License-Expression: MIT
Project-URL: Homepage, https://github.com/automind/automind
Project-URL: Repository, https://github.com/automind/automind
Project-URL: Issues, https://github.com/automind/automind/issues
Keywords: agent,automation,llm,mcp,planning
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Developers
Classifier: Operating System :: OS Independent
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Software Development :: Libraries :: Application Frameworks
Requires-Python: >=3.11
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: pydantic>=2.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: pydantic-settings>=2.0
Requires-Dist: rich>=13.0
Provides-Extra: web
Requires-Dist: fastapi>=0.110.0; extra == "web"
Requires-Dist: uvicorn>=0.29.0; extra == "web"
Requires-Dist: openai>=1.30.0; extra == "web"
Requires-Dist: httpx>=0.27.0; extra == "web"
Provides-Extra: full
Requires-Dist: fastapi>=0.110.0; extra == "full"
Requires-Dist: uvicorn>=0.29.0; extra == "full"
Requires-Dist: httpx>=0.27.0; extra == "full"
Requires-Dist: tiktoken>=0.7.0; extra == "full"
Requires-Dist: rich>=13.0; extra == "full"
Requires-Dist: openai>=1.30.0; extra == "full"
Requires-Dist: anthropic>=0.30.0; extra == "full"
Requires-Dist: google-generativeai>=0.7.0; extra == "full"
Provides-Extra: dev
Requires-Dist: pytest>=8.0; extra == "dev"
Requires-Dist: pytest-asyncio>=0.23.0; extra == "dev"
Dynamic: license-file

# AutoMind — 通用自动化 Agent 框架（社区版）

融合 Claude Code、OpenAI Codex 与 Reasonix 的核心能力，
支持 MCP 协议、Skill 技能系统、分层规划、符号推理与自我纠错。
内置 **Web 工作台**（v1.0 起为 React 18 + TypeScript + Ant Design 现代化前端，
源码在 `web/`，构建产物随包内置开箱即用），可聊天、可工作、可编程，
并带 **📚 RAG 知识库**（上传文档，对话自动检索引用）。

## 版本说明：社区版 / 专业版 / 企业版

本仓库开源部分为 **社区版**（MIT 许可，免费）。商业能力由独立的
`automind-pro` 扩展包提供，安装并配置许可证后自动激活，详见
[docs/EDITIONS.md](docs/EDITIONS.md)。

| 功能 | 社区版（免费开源） | 专业版 | 企业版 |
|------|:---:|:---:|:---:|
| 💬 对话 / ⚙️ 工作 / 💻 编程 三种模式 | ✅ | ✅ | ✅ |
| 工具 / 技能 / MCP / 插件系统 | ✅ | ✅ | ✅ |
| 分层规划 · 符号推理 · 自我纠错 · 记忆系统 | ✅ | ✅ | ✅ |
| Web 工作台 + CLI + 自主任务闭环 | ✅ | ✅ | ✅ |
| 工具审批 · 安全审计 · 鉴权 / 限流 / 脱敏 | ✅ | ✅ | ✅ |
| 基础统计（任务/成功率/Token/工具排行） | ✅ | ✅ | ✅ |
| 📚 RAG 知识库（分段/embedding/对话自动检索） | 5 文档·10MB | 无限·200MB | 全部不限 |
| 📚 多知识库 · Reranker · 引用溯源 · 定时重嵌入 | — | ✅ | ✅ |
| 📚 混合检索 · 热度统计 · 检索审计 · 批量导入 | — | — | ✅ |
| ⚡ 语义缓存（相似问题秒回省 Token） | — | ✅ 基础 | ✅ 高级 |
| 🧭 模型智能路由（按复杂度分级选模型） | — | ✅ 2 级 | ✅ N 级 |
| 💰 成本仪表盘（模型成本/缓存节省分析） | — | — | ✅ |
| 📏 每日任务 / 工作区数量 | 100 次·3 个 | 不限·30 个 | 全部不限 |
| 🤝 协同模式（多智能体编排） | — | ✅ | ✅ |
| 🔁 循环模式（Loop Engineering） | — | ✅ | ✅ |
| ⏰ 定时任务 | — | ✅ | ✅ |
| 📊 高级统计仪表盘（命中率/效率/趋势） | — | ✅ | ✅ |
| ⭐ 自定义模板（提示词资产沉淀） | — | ✅ | ✅ |
| 📄 审计报告导出（PDF） | — | ✅ | ✅ |
| 🎓 专家进阶（无限创建/分享/导入导出/统计） | 基础（3 个） | ✅ | ✅ |
| 🏛️ 企业专家市场（审批发布） | — | — | ✅ |
| 👥 多用户会话池（执行态隔离） | — | — | ✅ |
| 🔐 SSO / LDAP 单点登录集成 | — | — | ✅ |
| 🧩 细粒度权限（RBAC 角色矩阵） | — | — | ✅ |
| 🚪 私有模型网关（出口收敛/模型白名单） | — | — | ✅ |
| 独立统计分析服务（analytics-service） | — | — | ✅ |

> 安全能力（鉴权、限流、密钥脱敏、审计）**全部保留在社区版** — 安全不设付费墙。

## 五种交互模式

| 模式 | 说明 | 适用场景 |
|------|------|----------|
| 💬 **对话** | 纯多轮对话，不调用工具，响应最快（支持图片输入/视觉模型） | 问答、咨询、头脑风暴 |
| ⚙️ **工作** | 分层规划 + 工具执行 + 符号验证 | 建项目、跑命令、改文件等自动化任务 |
| 💻 **编程** | ReAct 思考-行动循环，聚焦代码 | 阅读 / 编写 / 调试 / 重构 / 测试 |
| 🤝 **协同**（专业版） | 多智能体分工协作并综合 | 复杂、跨角色的长任务 |
| 🔁 **循环**（专业版） | Loop Engineering：自主"行动-观察-修正"闭环 | 需反复迭代直到达标的任务 |

## 工具审批模式（Approval）

顶部下拉可切换工具调用的审批策略（Reasonix 风格 `deny > ask > allow` 门控）：

- 🙋 **询问** — 除只读工具外，每次工具调用前弹窗请求人工批准。
- ⚡ **自动**（默认）— 自动批准普通/低风险工具，仅高危操作需确认。
- ✅ **全批准** — 跳过所有工具审批，完全自主运行（慎用）。

## 循环工程 / 定时任务 / 统计

- **循环模式**（专业版）自带停止条件（任务完成 / 连续无进展 / 达到最大轮数）与人工中断，防止死循环。
- **⏰ 定时任务**（专业版）：按固定间隔自动执行某个任务（任意模式），后台调度并记录结果。
- **📊 统计分析**：社区版提供基础聚合（任务数、成功率、Token、耗时、工具排行）；
  命中率环图 / 上下文使用率 / 效率趋势等高级仪表盘为专业版功能。

## 快速开始

```bash
# 安装方式 A：从 PyPI（推荐）
pip install "automind-agent[web]"     # Web + OpenAI 兼容后端
# 升级：pip install -U "automind-agent[web]"；全部模型后端换成 [full]

# 安装方式 B：从源码（git clone 本仓库后，在仓库目录执行）
pip install -e ".[web]"

# 启动 Web 工作台（推荐）
python -m automind.server --port 8765
# 然后浏览器打开 http://localhost:8765

# Windows 一键启动
launch.bat

# CLI 交互模式
automind
automind "你的任务描述"
```

## 模型配置

打开 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` 取消），对话/工作/编程均支持。
- WebSocket 不可用时自动回退到 REST 同步模式。

## 多模态 · 语音 · 预览 · Token 统计

- **🪙 Token 用量统计**：右栏实时显示每次任务的输入/输出 token 与累计总量、任务数，可一键重置。
- **🔍 HTML 预览**：模型输出的 ```html 代码块带「预览页面」按钮，在安全沙箱 iframe 中渲染；
  右栏「HTML 预览」列出项目目录中的 `.html` 文件，点击即可预览（`/api/preview/file`，限定项目目录防穿越）。
- **🎤 语音输入**：点击麦克风按钮用 Web Speech API 语音转文字（Chrome/Edge）。
- **📎 多模态**：可附加图片发送给视觉模型；输出中的图片/链接/表格自动渲染展示。

## 安全审计

侧边栏 **🛡️ 安全审计** 展示每次工具调用的风险评分与授权决策（放行 / 需确认 / 高危），
危险命令（`rm -rf`、`git push --force` 等）会被识别为高危并要求确认。

## 商用部署 / 多用户

- **会话隔离**：每个浏览器拥有独立 `session_id`，对话历史互不可见、互不覆盖（持久化于 `.automind/chats/`）。
- **访问鉴权**（可选，默认关闭）：设置令牌后，所有 `/api/*` 与 `/ws` 需携带令牌：

  ```bash
  # 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>`。
- **健康检查**：`GET /api/health`（无需鉴权）返回版本、运行任务数、并发上限、uptime，供探活/负载均衡。
- **资源保护**：并发任务超过 `AUTOMIND_MAX_CONCURRENT` 时返回 429。

> 注：社区版对话模式为完整多用户隔离；工作/编程等执行态任务共享单 Agent。
> **企业版**提供会话级 Agent 池（Session-Agent-Pool），执行态也按用户完全隔离，
> 并可对接独立统计分析服务。详见 [docs/EDITIONS.md](docs/EDITIONS.md)。

## 演示

```bash
python demo/e2e_demo.py
```

## 开源说明

- **许可证**：社区版（本仓库全部代码）以 [MIT 许可](LICENSE) 开源 — 可自由使用、
  修改、分发及商用，仅需保留版权与许可声明；软件按"现状"提供，不附带任何担保。
- **安装**：`pip install automind-agent`（PyPI），或克隆本仓库 `pip install -e ".[web]"`。
- **版本边界**：商业功能（协同/循环/定时任务/高级统计/会话池）由闭源扩展包
  `automind-pro` 提供，**不在本仓库中**；社区核心通过
  [`automind/core/edition.py`](automind/core/edition.py) 的稳定扩展协议与其对接，
  未安装扩展时以社区版完整运行。安全能力永久保留在社区版。
- **隐私**：AutoMind 本地运行，API Key 与聊天记录只存在你自己的机器上
  （`.automind_config.json` / `.automind/`），不会上传任何遥测。
- **参与贡献**：见 [CONTRIBUTING.md](CONTRIBUTING.md)；版本变更见 [CHANGELOG.md](CHANGELOG.md)；
  安全漏洞请通过 GitHub Security Advisories 私下报告。
