智能体时代的个人 AI 参谋团——构建学习实践闭环,保持持续成长的节奏,让你不掉队。
本项目是一个跨智能体框架的多智能体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 |
两条请求链路:
- 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配置文件位于 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_KEY、ASSISTANT_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- assistant-mcp (端口 1107/1108) - MCP 工具服务
- assistant-agent (端口 8080/28080) - Agent 核心服务
- assistant-desktop - Tauri 桌面应用
开发环境在各子项目内基于源码启动:
# Agent 服务
cd assistant-agent && ./scripts/start.sh --dev
# MCP 服务
cd assistant-mcp && ./scripts/start.sh
# 桌面应用
cd assistant-desktop && npm run tauri:devdeploy/
├── build.sh # 构建脚本
├── deploy.sh # 部署脚本
├── start.sh # 启动脚本
├── stop.sh # 停止脚本
├── monitor.sh # 监控脚本
├── lib/ # 公共函数库
│ ├── common.sh # 通用函数
│ ├── java.sh # Java 服务函数
│ └── health.sh # 健康检查函数
└── envs/ # 环境配置
├── dev.env # 开发环境
└── prod.env # 生产环境
状态说明:✅ 已实现,🔄 开发中,📋 规划中。
| 模块 | 功能 | 状态 | 说明 |
|---|---|---|---|
| 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 实现 |
| 能力 | 使用方式 | 说明 |
|---|---|---|
| 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 协议
个人工程实践项目,持续演进中