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
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -16,5 +16,5 @@
blank_issues_enabled: false
contact_links:
- name: Community Support
url: https://github.com/agentic-spring-ai/agentic-spring-ai/discussions
url: https://github.com/agentic-ai-java/argi/discussions
about: Please ask and answer questions here.
38 changes: 19 additions & 19 deletions .github/workflows/build-and-test.yml
Original file line number Diff line number Diff line change
Expand Up @@ -30,23 +30,23 @@ permissions:
contents: read
jobs:
format:
if: (github.repository == 'agentic-spring-ai/agentic-spring-ai')
if: (github.repository == 'agentic-ai-java/argi')
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: ./tools/github-actions/setup-deps
- run: make tools
- run: make format-check
check-style:
if: (github.repository == 'agentic-spring-ai/agentic-spring-ai')
if: (github.repository == 'agentic-ai-java/argi')
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: ./tools/github-actions/setup-deps
- run: make tools
- run: make checkstyle-check
test:
if: (github.repository == 'agentic-spring-ai/agentic-spring-ai')
if: (github.repository == 'agentic-ai-java/argi')
runs-on: ubuntu-22.04
needs: [format, check-style]
steps:
Expand All @@ -55,7 +55,7 @@ jobs:
- run: make tools
- run: make test
jdk-compatibility:
if: (github.repository == 'agentic-spring-ai/agentic-spring-ai')
if: (github.repository == 'agentic-ai-java/argi')
runs-on: ubuntu-22.04
strategy:
fail-fast: false
Expand All @@ -68,7 +68,7 @@ jobs:
java-version: ${{ matrix.java }}
- run: ./mvnw -B -DskipTests compile
api-compatibility:
if: (github.repository == 'agentic-spring-ai/agentic-spring-ai')
if: (github.repository == 'agentic-ai-java/argi')
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
Expand All @@ -77,40 +77,40 @@ jobs:
- uses: ./tools/github-actions/setup-deps
- run: make compatibility-check
extensions-compatibility:
if: (github.repository == 'agentic-spring-ai/agentic-spring-ai')
if: (github.repository == 'agentic-ai-java/argi')
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: ./tools/github-actions/setup-deps
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
with:
repository: agentic-spring-ai/agentic-spring-ai-extensions
repository: agentic-ai-java/argi-extensions
ref: 8f311b8caa584cd415ea338617a79499725f95f0
path: .ci/agentic-spring-ai-extensions
- run: tools/scripts/verify-extensions-compatibility.sh .ci/agentic-spring-ai-extensions
path: .ci/argi-extensions
- run: tools/scripts/verify-extensions-compatibility.sh .ci/argi-extensions
build:
if: (github.repository == 'agentic-spring-ai/agentic-spring-ai')
if: (github.repository == 'agentic-ai-java/argi')
runs-on: ubuntu-22.04
needs: [format, check-style, test, jdk-compatibility, api-compatibility, extensions-compatibility]
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
- uses: ./tools/github-actions/setup-deps
- run: corepack enable
- run: corepack prepare pnpm@10.5.1 --activate
- run: pnpm --dir agentic-ai-studio/agent-chat-ui install --frozen-lockfile
- run: pnpm --dir agentic-ai-studio/agent-chat-ui audit --prod
- run: pnpm --dir agentic-ai-studio/agent-chat-ui run format:check
- run: pnpm --dir agentic-ai-studio/agent-chat-ui run lint
- run: pnpm --dir agentic-ai-studio/agent-chat-ui exec tsc --noEmit
- run: pnpm --dir agentic-ai-studio/agent-chat-ui run test
- run: pnpm --dir agentic-ai-studio/agent-chat-ui run build:static
- run: pnpm --dir argi-studio/agent-chat-ui install --frozen-lockfile
- run: pnpm --dir argi-studio/agent-chat-ui audit --prod
- run: pnpm --dir argi-studio/agent-chat-ui run format:check
- run: pnpm --dir argi-studio/agent-chat-ui run lint
- run: pnpm --dir argi-studio/agent-chat-ui exec tsc --noEmit
- run: pnpm --dir argi-studio/agent-chat-ui run test
- run: pnpm --dir argi-studio/agent-chat-ui run build:static
- run: make tools
- run: make build
- name: Verify packaged Studio UI
shell: bash
run: |
studio_jar="$(find agentic-ai-studio/target -maxdepth 1 \
-name 'agentic-spring-ai-studio-*.jar' \
studio_jar="$(find argi-studio/target -maxdepth 1 \
-name 'argi-studio-*.jar' \
! -name '*-sources.jar' ! -name '*-javadoc.jar' -print -quit)"
test -n "$studio_jar"
jar tf "$studio_jar" | grep -q 'META-INF/resources/chatui/index.html'
35 changes: 0 additions & 35 deletions .github/workflows/issue-and-pr.yml

