Skip to content

jiujuan/wukong

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 

Repository files navigation

悟空(Wukong)多智能体系统

Building...

基于Go语言的轻量高性能分布式多智能体任务执行系统

定位

Go 开发、轻量高性能、无第三方中间件依赖、可扩展的分布式多智能体任务执行系统,支持自定义+Skills插件,具备完善的任务编排、安全执行、动态调度能力。

核心设计理念

  • 解耦分层:调度层与执行层完全分离,Manager 做调度决策,Worker 做任务执行,Worker与Woker之间隔离

  • 插件化:Skills 标准化目录规范,支持热加载、无重启更新,兼容Claude Code等 AI 的 Skills

  • 安全可控:技能沙箱隔离、权限最小化、资源限制,杜绝第三方技能安全风险

  • 高性能:可配置化 Worker 池、优先级任务队列、协程复用,支持高并发任务处理

  • 全链路可追溯:状态机管控任务全生命周期,任务执行流程可监控、可回溯

整体架构图

Manger模块核心职责设计

  1. 任务接收与解析:接收外部任务请求,生成全局唯一幂等 ID,校验任务重复提交

  2. 任务规划:通过模板 / LLM动态拆解大任务为子任务,构建 DAG 依赖图,全量任务信息持久化至 DB

  3. 状态机管控:管控主任务+子任务全生命周期状态流转

  4. 队列调度:将可执行子任务推入自研持久化队列,支持优先级、延时、重试

  5. Worker pool管理:维护 Worker 节点心跳、任务分发,异常任务自动重调度

  6. 结果聚合:收集子任务执行结果,聚合生成最终任务输出,最终结果持久化归档

┌─────────────────────────────────────────────────────────────┐
│                      外部请求层                              │
│                用户/API调用/流式客户端(SSE/WebSocket)                                                                                                                     │
└───────────────────────────────┬─────────────────────────────┘
                                │
┌───────────────────────────────▼─────────────────────────────┐
│                      Manager(调度中枢)                      │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────────────┐  │
│  │ 任务入口模块 │  │ 任务规划模块   │  │ 状态机引擎模块      │  │
│  └─────────────┘  └─────────────┘  └─────────────────────┘  │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────────────┐  │
│  │ 调度循环模块  │  │ DAG依赖管理    │  │ 结果聚合模块        │  │
│  └─────────────┘  └─────────────┘  └─────────────────────┘  │
└───────────────────────────────┬─────────────────────────────┘
                                │
┌───────────────────────────────▼─────────────────────────────┐
│                      自研四叉树持久化任务队列                  │
│         四叉树优先级调度+启动全量加载+增量更新                    │
└───────────────────────────────┬─────────────────────────────┘
                                │
┌───────────────────────────────▼─────────────────────────────┐
│                  Worker集群(执行单元)                       │
│  ┌─────────────────┐  ┌─────────────────┐  ┌─────────────┐ │
│  │ 可配置Worker池  │  │ 任务拉取模块       │  │ 心跳上报模块 │ │
│  └─────────────────┘  └─────────────────┘  └─────────────┘ │
│  ┌─────────────────┐  ┌─────────────────┐  ┌─────────────┐ │
│  │ 实时过程上报模块   │   │  记忆读写调用模块   │  │ ReAct执行引擎 │ │
│  └─────────────────┘  └─────────────────┘  └─────────────┘ │
└───────────────────────────────┬─────────────────────────────┘
                                │
┌───────────────────────────────▼─────────────────────────────┐
│                  Skills插件化系统                            │
│  ┌─────────────────┐  ┌─────────────────┐  ┌─────────────┐ │
│  │ 技能加载器        │  │ 标准化目录规范  │  │ 沙箱执行引擎 │ │
│  └─────────────────┘  └─────────────────┘  └─────────────┘ │
│         支持自定义/Claude Code/Codex生成技能+记忆配置         │
└───────────────────────────────┬─────────────────────────────┘
                                │
┌───────────────────────────────▼─────────────────────────────┐
│                  底层能力支撑系统(三大核心模块)              │
│  ┌─────────────┐  ┌─────────────┐  ┌─────────────────────┐  │
│  │ Tool工具    │  │ LLM抽象层      │  │ Memory记忆抽象层    │  │
│  └─────────────┘  └─────────────┘  └─────────────────────┘  │
└─────────────────────────────────────────────────────────────┘

项目结构

wukong/
├── cmd/server/           # 服务入口
├── internal/             # 应用代码
│   ├── handler/         # 处理器(auth, chat, task)
│   ├── middleware/      # 中间件(cors, auth)
│   ├── model/           # 数据模型
│   ├── repository/      # 数据仓库
│   ├── route/           # 路由
│   └── service/         # 服务层
├── pkg/                  # 公共模块(函数选项模式)
│   ├── config/          # 配置管理
│   ├── db/             # 数据库封装
│   ├── errors/         # 统一错误
│   ├── jwt/            # JWT工具
│   ├── logger/         # 日志
│   ├── llm/            # LLM抽象层
│   ├── manager/         # Manager调度中枢
│   ├── queue/          # 四叉树任务队列
│   ├── redis/          # Redis封装
│   ├── response/       # 响应封装
│   ├── statemachine/   # 状态机引擎
│   ├── uuid/           # UUID生成
│   ├── validator/      # 验证器
│   └── worker/         # Worker执行单元
├── configs/             # 配置文件
├── scripts/             # 脚本
└── skills/             # 技能插件

快速开始

1. 启动依赖服务

docker-compose up -d

2. 初始化数据库

数据库 postgresql + pgvector

缓存:redis

# wukong_agents_db
# 连接数据库执行 scripts/schema.sql

3. 测试运行服务

go mod tidy
go run cmd/server/main.go

4. 测试接口

# 登录
curl -X POST http://localhost:8080/api/v1/auth/login \
  -H "Content-Type: application/json" \
  -d '{"username":"admin","password":"admin123"}'

# 创建任务
curl -X POST http://localhost:8080/api/v1/task/create \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer <token>" \
  -d '{"skill_name":"chat","params":{"input":"hello"},"priority":5}'

# 查询任务列表
curl http://localhost:8080/api/v1/task/list \
  -H "Authorization: Bearer <token>"

任务状态流转

PENDING → PLANNING → RUNNING → WAITING → COMPLETED
                    ↘ FAILED ↗
                       ↓
                  PENDING (重试)

About

AI Agent智能体,manager-worker 架构,可自定义sklls运行,建设中【building】... ...

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages