DanielDeshmukh/autobots
GitHub: DanielDeshmukh/autobots
一款基于 NVIDIA NIM 驱动的去中心化模型智能体集群 CLI 工具,通过分层路由编排实现自动化代码编写、测试与修复的软件开发流程。
Stars: 5 | Forks: 0
Autobots 是一个 Python CLI,用于针对目标代码库运行结构化、需审批的编码集群。它会检查目标项目自带的 context 文件,生成分阶段的计划,通过分层的模型集群路由实现工作,并执行带有验证、修复和回滚循环的自主任务。
## 目录
- [概述](#overview)
- [功能](#features)
- [架构](#architecture)
- [安装说明](#installation)
- [配置](#configuration)
- [CLI 命令](#cli-commands)
- [NVIDIA 模型注册表](#nvidia-models-registry)
- [执行模式](#execution-modes)
- [Context 架构](#context-architecture)
- [跨平台使用](#cross-platform-usage)
- [环境变量](#environment-variables)
- [故障排除](#troubleshooting)
- [开发](#development)
- [许可证](#license)
## 概述
Autobots 通过将多个 AI 模型编排为分层集群来改变您的开发工作流:
1. **Optimus**(指挥集群) — 规划和统筹任务
2. **UltraMagnus**(后端集群) — 实现后端逻辑和 API
3. **Jazz**(前端集群) — 创建 UI 组件和视觉元素
4. **RedAlert**(安全集群) — 审查代码的安全性和正确性
5. **Ratchet**(修复集群) — 修复验证失败和 Bug
6. **Perceptor**(检索集群) — 处理文档解析和 RAG
7. **Bumblebee**(媒体集群) — 处理语音、音频和视频
8. **Ironhide**(仿真集群) — 运行物理和优化任务
9. **Wheeljack**(科学集群) — 处理分子和研究任务
## 功能
- **Context 注入** — 读取 `context/` 文件并将项目文档注入到模型 prompt 中
- **阶段规划** — 生成具有依赖关系和验收标准的实现路线图
- **模型路由** — 基于任务关键词智能选择集群
- **多根目录文件写入** — 写入 `src/`、`app/`、`lib/`、`tests/`、`docs/`、`scripts/`
- **验证命令** — 自动运行测试、linter 和构建命令
- **自动修复** — 通过验证驱动的修复循环实现自愈执行
- **会话管理** — 持久化的 checkpoint、可恢复的运行和审计追踪
- **可配置模式** — 监督、里程碑或完全自主执行
- **回滚支持** — 写入前快照,`autobots undo` 可恢复更改
- **响应流式传输** — 模型调用期间的实时字符计数器
- **预检诊断** — 执行前的健康检查(API、git、配置、依赖项)
- **结构化错误** — 带有可操作建议的上下文错误消息
- **测试门控** — 在提交前使用 `autobots gate` 运行测试
- **Git 集成** — 阶段完成后自动提交
- **配置验证** — `autobots config validate` 检查 TOML 设置
- **Shell 自动补全** — bash、zsh 和 fish 的 Tab 补全
- **Context 预算** — 当 prompt 接近模型限制时发出警告并截断
- **插件系统** — 用于自定义扩展的 before/after 钩子
- **技能市场** — 内置 FastAPI、Django、React、Next.js 的技能包
- **NVIDIA 技能** — 将 17 项 NVIDIA 特有技能注入到集群 prompt 中(RAG、cuOpt、cuDF、Dynamo、Holoscan、CUDA-Q)
- **Web Dashboard** — 在 8080 端口提供实时状态
- **丰富的状态输出** — 进度条、预计时间、分支信息
- **Explain 命令** — `autobots explain P2-T3` 显示审计追踪详情
- **使用统计** — `autobots stats` 显示总计、平均、成本
- **Verbose 模式** — `--verbose` 标志记录发送给模型的完整 prompt
## 架构
```
autobots/
├── cli.py # CLI entry point (20+ commands)
├── bootstrap.py # Project profiling and context filename contract
├── config.py # TOML + env config with validation
├── catalog.py # Cluster definitions and model registry
├── workspace.py # Target workspace safety and locking
├── errors.py # Structured error classes
├── costs.py # Token/cost estimation
├── git_utils.py # Git auto-commit integration
├── preflight.py # Doctor health checks
├── onboarding.py # Interactive setup wizard
├── completions.py # Shell tab completion
├── context_budget.py # Context window management
├── plugins.py # Plugin/hook system
├── marketplace.py # Skill pack marketplace
├── dashboard.py # Web dashboard
├── diff.py # Snapshot comparison
├── router/
│ ├── core.py # Main routing orchestration
│ ├── models.py # Data models (ClusterPlan, PhaseRecord, etc.)
│ ├── planning.py # Cluster assignment and model selection
│ ├── stages.py # Stage execution (streaming, retry, verbose)
│ └── phases.py # Phase reading and status management
├── executor/
│ ├── autonomy.py # Autonomous execution engine
│ ├── modes.py # Execution modes (supervised, milestone, autonomous)
│ ├── state.py # Session state, audit trail, and rollback manager
│ ├── commands.py # Command validation and execution
│ ├── gate.py # Test-then-commit gate
│ └── validation.py # Validation result handling
├── planning/
│ ├── core.py # Plan generation
│ ├── scanner.py # Repository scanning
│ └── synthesis.py # Phase synthesis
├── skills/
│ ├── loader.py # Skill pack loading
│ ├── cluster_prompts.py # Cluster-specific system prompts
│ └── nvidia/ # 17 NVIDIA-specific skill files
│ ├── agent-skills.md
│ ├── rag-blueprint.md
│ ├── dynamo-router.md
│ ├── skill-evolution.md
│ └── ... # (17 total skill files)
└── utils/
└── retry.py # Exponential backoff decorator
```
## 安装说明
### 前置条件
- Python 3.11 或更高版本
- NVIDIA API Key(用于模型执行)
### pip 安装
```
pip install autobot-swarm
```
### 开发安装
```
git clone https://github.com/DanielDeshmukh/autobots.git
cd autobots
python -m pip install -e . --no-build-isolation
```
## 配置
### API Key 设置
```
# 选项 1:.env file
echo NVIDIA_API_KEY=your_key_here > .env
# 选项 2:Environment variable
$env:NVIDIA_API_KEY = "your_key_here"
```
### 配置文件
在您的项目根目录或 `$HOME` 中创建 `.autobots.toml` 或 `autobots.toml`:
```
[autobots]
model_selection_profile = "balanced" # balanced, speed, or quality
parallel_planning = false
disable_live_catalog = false
safety_branch = "autobots-safety"
default_mode = "supervised" # supervised, milestone, autonomous
milestone_threshold = 3
max_verification_attempts = 3
temperature = 0.2
max_tokens = 4096
# 可选:custom model registry
# model_registry_path = "./my-registry.json"
# 可选:额外的 custom clusters
# [autobots.extra_clusters]
# MyCluster = ["nvidia/custom-model-1"]
```
## CLI 命令
所有命令都会自动从当前工作目录检测目标项目。
| 命令 | 描述 |
|---------|-------------|
| `autobots init` | 检查目标项目中的 context 文件 |
| `autobots init --interactive` | 交互式设置向导 |
| `autobots plan` | 生成实现路线图 |
| `autobots run [task]` | 以自主模式执行阶段 |
| `autobots resume` | 从上一个 checkpoint 恢复 |
| `autobots engage` | 带有启动屏幕的交互模式 |
| `autobots status` | 带有进度条的丰富状态展示 |
| `autobots explain
` | 显示阶段/任务的审计追踪 |
| `autobots stats` | 使用统计和成本 |
| `autobots undo` | 回滚到上一个快照 |
| `autobots snapshots` | 列出可用快照 |
| `autobots diff` | 将工作区与快照进行对比 |
| `autobots logs` | 查看审计追踪 |
| `autobots doctor` | 预检健康检查 |
| `autobots catalog` | 浏览 NVIDIA 模型注册表 |
| `autobots config validate` | 验证 TOML 配置 |
| `autobots completions` | 生成 Shell 自动补全 |
| `autobots marketplace` | 浏览技能包 |
| `autobots dashboard` | 启动 Web Dashboard |
| `autobots validate-models` | 测试 NVIDIA API 连通性 |
| `autobots publish` | 构建并发布到 PyPI |
### Plan 选项
| 标志 | 描述 |
|------|-------------|
| `--goal "text"` | 设置规划目标 |
| `--append` | 追加新阶段而不是替换 |
| `--dry-run` | 预览而不写入文件 |
### Run 选项
| 标志 | 描述 |
|------|-------------|
| `--supervised` | 每个阶段需手动批准(默认) |
| `--milestone` | 每 N 个阶段批准一次 |
| `--autonomous` | 完全自主执行 |
| `--verbose` | 记录发送给模型的完整 prompt |
## NVIDIA 模型注册表
Autobots 包含一个带有 9 个集群的综合模型注册表:
| 集群 | 角色 | 模型数 | 关键词 |
|---------|------|--------|----------|
| **Optimus** | 指挥与路由 | 9 | plan, roadmap, phase, orchestrate |
| **UltraMagnus** | 后端与架构 | 12 | backend, api, database, service |
| **RedAlert** | 安全与防护 | 10 | security, auth, guardrail, validation |
| **Jazz** | 前端与创意 | 11 | ui, ux, css, image, visual |
| **Ratchet** | 调试与修复 | 10 | debug, fix, refactor, patch, repair |
| **Perceptor** | 检索与解析 | 11 | ocr, rag, embedding, document |
| **Bumblebee** | 通讯与媒体 | 9 | speech, voice, translation, audio |
| **Ironhide** | 物理与仿真 | 8 | simulation, physics, autonomous |
| **Wheeljack** | 科学专家 | 7 | science, molecule, protein, quantum |
## NVIDIA 技能
Autobots 将 **17 项 NVIDIA 特有技能**注入到集群 system prompt 中。这些是来自 NVIDIA 官方技能库的精简知识文档,为 RAG、部署、优化等提供领域专业知识。
### 始终加载的技能(Tier 1)
| 技能 | 集群 | 描述 |
|-------|------------|-------------|
| `agent-skills.md` | Optimus, UltraMagnus | NemoClaw agent 技能架构和调度模式 |
| `autonomous-agent-research.md` | Optimus, Wheeljack | 自主研究工作流:假设 → 连线 → 启动 → 评估 |
| `session-memory.md` | Optimus, Jazz | 持久的工作会话记忆和 checkpoint 策略 |
| `skill-evolution.md` | 所有集群 | 自我改进协议:反思任务,提出技能更新 |
| `safety-policy.md` | Ironhide | Nemotron 安全策略分类法和结构化安全审查 |
| `rag-blueprint.md` | UltraMagnus, Optimus | NVIDIA RAG Blueprint 架构(Milvus、embedding、reranking) |
| `rag-eval.md` | Jazz | 使用 RAGAS 指标和 benchmark 工具进行 RAG 评估 |
| `dynamo-deployment.md` | UltraMagnus, Wheeljack | Dynamo Kubernetes 配方和部署模式 |
| `dynamo-router.md` | UltraMagnus, Optimus | Dynamo 路由模式(round-robin、KV-aware、least-loaded) |
| `retrieval.md` | UltraMagnus, Bumblebee | 文档检索 pipeline(PDF、图像 OCR、音频转录) |
### 条件性技能(Tier 2)
当检测到 roadmap 关键词时自动加载:
| 技能 | 加载条件 | 描述 |
|-------|-------------|-------------|
| `nemotron-customize.md` | fine-tuning, training | Nemotron 模型定制(SFT、DPO、RLHF) |
| `cuopt-routing.md` | routing, scheduling | cuOpt 车辆路由 API(VRP、TSP、PDP) |
| `cuopt-optimization.md` | optimization, LP/MILP/QP | cuOpt 数值优化(GPU 加速) |
| `cudf.md` | pandas, dataframe | cuDF GPU DataFrame(pandas 加速) |
| `neautomodel-recipe.md` | training at scale | NeMo Automodel 分布式训练配方 |
| `kubernetes-infra.md` | Kubernetes, K8s | 物理 AI 基础设施设置(MicroK8s、OSMO) |
| `holoscan.md` | video, edge AI | Holoscan SDK 视频分析 pipeline |
| `cudaq.md` | quantum computing | CUDA-Q 量子电路模拟 |
## 执行模式
### 监督模式(默认)
```
autobots run --supervised
```
- 每个阶段之前都需要批准
- 人类对执行进行完全控制
### 里程碑模式
```
autobots run --milestone
```
- 每 N 个阶段后需要批准(可配置)
- 在自主性和控制之间取得平衡
### 自主模式
```
autobots run --autonomous
```
- 无审批门槛,执行速度最快
## Context 架构
Autobots 期望在 `context/` 下有六个目标项目自带的 context 文件:
| 文件 | 用途 |
|------|---------|
| `architecture.md` | 项目架构和结构 |
| `conventions.md` | 代码风格、命名、格式化规则 |
| `testing-strategy.md` | 测试框架、覆盖率、模式 |
| `security-auth.md` | 安全和认证说明 |
| `roadmap.md` | 包含目标和验证的阶段定义 |
| `progress-tracker.md` | 阶段状态跟踪(autobots 会更新此项) |
这些文件会被注入到模型 prompt 中,以便生成的代码符合您项目的模式。
## 跨平台使用
### Windows
```
pip install autobot-swarm
$env:NVIDIA_API_KEY = "your_key"
cd C:\path\to\your\project
autobots init
autobots plan
autobots run
```
### macOS / Linux
```
pip install autobot-swarm
export NVIDIA_API_KEY="your_key"
cd /path/to/your/project
autobots init
autobots plan
autobots run
```
## 环境变量
| 变量 | 描述 | 默认值 |
|----------|-------------|---------|
| `NVIDIA_API_KEY` | 用于模型访问的 NVIDIA API key | 必填 |
| `AUTOBOTS_MODEL_SELECTION_PROFILE` | 模型选择:balanced/speed/quality | balanced |
| `AUTOBOTS_ENABLE_PARALLEL_PLANNING` | 启用并行工作流 | false |
| `AUTOBOTS_DISABLE_LIVE_CATALOG` | 仅使用捆绑的模型 | false |
| `AUTOBOTS_SAFETY_BRANCH` | 必需的 git 分支名称 | autobots-safety |
| `AUTOBOTS_DEFAULT_MODE` | 默认执行模式 | supervised |
| `AUTOBOTS_MILESTONE_THRESHOLD` | 每次批准的阶段数 | 3 |
`AUTOBOTS_MAX_VERIFICATION_ATTEMPTS` | 重试限制 | 3 |
## 故障排除
### 缺少 NVIDIA API Key
```
RuntimeError: NVIDIA_API_KEY is missing. Cannot execute the swarm.
```
**解决方案**:在 `.env` 或环境变量中设置 `NVIDIA_API_KEY`。
### Context 设置不完整
```
Command: run
Missing: roadmap.md, progress-tracker.md
```
**解决方案**:在 `context/` 中创建列出的文件,然后运行 `autobots plan`。
### 安全分支检查失败
```
Execution blocked. Switch to autobots-safety branch.
```
**解决方案**:`git checkout -b autobots-safety`
### 命令策略违规
```
Command not in safety whitelist: rm -rf /
```
**解决方案**:Autobots 会拦截危险命令。请使用安全的替代方案。
### 无 Checkpoint 时尝试恢复
```
No checkpoint found. Use 'autobots run' to start fresh.
```
**解决方案**:使用 `autobots run` 开始新的运行。
## 开发
### 运行测试
```
# 所有 tests
python -m pytest tests/ -v
# 特定的 test file
python -m pytest tests/test_phase_9_config.py -v
# With coverage
python -m pytest tests/ --cov=autobots --cov-report=html
```
### 项目结构
```
autobots/
├── autobots/ # Main package (35 modules)
├── skills/ # Skill injection system
├── utils/ # Utilities (retry decorator)
├── tests/ # Test suite (465 tests)
├── integration/ # Integration tests (10 tests)
├── setup.cfg # Package configuration
└── README.md # This file
```
## 许可证
MIT 许可证 — 详情请参阅 [LICENSE](LICENSE)。
## 版本历史
| 版本 | 日期 | 变更 |
|---------|------|---------|
| 0.1.9 | 2026-06-09 | NVIDIA 技能:将 17 个技能文件注入到集群 prompt 中(RAG、cuOpt、cuDF、Dynamo、Holoscan、CUDA-Q),基于 roadmap 的条件加载,实时目录发现 |
| 0.1.8 | 2026-06-09 | 优先功能:回滚、流式传输、预检、引导、错误、门控、git、配置验证、补全、context 预算、插件、市场、dashboard、diff、日志、成本、丰富状态、explain、统计、verbose |
| 0.1.7 | 2026-06-08 | PyPI 描述更新 |
| 0.1.6 | 2026-06-08 | 迈向 A+++ 的指南:重试、安全子进程、日志记录、engage 屏幕 |
| 0.1.5 | 2026-06-08 | 任务 ID 注册表、publish 命令、技能注入 |
| 0.1.4 | 2026-06-08 | 移除了由 Autobots 创建的 context 文件 |
| 0.1.1 | 2026-05-15 | 阶段 9-10:配置、错误处理、失败测试 |
| 0.1.0 | 2026-05-14 | 阶段 1-8.5:核心功能 |
## 致谢
- 使用 [NVIDIA NIM](https://developer.nvidia.com/nim) 构建以实现模型访问
- 由 [Rich](https://github.com/Textualize/rich) 提供终端 UI 支持
- 使用 [OpenAI](https://openai.com) 兼容的 API 接口标签:NVIDIA NIM, Python, Python安全, 人工智能, 代码审查, 代码生成, 文档结构分析, 无后门, 智能体集群, 渗透测试工具, 用户模式Hook绕过, 自动化软件开发, 逆向工具