Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions README-zh.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Agentic AI Documentation Website
# ARGI Documentation Website

Agentic AI 项目的官方文档网站,基于 Docusaurus 构建。
ARGI(Agent Runtime and Graph Intelligence,读作 “AR-jee”)项目的官方文档网站,基于 Docusaurus 构建。

## 快速开始

Expand All @@ -17,7 +17,7 @@ Agentic AI 项目的官方文档网站,基于 Docusaurus 构建。

## GitHub Pages 部署

发布分支更新后,GitHub Actions 会在 lint 和构建通过后自动发布 `build` 目录。首次部署前,需要在仓库的 `Settings > Pages` 中将发布源设置为 `GitHub Actions`。站点地址为 <https://agentic-spring-ai.github.io/website/>。
发布分支更新后,GitHub Actions 会在 lint 和构建通过后自动发布 `build` 目录。首次部署前,需要在仓库的 `Settings > Pages` 中将发布源设置为 `GitHub Actions`。站点地址为 <https://agentic-ai-java.github.io/argi-website/>。

## 提交之前

Expand Down
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# Agentic AI Documentation Website
# ARGI Documentation Website

The official documentation website for the Agentic AI project, built with Docusaurus.
The official documentation website for ARGI (Agent Runtime and Graph Intelligence, pronounced "AR-jee"), built with Docusaurus.

## Quick Start

Expand All @@ -17,7 +17,7 @@ English: `make preview-en`

## GitHub Pages Deployment

After the publishing branch is updated, GitHub Actions publishes the `build` directory once lint and build checks pass. Before the first deployment, set the publishing source to `GitHub Actions` under `Settings > Pages`. The site is available at <https://agentic-spring-ai.github.io/website/>.
After the publishing branch is updated, GitHub Actions publishes the `build` directory once lint and build checks pass. Before the first deployment, set the publishing source to `GitHub Actions` under `Settings > Pages`. The site is available at <https://agentic-ai-java.github.io/argi-website/>.

## Before Committing

Expand Down
22 changes: 11 additions & 11 deletions docs/community/policies.md
Original file line number Diff line number Diff line change
@@ -1,19 +1,19 @@
---
title: 社区协议
description: Agentic AI community contribution, security, and conduct policies.
keywords: [Agentic AI, community, contribution, security, code of conduct]
description: ARGI community contribution, security, and conduct policies.
keywords: [ARGI, community, contribution, security, code of conduct]
---

# 社区协议

Agentic AI fork 自 Spring AI Alibaba。refactor 分支已经将核心 Maven 坐标迁移到 `io.github.agentic-ai`,核心模块名迁移到 `agentic-ai-*`,Java 包名迁移到 `io.github.agentic.spring.ai.*`。贡献代码时请以当前分支中的 POM、源码包名和模块目录为准。
ARGI fork 自 Spring AI Alibaba。refactor 分支已经将核心 Maven 坐标迁移到 `io.github.agentic-ai`,核心模块名迁移到 `argi-*`,Java 包名迁移到 `io.github.agentic.ai.*`。贡献代码时请以当前分支中的 POM、源码包名和模块目录为准。

## 贡献协议

欢迎通过 Issue、Discussion 和 Pull Request 参与 Agentic AI。提交贡献前,请先阅读仓库中的贡献指南:
欢迎通过 Issue、Discussion 和 Pull Request 参与 ARGI。提交贡献前,请先阅读仓库中的贡献指南:

