# AgentLeader **Repository Path**: romand/AgentLeader ## Basic Information - **Project Name**: AgentLeader - **Description**: AgentLeader|领智:国产一体化多 AI 编程智能体工作台,一人作为领队统一管控全品类代码 CLI,收拢多窗口会话,批量调度 AI 并行开发,告别频繁切窗分心。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-06-05 - **Last Updated**: 2026-07-02 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # AgentLeader · 领智 > **One Leader, All Coding Agents | 一人统领,众智协编** AgentLeader("领智")是一款面向个人开发者、一人公司和中小团队的桌面端应用,让你像 CEO 管理团队一样,同时调度和管理多个 AI 编程 CLI 智能体(Aider、Claude Code、DeepSeek、Qwen、GLM……)。每个 Agent 在独立的 PTY 伪终端中运行,通过 Web UI 提供统一的可视化画布——拖拽布局、弹出放大、进度追踪、一键派发。一个人,一个界面,掌控全场。 本项目采用**源可见(source-available)** 模式发布:代码公开,可供学习、研究和内部使用;禁止商业售卖和竞品化。 ![macOS](https://img.shields.io/badge/macOS-12+-333?logo=apple) ![License](https://img.shields.io/badge/license-Custom_Non--Commercial-yellow) > **许可证**:[自定义非商用协议](LICENSE) — 个人学习/企业内部免费,禁止商业使用 *** ## 商标声明 AgentLeader("领智")的名称、项目 Logo 及相关品牌标识归项目作者所有。您可以在使用、修改和分发本软件时提及原始出处,但未经书面许可,不得以任何暗示合作或背书的方式使用项目品牌标识。 *** ## 我们为什么做这个? AI 编码工具正在爆炸式增长,但每个工具都需要自己的终端窗口: - **Token 越来越贵** — 用户在各模型间比价、切换、组合,只为找到最具性价比的搭配 - **工具越来越多** — Aider / Claude Code / DeepSeek-CLI / Qwen-CLI / CodeGeeX……各自独占一个壳 - **Shell 天生硌手** — 不能弹出放大、不能拖拽布局、不能多窗口并排。TUI 看起来高端,用起来憋屈 - **一人公司的困境** — 没有团队,但需要同时管理后端、前端、测试、部署,注意力碎片化严重 AgentLeader 的答案很简单:**不造新的 AI,不卖 Token,不给用户加锁。只给一张好用的桌子,让你把所有工具摊开在上面干活。** --- ## 我们的设计哲学 ### 元准则:宁可提供过多,不要限制过早 AgentLeader 的默认态度是**打开**而不是**关闭**。 ``` ❌ "用户不应该在 Web 上敲 CLI 命令" ✅ "用户在 Web 上敲也行,在 Terminal 里敲也行,爱怎么用怎么用" ❌ "默认推荐这个模型组合" ✅ "任何 CLI 工具都能接进来,用户自己组合" ``` **这条准则高于其他所有准则。** 每当不确定时,选保留自由度的那条路。 --- ### 准则 1:AI 能干,人能控 自动化不是黑盒。工作流中每一步,用户都能审查、中断、回滚。 ``` ✅ 设计这么做: · AI 提交代码变更前,显示 diff 让用户审阅 · 任务执行中有明确的进度指示:"已完成 3/8 步" · 用户可以随时叫停正在跑的 Agent · 工作流可以混排 AI 步骤和人工步骤 ❌ 不要这么做: · AI 改了代码直接 commit,用户毫不知情 · "一键全自动"没有中间审查环节 · Agent 卡住了也不通知用户 🧪 验收标准: 一个新用户能不能在 30 秒内理解"谁在干什么、干到哪了"? ``` **设计时问自己:** 这个功能是让用户更有掌控感,还是让用户更依赖黑盒?前者是对的。 --- ### 准则 2:默认走 Web,但 Terminal 永远可用 Web UI 是默认的工作路径——它能拖拽、弹出、并排、着色,比任何 TUI 都灵活。但当用户想亲手操作时,Terminal 就在那儿,不设限。 ``` ✅ Web 默认做的: · 拖拽排序、弹出放大、折叠预览 · 一键派发任务、查看进度 · 状态可视化、多 Agent 并排 · 任务结果摘要(而非原始日志流) ✅ Terminal 保留的: · 用户随时可以切进 Terminal 敲命令 · 高级用户可以直接操作 Agent 的 shell · 不需要通过 UI 中间件的操作,Terminal 兜底 ❌ 不要这么做: · 把 Web 能做的事故意藏起来逼用户用 Terminal · 反过来,把 Terminal 的操作强行搬到 Web 上 🧪 验收标准: 一个高级用户能不能绕过 Web UI 直接在 Terminal 里完成他想做的事? ``` **设计时问自己:** 这个交互用 Web 做更方便,还是直接用 Terminal 更顺手?——默认选 Web,但永不堵 Terminal 的路。 --- ### 准则 3:模型中立,一切皆有可能 不预设、不推荐、不站队。AgentLeader 提供的是**空白的画布和完整的工具箱**,用户自己决定用什么模型、怎么搭配。 ``` ✅ 设计这么做: · 任何 CLI AI 工具都能接进来(模板机制) · 添加新模型不需要改核心代码 · 混合使用:有的 Agent 走海外模型、有的走国产 ❌ 不要这么做: · 预装某模型厂商的 SDK 做深度绑定 · 界面里暗示"推荐用模型 A"(除非用户自己设了偏好) · 功能依赖特定模型才能用 📌 关于 Token 性价比页面: Token 性价比信息属于独立引流工具,不在 AgentLeader 主产品内。 品牌关联是良性的("这个工具懂我的成本焦虑"),但不代表产品站队。 🧪 验收标准: 把用户所有 Agent 从 Claude 换成 DeepSeek,功能是否完全不受影响? ``` **设计时问自己:** 这个功能有没有暗示"你必须用 X 模型"?如果有,改成可选的。 --- ### 准则 4:一人公司,全流程闭环 目标是从需求到代码到测试到交付,一个工具走完。但 AgentLeader 管的是**编排层**,不是**编辑层**。 ``` ✅ 产品管的(编排层): · 项目需求/全局 Prompt 管理 · 多 Agent 并行编码 + 进度追踪 · 任务派发 + 工作流编排(DAG) · 执行结果追踪 + Git 变更可见 · Agent 间的消息传递 ❌ 产品不管的(编辑层): · 代码怎么写、文件怎么编辑(那不是我们的活) · 即时通讯聊天(不要做成钉钉) · 项目管理看板(工位面板就是看板) ✅ 但是——为了支撑"可控",我们要做结果预览: · diff 展示(不是编辑器,是审计能力) · 测试报告汇总 · 执行日志检索 🧪 验收标准: 用户能不能从一个界面走完"提需求 → 分配任务 → 看结果 → 确认交付"的完整流程? ``` **设计时问自己:** 这个功能补的是工作流编排的哪一环?如果哪环都不补,砍掉。 --- ### 准则 5:敬畏用户的机器 M1 Mac、16GB 内存是很多独立开发者的标配。每个 Agent 都在吃 CPU 和内存,不能没节制。 ``` ✅ 设计这么做: · 空闲工位自动降低输出轮询频率 · 状态变更用 WebSocket 主动推送,不用轮询 · Agent 崩溃自动重启,但不喧哗 · 默认同时运行 Agent 数不超过 5 个 ❌ 不要这么做: · 每个 Agent 保持全双工高频推送(吃 CPU 吃带宽) · 后台每秒钟扫描所有 Agent 状态(吃 CPU) · 内存泄漏不被发现(要有资源监控) 🧪 验收标准: 5 个 Agent 同时运行时,CPU 占用 < 50%,内存 < 8GB(M1 16GB 基准)。 ``` **设计时问自己:** 这个功能假设用户的电脑有多少资源?如果假设很奢侈,改节俭。 --- ## 许可证 本项目采用 **源可见(source-available)** 模式发布,具体条款见 [LICENSE](LICENSE)。 **简而言之:** 个人学习、研究、企业内部使用免费。禁止商业售卖、SaaS 及基于本项目构建竞品。 --- ## 快速开始 ```bash # 1. 安装前后端依赖 make install # 2. 启动开发服务器 make dev # 3. 打开浏览器 → http://localhost:5006 ``` ## 桌面应用(推荐) AgentLeader 提供原生 macOS 桌面应用,双击即用,无需手动配置环境: ```bash make build-desktop ``` 产物位于 `desktop/dist/AgentLeader.dmg`,安装后双击即可使用。 > 桌面版内嵌 Python 后端,用户**无需**自行安装 Python、Node.js 或任何依赖。 > 详情见 [桌面应用打包指南](docs/desktop-packaging.md) ## 技术栈 | 层 | 技术 | |------|----------| | **后端** | Python 3.12, FastAPI, aiosqlite, WebSocket, PTY | | **前端** | React 18, TypeScript, Vite, Tailwind CSS, Zustand, xterm.js | | **桌面壳** | Electron, electron-vite, electron-builder | | **代码保护** | PyArmor, PyInstaller, ASAR + Electron Fuses | ## 架构 ``` ┌─────────────────────────────────────────────┐ │ Web UI (React + xterm.js) │ │ ┌──────────┬──────────┬──────────┐ │ │ │ Agent 1 │ Agent 2 │ Agent 3 │ │ │ │ Terminal │ Terminal │ Terminal │ │ │ └────┬─────┴────┬─────┴────┬─────┘ │ │ │ WebSocket │ │ │ ├───────┼──────────┼──────────┼───────────────┤ │ ▼ ▼ ▼ │ │ FastAPI + PTY Managers │ │ ┌──────────┬──────────┬──────────┐ │ │ │ PTY-1 │ PTY-2 │ PTY-3 │ │ │ │ (Claude │ (Aider) │ (DeepSeek)│ │ │ │ Code) │ │ │ │ │ └──────────┴──────────┴──────────┘ │ └─────────────────────────────────────────────┘ ``` 每个 AI 代理在独立的 PTY 伪终端进程中运行,通过 WebSocket 二进制帧与前端实时通信。支持完整 ANSI 转义序列、终端 resize、会话恢复。 ## 开发 ```bash make install # 安装前后端依赖 make dev # 同时启动前后端(后端 :8006、前端 :5006) # 分别运行 make dev-server # 仅后端 make dev-web # 仅前端 make test-server # 运行后端测试 make check-web # TypeScript 类型检查 ``` ## 文档 - [产品需求文档](docs/PRD.md) - [开发路线图](docs/roadmap.md) - [桌面应用打包指南](docs/desktop-packaging.md)