aaravshah1311/Agent-2-Beta
GitHub: aaravshah1311/Agent-2-Beta
一个由 Google Gemini 驱动的自托管自主 AI 智能体,集成了编码助手、终端控制、安全测试与持久化记忆功能。
Stars: 22 | Forks: 1
⚡ Agent-2-Beta
一个由 Google Gemini 驱动的自托管自主 AI 开发智能体 —
集编码助手、终端智能体、安全测试和持久记忆于一体的单一界面。
概述 • 安装 • 运行 • API 密钥 • CLI • 故障排除 • 专业版 • 贡献
## 🚀 概述 **Agent-2-Beta** 是一个由 Google Gemini 驱动的自托管自主 AI 智能体。它提供两种运行模式: | 模式 | 入口点 | 描述 | |------|-------------|-------------| | 🌐 **Web UI** | `agent2web.py` | 浏览器界面 — 工作区、多标签终端、Three.js 3D 欢迎页、实时流式传输 | | ⚡ **CLI** | `agent2cli.py` | 原生终端智能体 — 与 Web UI 具有相同的大脑、工具和记忆 | 两种模式共享相同的 **8 个智能体工具**、持久化记忆引擎以及基于 `.env` 的 API 密钥轮换。 ## ✨ 核心功能 | | 功能 | 描述 | |-|---------|-------------| | 🗂️ | **工作区** | Claude Projects 风格的上下文 — 路径浏览器、工作区级别记忆、框架检测 | | 🤖 | **8 个智能体工具** | Shell, read_file, write_file, scan_project, multi_edit_files, web_search, save_memory, emit_plan | | 📝 | **多文件编辑** | 自主在多个文件中进行精确的查找与替换修补 | | 🧠 | **持久化记忆** | 跨会话的全局、工作区范围及自动提取的记忆 | | 💻 | **多标签终端** | 实时流式传输、stdin 注入、↑↓ 命令历史记录、两阶段终止 | | 🔑 | **API 密钥轮换** | 支持多个密钥,配额用尽时自动轮换,固定密钥,单密钥使用统计 | | 🔒 | **安全测试** | 自主漏洞扫描、逻辑缺陷检测 (XSS/SQLi)、内置 nmap、metasploit 工作流 | | 🌐 | **网络搜索** | DuckDuckGo 即时解答 — 无需额外的 API 密钥 | | ✏️ | **消息编辑** | 编辑任何历史消息并从该点重新运行智能体 | | ⏹️ | **停止生成** | 随时取消正在运行的智能体 | | 📎 | **文件附件** | 附加代码、图像、PDF 作为上下文 | | ▶️ | **一键运行** | 点击任意工具块上的 ▶,即可在活动终端中立即运行该命令 | | 🎨 | **3D 欢迎屏幕** | Three.js — 神经粒子、环面纽结、旋转线框、八面体 | | 📦 | **项目自动设置** | 检测框架 → 安装依赖 → 自动运行项目 | ## 🖼️ 截图
Left: Web Interface • Right: Installation & Setup
Agent2 CLI — Rich UI, key rotation, ↑↓ history, and all 8 tools in the terminal
## 🧱 项目结构 ``` agent2/ ├── run.py ← Universal launcher — setup, run, manage keys ├── agent2web.py ← Web UI entry point ├── agent2cli.py ← CLI agent entry point ├── .env ← API keys (auto-created on first run) ├── agent2.db ← SQLite database (auto-created) └── agent2/ ├── __init__.py ├── config.py ← Platform detection, models, modes, constants ├── database.py ← SQLite helpers + schema + migrations ├── memory.py ← Memory engine (auto-extract, workspace-scoped) ├── tools.py ← 8 tool implementations ├── keys.py ← KeyRotator: rotation, pinning, usage tracking ├── terminal.py ← stream_command, stdin, kill, stop events ├── agent.py ← system_prompt, context builder, run_agent loop ├── routes.py ← All /api/* REST endpoints ├── sockets.py ← All Socket.IO event handlers └── ui.py ← HTML/CSS/JS single-page frontend (89 KB) ``` ## ⚙️ 安装说明 ### 1 — 克隆 ``` git clone https://github.com/aaravshah1311/Agent-2-Beta.git cd Agent-2-Beta ``` ### 2 — 运行启动器 ``` python run.py ``` `run.py` 将自动: - ✅ 创建虚拟环境 - ✅ 安装所有依赖(`flask`, `flask-socketio`, `google-genai`, `rich`, …) - ✅ 提示输入您的 Gemini API 密钥并将其保存到 `.env` - ✅ 启动 Web 服务器 ## ▶️ 运行模式 ### `agent2` 命令 — 所有参数一览 初始安装后,`agent2` 命令将被全局添加到您的 PATH 中。 ``` agent2 setup + start Web UI (default) agent2 --web setup + start Web UI agent2 --cli setup + start CLI agent agent2 --addapi add / manage API keys agent2 --reset wipe venv and reinstall everything agent2 --uninstall completely remove Agent2 and its venv agent2 -h show this help menu ``` ### 🌐 Web UI ``` agent2 # 或明确指定 agent2 --web ``` 打开 → **http://localhost:1311** ### ⚡ CLI Agent ``` agent2 --cli ``` 或者首次设置后直接调用: ``` # macOS / Linux venv/bin/python agent2cli.py # Windows venv\Scripts\python agent2cli.py ``` ## 🔑 管理 API 密钥 ### 通过 `agent2` — 推荐 ``` agent2 --addapi ``` 引导您以交互方式添加密钥并将其保存到 `.env`。 密钥将存储为 `GEMINI_API_KEY`、`GEMINI_API_KEY_2`、`GEMINI_API_KEY_3` …,并在其中一个耗尽配额时**自动轮换**。零停机时间 — 下一个请求将立即使用新密钥。 ### 在 CLI 会话中 ``` /addapi ``` 无需离开会话即可粘贴新密钥 — 立即保存到 `.env` 并在下次调用时生效。 ### 重置所有内容 ``` agent2 --reset ``` 清除 `venv/` 并重新安装所有依赖。在包损坏或 Python 升级时使用。 ### 完全卸载 ``` agent2 --uninstall ``` 移除虚拟环境和生成的文件,保持源代码不变。 ## 🗂️ 首次运行 — 工作区设置 (Web UI) 1. 打开 **http://localhost:1311** 2. 点击侧边栏中的 **+ Create Workspace** 3. 输入名称并选择性填入项目路径 — 留空则自动创建文件夹 4. 点击工作区 → **New Chat** → 开始工作 每个聊天都属于一个工作区。智能体始终知道您的项目路径、检测到的框架以及累积的工作区记忆。 ## ⌨️ CLI 命令参考 | 命令 | 描述 | |---------|-------------| | `/help` | 显示所有命令 | | `/addapi` | 将 Gemini API 密钥添加到 `.env` | | `/keys` | 显示当前 API 密钥状态及使用情况 | | `/model [name]` | 切换模型 (`2.5-flash-lite` · `2.5-flash` · `2.5-pro` · `3.1-*`) | | `/mode [name]` | 切换模式 (`fast ⚡` · `pro ★` · `thinking 🧠`) | | `/clear` | 清除当前对话并重新开始 | | `/shrink` | 手动总结并缩减历史记录 | | `/clearhistory` | 清除消息历史记录 | | `/history` | 显示最近 10 条消息 | | `/memory` | 列出所有已保存的记忆及其重要性得分 | | `/addmem
| | Agent-2-Beta | Agent-2-Pro |
|-|:---:|:---:|
| 工作区 | ✅ | ✅ |
| 8 个智能体工具 | ✅ | ✅ 扩展版 |
| 记忆引擎 | ✅ | ✅ 高级版 |
| 多标签终端 | ✅ | ✅ |
| **AI 模型** | 6 ✅ | 15 ✅ |
| **从单个提示词生成完整项目** | ❌ | ✅ |
| **软件工程模式** | ❌ | ✅ |
| **DeepDive — 任务分解** | ❌ | ✅ |
| **强硬渗透测试** | ❌ | ✅ |
| **QA 及自动化测试生成** | ❌ | ✅ |
| **项目空间** | ❌ | ✅ |
### 专业版核心功能亮点
**🏗️ 软件工程模式**
分析您的提示词,构思完整的解决方案,并通过一系列精确、自我纠错的步骤设计出完整的多文件项目。一个提示词 → 生产级代码库。
**🎯 DeepDive**
将单个复杂任务分解为多个专注的子任务,精准解决每一个子任务,然后组装最终结果。在难题上具有显著更高的准确性。
**🔴 强硬渗透测试**
远超基础扫描 — 完整的杀伤链自动化:侦察 →枚举 → 利用 → 后渗透 → 报告生成,尽在一次会话中完成。
**🧪 QA 模式**
自动为其构建或提供的任何代码库生成单元测试、集成测试和边缘情况覆盖。
### 获取 Agent-2-Pro
📧 **联系方式:** [aaravprogrammers@gmail.com](mailto:aaravprogrammers@gmail.com)
🐙 **GitHub:** [github.com/aaravshah1311](https://github.com/aaravshah1311)
### 如何贡献
1. **Fork** 本仓库
2. **创建** 功能分支
git checkout -b feature/your-feature-name
3. **进行** 更改并使用清晰的信息提交
git commit -m "feat: add your feature description"
4. **Push** 到您的 fork 仓库
git push origin feature/your-feature-name
5. **发起** 针对主分支的 Pull Request
### 我们期待的内容
- 🐛 **错误修复** — 特别是 Windows/Mac/Linux 上的边缘情况
- 🌐 **新工具** — 额外的智能体能力
- 🎨 **UI 改进** — 前端优化、可访问性
- 📚 **文档** — 更清晰的解释、更多示例
- 🔒 **安全工作流** — 新的渗透测试自动化模式
- ⚡ **性能** — 更快的启动速度、更低的内存消耗、更好的流式传输
- 🌍 **可移植性** — 针对不同平台或 Python 版本的改进
### 准则
- 保持更改集中 — 每个功能/修复对应一个 PR
- 遵循每个文件中现有的代码风格
- 在提交前至少在一个平台上进行测试
- 在 PR 中添加简短描述,说明 *内容* 和 *原因*
### 报告问题
发现 Bug 或有功能建议?[提交一个 issue](https://github.com/aaravshah1311/Agent-2-Beta/issues) — 请附上您的操作系统、Python 版本以及具体的错误信息。
## 👤 作者
**Aarav Shah**
[](https://github.com/aaravshah1311/)
[](https://aaravshah1311.is-great.net)
[](mailto:aaravprogrammers@gmail.com)
**Rudra Marathe**
[](https://github.com/RudraDelete26/)
[](https://rudraxdelete.is-great.net)
[](mailto:rudranmarathegpsagb@gmail.com)
**Naitik Soni**
[](https://github.com/Naitiksoni-123/)
[](mailto:naitiksoni1417@gmail.com)
**⭐ 如果 Agent-2-Beta 能帮助您构建或破解项目,请给本仓库点个 Star。**
专为开发者、安全研究人员以及任何希望拥有一个能真正干活的 AI 的人而打造。
专为开发者、安全研究人员以及任何希望拥有一个能真正干活的 AI 的人而打造。
标签:AI智能体, Flask, Python, Web界面, 无后门, 编程助手, 自主智能体, 逆向工具