diff --git a/README.md b/README.md index 51467ed9..690688e7 100644 --- a/README.md +++ b/README.md @@ -15,7 +15,7 @@ [![Live Demo](https://img.shields.io/badge/Demo-Online-orange.svg?logo=vercel&label=Demo)](https://claw-demo.mate.vip) [![Website](https://img.shields.io/badge/Website-claw.mate.vip-blue.svg?logo=googlechrome&label=Site)](https://claw.mate.vip) [![Java Version](https://img.shields.io/badge/Java-21+-blue.svg?logo=openjdk&label=Java)](https://adoptium.net/) -[![Spring Boot](https://img.shields.io/badge/Spring%20Boot-3.5-brightgreen.svg?logo=springboot)](https://spring.io/projects/spring-boot) +[![Spring Boot](https://img.shields.io/badge/Spring%20Boot-4.1.1-brightgreen.svg?logo=springboot)](https://spring.io/projects/spring-boot) [![Vue](https://img.shields.io/badge/Vue-3-4FC08D.svg?logo=vuedotjs)](https://vuejs.org/) [![Last Commit](https://img.shields.io/github/last-commit/mateaix/mateclaw)](https://github.com/mateaix/mateclaw) [![License](https://img.shields.io/badge/license-Apache--2.0-red.svg?logo=opensourceinitiative&label=License)](LICENSE) @@ -38,7 +38,7 @@ > > Multi-user workspaces. Approval-gated sensitive actions. Full audit trail. Spring Boot Actuator health monitoring. Per-channel error isolation so one chat platform's outage doesn't take down the rest. One JAR in your environment; you control persisted data, and task content is sent only to model, channel, or tool services you explicitly configure. > -> **And underneath, a real Agent Runtime.** An employee is no longer welded to one reasoning loop. Choose the native StateGraph runtime for ReAct, Plan-and-Execute, Goals, and Team Runs, or run DeepSeek Harness as a managed external loop over SDK JSON-RPC. Both paths converge on the same conversations, workspace boundaries, Tool Guard, event projection, and lifecycle controls. +> **And underneath, a real Agent Runtime.** An employee is no longer welded to one reasoning loop. Choose the native AgentScope runtime for ReAct, Plan-and-Execute, Goals, and Team Runs, or run DeepSeek Harness as a managed external loop over SDK JSON-RPC. Both paths converge on the same conversations, workspace boundaries, Tool Guard, event projection, and lifecycle controls. Most AI tools die when their vendor has a bad day. Most forget you the moment the tab closes. Most give you a chatbox and call it a product. @@ -162,12 +162,14 @@ Same "whole widget" philosophy. Different center of gravity. ```bash # Backend -cd mateclaw-server -mvn spring-boot:run # http://localhost:18088 +# From the repository root; use its configured models and workspace +SPRING_DATASOURCE_URL="jdbc:h2:file:$PWD/data/mateclaw;MODE=MySQL;DATABASE_TO_LOWER=TRUE;CASE_INSENSITIVE_IDENTIFIERS=TRUE" \ +MATECLAW_WORKSPACE_SANDBOX_ROOT="$PWD/data/workspace" \ +mvn -pl mateclaw-server spring-boot:run # http://localhost:18088 -# Frontend +# Frontend (new terminal, from the repository root) cd mateclaw-ui -npm install && npm run dev # http://localhost:5173 +npm install && npm run dev -- --host 127.0.0.1 # http://localhost:5173 ``` Login: `admin` / `admin123` @@ -204,7 +206,7 @@ Download from [GitHub Releases](https://github.com/mateaix/mateclaw/releases). B ``` mateclaw/ -├── mateclaw-server/ Spring Boot 3.5 backend (Agent Runtime contract, native StateGraph + DSH) +├── mateclaw-server/ Spring Boot 4.1.1 backend (Agent Runtime contract, native AgentScope + DSH) ├── mateclaw-ui/ Vue 3 + TypeScript admin SPA (built into the server JAR) ├── mateclaw-desktop/ Electron desktop app (local-embedded / remote-centralized) ├── mateclaw-webchat/ Embeddable chat widget (UMD / ES bundles) @@ -222,8 +224,8 @@ Desktop binaries ship via [GitHub Releases](https://github.com/mateaix/mateclaw/ | Layer | Technology | |---|---| -| Backend | Spring Boot 3.5 · Spring AI Alibaba 1.1 · MyBatis Plus · Flyway | -| Agent Runtime | `AgentRuntimeProvider` contract · Native StateGraph (ReAct + Plan-Execute) · managed DSH JSON-RPC runtime · normalized events / lifecycle / usage · Tool Guard | +| Backend | Spring Boot 4.1.1 · Spring AI 2.0.1 · AgentScope Java 2.0.4 · MyBatis Plus · Flyway | +| Agent Runtime | `AgentRuntimeProvider` contract · Native AgentScope (ReAct + Plan-Execute) · managed DSH JSON-RPC runtime · normalized events / lifecycle / usage · Tool Guard | | Orchestration | Workflow (7 step modes · Pebble DSL) · Triggers (6 pattern types · event governance) · Wiki Transformations (1.3.0+) | | Capability Extension | SKILL.md packages · MCP (stdio / SSE / HTTP · per-agent binding) · ACP bridge (Claude Code / Codex) | | Database | H2 (dev) · PostgreSQL 16 (Docker default) · MySQL 8.0+ (supported) · Kingbase (opt-in driver) | @@ -321,7 +323,7 @@ Full story in the [v1.7.0 release notes](https://claw.mate.vip/docs/en/releases/ git clone https://github.com/mateaix/mateclaw.git cd mateclaw cd mateclaw-server && mvn clean compile -cd ../mateclaw-ui && npm install && npm run dev +cd ../mateclaw-ui && npm install && npm run dev -- --host 127.0.0.1 ``` --- diff --git a/README_zh.md b/README_zh.md index 05add63a..6473e6c8 100644 --- a/README_zh.md +++ b/README_zh.md @@ -15,7 +15,7 @@ [![在线演示](https://img.shields.io/badge/演示-在线-orange.svg?logo=vercel&label=Demo)](https://claw-demo.mate.vip) [![官网](https://img.shields.io/badge/官网-claw.mate.vip-blue.svg?logo=googlechrome&label=Site)](https://claw.mate.vip) [![Java 版本](https://img.shields.io/badge/Java-21+-blue.svg?logo=openjdk&label=Java)](https://adoptium.net/) -[![Spring Boot](https://img.shields.io/badge/Spring%20Boot-3.5-brightgreen.svg?logo=springboot)](https://spring.io/projects/spring-boot) +[![Spring Boot](https://img.shields.io/badge/Spring%20Boot-4.1.1-brightgreen.svg?logo=springboot)](https://spring.io/projects/spring-boot) [![Vue](https://img.shields.io/badge/Vue-3-4FC08D.svg?logo=vuedotjs)](https://vuejs.org/) [![最后提交](https://img.shields.io/github/last-commit/mateaix/mateclaw)](https://github.com/mateaix/mateclaw) [![许可证](https://img.shields.io/badge/license-Apache--2.0-red.svg?logo=opensourceinitiative&label=License)](LICENSE) @@ -38,7 +38,7 @@ > > 多用户工作空间。敏感操作走审批。完整审计日志。Spring Boot Actuator 健康监控。单个渠道挂掉不影响其他渠道的错误隔离。一个 JAR 包跑在自己的环境里;持久化数据由你掌控,任务所需内容只会发送到你主动配置的模型、渠道或工具服务。 > -> **底下是一套真正的 Agent Runtime。** 员工不再焊死在一套推理循环上:可以用原生 StateGraph 运行 ReAct、Plan-and-Execute、Goal 与 Team Run,也可以通过 SDK JSON-RPC 把 DeepSeek Harness 作为受管理的外部循环。两条路径最终进入同一套会话、工作空间边界、Tool Guard、事件投影与生命周期控制。 +> **底下是一套真正的 Agent Runtime。** 员工不再焊死在一套推理循环上:可以用原生 AgentScope 运行 ReAct、Plan-and-Execute、Goal 与 Team Run,也可以通过 SDK JSON-RPC 把 DeepSeek Harness 作为受管理的外部循环。两条路径最终进入同一套会话、工作空间边界、Tool Guard、事件投影与生命周期控制。 大多数 AI 工具一到厂商抽风那天就两手一摊。关一次标签页就忘了你是谁。给你一个聊天框,就敢叫产品。 @@ -162,12 +162,14 @@ RBAC + JWT。**Personal Access Token** 给无人值守脚本和 CI 使用。**We ```bash # 后端 -cd mateclaw-server -mvn spring-boot:run # http://localhost:18088 +# 从仓库根目录运行,使用根目录下已配置的模型数据库与工作空间 +SPRING_DATASOURCE_URL="jdbc:h2:file:$PWD/data/mateclaw;MODE=MySQL;DATABASE_TO_LOWER=TRUE;CASE_INSENSITIVE_IDENTIFIERS=TRUE" \ +MATECLAW_WORKSPACE_SANDBOX_ROOT="$PWD/data/workspace" \ +mvn -pl mateclaw-server spring-boot:run # http://localhost:18088 -# 前端 +# 前端(新终端,从仓库根目录进入) cd mateclaw-ui -npm install && npm run dev # http://localhost:5173 +npm install && npm run dev -- --host 127.0.0.1 # http://localhost:5173 ``` 默认登录:`admin` / `admin123` @@ -204,7 +206,7 @@ docker compose up -d # http://localhost:18080 ``` mateclaw/ -├── mateclaw-server/ Spring Boot 3.5 后端(Agent Runtime contract · Native StateGraph + DSH) +├── mateclaw-server/ Spring Boot 4.1.1 后端(Agent Runtime contract · Native AgentScope + DSH) ├── mateclaw-ui/ Vue 3 + TypeScript 管理 SPA(构建产物打进后端 JAR) ├── mateclaw-desktop/ Electron 桌面端(本地内嵌 / 远程集中双模式) ├── mateclaw-webchat/ 网页嵌入式聊天组件(UMD / ES bundle) @@ -222,8 +224,8 @@ mateclaw/ | 层次 | 技术 | |---|---| -| 后端 | Spring Boot 3.5 · Spring AI Alibaba 1.1 · MyBatis Plus · Flyway | -| Agent Runtime | `AgentRuntimeProvider` contract · Native StateGraph(ReAct + Plan-Execute)· 受管理的 DSH JSON-RPC runtime · 统一事件 / 生命周期 / 用量 · Tool Guard | +| 后端 | Spring Boot 4.1.1 · Spring AI 2.0.1 · AgentScope Java 2.0.4 · MyBatis Plus · Flyway | +| Agent Runtime | `AgentRuntimeProvider` contract · Native AgentScope(ReAct + Plan-Execute)· 受管理的 DSH JSON-RPC runtime · 统一事件 / 生命周期 / 用量 · Tool Guard | | 业务编排 | 工作流(7 step mode · Pebble DSL)· 触发器(6 pattern type · 事件治理)· Wiki 加工器(1.3.0+)| | 能力扩展 | SKILL.md 包 · MCP(stdio / SSE / HTTP · per-agent 绑定)· ACP 桥接(Claude Code / Codex) | | 数据库 | H2(开发)· PostgreSQL 16(Docker 默认)· MySQL 8.0+(支持)· Kingbase(按需驱动)| @@ -321,7 +323,7 @@ mateclaw/ git clone https://github.com/mateaix/mateclaw.git cd mateclaw cd mateclaw-server && mvn clean compile -cd ../mateclaw-ui && npm install && npm run dev +cd ../mateclaw-ui && npm install && npm run dev -- --host 127.0.0.1 ``` --- diff --git a/mateclaw-server/pom.xml b/mateclaw-server/pom.xml index 31db297f..847f0c1d 100644 --- a/mateclaw-server/pom.xml +++ b/mateclaw-server/pom.xml @@ -15,7 +15,7 @@ jar MateClaw Server - MateClaw - Java+Vue Personal AI Assistant powered by Spring AI Alibaba + MateClaw - Java+Vue Personal AI Assistant powered by Spring AI and AgentScope @@ -24,10 +24,44 @@ mateclaw-plugin-api - + org.springframework.boot - spring-boot-starter-web + spring-boot-starter-webmvc + + + org.springframework.boot + spring-boot-starter-webclient + + + + org.springframework.boot + spring-boot-jackson2 + + + org.springframework.boot + spring-boot-starter-flyway + + + io.agentscope + agentscope-core + ${agentscope.version} + + + com.squareup.okhttp3 + okhttp-jvm + + + + + com.networknt + json-schema-validator + ${networknt-schema.version} + + + org.springframework.retry + spring-retry + 2.0.12 @@ -36,23 +70,6 @@ spring-boot-starter-actuator - - - - com.alibaba.cloud.ai - spring-ai-alibaba-starter-dashscope - - - - org.springframework.boot - spring-boot-starter-webflux - - - - com.alibaba @@ -67,10 +84,9 @@ - - com.alibaba.cloud.ai - spring-ai-alibaba-graph-core + org.springframework.ai + spring-ai-client-chat @@ -85,19 +101,10 @@ spring-ai-anthropic - - + - org.springframework.ai - spring-ai-starter-mcp-client - - - org.springframework.boot - spring-boot-starter-webflux - - + io.modelcontextprotocol.sdk + mcp @@ -117,7 +124,7 @@ com.baomidou - mybatis-plus-spring-boot3-starter + mybatis-plus-spring-boot4-starter @@ -211,6 +218,10 @@ net.dv8tion JDA + + com.squareup.okhttp3 + okhttp-jvm + club.minnced @@ -396,6 +407,19 @@ test + + com.squareup.okhttp3 + mockwebserver + 4.12.0 + test + + + com.squareup.okhttp3 + okhttp-tls + 4.12.0 + test + + - 3.5.16 - 1.1.8 - 1.1.2.3 - 4.38.0 - 2.8.16 + 4.1.1 + 2.0.1 + + 5.0.0 + 3.1.1 + 2.0.4 + 3.0.1 + 0.18.3 + 4.12.0 - 3.5.16 + 3.5.17 5.8.26 0.12.6 2.0.16 - 2.18.3 1.3.12 @@ -81,6 +84,14 @@ + + + com.squareup.okhttp3 + okhttp-bom + ${okhttp.version} + pom + import + org.springframework.boot @@ -112,6 +123,15 @@ import + + + io.modelcontextprotocol.sdk + mcp-bom + ${mcp-sdk.version} + pom + import + + @@ -130,22 +150,10 @@ ${revision} - - - com.alibaba.cloud.ai - spring-ai-alibaba-starter-dashscope - ${spring-ai-alibaba.version} - - - com.alibaba.cloud.ai - spring-ai-alibaba-graph-core - ${spring-ai-alibaba.version} - - com.baomidou - mybatis-plus-spring-boot3-starter + mybatis-plus-spring-boot4-starter ${mybatis-plus.version} @@ -180,11 +188,6 @@ slf4j-api ${slf4j.version} - - com.fasterxml.jackson.core - jackson-databind - ${jackson.version} -