Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
26 commits
Select commit Hold shift + click to select a range
8eae4ed
🐛 Bugfix: Guard memory_user_config against None in store/search memor…
JasonW404 Jul 2, 2026
2bae2f3
✨Feat:Integrate openjiuwen's intelligent agent evaluation function cl…
DongJiBao2001 Jul 3, 2026
d3d720f
fix:Fix share link copy fallback (#3340)
gjc199 Jul 6, 2026
8fe1b06
🐛 Bugfix: Update homepage redirect link (#3376)
xuyaqist Jul 6, 2026
8eb94e6
🐛 Bugfix: Tool debugging bug fixes. (#3371)
YehongPan Jul 6, 2026
a4d7b6c
🐛 Bugfix: W11 capacity suggestion for batch gear modals + model add/e…
wuyuanfr Jul 6, 2026
76bab69
♻️ Refactor: Auto-create conversation when conversation_id is empty i…
xuyaqist Jul 7, 2026
5c78432
Feat/opt agent context refactor v2 (#3383)
liudfgoo Jul 7, 2026
1bd2c1c
Enhance image builds and monitoring with no-cache and cleanup (#3344)
hhhhsc701 Jul 7, 2026
3077bcd
feat(ragflow): add RAGFlow search tool (#3378)
jixiaolong Jul 8, 2026
fcff403
♻️ Skill now can read files directly with relative path (#3384)
Jasonxia007 Jul 8, 2026
80a5d1c
Add image registry prefix support and optimize offline deployment (#3…
hhhhsc701 Jul 9, 2026
592d0cb
feat(agent-repository): remove categories and allow custom emoji icon…
Lifeng-Chen Jul 9, 2026
1abd895
🐛Bugfix: Fix responsive layout issues on knowledge base page (#3381)
ayiya12 Jul 9, 2026
5a6fce7
🐛 Bugfix: Fixed an issue with tools relying on large models: previous…
YehongPan Jul 10, 2026
2a9832c
Disable context component budget pruning (#3394)
JasonW404 Jul 10, 2026
5f13d6e
🐛Bugfix: Persist conversation agent and verify jwt expiry (#3392)
gjc199 Jul 10, 2026
4a48c18
♻️ Refactor: Remove the limit on the maximum number of execution step…
YehongPan Jul 10, 2026
3ee20b4
fix context manager builtin tool context (#3401)
JasonW404 Jul 13, 2026
20bad41
支持web config runtime northbound多副本 (#3390)
hhhhsc701 Jul 13, 2026
e341ff5
✨ Feature: add skill repository lifecycle and management UI (#3393)
Summer-Si Jul 13, 2026
e218281
Add OAuth login mode config and forced redirect handling (#3414)
hhhhsc701 Jul 14, 2026
0070b9e
✨ Feature: MCP market restructure — Repository, My MCPs, Review Cente…
menglinghan Jul 14, 2026
d661a68
🐛 Bugfix: Fix skill count display error when delete a skill has been …
WMC001 Jul 14, 2026
baeff29
feat: move /owner-manage left-nav from ASSET_OWNER to SU, add index c…
Lifeng-Chen Jul 14, 2026
aba9116
build(deps-dev): bump unstructured-inference in /sdk
dependabot[bot] Jul 14, 2026
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 .dockerignore
Original file line number Diff line number Diff line change
Expand Up @@ -62,4 +62,4 @@ assets/
.Spotlight-V100
.Trashes
ehthumbs.db
Thumbs.db
Thumbs.db
53 changes: 25 additions & 28 deletions .github/workflows/build-offline-package.yml
Original file line number Diff line number Diff line change
Expand Up @@ -6,15 +6,7 @@ on:
version:
description: 'Image version tag, e.g. v2.2.0 or latest'
required: false
default: ''
platform:
description: 'Target platform'
required: false
default: 'amd64'
type: choice
options:
- amd64
- arm64
default: 'latest'
image_source:
description: 'Image source'
required: false
Expand All @@ -23,15 +15,6 @@ on:
options:
- general
- mainland
target:
description: 'Package target'
required: false
default: 'all'
type: choice
options:
- docker
- k8s
- all
include_source:
description: 'Include source code in the package'
required: false
Expand All @@ -41,6 +24,12 @@ on:
jobs:
build-offline-package:
runs-on: ubuntu-latest
strategy:
fail-fast: false
matrix:
platform:
- amd64
- arm64

steps:
- name: Free disk space
Expand All @@ -63,7 +52,7 @@ jobs:
- name: Set version and platform variables
id: set-vars
run: |
PLATFORM="${{ inputs.platform }}"
PLATFORM="${{ matrix.platform }}"
REF_TYPE="${{ github.ref_type }}"
REF_NAME="${{ github.ref_name }}"

Expand All @@ -81,9 +70,14 @@ jobs:
VERSION="latest"
fi

SOURCE_SUFFIX=""
if [ "${{ inputs.include_source }}" = "true" ]; then
SOURCE_SUFFIX="-with-source"
fi

echo "version=$VERSION" >> $GITHUB_OUTPUT
echo "platform=$PLATFORM" >> $GITHUB_OUTPUT
echo "package-name=nexent-offline-${{ inputs.target }}-${PLATFORM}-${VERSION}" >> $GITHUB_OUTPUT
echo "package-name=nexent-${VERSION}-${PLATFORM}${SOURCE_SUFFIX}" >> $GITHUB_OUTPUT

- name: Set deployment components
id: set-components
Expand All @@ -104,24 +98,26 @@ jobs:
--include-source "${{ inputs.include_source }}" \
--image-source "${{ inputs.image_source }}" \
--components "${{ steps.set-components.outputs.components }}" \
--target "${{ inputs.target }}" \
--compress true


--target all \
--compress false

- name: Show zip package
- name: Show offline package
run: |
PACKAGE_NAME="${{ steps.set-vars.outputs.package-name }}"

echo "Package created by build script: ${PACKAGE_NAME}.zip"
echo "Package directory created by build script: ./offline-output"
echo "GitHub Actions will publish the final downloadable artifact as ${PACKAGE_NAME}.zip"

ls -lh "${PACKAGE_NAME}.zip"
du -sh ./offline-output
find ./offline-output -maxdepth 2 -type f | sort | head -50

- name: Upload artifact
uses: actions/upload-artifact@v4
with:
name: ${{ steps.set-vars.outputs.package-name }}
path: ${{ steps.set-vars.outputs.package-name }}.zip
path: ./offline-output
if-no-files-found: error
include-hidden-files: true
retention-days: 30

- name: Summary
Expand All @@ -133,6 +129,7 @@ jobs:
echo "Version: ${{ steps.set-vars.outputs.version }}"
echo "Platform: ${{ steps.set-vars.outputs.platform }}"
echo "Package: ${{ steps.set-vars.outputs.package-name }}.zip"
echo "Note: the downloaded artifact zip contains the offline package contents directly."
echo "Target: ${{ inputs.target }}"
echo "Components: ${{ steps.set-components.outputs.components }}"
echo "Image source: ${{ inputs.image_source }}"
Expand Down
4 changes: 2 additions & 2 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -20,7 +20,7 @@ docker/openssh-server
docker/volumes/db/data
docker/.env
docker/.env.generated
deploy/docker/assets/monitoring/monitoring.env
deploy/env/monitoring.env
docker/.run
docker/deploy.options
k8s/helm/deploy.options
Expand Down Expand Up @@ -84,4 +84,4 @@ _doc/
/deploy/env/.env
/deploy/env/.env.bak

agent_repository_frontend
agent_repository_frontend
14 changes: 5 additions & 9 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,7 @@ Nexent is a zero-code platform for auto-generating production-grade AI agents, b

> ⭐ Before you get started, please star us on [GitHub](https://github.com/ModelEngine-Group/nexent) — your support drives us forward!

## Option 1: Try Our Official Demo

No installation required — jump right in with our **[online demo environment](http://60.204.251.153:3000/en)** to experience Nexent's capabilities instantly.

## Option 2: Deploy on Your Own
## Deploy on Your Own

If you need to run Nexent locally or in your private infrastructure, we offer two deployment options:

Expand All @@ -50,13 +46,13 @@ cd nexent
bash deploy.sh docker
```

The root `deploy.sh` only forwards to the target deploy script; the native Docker implementation is `bash deploy/docker/deploy.sh`. The Docker and Kubernetes deploy scripts share the same deployment configuration model. Interactive runs show Bash TUI menus for component selection, port policy, and image source. `infrastructure` is required; `application`, `data-process`, and `supabase` are selected by default and can be disabled when you want a smaller deployment. Use `b`/Backspace to return to the previous TUI step and `q` to quit. Non-interactive runs can pass the same choices with `--version`, `--components`, `--port-policy development|production`, and `--image-source general|mainland|local-latest`. Successful deployments save non-sensitive choices to each deploy directory's `deploy.options` for reuse on the next run.
The root `deploy.sh` only forwards to the target deploy script; the native Docker implementation is `bash deploy/docker/deploy.sh`. The Docker and Kubernetes deploy scripts share the same deployment configuration model. Interactive runs show Bash TUI menus for component selection, port policy, and image source. `infrastructure` is required; `application`, `data-process`, and `supabase` are selected by default and can be disabled when you want a smaller deployment. Use `b`/Backspace to return to the previous TUI step and `q` to quit. Use `--defaults` to skip the TUI and deploy with saved `deploy.options` or built-in defaults. Non-interactive runs can also pass the same choices with `--version`, `--components`, `--port-policy development|production`, and `--image-source general|mainland|local-latest`. Successful deployments save non-sensitive choices to each deploy directory's `deploy.options` for reuse on the next run.

Docker and Kubernetes both use `deploy/env/.env` as the runtime configuration file. Existing `deploy/env/.env` is kept as-is. If it does not exist, the deploy scripts first reuse `docker/.env`, then fall back to `deploy/env/.env.example`.
Docker and Kubernetes both use `deploy/env/.env` as the runtime configuration file. Existing `deploy/env/.env` is kept as-is. If it does not exist, the deploy scripts first reuse `docker/.env`, then fall back to `deploy/env/.env.example`. Monitoring-specific settings are generated from `deploy/env/monitoring.env.example` into `deploy/env/monitoring.env`.

Docker uninstall is handled by `bash uninstall.sh docker`. It can preserve or delete data volumes: run it interactively, pass `--delete-volumes true|false`, or use `bash uninstall.sh docker delete-all` to remove containers and persistent data.

Offline image packages can be built with `bash deploy/offline/build_offline_package.sh --target docker --compress true`. The package includes image tar files, `load-images.sh`, root deploy/uninstall entrypoints, deployment scripts, SQL files, `manifest.yaml`, and `checksums.txt`; deploy it with `bash deploy.sh --load-images docker ...` on the target host.
Offline image packages can be built with `bash build.sh --package --target docker --compress true` or `bash deploy/offline/build_offline_package.sh --target docker --compress true`. The package includes image tar files, `load-images.sh`, `push-images.sh`, root deploy/uninstall entrypoints, deployment scripts, SQL files, `manifest.yaml`, and `checksums.txt`. Package deploys use saved `deploy.options` or built-in defaults without opening the TUI; add `--config` to configure interactively. Deploy with `bash deploy.sh --load-images docker ...` on the target host, or use `bash deploy.sh --push-images --image-registry-prefix registry.example.com/nexent docker ...` to push loaded images to an internal registry and deploy with that image prefix. When `--push-images` is used without a prefix, `deploy.sh` asks for it before `push-images.sh` prompts for the registry username and password.

For detailed deployment instructions, see [Docker Installation](https://modelengine-group.github.io/nexent/en/quick-start/installation.html).

Expand All @@ -74,7 +70,7 @@ The native Kubernetes implementation is `bash deploy/k8s/deploy.sh`. It reads th

Kubernetes uninstall is handled by `bash uninstall.sh k8s`. It removes the Helm release first, then can optionally delete the namespace and local PV data. Use `--delete-namespace true|false`, `--delete-local-data true|false`, or `bash uninstall.sh k8s delete-all`; pass `--keep-local-data` with `delete-all` to preserve local volume contents.

Kubernetes offline packages use the same builder with `--target k8s` or `--target all`. Run `load-images.sh` on every cluster node that needs the images, or push the loaded images to an internal registry before deploying with the same version and image-source options used during packaging.
Kubernetes offline packages use the same builder with `--target k8s` or `--target all`. Run `load-images.sh` on every cluster node that needs the images, or use `--push-images --image-registry-prefix registry.example.com/nexent` to push the images to an internal registry before deploying with the same version, image source, and image registry prefix.

For detailed deployment instructions, see [Kubernetes Installation](https://modelengine-group.github.io/nexent/en/quick-start/kubernetes-installation.html).

Expand Down
14 changes: 5 additions & 9 deletions README_CN.md
Original file line number Diff line number Diff line change
Expand Up @@ -20,11 +20,7 @@ Nexent 是一个基于 **Harness Engineering** 原则打造的零代码智能体

> ⭐ 在您开始使用前,请您顺手在 [GitHub](https://github.com/ModelEngine-Group/nexent) 为我们点个 Star,您的支持是我们前进的动力!

## 方式一:使用官方体验环境

无需安装,直接访问我们的 **[在线体验环境](http://60.204.251.153:3000/zh)**,快速体验 Nexent 的强大功能。

## 方式二:自行部署
## 自行部署

如果需要在本地或私有环境中部署 Nexent,我们提供两种部署方式:

Expand All @@ -50,13 +46,13 @@ cd nexent
bash deploy.sh docker
```

根目录 `deploy.sh` 只负责转发到目标部署脚本;Docker 真实实现为 `bash deploy/docker/deploy.sh`。Docker 和 Kubernetes 使用同一套部署配置模型;交互式运行会通过 Bash TUI 选择组件、端口策略和镜像源。`infrastructure` 必选,`application`、`data-process`、`supabase` 默认选中,也可以取消以部署更小的组合。非交互部署可传入 `--version`、`--components`、`--port-policy development|production`、`--image-source general|mainland|local-latest`。
根目录 `deploy.sh` 只负责转发到目标部署脚本;Docker 真实实现为 `bash deploy/docker/deploy.sh`。Docker 和 Kubernetes 使用同一套部署配置模型;交互式运行会通过 Bash TUI 选择组件、端口策略和镜像源。`infrastructure` 必选,`application`、`data-process`、`supabase` 默认选中,也可以取消以部署更小的组合。使用 `--defaults` 可跳过 TUI,并复用已保存的 `deploy.options` 或内置默认值。非交互部署也可传入 `--version`、`--components`、`--port-policy development|production`、`--image-source general|mainland|local-latest`。

Docker 与 Kubernetes 统一使用 `deploy/env/.env` 作为运行配置文件;已有 `deploy/env/.env` 会原样保留。如果 `deploy/env/.env` 不存在,部署脚本会优先复用已有的 `docker/.env`,再回退到 `deploy/env/.env.example`。
Docker 与 Kubernetes 统一使用 `deploy/env/.env` 作为运行配置文件;已有 `deploy/env/.env` 会原样保留。如果 `deploy/env/.env` 不存在,部署脚本会优先复用已有的 `docker/.env`,再回退到 `deploy/env/.env.example`。监控相关配置会从 `deploy/env/monitoring.env.example` 生成到 `deploy/env/monitoring.env`。

Docker 卸载入口为 `bash uninstall.sh docker`,默认交互确认是否删除持久化数据;也可以通过 `--delete-volumes true|false` 控制,或使用 `bash uninstall.sh docker delete-all` 同时删除容器和持久化数据。

离线镜像包可通过 `bash deploy/offline/build_offline_package.sh --target docker --compress true` 构建。包内包含镜像 tar、`load-images.sh`、根目录部署/卸载入口、部署脚本、SQL 文件、`manifest.yaml` 和 `checksums.txt`在目标机器上使用 `bash deploy.sh --load-images docker ...` 加载镜像并部署。
离线镜像包可通过 `bash build.sh --package --target docker --compress true` 或 `bash deploy/offline/build_offline_package.sh --target docker --compress true` 构建。包内包含镜像 tar、`load-images.sh`、`push-images.sh`、根目录部署/卸载入口、部署脚本、SQL 文件、`manifest.yaml` 和 `checksums.txt`。包内部署会复用已保存的 `deploy.options` 或内置默认值,默认不进入 TUI;添加 `--config` 可交互配置。在目标机器上使用 `bash deploy.sh --load-images docker ...` 加载镜像并部署,或使用 `bash deploy.sh --push-images --image-registry-prefix registry.example.com/nexent docker ...` 推送到内部仓库并使用该镜像前缀部署。启用 `--push-images` 且未传前缀时,`deploy.sh` 会先询问镜像仓库前缀,随后 `push-images.sh` 询问仓库账号和密码

详细部署指南请参考 [Docker 安装部署](https://modelengine-group.github.io/nexent/zh/quick-start/installation.html)。

Expand All @@ -74,7 +70,7 @@ Kubernetes 真实实现为 `bash deploy/k8s/deploy.sh`。它会读取同一个`d

根目录卸载入口为 `bash uninstall.sh docker ...` 或 `bash uninstall.sh k8s ...`,具体实现仍分别在 `deploy/docker/uninstall.sh` 和 `deploy/k8s/uninstall.sh`。

Kubernetes 离线包使用同一个构建脚本,传入 `--target k8s` 或 `--target all`。部署前需要在每个需要运行 Pod 的节点上执行 `load-images.sh`,或将镜像推送到集群可访问的内部镜像仓库,再使用与打包时一致的版本和镜像源参数部署
Kubernetes 离线包使用同一个构建脚本,传入 `--target k8s` 或 `--target all`。部署前需要在每个需要运行 Pod 的节点上执行 `load-images.sh`,或使用 `--push-images --image-registry-prefix registry.example.com/nexent` 将镜像推送到集群可访问的内部镜像仓库,再使用与打包时一致的版本、镜像源和镜像仓库前缀部署

详细部署指南请参考 [Kubernetes 安装部署](https://modelengine-group.github.io/nexent/zh/quick-start/kubernetes-installation.html)。

Expand Down
Loading
Loading