This file was deleted.

2 changes: 1 addition & 1 deletion .github/workflows/license-check.yml
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@ concurrency:
cancel-in-progress: true
jobs:
license-check:
if: (github.repository == 'agentic-spring-ai/agentic-spring-ai')
if: (github.repository == 'agentic-ai-java/argi')
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/linter.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,7 +28,7 @@ permissions:
contents: read
jobs:
linter:
if: (github.repository == 'agentic-spring-ai/agentic-spring-ai')
if: (github.repository == 'agentic-ai-java/argi')
runs-on: ubuntu-22.04
steps:
- uses: actions/checkout@11bd71901bbe5b1630ceea73d27597364c9af683 # v4.2.2
Expand Down
1 change: 1 addition & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -35,6 +35,7 @@ target/

# node_modules
**/node_modules
.pnpm-store/

# windows os
/extensions/
Expand Down
40 changes: 20 additions & 20 deletions AGENTS.md
Original file line number Diff line number Diff line change
@@ -1,12 +1,12 @@
# AGENTS.md - AI Assistant Guide for Agentic AI
# AGENTS.md - AI Assistant Guide for ARGI

This file provides guidance for AI assistants working with the Agentic AI codebase.
This file provides guidance for AI assistants working with the ARGI codebase.

## Project Overview

Agentic AI is a production-ready framework for building agents, workflows, and multi-agent applications. It is forked from Spring AI Alibaba and focuses on stateful agent runtime capabilities: graph orchestration, persistence, context engineering, and human-in-the-loop support. It also supports the multi-model integration capabilities provided by Spring AI.
ARGI (Agent Runtime and Graph Intelligence, pronounced "AR-jee") is a production-ready framework for building agents, workflows, and multi-agent applications. It is forked from Spring AI Alibaba and focuses on stateful agent runtime capabilities: graph orchestration, persistence, context engineering, and human-in-the-loop support. It also supports the multi-model integration capabilities provided by Spring AI.

> **Naming:** the product display name is *Agentic AI*. Published Maven coordinates (`io.github.agentic-spring-ai:*`), Java packages (`io.github.agentic.spring.ai`), configuration prefixes (`spring.ai.alibaba.*`), class names (`SpringAiAlibaba*`), the `Saa*` prefix, and metric names remain compatibility contracts. Do not rename them without a deprecation cycle.
> **Naming:** the product display name is *ARGI*. Published Maven coordinates use `io.github.agentic-ai:argi-*`, Java packages use `io.github.agentic.ai`, configuration prefixes use `argi.*`, and framework-specific public class names use the `Argi*` prefix.

**Key Features:**

Expand All @@ -20,24 +20,24 @@ Agentic AI is a production-ready framework for building agents, workflows, and m
## Repository Structure

```
agentic-spring-ai/
├── agentic-ai-agent-framework/ # Multi-agent framework (Sequential, Parallel, Routing, etc.)
├── agentic-ai-graph-core/ # Runtime providing persistence, workflow orchestration, state mgmt
├── agentic-ai-studio/ # Embedded UI for debugging agents visually
├── agentic-ai-bom/ # Bill of Materials for dependency management
argi/
├── argi-agent-framework/ # Multi-agent framework (Sequential, Parallel, Routing, etc.)
├── argi-graph-core/ # Runtime providing persistence, workflow orchestration, state mgmt
├── argi-studio/ # Embedded UI for debugging agents visually
├── argi-bom/ # Bill of Materials for dependency management
├── spring-boot-starters/ # Spring Boot Starters
│ ├── agentic-ai-starter-builtin-nodes/ # Built-in workflow nodes
│ └── agentic-ai-starter-graph-observation/ # Observability
│ ├── argi-starter-builtin-nodes/ # Built-in workflow nodes
│ └── argi-starter-graph-observation/ # Observability
├── tools/ # Build and linting tools
└── docs/ # Documentation
```

This repository holds the core only. Optional integrations live in separate repositories:

- [Extensions](https://github.com/agentic-spring-ai/agentic-spring-ai-extensions) - model and document contracts, A2A Nacos, config Nacos, AgentScope, JDBC/Redis/MongoDB graph persistence, the Docker code executor, and the tool-call sandbox.
- [Examples](https://github.com/agentic-spring-ai/examples/tree/main/examples) - chatbot, multi-agent, and graph engineering samples.
- [Extensions](https://github.com/agentic-ai-java/argi-extensions) - model and document contracts, A2A Nacos, config Nacos, AgentScope, JDBC/Redis/MongoDB graph persistence, the Docker code executor, and the tool-call sandbox.
- [Examples](https://github.com/agentic-ai-java/argi-examples/tree/main/examples) - chatbot, multi-agent, and graph engineering samples.

Since `2.1.0` the core no longer imports the Extensions BOM. Applications that use optional integrations must import both `agentic-spring-ai-bom` and the matching Extensions BOM.
Since `2.1.0` the core no longer imports the Extensions BOM. Applications that use optional integrations must import both `argi-bom` and the matching Extensions BOM.

## Build System

Expand All @@ -54,7 +54,7 @@ Since `2.1.0` the core no longer imports the Extensions BOM. Applications that u
./mvnw -B package -DskipTests=true

# Build a specific module
./mvnw -pl :agentic-spring-ai-agent-framework -B package -DskipTests=true
./mvnw -pl :argi-agent-framework -B package -DskipTests=true

# Clean project
./mvnw clean
Expand Down Expand Up @@ -86,7 +86,7 @@ make licenses-check

### General Guidelines

- Follow **Spring AI Alibaba** standard code formatting.
- Follow the repository's existing Java formatting and Checkstyle rules.
- Use **Apache 2.0** license headers for all Java files.
- **Java 17** features are encouraged (records, switch expressions, text blocks).
- Avoid `System.out.println` - use SLF4J logging.
Expand Down Expand Up @@ -141,12 +141,12 @@ The project uses `make` for linting tasks:

1. **JDK Version**: Project targets JDK 17. Use appropriate language features.
2. **Spring Boot**: Uses Spring Boot 4.1.1 with Spring AI 2.0.1. The `jakarta.*` namespace applies throughout; there is no `javax.*` code.
3. **Dependencies**: Check `agentic-spring-ai-bom` or parent pom for version management.
3. **Dependencies**: Check `argi-bom` or parent pom for version management.
4. **Makefile**: Use the Makefile in the root for project maintenance tasks (linting, license checks).
5. **Structure**: When adding new features, prefer creating or updating modules within `agentic-ai-agent-framework` or `spring-boot-starters` depending on the scope.
5. **Structure**: When adding new features, prefer creating or updating modules within `argi-agent-framework` or `spring-boot-starters` depending on the scope.

## Important Links

- **Issues**: [https://github.com/agentic-spring-ai/agentic-spring-ai/issues](https://github.com/agentic-spring-ai/agentic-spring-ai/issues)
- **Source**: [https://github.com/agentic-spring-ai/agentic-spring-ai](https://github.com/agentic-spring-ai/agentic-spring-ai)
- **Issues**: [https://github.com/agentic-ai-java/argi/issues](https://github.com/agentic-ai-java/argi/issues)
- **Source**: [https://github.com/agentic-ai-java/argi](https://github.com/agentic-ai-java/argi)
- **Contributing**: [CONTRIBUTING.md](CONTRIBUTING.md)
2 changes: 1 addition & 1 deletion CODE_OF_CONDUCT-zh.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## 我们的承诺

Agentic AI 社区致力于提供开放、友好、尊重他人的协作环境。无论背景、经验、身份、观点或使用场景如何,所有参与者都应受到尊重。
ARGI 社区致力于提供开放、友好、尊重他人的协作环境。无论背景、经验、身份、观点或使用场景如何,所有参与者都应受到尊重。

## 期望行为

Expand Down
2 changes: 1 addition & 1 deletion CODE_OF_CONDUCT.md
Original file line number Diff line number Diff line change
Expand Up @@ -2,7 +2,7 @@

## Our Commitment

The Agentic AI community is committed to providing an open, welcoming, and respectful collaboration environment. Every participant should be treated with respect, regardless of background, experience, identity, viewpoint, or use case.
The ARGI community is committed to providing an open, welcoming, and respectful collaboration environment. Every participant should be treated with respect, regardless of background, experience, identity, viewpoint, or use case.

## Expected Behavior

Expand Down
30 changes: 15 additions & 15 deletions CONTRIBUTING-zh.md
Original file line number Diff line number Diff line change
@@ -1,14 +1,14 @@
## 如何贡献

## 感谢你为 Agentic AI 贡献!
## 感谢你为 ARGI 贡献!

Agentic AI 从开源建设以来,受到了很多社区同学的关注。社区的每一个 Issue ,每一个 PR,都是对整个项目的帮助,都在为建设更好用的 Spring AI 添砖加瓦。
ARGI 从开源建设以来,受到了很多社区同学的关注。社区的每一个 Issue ,每一个 PR,都是对整个项目的帮助,都在为建设更好用的 Spring AI 添砖加瓦。

我们真心地感谢为这个项目提出过 Issue 和 PR 的开发者。我们希望有更多社区的开发者加入进来,一起把项目做好。

## 贡献流程

在贡献代码之前,请您稍微花一些时间了解为 Agentic AI 贡献代码的流程。
在贡献代码之前,请您稍微花一些时间了解为 ARGI 贡献代码的流程。

### 贡献什么?

Expand All @@ -18,32 +18,32 @@ Agentic AI 从开源建设以来,受到了很多社区同学的关注。社区

### 从哪里入手?

如果您是初次贡献,可以先从 [good first issue](https://github.com/agentic-spring-ai/agentic-spring-ai/labels/good%20first%20issue) 和 [help wanted](https://github.com/agentic-spring-ai/agentic-spring-ai/labels/help%20wanted) 中认领一个比较简单的任务。
如果您是初次贡献,可以先从 [good first issue](https://github.com/agentic-ai-java/argi/labels/good%20first%20issue) 和 [help wanted](https://github.com/agentic-ai-java/argi/labels/help%20wanted) 中认领一个比较简单的任务。

### Fork 仓库,并将其 Clone 到本地

- 点击 [本项目](https://github.com/agentic-spring-ai/agentic-spring-ai) 右上角的 `Fork` 图标 将 agentic-spring-ai/agentic-spring-ai  fork 到自己的空间。
- 将自己账号下的 agentic-spring-ai 仓库 clone 到本地,例如我的账号是 `chickenlj`,那就是执行 `git clone https://github.com/chickenlj/agentic-spring-ai.git` 进行 clone 操作。
- 点击 [本项目](https://github.com/agentic-ai-java/argi) 右上角的 `Fork` 图标 将 agentic-ai-java/argi  fork 到自己的空间。
- 将自己账号下的 argi 仓库 clone 到本地,例如我的账号是 `chickenlj`,那就是执行 `git clone https://github.com/chickenlj/argi.git` 进行 clone 操作。

### 配置 Github 信息

- 在自己的机器执行 `git config --list` ,查看 git 的全局用户名和邮箱。
- 检查显示的 user.name 和 user.email 是不是与自己 github 的用户名和邮箱相匹配。
- 如果公司内部有自己的 gitlab 或者使用了其他商业化的 gitlab,则可能会出现不匹配的情况。这时候,你需要为 agentic-spring-ai 项目单独设置用户名和邮箱。
- 如果公司内部有自己的 gitlab 或者使用了其他商业化的 gitlab,则可能会出现不匹配的情况。这时候,你需要为 argi 项目单独设置用户名和邮箱。
- 设置用户名和邮箱的方式请参考 github 官方文档,[设置用户名](https://help.github.com/articles/setting-your-username-in-git/#setting-your-git-username-for-a-single-repository),[设置邮箱](https://help.github.com/articles/setting-your-commit-email-address-in-git/)。

### Merge 最新代码

fork 出来的代码后,原仓库 main 分支可能出现了新的提交,这时候为了避免提交的 PR 和 Main 中的提交出现冲突,需要及时 merge main 分支。

- 在你本机的 agentic-spring-ai 目录下,执行 `git remote add upstream https://github.com/agentic-spring-ai/agentic-spring-ai` 将原始仓库地址配置为 upstream。
- 在你本机的 agentic-spring-ai 目录下,执行 `git fetch upstream` 从 upstream 拉取更新。
- 在你本机的 agentic-spring-ai 目录下,执行 `git checkout main` 切换到 main 分支。
- 在你本机的 agentic-spring-ai 目录下,执行 `git rebase upstream/main` rebase 最新代码。
- 在你本机的 argi 目录下,执行 `git remote add upstream https://github.com/agentic-ai-java/argi` 将原始仓库地址配置为 upstream。
- 在你本机的 argi 目录下,执行 `git fetch upstream` 从 upstream 拉取更新。
- 在你本机的 argi 目录下,执行 `git checkout main` 切换到 main 分支。
- 在你本机的 argi 目录下,执行 `git rebase upstream/main` rebase 最新代码。

### 配置 Spring AI Alibaba 标准的代码格式
### 配置代码格式

Agentic AI 从 Spring AI Alibaba Fork 而来,在代码规范方面直接沿用了 Spring AI Alibaba 的项目规范,在正式开始之前请参考相关代码格式规范说明,提交代码前需要先配置好代码格式规范。
开发前请在 IDE 中配置本仓库的 Java 格式规范,并在提交代码前运行格式与 Checkstyle 检查。

### 开发

Expand All @@ -55,7 +55,7 @@ Agentic AI 从 Spring AI Alibaba Fork 而来,在代码规范方面直接沿用

### 本地Checkstyle

为了减少一些不必要的代码风格问题,Agentic AI 提供了本地 Checkstyle 检查功能。可以在项目根目录下执行 `mvn checkstyle:check` 命令来检查代码风格是否符合规范。
为了减少一些不必要的代码风格问题,ARGI 提供了本地 Checkstyle 检查功能。可以在项目根目录下执行 `mvn checkstyle:check` 命令来检查代码风格是否符合规范。

### 删除未使用的导入

Expand All @@ -76,4 +76,4 @@ Commit 规范: git commit -m "类型(模块): 空格 符合规范的提交信息

### 提交 PR

提交 PR,根据 `Pull request template` 写明修改点和实现的功能,等待 code review 和 合并,成为 Agentic AI Contributor,为更好用的 Agentic AI 做出贡献。
提交 PR,根据 `Pull request template` 写明修改点和实现的功能,等待 code review 和 合并,成为 ARGI Contributor,为更好用的 ARGI 做出贡献。
Loading
Loading