# AICompany_1 **Repository Path**: SuperCoderMan521/AICompany_1 ## Basic Information - **Project Name**: AICompany_1 - **Description**: ai 公司 让你从0-1 创建属于你的ai 公司团队 - **Primary Language**: Python - **License**: GPL-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2026-05-31 - **Last Updated**: 2026-05-31 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Company Builder — CrewAI 多 Agent 公司生成器 一个基于 **CrewAI 1.14.6** 的多 Agent 业务系统。用户创建自己的“公司”,挑选并配置 Agent 组成团队,选择团队运行模式(顺序 / 层级 / 工作流),团队在后台接收任务并自主运营,每个 Agent 的工作流程全程记录、可追溯,前端以卡通人物实时展示每个 Agent 的状态。 ## 系统展示 ### 运行效果预览 ![系统运行截图1](images/1.png) ![系统运行截图2](images/2.png) ![实时状态截图](images/ScreenShot_2026-05-31_165843_500.png) ## 能力一览 | 需求 | 实现 | |------|------| | 公司生成 + 组建团队 | REST API + Vue 向导 | | 模型与密钥配置 | 公司级 `ModelProfile`(模型+Key+base_url),每个 agent 可分配不同模型 | | 团队模式:Sequential / Hierarchical / Flow | `Process.sequential` / `Process.hierarchical` / `crewai.Flow` | | Agent 后台创建 + MCP/Skills/内部工具选择 | `AgentFactory` → `crewai.Agent(mcps=, skills=, tools=)` | | Skills 上传并分配 | `SkillManager`(SKILL.md frontmatter 校验) | | A2A 通信 | `A2AClientConfig` / `A2AServerConfig` | | 记忆共享 / 隔离 + 上下文感知 | `crewai.Memory(root_scope=...)` | | 任务规划推理 | `PlanningConfig(reasoning_effort=...)` | | 任务中断后恢复 | `CheckpointConfig` + `SQLiteFlowPersistence` | | 事件驱动工作流 + 可视化 | `Flow` + plot 数据 | | Guardrail(可编程 + LLM) | `guardrail=callable` / `guardrail="自然语言"` | | 后台运营 | FastAPI 后台任务 + 线程执行 | | **全程可追溯** | `AuditListener` 订阅事件总线,逐事件落库(append-only) | | 实时卡通状态 | 事件总线 → `EventHub` → WebSocket → Vue | | AG-UI 协议 | `core/agui.py` 把 CrewAI 事件翻译成标准 AG-UI 事件,经 SSE (`/agui/runs/{id}`) 推送 | | Agent 动态特效 | Hilo 游戏引擎(`HiloStage.vue`)按 AG-UI 事件渲染 忙碌/规划/用工具/记忆/完成/出错 动画 | ## 目录结构 ``` company-builder/ ├── backend/company_builder/ # FastAPI 后端 │ ├── config.py # 配置与文件布局 │ ├── models.py # 领域模型 / DTO │ ├── storage.py # SQLite 仓储 + append-only 审计表 │ ├── context.py # 依赖装配(单例服务) │ ├── main.py # FastAPI 应用入口 │ ├── cli.py # company-builder 命令 │ ├── core/ │ │ ├── agent_factory.py # AgentSpec → crewai.Agent │ │ ├── team_assembler.py # → Crew(seq/hier) / Flow │ │ ├── company_flow.py # 事件驱动工作流 + SQLite 持久化 │ │ ├── harness.py # 受控执行外壳(后台运营) │ │ ├── audit.py # 事件总线 → 审计落库 + 实时状态 │ │ ├── event_hub.py # 线程安全 → WebSocket 广播 │ │ ├── skill_manager.py # SKILL.md 上传/校验/分配 │ │ ├── tool_registry.py # 内部工具目录 │ │ └── mcp_registry.py # MCP 白名单目录 │ └── api/ # REST + WebSocket 路由 ├── backend/tests/ # 端到端测试(事件→审计全链路) └── frontend/ # Vue 3 + Vite └── src/ ├── views/ # 公司向导 / Agent 工坊 / 团队画布 / 运营舞台 ├── components/ # AgentAvatar(卡通人物)/ FlowGraph └── api/client.js # REST + WebSocket 客户端 ``` ## 可追溯机制 每次运行(Run)开始时,`ExecutionHarness` 会绑定一个 `RunListener` 到 CrewAI 事件总线。团队运营过程中产生的每一个事件(agent 开始/完成、工具调用、规划推理、记忆读写、任务起止、工作流节点)都会: 1. 以 **append-only** 行写入 SQLite `audit_events` 表,按运行内单调递增的 `sequence` 排序; 2. 实时推送到前端,驱动对应卡通 agent 切换状态。 查询任一 Agent 的完整工作流程:`GET /runs/{run_id}/audit?agent_id={agent_id}`。 ## 快速开始 ### 后端 ```bash cd company-builder uv sync # 安装依赖(含本仓库 crewai) # 配置环境变量 echo "OPENAI_API_KEY=sk-..." > .env uv run company-builder # 或 uv run uvicorn company_builder.main:app --reload --app-dir backend ``` 后端默认监听 http://127.0.0.1:8000 ,文档在 /docs 。 ### 前端 ```bash cd company-builder/frontend npm install npm run dev # http://127.0.0.1:5173 ``` ## 端到端流程 1. 创建公司 → 2. 创建若干 Agent(配置工具/MCP/Skill/记忆/规划/A2A)→ 3. 组建 Team 并选模式 → 4. 提交任务,团队后台运营 → 5. 前端实时看每个卡通 Agent 的状态 → 6. 查询任一 Agent 的完整工作追溯。 > **安全提示**:示例后端默认未启用鉴权,WebSocket / A2A Server / MCP(STDIO) 在生产环境务必加访问控制与白名单。