# ARES **Repository Path**: dboy019/ares ## Basic Information - **Project Name**: ARES - **Description**: 程序员自己的定制化AI Harness编程助手 - **Primary Language**: Python - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 7 - **Forks**: 2 - **Created**: 2026-05-04 - **Last Updated**: 2026-07-17 ## Categories & Tags **Categories**: ai **Tags**: Harness, AI, Agent ## README

Python FastAPI React License

ARES

多智能体协作系统 · 上下文感知记忆
会思考、会规划、会执行、会反思的 Agent 军团

--- ## 架构总览 ![输入图片说明](architecture-overview.png) ARES 由 **四大核心模块** 组成,协同完成从需求到交付的全链路: | 模块 | 职责 | |------|------| | **Agents 智能体集群** | 核心执行链路:路由 → 规划 → 执行 | | **提示词注入** | 知识供给层:Wiki / Rules / Skills / Memory | | **上下文管理** | 动态状态追踪与跨会话继承 | | **异步钩子** | 后置反哺循环,不阻塞主流程 | --- ## 一、Agents 智能体集群 系统的核心执行引擎,采用分层路由策略: ``` [ARES] ↙ ↘ 简单任务↓ ↓复杂任务 ↓ ↓ [Army] ◀═══ [Mastermind] ← 子任务分发(虚线) ↘ ║ [Scout] [Soldier] ``` ### ARES — 入口 · 路由 · 人格化输出 系统的唯一入口。接收用户输入后,判断任务复杂度并选择执行路径: - **简单任务** → 直接派发给 Army(QUICK 路径) - **复杂任务** → 先交给 Mastermind 拆解规划(SLOW 路径) 负责人格化输出、会话恢复、交互式追问。 ### Mastermind — 指挥官 · 规划与协调 只规划不干活。收到复杂任务后: 1. **COLLECT 阶段** — 回忆检索相关 Skill 和知识 2. **PLAN 阶段** — 将大任务拆解为结构化的子任务树(TaskTree) 3. **DISPATCH 阶段** — 通过虚线将子任务分发给 Army 执行 ### Army — 工程师 · ReAct 执行循环 核心执行单元,遵循 ReAct(思考→行动→观察)循环: - 接收来自 ARES 的直接任务或来自 Mastermind 的子任务 - 每一步从 ContextIndex 中查询相关上下文作为指导 - 超出轮数限制时自动创建新 Army 实例继承上下文继续执行 ### Scout & Soldier — 子执行者 Army 的两个专用工具 Agent: | Agent | 职责 | |-------|------| | **Scout** | 搜索代码库、读取文件、定位上下文 | | **Soldier** | 终端命令执行、文件写入、API 调用 | --- ## 二、提示词注入 Agent 的知识供给层,由 Mastermind 回忆检索、Army 注入指导。 | 组件 | 说明 | |------|------| | **Wiki** | 维基知识库,项目级长期积累的领域知识 | | **Rules** | 规则约束,编码规范、安全策略等硬性要求 | | **Skills** | 技能指南,特定场景的最佳实践模板 | | **Memory** | 长期记忆,历史对话中的关键经验沉淀 | **数据流**:Mastermind 在 COLLECT 阶段根据任务意图召回相关 Skill → 将 Skill 指令及引用文件索引作为子任务参数下发给 Army → Army 在每步 Action 前查询 ContextIndex 获取精准上下文。 --- ## 三、上下文管理 动态维护执行过程中的状态信息,支持跨会话继承。 | 组件 | 说明 | |------|------| | **ContextIndex** | 临时上下文索引,记录当前任务相关的文件路径、内容摘要、操作等级(强/中/弱) | | **Evolutionary Report** | 演进式报告,记录每次执行的反思结果和改进方向 | | **Artifacts** | 会话产出物,本次对话生成的所有文件和变更清单 | **特性**: - 动态更新:随执行进度实时追加 - 跨会话继承:新 Army 实例自动承接父级的完整上下文索引 - 可追溯:每条记录包含来源路径和内容摘要 --- ## 四、异步钩子 任务完成后触发的后置处理管道,不阻塞主流程。 | Hook | 功能 | |------|------| | **SoulEvolution Hook** | SOUL 人格进化,根据执行反馈调整行为模式 | | **WikiFeedback Hook** | 写入维基,将有效经验沉淀到项目知识库 | | **Reflexion Hook** | 轨迹反思,分析执行链路的效率瓶颈 | | **MemoryExtraction Hook** | 提取知识,从对话中提炼可复用的模式 | --- ## 快速开始 ```bash # 克隆仓库 git clone cd ARES # 启动后端 cd backend pip install -r requirements.txt python -m uvicorn main:app --reload --port 8000 # 启动前端(新终端) cd frontend npm install npm run dev ``` 打开 http://localhost:5173 开始使用。 --- ## 技术栈 | 层 | 技术 | |----|------| | **前端** | React 18 · TypeScript · Vite · Ant Design · Monaco Editor | | **后端** | FastAPI · Python 3.12+ · asyncio | | **LLM** | OpenAI 兼容协议(GLM / MiniMax / Ollama / SiliconFlow) | --- ## 项目结构 ``` ARES/ ├── backend/app/services/fsm_agent/ # ★ 核心:Agent 军团 │ ├── ares.py # 门面 + 三速路由 │ ├── mastermind.py # 指挥官(规划/拆分/分发) │ ├── army.py # 工程师(ReAct 执行循环) │ ├── scout.py # 侦察兵(搜索/读取) │ ├── soldier.py # 执行者(写入/调用) │ ├── base.py # 状态机基类 │ ├── feedback_hook.py # 异步钩子管线 │ └── prompts/ # 各 Agent 的 System Prompt ├── backend/app/services/ │ ├── ai/ # LLM 统一客户端(多模型路由) │ ├── context_index.py # 上下文索引引擎 │ ├── skill_manager.py # 技能管理与检索 │ └── recall_tool.py # 知识回忆工具 ├── frontend/src/ # React 前端(实时流式渲染) └── README.md # 本文档 ``` ---

Made with ☕ by the ARES team