Skip to content

maplefeng-a/xiaoyu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

396 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

xiaoyu

智能体时代的个人 AI 参谋团——构建学习实践闭环,保持持续成长的节奏,让你不掉队。

Java Spring Boot AgentScope License


项目简介

本项目是一个跨智能体框架的多智能体harness工程,围绕一个核心目标:在智能体时代更好运用智能体技术实现人-智协同成长

  • 🔍 情报参谋、知识专家 - 情报获取、信息整合、知识治理,为规划和决策提供信息保障
  • 🎯 规划参谋、成长专家 - 基于情报和自身状态制定目标与计划,监控执行过程;同时向上拉齐人的认知(将信息转化为可沉淀的知识),向下驱动 Agent 进化(基于执行记录评估和优化技能)
  • 🔬 行动参谋、编程专家 - 基于计划调度各领域最强智能体执行具体任务

为什么需要

痛点一:领域专精与异构协同

现阶段各领域已涌现出各自最优的智能体应用,本项目构建异构协同机制,让各领域最强智能体各自发挥所长:

  • 情报参谋:基于OpenClaw构建, 自由度高、擅长信息获取,承担情报获取、知识治理工作
  • 规划参谋:高度定制化智能体,基于 agentscope-Java 构建,专注目标管理、计划编排、知识沉淀与技能评估
  • 行动参谋:基于Claude Code构建,承担编程开发、方案验证、任务执行

痛点二:人-智认知对齐与共同成长

多智能体系统的隐性风险不是 Agent 能力不足,而是跑得太快,本项目构建双向成长机制,让人和 Agent 以同步节奏共同进化:

  • 人的成长:规划参谋驱动知识的结构化治理,采用苏格拉底式诱导学习,确保人始终理解前沿知识
  • Agent的成长:规划参谋驱动技能评估优化,基于人和行动参谋的执行记录的评测集,驱动技能可控升级

架构概览

整体协作架构

整体协作架构

xiaoyu 不是一个孤立的 Agent,而是异构参谋团中的规划参谋节点。OpenClaw(情报参谋)、Claude Code(行动参谋)、CoPaw(Manager)各自保持独立的交互形态和专业优势,通过 Hiclaw Matrix 总线实现跨框架协同。底层共享 xiaoyu-knowledge 知识库、xiaoyu-skills 技能包及社区 Skill 生态。

内部工程结构

内部工程结构

模块 说明 技术栈
assistant-agent AS-Java Agent 运行时核心 Java · Spring Boot · AgentScope-Java
assistant-mcp MCP 工具服务层 Spring Boot · MCP Protocol
assistant-eval 评测运行库 OTel Trace · Skill 闭环
assistant-desktop 桌面端交互入口 Vue 3 · Electron

智能体运行时

assistant-agent 内部架构

两条请求链路

  • Web 链路 (蓝色): ChatController → AgentService → ReActAgentBuilder → Component (AG-UI 协议流)
  • Channel 链路 (绿色): BaseChannel → AgentService.call() → ReActAgentBuilder → Component (AgentScope Msg 格式)

外部依赖

项目 说明
Hiclaw 跨框架协同总线,提供 Manager Agent · Matrix · MinIO · Higress Gateway
OpenClaw 协作 Worker (Clawdbot),通过 Hiclaw 接受任务委托
Claude Code 代码开发 Worker,接受开发类任务委托
CoPaw AS-Python Worker,AgentScope Python 版个人助手参照
AgentScope-Java xiaoyu 的运行时基础框架

目录结构

xiaoyu/                      # 代码仓库
├── assistant-desktop/       # 桌面端交互界面
├── assistant-agent/         # 计划参谋
├── assistant-mcp/           # MCP 能力网关
├── assistant-eval/          # 评测系统

xiaoyu-workspace/            # 运行态数据(与代码分离)
├── config/                  # 外部配置
│   ├── application.yml      # Spring 应用配置
│   ├── agent.yml            # Agent 业务配置
│   └── .env                 # 敏感信息
├── skills/                  # 智能体技能包
├── memory/                  # 智能体记忆
└── sessions/                # 会话数据

快速开始

环境依赖

  • Java 17+
  • Docker(运行 Hiclaw 云端服务)
  • LLM API Key(由 Higress Gateway 统一管理)

安装步骤

# 1. 克隆仓库
git clone https://github.com/maplefeng-a/xiaoyu.git
cd xiaoyu

# 2. 初始化运行时目录
mkdir -p ~/xiaoyu-home/{sessions,memory,logs/trace,config,data,documents}
cp config/agent.yml.example ~/xiaoyu-home/config/agent.yml
# 编辑 ~/xiaoyu-home/config/agent.yml,填入模型配置

# 3. 启动 MCP 服务
cd assistant-mcp && ./mvnw spring-boot:run

# 4. 启动 Agent
cd assistant-agent && ./mvnw spring-boot:run