- [CONTRIBUTING.md](https://github.com/agentic-spring-ai/agentic-spring-ai/blob/main/CONTRIBUTING.md)
- [CONTRIBUTING-zh.md](https://github.com/agentic-spring-ai/agentic-spring-ai/blob/main/CONTRIBUTING-zh.md)
- [CONTRIBUTING.md](https://github.com/agentic-ai-java/argi/blob/main/CONTRIBUTING.md)
- [CONTRIBUTING-zh.md](https://github.com/agentic-ai-java/argi/blob/main/CONTRIBUTING-zh.md)

贡献代码前请在本地完成必要检查,包括构建、测试、格式化、Checkstyle、License 与拼写检查。PR 标题和提交信息使用 `type(scope): description` 格式,例如 `docs(site): update community policies`。

Expand All @@ -25,14 +25,14 @@ Agentic AI fork 自 Spring AI Alibaba。refactor 分支已经将核心 Maven 坐

完整安全策略请参考:

- [SECURITY.md](https://github.com/agentic-spring-ai/agentic-spring-ai/blob/main/SECURITY.md)
- [SECURITY-zh.md](https://github.com/agentic-spring-ai/agentic-spring-ai/blob/main/SECURITY-zh.md)
- [SECURITY.md](https://github.com/agentic-ai-java/argi/blob/main/SECURITY.md)
- [SECURITY-zh.md](https://github.com/agentic-ai-java/argi/blob/main/SECURITY-zh.md)

## 行为准则

Agentic AI 社区希望保持开放、友善、尊重和聚焦问题本身的协作环境。请使用包容性语言,尊重不同经验与观点,接受建设性反馈,并保护社区成员和用户的安全与隐私。
ARGI 社区希望保持开放、友善、尊重和聚焦问题本身的协作环境。请使用包容性语言,尊重不同经验与观点,接受建设性反馈,并保护社区成员和用户的安全与隐私。

完整行为准则请参考:

- [CODE_OF_CONDUCT.md](https://github.com/agentic-spring-ai/agentic-spring-ai/blob/main/CODE_OF_CONDUCT.md)
- [CODE_OF_CONDUCT-zh.md](https://github.com/agentic-spring-ai/agentic-spring-ai/blob/main/CODE_OF_CONDUCT-zh.md)
- [CODE_OF_CONDUCT.md](https://github.com/agentic-ai-java/argi/blob/main/CODE_OF_CONDUCT.md)
- [CODE_OF_CONDUCT-zh.md](https://github.com/agentic-ai-java/argi/blob/main/CODE_OF_CONDUCT-zh.md)
30 changes: 15 additions & 15 deletions docs/frameworks/agent-framework/a2a.md
Original file line number Diff line number Diff line change
@@ -1,34 +1,34 @@
---
title: A2A Agent
sidebar_label: A2A Agent
description: 了解如何使用 A2A 协议把远程 Agent 接入 Agentic AI,包括 AgentCard 获取、远程调用和作为图节点编排。
description: 了解如何使用 A2A 协议把远程 Agent 接入 ARGI,包括 AgentCard 获取、远程调用和作为图节点编排。
keywords: [A2A, A2A Agent, Agent-to-Agent, 分布式Agent, 远程Agent, AgentCard, 远程调用]
---

# A2A Agent

Agent2Agent(A2A)协议用于描述和调用远程智能体。Agentic AI 在 `agentic-ai-agent-framework` 中提供了 A2A 客户端侧封装,可以把远程 Agent 包装成 `A2aRemoteAgent`,再像本地 Agent 一样调用或放入 Graph 编排。
Agent2Agent(A2A)协议用于描述和调用远程智能体。ARGI 在 `argi-agent-framework` 中提供了 A2A 客户端侧封装,可以把远程 Agent 包装成 `A2aRemoteAgent`,再像本地 Agent 一样调用或放入 Graph 编排。

当前 refactor 分支可确认的核心类型包括:

- `A2aRemoteAgent`:把远程 A2A Agent 包装为 Agentic AI Agent。
- `A2aRemoteAgent`:把远程 A2A Agent 包装为 ARGI Agent。
- `AgentCardProvider`:抽象 AgentCard 的获取方式。
- `RemoteAgentCardProvider`:从远程 URL 获取 AgentCard。
- `AgentCardWrapper`:封装 A2A SDK 的 `AgentCard`,暴露名称、描述、能力、技能等元数据。

> 说明:当前 refactor 分支没有发现 `agentic-ai-starter-a2a-nacos` 或同等 A2A Nacos starter。Nacos MCP starter 存在,但它面向 MCP 注册、发现、网关和路由,不等同于 A2A AgentCard 的自动注册与发现。
> 说明:当前 refactor 分支没有发现 `argi-starter-a2a-nacos` 或同等 A2A Nacos starter。Nacos MCP starter 存在,但它面向 MCP 注册、发现、网关和路由,不等同于 A2A AgentCard 的自动注册与发现。

## 添加依赖

`A2aRemoteAgent` 位于 Agent Framework 模块中。通过 Agentic AI BOM 管理版本后,引入 `agentic-ai-agent-framework` 即可使用。
`A2aRemoteAgent` 位于 Agent Framework 模块中。通过 ARGI BOM 管理版本后,引入 `argi-agent-framework` 即可使用。

```xml
<dependencyManagement>
<dependencies>
<dependency>
<groupId>io.github.agentic-ai</groupId>
<artifactId>agentic-ai-bom</artifactId>
<version>${agentic-ai.version}</version>
<artifactId>argi-bom</artifactId>
<version>${argi.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
Expand All @@ -38,7 +38,7 @@ Agent2Agent(A2A)协议用于描述和调用远程智能体。Agentic AI 在
<dependencies>
<dependency>
<groupId>io.github.agentic-ai</groupId>
<artifactId>agentic-ai-agent-framework</artifactId>
<artifactId>argi-agent-framework</artifactId>
</dependency>
</dependencies>
```
Expand All @@ -51,10 +51,10 @@ Agent2Agent(A2A)协议用于描述和调用远程智能体。Agentic AI 在
language="java"
title="通过远程 AgentCard 调用 A2A Agent"
>
{`import io.github.agentic.spring.ai.graph.OverAllState;
import io.github.agentic.spring.ai.graph.agent.a2a.A2aRemoteAgent;
import io.github.agentic.spring.ai.graph.agent.a2a.AgentCardProvider;
import io.github.agentic.spring.ai.graph.agent.a2a.RemoteAgentCardProvider;
{`import io.github.agentic.ai.graph.OverAllState;
import io.github.agentic.ai.graph.agent.a2a.A2aRemoteAgent;
import io.github.agentic.ai.graph.agent.a2a.AgentCardProvider;
import io.github.agentic.ai.graph.agent.a2a.RemoteAgentCardProvider;

import java.util.Optional;

Expand Down Expand Up @@ -104,9 +104,9 @@ public class RemoteA2aAgentExample {
language="java"
title="把 A2A Remote Agent 加入 StateGraph"
>
{`import io.github.agentic.spring.ai.graph.StateGraph;
import io.github.agentic.spring.ai.graph.agent.a2a.A2aRemoteAgent;
import io.github.agentic.spring.ai.graph.agent.a2a.RemoteAgentCardProvider;
{`import io.github.agentic.ai.graph.StateGraph;
import io.github.agentic.ai.graph.agent.a2a.A2aRemoteAgent;
import io.github.agentic.ai.graph.agent.a2a.RemoteAgentCardProvider;

A2aRemoteAgent remoteAgent = A2aRemoteAgent.builder()
.name("research_agent")
Expand Down
18 changes: 9 additions & 9 deletions docs/frameworks/agent-framework/agents-intro.md
Original file line number Diff line number Diff line change
@@ -1,15 +1,15 @@
---
title: Agents 介绍
sidebar_label: Agents 介绍
description: 了解 Agentic AI 中的 ReactAgent、ReAct 循环、工具调用、Hook 与 Interceptor。
description: 了解 ARGI 中的 ReactAgent、ReAct 循环、工具调用、Hook 与 Interceptor。
keywords: [Agents, ReactAgent, ReAct, ToolCallback, Hook, Interceptor, Agent Framework]
---

# Agents 介绍

Agent 将语言模型、工具和运行时控制逻辑组合在一起,用于处理需要多步推理、外部工具调用和状态管理的任务。

Agentic AI Agent Framework 的核心实现是 `ReactAgent`。它构建在 Graph Core 之上:底层由 `StateGraph` 表示执行拓扑,模型节点负责推理和生成工具调用,工具节点执行工具并把观察结果写回状态,然后由图边决定继续循环还是结束。
ARGI Agent Framework 的核心实现是 `ReactAgent`。它构建在 Graph Core 之上:底层由 `StateGraph` 表示执行拓扑,模型节点负责推理和生成工具调用,工具节点执行工具并把观察结果写回状态,然后由图边决定继续循环还是结束。

## ReAct 循环

Expand All @@ -26,7 +26,7 @@ ReAct 表示 Reasoning + Acting。`ReactAgent` 的典型执行过程包括:
`ReactAgent` 不绑定特定模型厂商。应用只需要提供 Spring AI 的 `ChatModel`,并按需配置工具。

```java
import io.github.agentic.spring.ai.graph.agent.ReactAgent;
import io.github.agentic.ai.graph.agent.ReactAgent;
import org.springframework.ai.chat.messages.AssistantMessage;
import org.springframework.ai.chat.model.ChatModel;
import org.springframework.ai.tool.annotation.Tool;
Expand Down Expand Up @@ -102,9 +102,9 @@ ReactAgent agent = ReactAgent.builder()
`ReactAgent` 基于 Graph Core 执行。调用 `saver(...)` 可以为 Agent 配置检查点存储,用于跨会话保存状态或支持恢复。

```java
import io.github.agentic.spring.ai.graph.RunnableConfig;
import io.github.agentic.spring.ai.graph.agent.ReactAgent;
import io.github.agentic.spring.ai.graph.checkpoint.savers.MemorySaver;
import io.github.agentic.ai.graph.RunnableConfig;
import io.github.agentic.ai.graph.agent.ReactAgent;
import io.github.agentic.ai.graph.checkpoint.savers.MemorySaver;

ReactAgent agent = ReactAgent.builder()
.name("stateful_agent")
Expand All @@ -127,9 +127,9 @@ Hook 用于在 Agent 或模型调用阶段注入运行时逻辑。Interceptor
refactor 分支提供了内置的 `ModelCallLimitHook` 与 `ToolErrorInterceptor`:

```java
import io.github.agentic.spring.ai.graph.agent.ReactAgent;
import io.github.agentic.spring.ai.graph.agent.hook.modelcalllimit.ModelCallLimitHook;
import io.github.agentic.spring.ai.graph.agent.interceptor.toolerror.ToolErrorInterceptor;
import io.github.agentic.ai.graph.agent.ReactAgent;
import io.github.agentic.ai.graph.agent.hook.modelcalllimit.ModelCallLimitHook;
import io.github.agentic.ai.graph.agent.interceptor.toolerror.ToolErrorInterceptor;

ReactAgent agent = ReactAgent.builder()
.name("guarded_agent")
Expand Down
16 changes: 8 additions & 8 deletions docs/frameworks/agent-framework/builtin-tools.md
Original file line number Diff line number Diff line change
Expand Up @@ -32,10 +32,10 @@ Agent Framework 可以直接使用 Spring AI 的 `ToolCallback`、`@Tool` 方法
| `WriteTodosTool` | 写入待办列表,支持事件处理器。 |

```java
import io.github.agentic.spring.ai.graph.agent.ReactAgent;
import io.github.agentic.spring.ai.graph.agent.tools.GlobSearchTool;
import io.github.agentic.spring.ai.graph.agent.tools.GrepSearchTool;
import io.github.agentic.spring.ai.graph.agent.tools.ShellTool;
import io.github.agentic.ai.graph.agent.ReactAgent;
import io.github.agentic.ai.graph.agent.tools.GlobSearchTool;
import io.github.agentic.ai.graph.agent.tools.GrepSearchTool;
import io.github.agentic.ai.graph.agent.tools.ShellTool;

ToolCallback shell = ShellTool.builder("/workspace")
.withCommandTimeout(30_000)
Expand All @@ -60,7 +60,7 @@ ReactAgent agent = ReactAgent.builder()

## 文件系统工具

`io.github.agentic.spring.ai.graph.agent.extension.tools.filesystem` 包提供文件读写、编辑、列表、glob 和 grep 工具。
`io.github.agentic.ai.graph.agent.extension.tools.filesystem` 包提供文件读写、编辑、列表、glob 和 grep 工具。

| 类 | 说明 |
| --- | --- |
Expand All @@ -74,7 +74,7 @@ ReactAgent agent = ReactAgent.builder()
| `FilesystemBackend`、`LocalFilesystemBackend` | 文件系统后端抽象和本地实现。 |

```java
import io.github.agentic.spring.ai.graph.agent.extension.tools.filesystem.FileSystemTools;
import io.github.agentic.ai.graph.agent.extension.tools.filesystem.FileSystemTools;

FileSystemTools fileSystemTools = FileSystemTools.builder()
.rootDir("/workspace")
Expand All @@ -100,7 +100,7 @@ ReactAgent agent = ReactAgent.builder()
| `ToolStateCollector` | 汇总多个工具的状态更新,用于并行工具执行后合并状态。 |

```java
import io.github.agentic.spring.ai.graph.agent.tools.ToolContextHelper;
import io.github.agentic.ai.graph.agent.tools.ToolContextHelper;
import org.springframework.ai.chat.model.ToolContext;

Optional<RunnableConfig> config = ToolContextHelper.getConfig(toolContext);
Expand Down Expand Up @@ -156,7 +156,7 @@ ReactAgent agent = ReactAgent.builder()
| `AgentSpecReactAgentFactory` | 基于 `AgentSpec` 创建 `ReactAgent`。 |

```java
import io.github.agentic.spring.ai.graph.agent.tools.task.TaskToolsBuilder;
import io.github.agentic.ai.graph.agent.tools.task.TaskToolsBuilder;

ReactAgent worker = ReactAgent.builder()
.name("worker")
Expand Down
Loading
Loading