# 5. 启动桌面端
cd assistant-desktop && npm install && npm run dev

Agent 配置说明

配置文件位于 xiaoyu-workspace/config/agent.yml,按组件对齐:

agent:
  model:           # Model 组件 - LLM 配置
  prompt:          # 提示词配置
  memory:          # Memory 组件 - 短期记忆 + 自动压缩 + 长期记忆
  toolkit:         # Toolkit 组件 - 本地工具 + MCP 服务器 + subagents
  skill:           # Skill 组件 - 技能包路径
  hook:            # Hook 组件 - HITL 确认等
  
assistant:         # 运行态配置
  working-directory:
  cache:
  matrix:          # Matrix Channel 配置
  studio:          # 可观测性配置

敏感信息通过环境变量注入:OPENAI_API_KEYASSISTANT_ZHIPU_MCP_URL


运维指南

deploy/ 目录提供统一的构建部署脚本,支持多环境(dev/prod)。

环境说明

环境 后端端口 工作空间
dev 8080 / 1107 xiaoyu-workspace-dev
prod 28080 / 1108 xiaoyu-workspace

常用命令

# 构建所有服务(Java JAR + 桌面应用)
./deploy/build.sh

# 清理后构建
./deploy/build.sh -c

# 部署到生产环境
./deploy/deploy.sh -e prod

# 启动服务(后台运行)
./deploy/start.sh -e prod -d

# 启动服务并等待健康检查
./deploy/start.sh -e prod -d --wait

# 停止服务
./deploy/stop.sh -e prod

# 查看服务状态
./deploy/monitor.sh -e prod

# 持续监控(每5秒刷新)
./deploy/monitor.sh -e prod -w

服务启动顺序

  1. assistant-mcp (端口 1107/1108) - MCP 工具服务
  2. assistant-agent (端口 8080/28080) - Agent 核心服务
  3. assistant-desktop - Tauri 桌面应用

开发模式

开发环境在各子项目内基于源码启动:

# Agent 服务
cd assistant-agent && ./scripts/start.sh --dev

# MCP 服务
cd assistant-mcp && ./scripts/start.sh

# 桌面应用
cd assistant-desktop && npm run tauri:dev

目录结构

deploy/
├── build.sh          # 构建脚本
├── deploy.sh         # 部署脚本
├── start.sh          # 启动脚本
├── stop.sh           # 停止脚本
├── monitor.sh        # 监控脚本
├── lib/              # 公共函数库
│   ├── common.sh     # 通用函数
│   ├── java.sh       # Java 服务函数
│   └── health.sh     # 健康检查函数
└── envs/             # 环境配置
    ├── dev.env       # 开发环境
    └── prod.env      # 生产环境

Assistant Agent 开发状态

状态说明: 已实现,🔄 开发中,📋 规划中。

功能模块

模块 功能 状态 说明
Agent 核心 ReActAgent 构建 工厂模式封装,配置化构建
流式对话 (AG-UI) 思考/正文分离、工具流式完整
推理中断 协作式中断,支持原因传递
Memory 短期记忆 InMemoryMemory
自动压缩 AutoContextMemory 配置化
长期记忆 🔄 FileSystemLongTermMemory
Skill SkillBox 管理 从 SKILL.md 解析工具配置
动态加载 SkillLoadTool
Toolkit 本地工具 read/write/edit/bash/glob/grep
MCP 集成 HTTP Transport,白名单过滤
ToolGroup 按 Skill 自动分组
Hook HITL 确认 危险工具人工确认
Memory 压缩 阈值触发自动压缩
长期记忆 Flush 🔄 Hook 触发持久化
Session 会话缓存 Caffeine Cache
状态持久化 文件系统存储
恢复机制 SessionRecoveryPipeline
Scheduler 定时任务 📋 基于 agentscope-extensions-scheduler
Heartbeat 📋 参考 OpenClaw 实现

AgentScope-Java 能力使用

能力 使用方式 说明
ReActAgent 核心运行时 推理-行动循环 Agent
Toolkit 工具管理 本地工具 + MCP 工具注册
SkillBox 技能管理 Skill 加载、工具绑定、ToolGroup
Memory 记忆管理 短期记忆 + 自动压缩
Hook 机制 扩展能力 PreActing/PostActing/PreReasoning 等
AG-UI 协议 流式输出 AguiAgentAdapter 事件转换
Interrupt 中断机制 协作式中断,checkInterruptedAsync
StreamOptions 流式配置 增量输出、事件类型过滤
AutoContextMemory 记忆压缩 阈值触发、Token 比例控制
Session 状态持久化 loadIfExists / saveTo

依赖版本

<agentscope.version>1.0.8</agentscope.version>

包含模块:

  • agentscope - 核心框架
  • agentscope-extensions-studio - 可观测性
  • agentscope-extensions-autocontext-memory - 自动压缩
  • agentscope-extensions-agui - AG-UI 协议

个人工程实践项目,持续演进中

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors