Skip to content

[ISSUE #14209] Enhance MainLayout: Add language change handling to fetch notices on update#14210

Merged
KomachiSion merged 1 commit into
alibaba:developfrom
lvren1485:develop
Jan 26, 2026
Merged

[ISSUE #14209] Enhance MainLayout: Add language change handling to fetch notices on update#14210
KomachiSion merged 1 commit into
alibaba:developfrom
lvren1485:develop

Conversation

@lvren1485

Copy link
Copy Markdown
Contributor

Try to fix #14209

翻阅历史issue,发现 #11729 曾进行过关于公告语言切换的修复,但仍需要手动刷新页面才会切换。

添加 componentDidUpdate 生命周期方法,监听语言变化并重新获取公告,这样点击切换按钮时通知会一起变化。

…update

添加 componentDidUpdate 生命周期方法,监听语言变化并重新获取公告
@CLAassistant

CLAassistant commented Jan 22, 2026

Copy link
Copy Markdown

CLA assistant check
All committers have signed the CLA.

@github-actions

Copy link
Copy Markdown

Thanks for your this PR. 🙏
Please check again for your PR changes whether contains any usage/api/configuration change such as Add new API , Add new configuration, Change default value of configuration.
If so, please add or update documents(markdown type) in docs/next/ for repository nacos-group/nacos-group.github.io


感谢您提交的PR。 🙏
请再次查看您的PR内容,确认是否包含任何使用方式/API/配置参数的变更,如:新增API新增配置参数修改默认配置等操作。
如果是,请确保在提交之前,在仓库nacos-group/nacos-group.github.io中的docs/next/目录下添加或更新文档(markdown格式)。

@KomachiSion KomachiSion added this to the 3.1.2 milestone Jan 26, 2026
@KomachiSion KomachiSion added area/Nacos console Related to Nacos consle kind/bug Category issues or prs related to bug. labels Jan 26, 2026
@KomachiSion
KomachiSion merged commit 021149e into alibaba:develop Jan 26, 2026
2 checks passed
KomachiSion pushed a commit that referenced this pull request Feb 4, 2026
…update (#14210)

添加 componentDidUpdate 生命周期方法,监听语言变化并重新获取公告
shiyiyue1102 pushed a commit that referenced this pull request Feb 12, 2026
* Enhance MainLayout: Add language change handling to fetch notices on update (#14210)

添加 componentDidUpdate 生命周期方法,监听语言变化并重新获取公告

* fix(startup): add JVM --add-opens options for JDK 17+ compatibility (#14307)

Add --add-opens JVM options to startup scripts for Java 9+ to resolve
JRaft reflection issues when running on JDK 17+.

Added options:
- --add-opens=java.base/java.lang=ALL-UNNAMED
- --add-opens=java.base/java.lang.reflect=ALL-UNNAMED
- --add-opens=java.base/java.util=ALL-UNNAMED

Closes #14122

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* feat(github): add anti-spam protection for GitHub Issues (#14333)

- Add config.yml to disable blank issues and guide users to proper channels
- Add anti-spam.yml GitHub Actions workflow with:
  - Keyword-based spam detection (airline names, multi-language terms)
  - New account detection (< 7 days)
  - Auto-close, label, and lock spam issues
- Remove deprecated old-issue-template.md

This addresses the recent spam bot attacks targeting the repository.

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* chore: fix some typos in comments (#14263)

Signed-off-by: slightsharp <slightsharp@outlook.com>

* fix(github): improve anti-spam detection accuracy (#14356)

- Fix account age detection by fetching user data via GitHub API
  (issue.user.created_at is not available in webhook payload)
- Add more airline names (Swiss Air, Austrian Airlines, TAP Portugal, etc.)
- Add French spam keywords (billet, réservation, vol, etc.)
- Add phone number pattern detection (2+ phone numbers triggers spam)
- Improve logging for debugging

This fixes the issue where spam from new accounts was not being detected.

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* test(auth): improve readability of LDAP auth integration test (#14357)

* fix run bugs

* 修改skill展示为文件夹形式

* skill ai优化更新

* 修复上传skill压缩包限制10M

* 创新skill填写名称限制提示

* skill文件夹多层次结构

* 优化前端页面

* auth open

* auth open

* delete .github

* delete .github

* Delete .github/ISSUE_TEMPLATE directory

* delete .github

---------

Signed-off-by: cxhello <caixiaohuichn@gmail.com>
Signed-off-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: 潘祤麒 <91871324+lvren1485@users.noreply.github.com>
Co-authored-by: cxhello <49056040+cxhello@users.noreply.github.com>
Co-authored-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: Zihan <zzh18189368647@gmail.com>
shiyiyue1102 pushed a commit to shiyiyue1102/nacos that referenced this pull request Mar 5, 2026
* Enhance MainLayout: Add language change handling to fetch notices on update (alibaba#14210)

添加 componentDidUpdate 生命周期方法,监听语言变化并重新获取公告

* fix(startup): add JVM --add-opens options for JDK 17+ compatibility (alibaba#14307)

Add --add-opens JVM options to startup scripts for Java 9+ to resolve
JRaft reflection issues when running on JDK 17+.

Added options:
- --add-opens=java.base/java.lang=ALL-UNNAMED
- --add-opens=java.base/java.lang.reflect=ALL-UNNAMED
- --add-opens=java.base/java.util=ALL-UNNAMED

Closes alibaba#14122

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* feat(github): add anti-spam protection for GitHub Issues (alibaba#14333)

- Add config.yml to disable blank issues and guide users to proper channels
- Add anti-spam.yml GitHub Actions workflow with:
  - Keyword-based spam detection (airline names, multi-language terms)
  - New account detection (< 7 days)
  - Auto-close, label, and lock spam issues
- Remove deprecated old-issue-template.md

This addresses the recent spam bot attacks targeting the repository.

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* chore: fix some typos in comments (alibaba#14263)

Signed-off-by: slightsharp <slightsharp@outlook.com>

* fix(github): improve anti-spam detection accuracy (alibaba#14356)

- Fix account age detection by fetching user data via GitHub API
  (issue.user.created_at is not available in webhook payload)
- Add more airline names (Swiss Air, Austrian Airlines, TAP Portugal, etc.)
- Add French spam keywords (billet, réservation, vol, etc.)
- Add phone number pattern detection (2+ phone numbers triggers spam)
- Improve logging for debugging

This fixes the issue where spam from new accounts was not being detected.

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* test(auth): improve readability of LDAP auth integration test (alibaba#14357)

* fix run bugs

* 修改skill展示为文件夹形式

* skill ai优化更新

* 修复上传skill压缩包限制10M

* 创新skill填写名称限制提示

* skill文件夹多层次结构

* 优化前端页面

* auth open

* auth open

* delete .github

* delete .github

* Delete .github/ISSUE_TEMPLATE directory

* delete .github

---------

Signed-off-by: cxhello <caixiaohuichn@gmail.com>
Signed-off-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: 潘祤麒 <91871324+lvren1485@users.noreply.github.com>
Co-authored-by: cxhello <49056040+cxhello@users.noreply.github.com>
Co-authored-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: Zihan <zzh18189368647@gmail.com>
shiyiyue1102 added a commit that referenced this pull request Mar 5, 2026
* refactor(common): remove unused cache package (#14546)

Remove the entire com.alibaba.nacos.common.cache package which has
zero production references. This package was originally created as a
replacement for Guava Cache but was abandoned after bugs were found
and the code was rolled back to Guava.

Also remove the LruCache targeted SpotBugs exclusion from
spotbugs-exclude.xml since the class no longer exists.

Fixes #14545

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* testcase

Change-Id: I7204e330ad381c2bb01654705285b8bf4fa0d840

* skills registry and nacos copolit (#14245)

support skill registry and nacos copilot

* skill registry with copolit (#14388)

* test case (#14395)

Change-Id: I8fd1e71c908e5674278752b0848c2554beffee88

* * optimize skill

* optimize skill

* feat(prompt): Add Prompt Registry (#14440)

* feat(ai): prompt registry支持

* refactor(ai): 重构版本比较和JSON字段处理逻辑 (#14441)

- 将硬编码的版本部分数量替换为VERSION_PARTS_COUNT常量
- 添加FIELD_VERSION、FIELD_TEMPLATE和FIELD_COMMIT_MSG常量用于JSON字段名
- 使用常量替换硬编码的".json"后缀字符串
- 统一版本比较循环中的数组长度判断逻辑

* feat(ai): 支持配置管理中的标签功能 (#14453)

* feat(ai): 支持配置管理中的标签功能

- 在数据库配置信息更新逻辑中实现动态SQL构建,仅当描述字段不为null时更新c_desc字段
- 重构嵌入式和外部数据源的配置信息持久化服务,支持条件性更新描述字段
- 新增promptTags字段到AI提示词相关的基础信息和详情模型中
- 扩展AI提示词发布和元数据更新接口,支持标签参数传递
- 实现在配置信息持久化过程中将标签信息存储到数据库
- 添加配置变更追踪和事件发布功能,支持元数据更新的通知机制

* refactor(config): 调整配置信息持久化服务中的映射器初始化位置

- 将 ConfigInfoMapper 的初始化从方法开始处移动到实际使用前的位置
- 确保映射器在执行数据库操作之前正确初始化
- 提高代码可读性和逻辑流程的清晰度
- 优化外部配置信息持久化服务的代码结构
- 统一嵌入式和外部配置信息持久化服务的映射器初始化方式

* Modify skill functions and display (#14465)

* Enhance MainLayout: Add language change handling to fetch notices on update (#14210)

添加 componentDidUpdate 生命周期方法,监听语言变化并重新获取公告

* fix(startup): add JVM --add-opens options for JDK 17+ compatibility (#14307)

Add --add-opens JVM options to startup scripts for Java 9+ to resolve
JRaft reflection issues when running on JDK 17+.

Added options:
- --add-opens=java.base/java.lang=ALL-UNNAMED
- --add-opens=java.base/java.lang.reflect=ALL-UNNAMED
- --add-opens=java.base/java.util=ALL-UNNAMED

Closes #14122

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* feat(github): add anti-spam protection for GitHub Issues (#14333)

- Add config.yml to disable blank issues and guide users to proper channels
- Add anti-spam.yml GitHub Actions workflow with:
  - Keyword-based spam detection (airline names, multi-language terms)
  - New account detection (< 7 days)
  - Auto-close, label, and lock spam issues
- Remove deprecated old-issue-template.md

This addresses the recent spam bot attacks targeting the repository.

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* chore: fix some typos in comments (#14263)

Signed-off-by: slightsharp <slightsharp@outlook.com>

* fix(github): improve anti-spam detection accuracy (#14356)

- Fix account age detection by fetching user data via GitHub API
  (issue.user.created_at is not available in webhook payload)
- Add more airline names (Swiss Air, Austrian Airlines, TAP Portugal, etc.)
- Add French spam keywords (billet, réservation, vol, etc.)
- Add phone number pattern detection (2+ phone numbers triggers spam)
- Improve logging for debugging

This fixes the issue where spam from new accounts was not being detected.

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* test(auth): improve readability of LDAP auth integration test (#14357)

* fix run bugs

* 修改skill展示为文件夹形式

* skill ai优化更新

* 修复上传skill压缩包限制10M

* 创新skill填写名称限制提示

* skill文件夹多层次结构

* 优化前端页面

* auth open

* auth open

* delete .github

* delete .github

* Delete .github/ISSUE_TEMPLATE directory

* delete .github

---------

Signed-off-by: cxhello <caixiaohuichn@gmail.com>
Signed-off-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: 潘祤麒 <91871324+lvren1485@users.noreply.github.com>
Co-authored-by: cxhello <49056040+cxhello@users.noreply.github.com>
Co-authored-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: Zihan <zzh18189368647@gmail.com>

* feat(prompt): Refactor prompt registry to support multi version management support (#14505)

* feat(ai): 调整Prompt管理相关能力,支持 Prompt 多版本并行和按照标签订阅

* test(ai): 添加Prompt管理相关的单元测试

* feat(ai): Prompt meta 数据存储重构

* feat(ai): 添加 AI 客户端代理接口支持 HTTP 和 gRPC 传输 (#14525)

- 新增 AiClientProxy 接口定义统一的 AI 操作抽象层
- 添加 AiHttpClientProxy 实现类提供基于 HTTP 的 AI 操作
- 在常量类中新增 AI 传输模式相关配置常量
- 修改 NacosAiService 使用代理接口支持传输模式切换
- 更新 Prompt 缓存持有者使用统一的客户端代理
- 将管理信息模型从 PromptAdminInfo 重命名为 PromptDescriptor
- 优化提示词管理服务实现以使用新的描述符模型
- 添加 HTTP 客户端代理的单元测试用例

* fix(skill): normalize escaped yaml parsing and stabilize related tests (#14537)

Ensure SKILL.md export escapes backslashes safely and zip import restores double-quoted YAML escapes, so export-import roundtrips keep original semantics. Align skill sync test resource path with current type-folder behavior to fix CI regressions.

Made-with: Cursor

* Add find-skill-from-nacos skill & fix skill upload authenticationDevelop skill registry with copolit (#14534)

* fix(console-ui): add authentication context to skill upload request

* feat(skills): add find-skill-from nacos

* chore(pom.xml): 添加多个目录到排除列表 (#14542)

在pom.xml中的资源过滤配置里添加了几个新的目录排除规则,包括`.cursor`, `.agents`, `.qoder`以及`skills`等目录。

* fix test (#14543)

Change-Id: I3210ea1c5eb7b9a78887daf015772a8d8356d149

* Develop skill registry with copolit (#14552)

* fix test

Change-Id: I3210ea1c5eb7b9a78887daf015772a8d8356d149

* fix pmd checkstyle

Change-Id: If87fd32d7fa5e5101b54b91f602335492d8c8803

* testcase

Change-Id: I7204e330ad381c2bb01654705285b8bf4fa0d840

---------

Signed-off-by: cxhello <caixiaohuichn@gmail.com>
Signed-off-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: cxhello <49056040+cxhello@users.noreply.github.com>
Co-authored-by: Sunrisea <1336317033@qq.com>
Co-authored-by: qiacheng7 <chenxinyu.cxy@alibaba-inc.com>
Co-authored-by: 潘祤麒 <91871324+lvren1485@users.noreply.github.com>
Co-authored-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: Zihan <zzh18189368647@gmail.com>
Co-authored-by: sai <53073903+saynoword@users.noreply.github.com>
shiyiyue1102 added a commit that referenced this pull request Mar 5, 2026
* refactor(common): remove unused cache package (#14546)

Remove the entire com.alibaba.nacos.common.cache package which has
zero production references. This package was originally created as a
replacement for Guava Cache but was abandoned after bugs were found
and the code was rolled back to Guava.

Also remove the LruCache targeted SpotBugs exclusion from
spotbugs-exclude.xml since the class no longer exists.

Fixes #14545

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* testcase

Change-Id: I7204e330ad381c2bb01654705285b8bf4fa0d840

* skills registry and nacos copolit (#14245)

support skill registry and nacos copilot

* skill registry with copolit (#14388)

* test case (#14395)

Change-Id: I8fd1e71c908e5674278752b0848c2554beffee88

* * optimize skill

* optimize skill

* feat(prompt): Add Prompt Registry (#14440)

* feat(ai): prompt registry支持

* refactor(ai): 重构版本比较和JSON字段处理逻辑 (#14441)

- 将硬编码的版本部分数量替换为VERSION_PARTS_COUNT常量
- 添加FIELD_VERSION、FIELD_TEMPLATE和FIELD_COMMIT_MSG常量用于JSON字段名
- 使用常量替换硬编码的".json"后缀字符串
- 统一版本比较循环中的数组长度判断逻辑

* feat(ai): 支持配置管理中的标签功能 (#14453)

* feat(ai): 支持配置管理中的标签功能

- 在数据库配置信息更新逻辑中实现动态SQL构建,仅当描述字段不为null时更新c_desc字段
- 重构嵌入式和外部数据源的配置信息持久化服务,支持条件性更新描述字段
- 新增promptTags字段到AI提示词相关的基础信息和详情模型中
- 扩展AI提示词发布和元数据更新接口,支持标签参数传递
- 实现在配置信息持久化过程中将标签信息存储到数据库
- 添加配置变更追踪和事件发布功能,支持元数据更新的通知机制

* refactor(config): 调整配置信息持久化服务中的映射器初始化位置

- 将 ConfigInfoMapper 的初始化从方法开始处移动到实际使用前的位置
- 确保映射器在执行数据库操作之前正确初始化
- 提高代码可读性和逻辑流程的清晰度
- 优化外部配置信息持久化服务的代码结构
- 统一嵌入式和外部配置信息持久化服务的映射器初始化方式

* Modify skill functions and display (#14465)

* Enhance MainLayout: Add language change handling to fetch notices on update (#14210)

添加 componentDidUpdate 生命周期方法,监听语言变化并重新获取公告

* fix(startup): add JVM --add-opens options for JDK 17+ compatibility (#14307)

Add --add-opens JVM options to startup scripts for Java 9+ to resolve
JRaft reflection issues when running on JDK 17+.

Added options:
- --add-opens=java.base/java.lang=ALL-UNNAMED
- --add-opens=java.base/java.lang.reflect=ALL-UNNAMED
- --add-opens=java.base/java.util=ALL-UNNAMED

Closes #14122

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* feat(github): add anti-spam protection for GitHub Issues (#14333)

- Add config.yml to disable blank issues and guide users to proper channels
- Add anti-spam.yml GitHub Actions workflow with:
  - Keyword-based spam detection (airline names, multi-language terms)
  - New account detection (< 7 days)
  - Auto-close, label, and lock spam issues
- Remove deprecated old-issue-template.md

This addresses the recent spam bot attacks targeting the repository.

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* chore: fix some typos in comments (#14263)

Signed-off-by: slightsharp <slightsharp@outlook.com>

* fix(github): improve anti-spam detection accuracy (#14356)

- Fix account age detection by fetching user data via GitHub API
  (issue.user.created_at is not available in webhook payload)
- Add more airline names (Swiss Air, Austrian Airlines, TAP Portugal, etc.)
- Add French spam keywords (billet, réservation, vol, etc.)
- Add phone number pattern detection (2+ phone numbers triggers spam)
- Improve logging for debugging

This fixes the issue where spam from new accounts was not being detected.

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* test(auth): improve readability of LDAP auth integration test (#14357)

* fix run bugs

* 修改skill展示为文件夹形式

* skill ai优化更新

* 修复上传skill压缩包限制10M

* 创新skill填写名称限制提示

* skill文件夹多层次结构

* 优化前端页面

* auth open

* auth open

* delete .github

* delete .github

* Delete .github/ISSUE_TEMPLATE directory

* delete .github

---------

Signed-off-by: cxhello <caixiaohuichn@gmail.com>
Signed-off-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: 潘祤麒 <91871324+lvren1485@users.noreply.github.com>
Co-authored-by: cxhello <49056040+cxhello@users.noreply.github.com>
Co-authored-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: Zihan <zzh18189368647@gmail.com>

* feat(prompt): Refactor prompt registry to support multi version management support (#14505)

* feat(ai): 调整Prompt管理相关能力,支持 Prompt 多版本并行和按照标签订阅

* test(ai): 添加Prompt管理相关的单元测试

* feat(ai): Prompt meta 数据存储重构

* feat(ai): 添加 AI 客户端代理接口支持 HTTP 和 gRPC 传输 (#14525)

- 新增 AiClientProxy 接口定义统一的 AI 操作抽象层
- 添加 AiHttpClientProxy 实现类提供基于 HTTP 的 AI 操作
- 在常量类中新增 AI 传输模式相关配置常量
- 修改 NacosAiService 使用代理接口支持传输模式切换
- 更新 Prompt 缓存持有者使用统一的客户端代理
- 将管理信息模型从 PromptAdminInfo 重命名为 PromptDescriptor
- 优化提示词管理服务实现以使用新的描述符模型
- 添加 HTTP 客户端代理的单元测试用例

* fix(skill): normalize escaped yaml parsing and stabilize related tests (#14537)

Ensure SKILL.md export escapes backslashes safely and zip import restores double-quoted YAML escapes, so export-import roundtrips keep original semantics. Align skill sync test resource path with current type-folder behavior to fix CI regressions.

Made-with: Cursor

* Add find-skill-from-nacos skill & fix skill upload authenticationDevelop skill registry with copolit (#14534)

* fix(console-ui): add authentication context to skill upload request

* feat(skills): add find-skill-from nacos

* chore(pom.xml): 添加多个目录到排除列表 (#14542)

在pom.xml中的资源过滤配置里添加了几个新的目录排除规则,包括`.cursor`, `.agents`, `.qoder`以及`skills`等目录。

* fix test (#14543)

Change-Id: I3210ea1c5eb7b9a78887daf015772a8d8356d149

* Develop skill registry with copolit (#14552)

* fix test

Change-Id: I3210ea1c5eb7b9a78887daf015772a8d8356d149

* fix pmd checkstyle

Change-Id: If87fd32d7fa5e5101b54b91f602335492d8c8803

* testcase

Change-Id: I7204e330ad381c2bb01654705285b8bf4fa0d840

* fix codeQL

Change-Id: I3a9a2e6480cf5de14f04333fcfa1b43e853303f6

---------

Signed-off-by: cxhello <caixiaohuichn@gmail.com>
Signed-off-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: cxhello <49056040+cxhello@users.noreply.github.com>
Co-authored-by: Sunrisea <1336317033@qq.com>
Co-authored-by: qiacheng7 <chenxinyu.cxy@alibaba-inc.com>
Co-authored-by: 潘祤麒 <91871324+lvren1485@users.noreply.github.com>
Co-authored-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: Zihan <zzh18189368647@gmail.com>
Co-authored-by: sai <53073903+saynoword@users.noreply.github.com>
saynoword added a commit to saynoword/nacos that referenced this pull request Mar 5, 2026
* refactor(common): remove unused cache package (alibaba#14546)

Remove the entire com.alibaba.nacos.common.cache package which has
zero production references. This package was originally created as a
replacement for Guava Cache but was abandoned after bugs were found
and the code was rolled back to Guava.

Also remove the LruCache targeted SpotBugs exclusion from
spotbugs-exclude.xml since the class no longer exists.

Fixes alibaba#14545

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* testcase

Change-Id: I7204e330ad381c2bb01654705285b8bf4fa0d840

* skills registry and nacos copolit (alibaba#14245)

support skill registry and nacos copilot

* skill registry with copolit (alibaba#14388)

* test case (alibaba#14395)

Change-Id: I8fd1e71c908e5674278752b0848c2554beffee88

* * optimize skill

* optimize skill

* feat(prompt): Add Prompt Registry (alibaba#14440)

* feat(ai): prompt registry支持

* refactor(ai): 重构版本比较和JSON字段处理逻辑 (alibaba#14441)

- 将硬编码的版本部分数量替换为VERSION_PARTS_COUNT常量
- 添加FIELD_VERSION、FIELD_TEMPLATE和FIELD_COMMIT_MSG常量用于JSON字段名
- 使用常量替换硬编码的".json"后缀字符串
- 统一版本比较循环中的数组长度判断逻辑

* feat(ai): 支持配置管理中的标签功能 (alibaba#14453)

* feat(ai): 支持配置管理中的标签功能

- 在数据库配置信息更新逻辑中实现动态SQL构建,仅当描述字段不为null时更新c_desc字段
- 重构嵌入式和外部数据源的配置信息持久化服务,支持条件性更新描述字段
- 新增promptTags字段到AI提示词相关的基础信息和详情模型中
- 扩展AI提示词发布和元数据更新接口,支持标签参数传递
- 实现在配置信息持久化过程中将标签信息存储到数据库
- 添加配置变更追踪和事件发布功能,支持元数据更新的通知机制

* refactor(config): 调整配置信息持久化服务中的映射器初始化位置

- 将 ConfigInfoMapper 的初始化从方法开始处移动到实际使用前的位置
- 确保映射器在执行数据库操作之前正确初始化
- 提高代码可读性和逻辑流程的清晰度
- 优化外部配置信息持久化服务的代码结构
- 统一嵌入式和外部配置信息持久化服务的映射器初始化方式

* Modify skill functions and display (alibaba#14465)

* Enhance MainLayout: Add language change handling to fetch notices on update (alibaba#14210)

添加 componentDidUpdate 生命周期方法,监听语言变化并重新获取公告

* fix(startup): add JVM --add-opens options for JDK 17+ compatibility (alibaba#14307)

Add --add-opens JVM options to startup scripts for Java 9+ to resolve
JRaft reflection issues when running on JDK 17+.

Added options:
- --add-opens=java.base/java.lang=ALL-UNNAMED
- --add-opens=java.base/java.lang.reflect=ALL-UNNAMED
- --add-opens=java.base/java.util=ALL-UNNAMED

Closes alibaba#14122

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* feat(github): add anti-spam protection for GitHub Issues (alibaba#14333)

- Add config.yml to disable blank issues and guide users to proper channels
- Add anti-spam.yml GitHub Actions workflow with:
  - Keyword-based spam detection (airline names, multi-language terms)
  - New account detection (< 7 days)
  - Auto-close, label, and lock spam issues
- Remove deprecated old-issue-template.md

This addresses the recent spam bot attacks targeting the repository.

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* chore: fix some typos in comments (alibaba#14263)

Signed-off-by: slightsharp <slightsharp@outlook.com>

* fix(github): improve anti-spam detection accuracy (alibaba#14356)

- Fix account age detection by fetching user data via GitHub API
  (issue.user.created_at is not available in webhook payload)
- Add more airline names (Swiss Air, Austrian Airlines, TAP Portugal, etc.)
- Add French spam keywords (billet, réservation, vol, etc.)
- Add phone number pattern detection (2+ phone numbers triggers spam)
- Improve logging for debugging

This fixes the issue where spam from new accounts was not being detected.

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* test(auth): improve readability of LDAP auth integration test (alibaba#14357)

* fix run bugs

* 修改skill展示为文件夹形式

* skill ai优化更新

* 修复上传skill压缩包限制10M

* 创新skill填写名称限制提示

* skill文件夹多层次结构

* 优化前端页面

* auth open

* auth open

* delete .github

* delete .github

* Delete .github/ISSUE_TEMPLATE directory

* delete .github

---------

Signed-off-by: cxhello <caixiaohuichn@gmail.com>
Signed-off-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: 潘祤麒 <91871324+lvren1485@users.noreply.github.com>
Co-authored-by: cxhello <49056040+cxhello@users.noreply.github.com>
Co-authored-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: Zihan <zzh18189368647@gmail.com>

* feat(prompt): Refactor prompt registry to support multi version management support (alibaba#14505)

* feat(ai): 调整Prompt管理相关能力,支持 Prompt 多版本并行和按照标签订阅

* test(ai): 添加Prompt管理相关的单元测试

* feat(ai): Prompt meta 数据存储重构

* feat(ai): 添加 AI 客户端代理接口支持 HTTP 和 gRPC 传输 (alibaba#14525)

- 新增 AiClientProxy 接口定义统一的 AI 操作抽象层
- 添加 AiHttpClientProxy 实现类提供基于 HTTP 的 AI 操作
- 在常量类中新增 AI 传输模式相关配置常量
- 修改 NacosAiService 使用代理接口支持传输模式切换
- 更新 Prompt 缓存持有者使用统一的客户端代理
- 将管理信息模型从 PromptAdminInfo 重命名为 PromptDescriptor
- 优化提示词管理服务实现以使用新的描述符模型
- 添加 HTTP 客户端代理的单元测试用例

* fix(skill): normalize escaped yaml parsing and stabilize related tests (alibaba#14537)

Ensure SKILL.md export escapes backslashes safely and zip import restores double-quoted YAML escapes, so export-import roundtrips keep original semantics. Align skill sync test resource path with current type-folder behavior to fix CI regressions.

Made-with: Cursor

* Add find-skill-from-nacos skill & fix skill upload authenticationDevelop skill registry with copolit (alibaba#14534)

* fix(console-ui): add authentication context to skill upload request

* feat(skills): add find-skill-from nacos

* chore(pom.xml): 添加多个目录到排除列表 (alibaba#14542)

在pom.xml中的资源过滤配置里添加了几个新的目录排除规则,包括`.cursor`, `.agents`, `.qoder`以及`skills`等目录。

* fix test (alibaba#14543)

Change-Id: I3210ea1c5eb7b9a78887daf015772a8d8356d149

* Develop skill registry with copolit (alibaba#14552)

* fix test

Change-Id: I3210ea1c5eb7b9a78887daf015772a8d8356d149

* fix pmd checkstyle

Change-Id: If87fd32d7fa5e5101b54b91f602335492d8c8803

* testcase

Change-Id: I7204e330ad381c2bb01654705285b8bf4fa0d840

---------

Signed-off-by: cxhello <caixiaohuichn@gmail.com>
Signed-off-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: cxhello <49056040+cxhello@users.noreply.github.com>
Co-authored-by: Sunrisea <1336317033@qq.com>
Co-authored-by: qiacheng7 <chenxinyu.cxy@alibaba-inc.com>
Co-authored-by: 潘祤麒 <91871324+lvren1485@users.noreply.github.com>
Co-authored-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: Zihan <zzh18189368647@gmail.com>
Co-authored-by: sai <53073903+saynoword@users.noreply.github.com>
saynoword added a commit to saynoword/nacos that referenced this pull request Mar 5, 2026
* refactor(common): remove unused cache package (alibaba#14546)

Remove the entire com.alibaba.nacos.common.cache package which has
zero production references. This package was originally created as a
replacement for Guava Cache but was abandoned after bugs were found
and the code was rolled back to Guava.

Also remove the LruCache targeted SpotBugs exclusion from
spotbugs-exclude.xml since the class no longer exists.

Fixes alibaba#14545

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* testcase

Change-Id: I7204e330ad381c2bb01654705285b8bf4fa0d840

* skills registry and nacos copolit (alibaba#14245)

support skill registry and nacos copilot

* skill registry with copolit (alibaba#14388)

* test case (alibaba#14395)

Change-Id: I8fd1e71c908e5674278752b0848c2554beffee88

* * optimize skill

* optimize skill

* feat(prompt): Add Prompt Registry (alibaba#14440)

* feat(ai): prompt registry支持

* refactor(ai): 重构版本比较和JSON字段处理逻辑 (alibaba#14441)

- 将硬编码的版本部分数量替换为VERSION_PARTS_COUNT常量
- 添加FIELD_VERSION、FIELD_TEMPLATE和FIELD_COMMIT_MSG常量用于JSON字段名
- 使用常量替换硬编码的".json"后缀字符串
- 统一版本比较循环中的数组长度判断逻辑

* feat(ai): 支持配置管理中的标签功能 (alibaba#14453)

* feat(ai): 支持配置管理中的标签功能

- 在数据库配置信息更新逻辑中实现动态SQL构建,仅当描述字段不为null时更新c_desc字段
- 重构嵌入式和外部数据源的配置信息持久化服务,支持条件性更新描述字段
- 新增promptTags字段到AI提示词相关的基础信息和详情模型中
- 扩展AI提示词发布和元数据更新接口,支持标签参数传递
- 实现在配置信息持久化过程中将标签信息存储到数据库
- 添加配置变更追踪和事件发布功能,支持元数据更新的通知机制

* refactor(config): 调整配置信息持久化服务中的映射器初始化位置

- 将 ConfigInfoMapper 的初始化从方法开始处移动到实际使用前的位置
- 确保映射器在执行数据库操作之前正确初始化
- 提高代码可读性和逻辑流程的清晰度
- 优化外部配置信息持久化服务的代码结构
- 统一嵌入式和外部配置信息持久化服务的映射器初始化方式

* Modify skill functions and display (alibaba#14465)

* Enhance MainLayout: Add language change handling to fetch notices on update (alibaba#14210)

添加 componentDidUpdate 生命周期方法,监听语言变化并重新获取公告

* fix(startup): add JVM --add-opens options for JDK 17+ compatibility (alibaba#14307)

Add --add-opens JVM options to startup scripts for Java 9+ to resolve
JRaft reflection issues when running on JDK 17+.

Added options:
- --add-opens=java.base/java.lang=ALL-UNNAMED
- --add-opens=java.base/java.lang.reflect=ALL-UNNAMED
- --add-opens=java.base/java.util=ALL-UNNAMED

Closes alibaba#14122

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* feat(github): add anti-spam protection for GitHub Issues (alibaba#14333)

- Add config.yml to disable blank issues and guide users to proper channels
- Add anti-spam.yml GitHub Actions workflow with:
  - Keyword-based spam detection (airline names, multi-language terms)
  - New account detection (< 7 days)
  - Auto-close, label, and lock spam issues
- Remove deprecated old-issue-template.md

This addresses the recent spam bot attacks targeting the repository.

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* chore: fix some typos in comments (alibaba#14263)

Signed-off-by: slightsharp <slightsharp@outlook.com>

* fix(github): improve anti-spam detection accuracy (alibaba#14356)

- Fix account age detection by fetching user data via GitHub API
  (issue.user.created_at is not available in webhook payload)
- Add more airline names (Swiss Air, Austrian Airlines, TAP Portugal, etc.)
- Add French spam keywords (billet, réservation, vol, etc.)
- Add phone number pattern detection (2+ phone numbers triggers spam)
- Improve logging for debugging

This fixes the issue where spam from new accounts was not being detected.

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* test(auth): improve readability of LDAP auth integration test (alibaba#14357)

* fix run bugs

* 修改skill展示为文件夹形式

* skill ai优化更新

* 修复上传skill压缩包限制10M

* 创新skill填写名称限制提示

* skill文件夹多层次结构

* 优化前端页面

* auth open

* auth open

* delete .github

* delete .github

* Delete .github/ISSUE_TEMPLATE directory

* delete .github

---------

Signed-off-by: cxhello <caixiaohuichn@gmail.com>
Signed-off-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: 潘祤麒 <91871324+lvren1485@users.noreply.github.com>
Co-authored-by: cxhello <49056040+cxhello@users.noreply.github.com>
Co-authored-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: Zihan <zzh18189368647@gmail.com>

* feat(prompt): Refactor prompt registry to support multi version management support (alibaba#14505)

* feat(ai): 调整Prompt管理相关能力,支持 Prompt 多版本并行和按照标签订阅

* test(ai): 添加Prompt管理相关的单元测试

* feat(ai): Prompt meta 数据存储重构

* feat(ai): 添加 AI 客户端代理接口支持 HTTP 和 gRPC 传输 (alibaba#14525)

- 新增 AiClientProxy 接口定义统一的 AI 操作抽象层
- 添加 AiHttpClientProxy 实现类提供基于 HTTP 的 AI 操作
- 在常量类中新增 AI 传输模式相关配置常量
- 修改 NacosAiService 使用代理接口支持传输模式切换
- 更新 Prompt 缓存持有者使用统一的客户端代理
- 将管理信息模型从 PromptAdminInfo 重命名为 PromptDescriptor
- 优化提示词管理服务实现以使用新的描述符模型
- 添加 HTTP 客户端代理的单元测试用例

* fix(skill): normalize escaped yaml parsing and stabilize related tests (alibaba#14537)

Ensure SKILL.md export escapes backslashes safely and zip import restores double-quoted YAML escapes, so export-import roundtrips keep original semantics. Align skill sync test resource path with current type-folder behavior to fix CI regressions.

Made-with: Cursor

* Add find-skill-from-nacos skill & fix skill upload authenticationDevelop skill registry with copolit (alibaba#14534)

* fix(console-ui): add authentication context to skill upload request

* feat(skills): add find-skill-from nacos

* chore(pom.xml): 添加多个目录到排除列表 (alibaba#14542)

在pom.xml中的资源过滤配置里添加了几个新的目录排除规则,包括`.cursor`, `.agents`, `.qoder`以及`skills`等目录。

* fix test (alibaba#14543)

Change-Id: I3210ea1c5eb7b9a78887daf015772a8d8356d149

* Develop skill registry with copolit (alibaba#14552)

* fix test

Change-Id: I3210ea1c5eb7b9a78887daf015772a8d8356d149

* fix pmd checkstyle

Change-Id: If87fd32d7fa5e5101b54b91f602335492d8c8803

* testcase

Change-Id: I7204e330ad381c2bb01654705285b8bf4fa0d840

* fix codeQL

Change-Id: I3a9a2e6480cf5de14f04333fcfa1b43e853303f6

---------

Signed-off-by: cxhello <caixiaohuichn@gmail.com>
Signed-off-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: cxhello <49056040+cxhello@users.noreply.github.com>
Co-authored-by: Sunrisea <1336317033@qq.com>
Co-authored-by: qiacheng7 <chenxinyu.cxy@alibaba-inc.com>
Co-authored-by: 潘祤麒 <91871324+lvren1485@users.noreply.github.com>
Co-authored-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: Zihan <zzh18189368647@gmail.com>
Co-authored-by: sai <53073903+saynoword@users.noreply.github.com>
shiyiyue1102 added a commit that referenced this pull request Mar 5, 2026
* refactor(common): remove unused cache package (#14546)

Remove the entire com.alibaba.nacos.common.cache package which has
zero production references. This package was originally created as a
replacement for Guava Cache but was abandoned after bugs were found
and the code was rolled back to Guava.

Also remove the LruCache targeted SpotBugs exclusion from
spotbugs-exclude.xml since the class no longer exists.

Fixes #14545

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* testcase

Change-Id: I7204e330ad381c2bb01654705285b8bf4fa0d840

* skills registry and nacos copolit (#14245)

support skill registry and nacos copilot

* skill registry with copolit (#14388)

* test case (#14395)

Change-Id: I8fd1e71c908e5674278752b0848c2554beffee88

* * optimize skill

* optimize skill

* feat(prompt): Add Prompt Registry (#14440)

* feat(ai): prompt registry支持

* refactor(ai): 重构版本比较和JSON字段处理逻辑 (#14441)

- 将硬编码的版本部分数量替换为VERSION_PARTS_COUNT常量
- 添加FIELD_VERSION、FIELD_TEMPLATE和FIELD_COMMIT_MSG常量用于JSON字段名
- 使用常量替换硬编码的".json"后缀字符串
- 统一版本比较循环中的数组长度判断逻辑

* feat(ai): 支持配置管理中的标签功能 (#14453)

* feat(ai): 支持配置管理中的标签功能

- 在数据库配置信息更新逻辑中实现动态SQL构建,仅当描述字段不为null时更新c_desc字段
- 重构嵌入式和外部数据源的配置信息持久化服务,支持条件性更新描述字段
- 新增promptTags字段到AI提示词相关的基础信息和详情模型中
- 扩展AI提示词发布和元数据更新接口,支持标签参数传递
- 实现在配置信息持久化过程中将标签信息存储到数据库
- 添加配置变更追踪和事件发布功能,支持元数据更新的通知机制

* refactor(config): 调整配置信息持久化服务中的映射器初始化位置

- 将 ConfigInfoMapper 的初始化从方法开始处移动到实际使用前的位置
- 确保映射器在执行数据库操作之前正确初始化
- 提高代码可读性和逻辑流程的清晰度
- 优化外部配置信息持久化服务的代码结构
- 统一嵌入式和外部配置信息持久化服务的映射器初始化方式

* Modify skill functions and display (#14465)

* Enhance MainLayout: Add language change handling to fetch notices on update (#14210)

添加 componentDidUpdate 生命周期方法,监听语言变化并重新获取公告

* fix(startup): add JVM --add-opens options for JDK 17+ compatibility (#14307)

Add --add-opens JVM options to startup scripts for Java 9+ to resolve
JRaft reflection issues when running on JDK 17+.

Added options:
- --add-opens=java.base/java.lang=ALL-UNNAMED
- --add-opens=java.base/java.lang.reflect=ALL-UNNAMED
- --add-opens=java.base/java.util=ALL-UNNAMED

Closes #14122

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* feat(github): add anti-spam protection for GitHub Issues (#14333)

- Add config.yml to disable blank issues and guide users to proper channels
- Add anti-spam.yml GitHub Actions workflow with:
  - Keyword-based spam detection (airline names, multi-language terms)
  - New account detection (< 7 days)
  - Auto-close, label, and lock spam issues
- Remove deprecated old-issue-template.md

This addresses the recent spam bot attacks targeting the repository.

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* chore: fix some typos in comments (#14263)

Signed-off-by: slightsharp <slightsharp@outlook.com>

* fix(github): improve anti-spam detection accuracy (#14356)

- Fix account age detection by fetching user data via GitHub API
  (issue.user.created_at is not available in webhook payload)
- Add more airline names (Swiss Air, Austrian Airlines, TAP Portugal, etc.)
- Add French spam keywords (billet, réservation, vol, etc.)
- Add phone number pattern detection (2+ phone numbers triggers spam)
- Improve logging for debugging

This fixes the issue where spam from new accounts was not being detected.

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* test(auth): improve readability of LDAP auth integration test (#14357)

* fix run bugs

* 修改skill展示为文件夹形式

* skill ai优化更新

* 修复上传skill压缩包限制10M

* 创新skill填写名称限制提示

* skill文件夹多层次结构

* 优化前端页面

* auth open

* auth open

* delete .github

* delete .github

* Delete .github/ISSUE_TEMPLATE directory

* delete .github

---------

Signed-off-by: cxhello <caixiaohuichn@gmail.com>
Signed-off-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: 潘祤麒 <91871324+lvren1485@users.noreply.github.com>
Co-authored-by: cxhello <49056040+cxhello@users.noreply.github.com>
Co-authored-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: Zihan <zzh18189368647@gmail.com>

* feat(prompt): Refactor prompt registry to support multi version management support (#14505)

* feat(ai): 调整Prompt管理相关能力,支持 Prompt 多版本并行和按照标签订阅

* test(ai): 添加Prompt管理相关的单元测试

* feat(ai): Prompt meta 数据存储重构

* feat(ai): 添加 AI 客户端代理接口支持 HTTP 和 gRPC 传输 (#14525)

- 新增 AiClientProxy 接口定义统一的 AI 操作抽象层
- 添加 AiHttpClientProxy 实现类提供基于 HTTP 的 AI 操作
- 在常量类中新增 AI 传输模式相关配置常量
- 修改 NacosAiService 使用代理接口支持传输模式切换
- 更新 Prompt 缓存持有者使用统一的客户端代理
- 将管理信息模型从 PromptAdminInfo 重命名为 PromptDescriptor
- 优化提示词管理服务实现以使用新的描述符模型
- 添加 HTTP 客户端代理的单元测试用例

* fix(skill): normalize escaped yaml parsing and stabilize related tests (#14537)

Ensure SKILL.md export escapes backslashes safely and zip import restores double-quoted YAML escapes, so export-import roundtrips keep original semantics. Align skill sync test resource path with current type-folder behavior to fix CI regressions.

Made-with: Cursor

* Add find-skill-from-nacos skill & fix skill upload authenticationDevelop skill registry with copolit (#14534)

* fix(console-ui): add authentication context to skill upload request

* feat(skills): add find-skill-from nacos

* chore(pom.xml): 添加多个目录到排除列表 (#14542)

在pom.xml中的资源过滤配置里添加了几个新的目录排除规则,包括`.cursor`, `.agents`, `.qoder`以及`skills`等目录。

* fix test (#14543)

Change-Id: I3210ea1c5eb7b9a78887daf015772a8d8356d149

* Develop skill registry with copolit (#14552)

* fix test

Change-Id: I3210ea1c5eb7b9a78887daf015772a8d8356d149

* fix pmd checkstyle

Change-Id: If87fd32d7fa5e5101b54b91f602335492d8c8803

* testcase

Change-Id: I7204e330ad381c2bb01654705285b8bf4fa0d840

* fix codeQL

Change-Id: I3a9a2e6480cf5de14f04333fcfa1b43e853303f6

* fix testcase

Change-Id: I31868ba832ed7c7c398177035028d9e316f6affb

---------

Signed-off-by: cxhello <caixiaohuichn@gmail.com>
Signed-off-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: cxhello <49056040+cxhello@users.noreply.github.com>
Co-authored-by: Sunrisea <1336317033@qq.com>
Co-authored-by: qiacheng7 <chenxinyu.cxy@alibaba-inc.com>
Co-authored-by: 潘祤麒 <91871324+lvren1485@users.noreply.github.com>
Co-authored-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: Zihan <zzh18189368647@gmail.com>
Co-authored-by: sai <53073903+saynoword@users.noreply.github.com>
saynoword added a commit to saynoword/nacos that referenced this pull request Mar 5, 2026
* refactor(common): remove unused cache package (alibaba#14546)

Remove the entire com.alibaba.nacos.common.cache package which has
zero production references. This package was originally created as a
replacement for Guava Cache but was abandoned after bugs were found
and the code was rolled back to Guava.

Also remove the LruCache targeted SpotBugs exclusion from
spotbugs-exclude.xml since the class no longer exists.

Fixes alibaba#14545

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* testcase

Change-Id: I7204e330ad381c2bb01654705285b8bf4fa0d840

* skills registry and nacos copolit (alibaba#14245)

support skill registry and nacos copilot

* skill registry with copolit (alibaba#14388)

* test case (alibaba#14395)

Change-Id: I8fd1e71c908e5674278752b0848c2554beffee88

* * optimize skill

* optimize skill

* feat(prompt): Add Prompt Registry (alibaba#14440)

* feat(ai): prompt registry支持

* refactor(ai): 重构版本比较和JSON字段处理逻辑 (alibaba#14441)

- 将硬编码的版本部分数量替换为VERSION_PARTS_COUNT常量
- 添加FIELD_VERSION、FIELD_TEMPLATE和FIELD_COMMIT_MSG常量用于JSON字段名
- 使用常量替换硬编码的".json"后缀字符串
- 统一版本比较循环中的数组长度判断逻辑

* feat(ai): 支持配置管理中的标签功能 (alibaba#14453)

* feat(ai): 支持配置管理中的标签功能

- 在数据库配置信息更新逻辑中实现动态SQL构建,仅当描述字段不为null时更新c_desc字段
- 重构嵌入式和外部数据源的配置信息持久化服务,支持条件性更新描述字段
- 新增promptTags字段到AI提示词相关的基础信息和详情模型中
- 扩展AI提示词发布和元数据更新接口,支持标签参数传递
- 实现在配置信息持久化过程中将标签信息存储到数据库
- 添加配置变更追踪和事件发布功能,支持元数据更新的通知机制

* refactor(config): 调整配置信息持久化服务中的映射器初始化位置

- 将 ConfigInfoMapper 的初始化从方法开始处移动到实际使用前的位置
- 确保映射器在执行数据库操作之前正确初始化
- 提高代码可读性和逻辑流程的清晰度
- 优化外部配置信息持久化服务的代码结构
- 统一嵌入式和外部配置信息持久化服务的映射器初始化方式

* Modify skill functions and display (alibaba#14465)

* Enhance MainLayout: Add language change handling to fetch notices on update (alibaba#14210)

添加 componentDidUpdate 生命周期方法,监听语言变化并重新获取公告

* fix(startup): add JVM --add-opens options for JDK 17+ compatibility (alibaba#14307)

Add --add-opens JVM options to startup scripts for Java 9+ to resolve
JRaft reflection issues when running on JDK 17+.

Added options:
- --add-opens=java.base/java.lang=ALL-UNNAMED
- --add-opens=java.base/java.lang.reflect=ALL-UNNAMED
- --add-opens=java.base/java.util=ALL-UNNAMED

Closes alibaba#14122

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* feat(github): add anti-spam protection for GitHub Issues (alibaba#14333)

- Add config.yml to disable blank issues and guide users to proper channels
- Add anti-spam.yml GitHub Actions workflow with:
  - Keyword-based spam detection (airline names, multi-language terms)
  - New account detection (< 7 days)
  - Auto-close, label, and lock spam issues
- Remove deprecated old-issue-template.md

This addresses the recent spam bot attacks targeting the repository.

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* chore: fix some typos in comments (alibaba#14263)

Signed-off-by: slightsharp <slightsharp@outlook.com>

* fix(github): improve anti-spam detection accuracy (alibaba#14356)

- Fix account age detection by fetching user data via GitHub API
  (issue.user.created_at is not available in webhook payload)
- Add more airline names (Swiss Air, Austrian Airlines, TAP Portugal, etc.)
- Add French spam keywords (billet, réservation, vol, etc.)
- Add phone number pattern detection (2+ phone numbers triggers spam)
- Improve logging for debugging

This fixes the issue where spam from new accounts was not being detected.

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* test(auth): improve readability of LDAP auth integration test (alibaba#14357)

* fix run bugs

* 修改skill展示为文件夹形式

* skill ai优化更新

* 修复上传skill压缩包限制10M

* 创新skill填写名称限制提示

* skill文件夹多层次结构

* 优化前端页面

* auth open

* auth open

* delete .github

* delete .github

* Delete .github/ISSUE_TEMPLATE directory

* delete .github

---------

Signed-off-by: cxhello <caixiaohuichn@gmail.com>
Signed-off-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: 潘祤麒 <91871324+lvren1485@users.noreply.github.com>
Co-authored-by: cxhello <49056040+cxhello@users.noreply.github.com>
Co-authored-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: Zihan <zzh18189368647@gmail.com>

* feat(prompt): Refactor prompt registry to support multi version management support (alibaba#14505)

* feat(ai): 调整Prompt管理相关能力,支持 Prompt 多版本并行和按照标签订阅

* test(ai): 添加Prompt管理相关的单元测试

* feat(ai): Prompt meta 数据存储重构

* feat(ai): 添加 AI 客户端代理接口支持 HTTP 和 gRPC 传输 (alibaba#14525)

- 新增 AiClientProxy 接口定义统一的 AI 操作抽象层
- 添加 AiHttpClientProxy 实现类提供基于 HTTP 的 AI 操作
- 在常量类中新增 AI 传输模式相关配置常量
- 修改 NacosAiService 使用代理接口支持传输模式切换
- 更新 Prompt 缓存持有者使用统一的客户端代理
- 将管理信息模型从 PromptAdminInfo 重命名为 PromptDescriptor
- 优化提示词管理服务实现以使用新的描述符模型
- 添加 HTTP 客户端代理的单元测试用例

* fix(skill): normalize escaped yaml parsing and stabilize related tests (alibaba#14537)

Ensure SKILL.md export escapes backslashes safely and zip import restores double-quoted YAML escapes, so export-import roundtrips keep original semantics. Align skill sync test resource path with current type-folder behavior to fix CI regressions.

Made-with: Cursor

* Add find-skill-from-nacos skill & fix skill upload authenticationDevelop skill registry with copolit (alibaba#14534)

* fix(console-ui): add authentication context to skill upload request

* feat(skills): add find-skill-from nacos

* chore(pom.xml): 添加多个目录到排除列表 (alibaba#14542)

在pom.xml中的资源过滤配置里添加了几个新的目录排除规则,包括`.cursor`, `.agents`, `.qoder`以及`skills`等目录。

* fix test (alibaba#14543)

Change-Id: I3210ea1c5eb7b9a78887daf015772a8d8356d149

* Develop skill registry with copolit (alibaba#14552)

* fix test

Change-Id: I3210ea1c5eb7b9a78887daf015772a8d8356d149

* fix pmd checkstyle

Change-Id: If87fd32d7fa5e5101b54b91f602335492d8c8803

* testcase

Change-Id: I7204e330ad381c2bb01654705285b8bf4fa0d840

* fix codeQL

Change-Id: I3a9a2e6480cf5de14f04333fcfa1b43e853303f6

* fix testcase

Change-Id: I31868ba832ed7c7c398177035028d9e316f6affb

---------

Signed-off-by: cxhello <caixiaohuichn@gmail.com>
Signed-off-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: cxhello <49056040+cxhello@users.noreply.github.com>
Co-authored-by: Sunrisea <1336317033@qq.com>
Co-authored-by: qiacheng7 <chenxinyu.cxy@alibaba-inc.com>
Co-authored-by: 潘祤麒 <91871324+lvren1485@users.noreply.github.com>
Co-authored-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: Zihan <zzh18189368647@gmail.com>
Co-authored-by: sai <53073903+saynoword@users.noreply.github.com>
KomachiSion added a commit that referenced this pull request Mar 6, 2026
* skills registry and nacos copolit (#14245)

support skill registry and nacos copilot

* skill registry with copolit (#14388)

* test case (#14395)

Change-Id: I8fd1e71c908e5674278752b0848c2554beffee88

* * optimize skill

* optimize skill

* feat(prompt): Add Prompt Registry (#14440)

* feat(ai): prompt registry支持

* refactor(ai): 重构版本比较和JSON字段处理逻辑 (#14441)

- 将硬编码的版本部分数量替换为VERSION_PARTS_COUNT常量
- 添加FIELD_VERSION、FIELD_TEMPLATE和FIELD_COMMIT_MSG常量用于JSON字段名
- 使用常量替换硬编码的".json"后缀字符串
- 统一版本比较循环中的数组长度判断逻辑

* feat(ai): 支持配置管理中的标签功能 (#14453)

* feat(ai): 支持配置管理中的标签功能

- 在数据库配置信息更新逻辑中实现动态SQL构建,仅当描述字段不为null时更新c_desc字段
- 重构嵌入式和外部数据源的配置信息持久化服务,支持条件性更新描述字段
- 新增promptTags字段到AI提示词相关的基础信息和详情模型中
- 扩展AI提示词发布和元数据更新接口,支持标签参数传递
- 实现在配置信息持久化过程中将标签信息存储到数据库
- 添加配置变更追踪和事件发布功能,支持元数据更新的通知机制

* refactor(config): 调整配置信息持久化服务中的映射器初始化位置

- 将 ConfigInfoMapper 的初始化从方法开始处移动到实际使用前的位置
- 确保映射器在执行数据库操作之前正确初始化
- 提高代码可读性和逻辑流程的清晰度
- 优化外部配置信息持久化服务的代码结构
- 统一嵌入式和外部配置信息持久化服务的映射器初始化方式

* Modify skill functions and display (#14465)

* Enhance MainLayout: Add language change handling to fetch notices on update (#14210)

添加 componentDidUpdate 生命周期方法,监听语言变化并重新获取公告

* fix(startup): add JVM --add-opens options for JDK 17+ compatibility (#14307)

Add --add-opens JVM options to startup scripts for Java 9+ to resolve
JRaft reflection issues when running on JDK 17+.

Added options:
- --add-opens=java.base/java.lang=ALL-UNNAMED
- --add-opens=java.base/java.lang.reflect=ALL-UNNAMED
- --add-opens=java.base/java.util=ALL-UNNAMED

Closes #14122

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* feat(github): add anti-spam protection for GitHub Issues (#14333)

- Add config.yml to disable blank issues and guide users to proper channels
- Add anti-spam.yml GitHub Actions workflow with:
  - Keyword-based spam detection (airline names, multi-language terms)
  - New account detection (< 7 days)
  - Auto-close, label, and lock spam issues
- Remove deprecated old-issue-template.md

This addresses the recent spam bot attacks targeting the repository.

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* chore: fix some typos in comments (#14263)

Signed-off-by: slightsharp <slightsharp@outlook.com>

* fix(github): improve anti-spam detection accuracy (#14356)

- Fix account age detection by fetching user data via GitHub API
  (issue.user.created_at is not available in webhook payload)
- Add more airline names (Swiss Air, Austrian Airlines, TAP Portugal, etc.)
- Add French spam keywords (billet, réservation, vol, etc.)
- Add phone number pattern detection (2+ phone numbers triggers spam)
- Improve logging for debugging

This fixes the issue where spam from new accounts was not being detected.

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* test(auth): improve readability of LDAP auth integration test (#14357)

* fix run bugs

* 修改skill展示为文件夹形式

* skill ai优化更新

* 修复上传skill压缩包限制10M

* 创新skill填写名称限制提示

* skill文件夹多层次结构

* 优化前端页面

* auth open

* auth open

* delete .github

* delete .github

* Delete .github/ISSUE_TEMPLATE directory

* delete .github

---------

Signed-off-by: cxhello <caixiaohuichn@gmail.com>
Signed-off-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: 潘祤麒 <91871324+lvren1485@users.noreply.github.com>
Co-authored-by: cxhello <49056040+cxhello@users.noreply.github.com>
Co-authored-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: Zihan <zzh18189368647@gmail.com>

* feat(prompt): Refactor prompt registry to support multi version management support (#14505)

* feat(ai): 调整Prompt管理相关能力,支持 Prompt 多版本并行和按照标签订阅

* test(ai): 添加Prompt管理相关的单元测试

* feat(ai): Prompt meta 数据存储重构

* feat(ai): 添加 AI 客户端代理接口支持 HTTP 和 gRPC 传输 (#14525)

- 新增 AiClientProxy 接口定义统一的 AI 操作抽象层
- 添加 AiHttpClientProxy 实现类提供基于 HTTP 的 AI 操作
- 在常量类中新增 AI 传输模式相关配置常量
- 修改 NacosAiService 使用代理接口支持传输模式切换
- 更新 Prompt 缓存持有者使用统一的客户端代理
- 将管理信息模型从 PromptAdminInfo 重命名为 PromptDescriptor
- 优化提示词管理服务实现以使用新的描述符模型
- 添加 HTTP 客户端代理的单元测试用例

* fix(skill): normalize escaped yaml parsing and stabilize related tests (#14537)

Ensure SKILL.md export escapes backslashes safely and zip import restores double-quoted YAML escapes, so export-import roundtrips keep original semantics. Align skill sync test resource path with current type-folder behavior to fix CI regressions.

Made-with: Cursor

* Add find-skill-from-nacos skill & fix skill upload authenticationDevelop skill registry with copolit (#14534)

* fix(console-ui): add authentication context to skill upload request

* feat(skills): add find-skill-from nacos

* chore(pom.xml): 添加多个目录到排除列表 (#14542)

在pom.xml中的资源过滤配置里添加了几个新的目录排除规则,包括`.cursor`, `.agents`, `.qoder`以及`skills`等目录。

* fix test (#14543)

Change-Id: I3210ea1c5eb7b9a78887daf015772a8d8356d149

* Develop skill registry with copolit (#14552)

* fix test

Change-Id: I3210ea1c5eb7b9a78887daf015772a8d8356d149

* fix pmd checkstyle

Change-Id: If87fd32d7fa5e5101b54b91f602335492d8c8803

* test case fix& sync develop (#14554)

* refactor(common): remove unused cache package (#14546)

Remove the entire com.alibaba.nacos.common.cache package which has
zero production references. This package was originally created as a
replacement for Guava Cache but was abandoned after bugs were found
and the code was rolled back to Guava.

Also remove the LruCache targeted SpotBugs exclusion from
spotbugs-exclude.xml since the class no longer exists.

Fixes #14545

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* testcase

Change-Id: I7204e330ad381c2bb01654705285b8bf4fa0d840

* skills registry and nacos copolit (#14245)

support skill registry and nacos copilot

* skill registry with copolit (#14388)

* test case (#14395)

Change-Id: I8fd1e71c908e5674278752b0848c2554beffee88

* * optimize skill

* optimize skill

* feat(prompt): Add Prompt Registry (#14440)

* feat(ai): prompt registry支持

* refactor(ai): 重构版本比较和JSON字段处理逻辑 (#14441)

- 将硬编码的版本部分数量替换为VERSION_PARTS_COUNT常量
- 添加FIELD_VERSION、FIELD_TEMPLATE和FIELD_COMMIT_MSG常量用于JSON字段名
- 使用常量替换硬编码的".json"后缀字符串
- 统一版本比较循环中的数组长度判断逻辑

* feat(ai): 支持配置管理中的标签功能 (#14453)

* feat(ai): 支持配置管理中的标签功能

- 在数据库配置信息更新逻辑中实现动态SQL构建,仅当描述字段不为null时更新c_desc字段
- 重构嵌入式和外部数据源的配置信息持久化服务,支持条件性更新描述字段
- 新增promptTags字段到AI提示词相关的基础信息和详情模型中
- 扩展AI提示词发布和元数据更新接口,支持标签参数传递
- 实现在配置信息持久化过程中将标签信息存储到数据库
- 添加配置变更追踪和事件发布功能,支持元数据更新的通知机制

* refactor(config): 调整配置信息持久化服务中的映射器初始化位置

- 将 ConfigInfoMapper 的初始化从方法开始处移动到实际使用前的位置
- 确保映射器在执行数据库操作之前正确初始化
- 提高代码可读性和逻辑流程的清晰度
- 优化外部配置信息持久化服务的代码结构
- 统一嵌入式和外部配置信息持久化服务的映射器初始化方式

* Modify skill functions and display (#14465)

* Enhance MainLayout: Add language change handling to fetch notices on update (#14210)

添加 componentDidUpdate 生命周期方法,监听语言变化并重新获取公告

* fix(startup): add JVM --add-opens options for JDK 17+ compatibility (#14307)

Add --add-opens JVM options to startup scripts for Java 9+ to resolve
JRaft reflection issues when running on JDK 17+.

Added options:
- --add-opens=java.base/java.lang=ALL-UNNAMED
- --add-opens=java.base/java.lang.reflect=ALL-UNNAMED
- --add-opens=java.base/java.util=ALL-UNNAMED

Closes #14122

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* feat(github): add anti-spam protection for GitHub Issues (#14333)

- Add config.yml to disable blank issues and guide users to proper channels
- Add anti-spam.yml GitHub Actions workflow with:
  - Keyword-based spam detection (airline names, multi-language terms)
  - New account detection (< 7 days)
  - Auto-close, label, and lock spam issues
- Remove deprecated old-issue-template.md

This addresses the recent spam bot attacks targeting the repository.

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* chore: fix some typos in comments (#14263)

Signed-off-by: slightsharp <slightsharp@outlook.com>

* fix(github): improve anti-spam detection accuracy (#14356)

- Fix account age detection by fetching user data via GitHub API
  (issue.user.created_at is not available in webhook payload)
- Add more airline names (Swiss Air, Austrian Airlines, TAP Portugal, etc.)
- Add French spam keywords (billet, réservation, vol, etc.)
- Add phone number pattern detection (2+ phone numbers triggers spam)
- Improve logging for debugging

This fixes the issue where spam from new accounts was not being detected.

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* test(auth): improve readability of LDAP auth integration test (#14357)

* fix run bugs

* 修改skill展示为文件夹形式

* skill ai优化更新

* 修复上传skill压缩包限制10M

* 创新skill填写名称限制提示

* skill文件夹多层次结构

* 优化前端页面

* auth open

* auth open

* delete .github

* delete .github

* Delete .github/ISSUE_TEMPLATE directory

* delete .github

---------

Signed-off-by: cxhello <caixiaohuichn@gmail.com>
Signed-off-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: 潘祤麒 <91871324+lvren1485@users.noreply.github.com>
Co-authored-by: cxhello <49056040+cxhello@users.noreply.github.com>
Co-authored-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: Zihan <zzh18189368647@gmail.com>

* feat(prompt): Refactor prompt registry to support multi version management support (#14505)

* feat(ai): 调整Prompt管理相关能力,支持 Prompt 多版本并行和按照标签订阅

* test(ai): 添加Prompt管理相关的单元测试

* feat(ai): Prompt meta 数据存储重构

* feat(ai): 添加 AI 客户端代理接口支持 HTTP 和 gRPC 传输 (#14525)

- 新增 AiClientProxy 接口定义统一的 AI 操作抽象层
- 添加 AiHttpClientProxy 实现类提供基于 HTTP 的 AI 操作
- 在常量类中新增 AI 传输模式相关配置常量
- 修改 NacosAiService 使用代理接口支持传输模式切换
- 更新 Prompt 缓存持有者使用统一的客户端代理
- 将管理信息模型从 PromptAdminInfo 重命名为 PromptDescriptor
- 优化提示词管理服务实现以使用新的描述符模型
- 添加 HTTP 客户端代理的单元测试用例

* fix(skill): normalize escaped yaml parsing and stabilize related tests (#14537)

Ensure SKILL.md export escapes backslashes safely and zip import restores double-quoted YAML escapes, so export-import roundtrips keep original semantics. Align skill sync test resource path with current type-folder behavior to fix CI regressions.

Made-with: Cursor

* Add find-skill-from-nacos skill & fix skill upload authenticationDevelop skill registry with copolit (#14534)

* fix(console-ui): add authentication context to skill upload request

* feat(skills): add find-skill-from nacos

* chore(pom.xml): 添加多个目录到排除列表 (#14542)

在pom.xml中的资源过滤配置里添加了几个新的目录排除规则,包括`.cursor`, `.agents`, `.qoder`以及`skills`等目录。

* fix test (#14543)

Change-Id: I3210ea1c5eb7b9a78887daf015772a8d8356d149

* Develop skill registry with copolit (#14552)

* fix test

Change-Id: I3210ea1c5eb7b9a78887daf015772a8d8356d149

* fix pmd checkstyle

Change-Id: If87fd32d7fa5e5101b54b91f602335492d8c8803

* testcase

Change-Id: I7204e330ad381c2bb01654705285b8bf4fa0d840

---------

Signed-off-by: cxhello <caixiaohuichn@gmail.com>
Signed-off-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: cxhello <49056040+cxhello@users.noreply.github.com>
Co-authored-by: Sunrisea <1336317033@qq.com>
Co-authored-by: qiacheng7 <chenxinyu.cxy@alibaba-inc.com>
Co-authored-by: 潘祤麒 <91871324+lvren1485@users.noreply.github.com>
Co-authored-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: Zihan <zzh18189368647@gmail.com>
Co-authored-by: sai <53073903+saynoword@users.noreply.github.com>

* fix codeql (#14555)

* refactor(common): remove unused cache package (#14546)

Remove the entire com.alibaba.nacos.common.cache package which has
zero production references. This package was originally created as a
replacement for Guava Cache but was abandoned after bugs were found
and the code was rolled back to Guava.

Also remove the LruCache targeted SpotBugs exclusion from
spotbugs-exclude.xml since the class no longer exists.

Fixes #14545

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* testcase

Change-Id: I7204e330ad381c2bb01654705285b8bf4fa0d840

* skills registry and nacos copolit (#14245)

support skill registry and nacos copilot

* skill registry with copolit (#14388)

* test case (#14395)

Change-Id: I8fd1e71c908e5674278752b0848c2554beffee88

* * optimize skill

* optimize skill

* feat(prompt): Add Prompt Registry (#14440)

* feat(ai): prompt registry支持

* refactor(ai): 重构版本比较和JSON字段处理逻辑 (#14441)

- 将硬编码的版本部分数量替换为VERSION_PARTS_COUNT常量
- 添加FIELD_VERSION、FIELD_TEMPLATE和FIELD_COMMIT_MSG常量用于JSON字段名
- 使用常量替换硬编码的".json"后缀字符串
- 统一版本比较循环中的数组长度判断逻辑

* feat(ai): 支持配置管理中的标签功能 (#14453)

* feat(ai): 支持配置管理中的标签功能

- 在数据库配置信息更新逻辑中实现动态SQL构建,仅当描述字段不为null时更新c_desc字段
- 重构嵌入式和外部数据源的配置信息持久化服务,支持条件性更新描述字段
- 新增promptTags字段到AI提示词相关的基础信息和详情模型中
- 扩展AI提示词发布和元数据更新接口,支持标签参数传递
- 实现在配置信息持久化过程中将标签信息存储到数据库
- 添加配置变更追踪和事件发布功能,支持元数据更新的通知机制

* refactor(config): 调整配置信息持久化服务中的映射器初始化位置

- 将 ConfigInfoMapper 的初始化从方法开始处移动到实际使用前的位置
- 确保映射器在执行数据库操作之前正确初始化
- 提高代码可读性和逻辑流程的清晰度
- 优化外部配置信息持久化服务的代码结构
- 统一嵌入式和外部配置信息持久化服务的映射器初始化方式

* Modify skill functions and display (#14465)

* Enhance MainLayout: Add language change handling to fetch notices on update (#14210)

添加 componentDidUpdate 生命周期方法,监听语言变化并重新获取公告

* fix(startup): add JVM --add-opens options for JDK 17+ compatibility (#14307)

Add --add-opens JVM options to startup scripts for Java 9+ to resolve
JRaft reflection issues when running on JDK 17+.

Added options:
- --add-opens=java.base/java.lang=ALL-UNNAMED
- --add-opens=java.base/java.lang.reflect=ALL-UNNAMED
- --add-opens=java.base/java.util=ALL-UNNAMED

Closes #14122

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* feat(github): add anti-spam protection for GitHub Issues (#14333)

- Add config.yml to disable blank issues and guide users to proper channels
- Add anti-spam.yml GitHub Actions workflow with:
  - Keyword-based spam detection (airline names, multi-language terms)
  - New account detection (< 7 days)
  - Auto-close, label, and lock spam issues
- Remove deprecated old-issue-template.md

This addresses the recent spam bot attacks targeting the repository.

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* chore: fix some typos in comments (#14263)

Signed-off-by: slightsharp <slightsharp@outlook.com>

* fix(github): improve anti-spam detection accuracy (#14356)

- Fix account age detection by fetching user data via GitHub API
  (issue.user.created_at is not available in webhook payload)
- Add more airline names (Swiss Air, Austrian Airlines, TAP Portugal, etc.)
- Add French spam keywords (billet, réservation, vol, etc.)
- Add phone number pattern detection (2+ phone numbers triggers spam)
- Improve logging for debugging

This fixes the issue where spam from new accounts was not being detected.

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* test(auth): improve readability of LDAP auth integration test (#14357)

* fix run bugs

* 修改skill展示为文件夹形式

* skill ai优化更新

* 修复上传skill压缩包限制10M

* 创新skill填写名称限制提示

* skill文件夹多层次结构

* 优化前端页面

* auth open

* auth open

* delete .github

* delete .github

* Delete .github/ISSUE_TEMPLATE directory

* delete .github

---------

Signed-off-by: cxhello <caixiaohuichn@gmail.com>
Signed-off-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: 潘祤麒 <91871324+lvren1485@users.noreply.github.com>
Co-authored-by: cxhello <49056040+cxhello@users.noreply.github.com>
Co-authored-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: Zihan <zzh18189368647@gmail.com>

* feat(prompt): Refactor prompt registry to support multi version management support (#14505)

* feat(ai): 调整Prompt管理相关能力,支持 Prompt 多版本并行和按照标签订阅

* test(ai): 添加Prompt管理相关的单元测试

* feat(ai): Prompt meta 数据存储重构

* feat(ai): 添加 AI 客户端代理接口支持 HTTP 和 gRPC 传输 (#14525)

- 新增 AiClientProxy 接口定义统一的 AI 操作抽象层
- 添加 AiHttpClientProxy 实现类提供基于 HTTP 的 AI 操作
- 在常量类中新增 AI 传输模式相关配置常量
- 修改 NacosAiService 使用代理接口支持传输模式切换
- 更新 Prompt 缓存持有者使用统一的客户端代理
- 将管理信息模型从 PromptAdminInfo 重命名为 PromptDescriptor
- 优化提示词管理服务实现以使用新的描述符模型
- 添加 HTTP 客户端代理的单元测试用例

* fix(skill): normalize escaped yaml parsing and stabilize related tests (#14537)

Ensure SKILL.md export escapes backslashes safely and zip import restores double-quoted YAML escapes, so export-import roundtrips keep original semantics. Align skill sync test resource path with current type-folder behavior to fix CI regressions.

Made-with: Cursor

* Add find-skill-from-nacos skill & fix skill upload authenticationDevelop skill registry with copolit (#14534)

* fix(console-ui): add authentication context to skill upload request

* feat(skills): add find-skill-from nacos

* chore(pom.xml): 添加多个目录到排除列表 (#14542)

在pom.xml中的资源过滤配置里添加了几个新的目录排除规则,包括`.cursor`, `.agents`, `.qoder`以及`skills`等目录。

* fix test (#14543)

Change-Id: I3210ea1c5eb7b9a78887daf015772a8d8356d149

* Develop skill registry with copolit (#14552)

* fix test

Change-Id: I3210ea1c5eb7b9a78887daf015772a8d8356d149

* fix pmd checkstyle

Change-Id: If87fd32d7fa5e5101b54b91f602335492d8c8803

* testcase

Change-Id: I7204e330ad381c2bb01654705285b8bf4fa0d840

* fix codeQL

Change-Id: I3a9a2e6480cf5de14f04333fcfa1b43e853303f6

---------

Signed-off-by: cxhello <caixiaohuichn@gmail.com>
Signed-off-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: cxhello <49056040+cxhello@users.noreply.github.com>
Co-authored-by: Sunrisea <1336317033@qq.com>
Co-authored-by: qiacheng7 <chenxinyu.cxy@alibaba-inc.com>
Co-authored-by: 潘祤麒 <91871324+lvren1485@users.noreply.github.com>
Co-authored-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: Zihan <zzh18189368647@gmail.com>
Co-authored-by: sai <53073903+saynoword@users.noreply.github.com>

* Add uploadSkill API to admin controller and extract common RemoteServerConnector (#14565)

* feat(ai): add uploadSkill API to SkillAdminController

* feat(ai): fix uploadSkillFromZip unavailable in console mode and extract common remote server connector

* fix testcase (#14566)

* refactor(common): remove unused cache package (#14546)

Remove the entire com.alibaba.nacos.common.cache package which has
zero production references. This package was originally created as a
replacement for Guava Cache but was abandoned after bugs were found
and the code was rolled back to Guava.

Also remove the LruCache targeted SpotBugs exclusion from
spotbugs-exclude.xml since the class no longer exists.

Fixes #14545

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* testcase

Change-Id: I7204e330ad381c2bb01654705285b8bf4fa0d840

* skills registry and nacos copolit (#14245)

support skill registry and nacos copilot

* skill registry with copolit (#14388)

* test case (#14395)

Change-Id: I8fd1e71c908e5674278752b0848c2554beffee88

* * optimize skill

* optimize skill

* feat(prompt): Add Prompt Registry (#14440)

* feat(ai): prompt registry支持

* refactor(ai): 重构版本比较和JSON字段处理逻辑 (#14441)

- 将硬编码的版本部分数量替换为VERSION_PARTS_COUNT常量
- 添加FIELD_VERSION、FIELD_TEMPLATE和FIELD_COMMIT_MSG常量用于JSON字段名
- 使用常量替换硬编码的".json"后缀字符串
- 统一版本比较循环中的数组长度判断逻辑

* feat(ai): 支持配置管理中的标签功能 (#14453)

* feat(ai): 支持配置管理中的标签功能

- 在数据库配置信息更新逻辑中实现动态SQL构建,仅当描述字段不为null时更新c_desc字段
- 重构嵌入式和外部数据源的配置信息持久化服务,支持条件性更新描述字段
- 新增promptTags字段到AI提示词相关的基础信息和详情模型中
- 扩展AI提示词发布和元数据更新接口,支持标签参数传递
- 实现在配置信息持久化过程中将标签信息存储到数据库
- 添加配置变更追踪和事件发布功能,支持元数据更新的通知机制

* refactor(config): 调整配置信息持久化服务中的映射器初始化位置

- 将 ConfigInfoMapper 的初始化从方法开始处移动到实际使用前的位置
- 确保映射器在执行数据库操作之前正确初始化
- 提高代码可读性和逻辑流程的清晰度
- 优化外部配置信息持久化服务的代码结构
- 统一嵌入式和外部配置信息持久化服务的映射器初始化方式

* Modify skill functions and display (#14465)

* Enhance MainLayout: Add language change handling to fetch notices on update (#14210)

添加 componentDidUpdate 生命周期方法,监听语言变化并重新获取公告

* fix(startup): add JVM --add-opens options for JDK 17+ compatibility (#14307)

Add --add-opens JVM options to startup scripts for Java 9+ to resolve
JRaft reflection issues when running on JDK 17+.

Added options:
- --add-opens=java.base/java.lang=ALL-UNNAMED
- --add-opens=java.base/java.lang.reflect=ALL-UNNAMED
- --add-opens=java.base/java.util=ALL-UNNAMED

Closes #14122

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* feat(github): add anti-spam protection for GitHub Issues (#14333)

- Add config.yml to disable blank issues and guide users to proper channels
- Add anti-spam.yml GitHub Actions workflow with:
  - Keyword-based spam detection (airline names, multi-language terms)
  - New account detection (< 7 days)
  - Auto-close, label, and lock spam issues
- Remove deprecated old-issue-template.md

This addresses the recent spam bot attacks targeting the repository.

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* chore: fix some typos in comments (#14263)

Signed-off-by: slightsharp <slightsharp@outlook.com>

* fix(github): improve anti-spam detection accuracy (#14356)

- Fix account age detection by fetching user data via GitHub API
  (issue.user.created_at is not available in webhook payload)
- Add more airline names (Swiss Air, Austrian Airlines, TAP Portugal, etc.)
- Add French spam keywords (billet, réservation, vol, etc.)
- Add phone number pattern detection (2+ phone numbers triggers spam)
- Improve logging for debugging

This fixes the issue where spam from new accounts was not being detected.

Signed-off-by: cxhello <caixiaohuichn@gmail.com>

* test(auth): improve readability of LDAP auth integration test (#14357)

* fix run bugs

* 修改skill展示为文件夹形式

* skill ai优化更新

* 修复上传skill压缩包限制10M

* 创新skill填写名称限制提示

* skill文件夹多层次结构

* 优化前端页面

* auth open

* auth open

* delete .github

* delete .github

* Delete .github/ISSUE_TEMPLATE directory

* delete .github

---------

Signed-off-by: cxhello <caixiaohuichn@gmail.com>
Signed-off-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: 潘祤麒 <91871324+lvren1485@users.noreply.github.com>
Co-authored-by: cxhello <49056040+cxhello@users.noreply.github.com>
Co-authored-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: Zihan <zzh18189368647@gmail.com>

* feat(prompt): Refactor prompt registry to support multi version management support (#14505)

* feat(ai): 调整Prompt管理相关能力,支持 Prompt 多版本并行和按照标签订阅

* test(ai): 添加Prompt管理相关的单元测试

* feat(ai): Prompt meta 数据存储重构

* feat(ai): 添加 AI 客户端代理接口支持 HTTP 和 gRPC 传输 (#14525)

- 新增 AiClientProxy 接口定义统一的 AI 操作抽象层
- 添加 AiHttpClientProxy 实现类提供基于 HTTP 的 AI 操作
- 在常量类中新增 AI 传输模式相关配置常量
- 修改 NacosAiService 使用代理接口支持传输模式切换
- 更新 Prompt 缓存持有者使用统一的客户端代理
- 将管理信息模型从 PromptAdminInfo 重命名为 PromptDescriptor
- 优化提示词管理服务实现以使用新的描述符模型
- 添加 HTTP 客户端代理的单元测试用例

* fix(skill): normalize escaped yaml parsing and stabilize related tests (#14537)

Ensure SKILL.md export escapes backslashes safely and zip import restores double-quoted YAML escapes, so export-import roundtrips keep original semantics. Align skill sync test resource path with current type-folder behavior to fix CI regressions.

Made-with: Cursor

* Add find-skill-from-nacos skill & fix skill upload authenticationDevelop skill registry with copolit (#14534)

* fix(console-ui): add authentication context to skill upload request

* feat(skills): add find-skill-from nacos

* chore(pom.xml): 添加多个目录到排除列表 (#14542)

在pom.xml中的资源过滤配置里添加了几个新的目录排除规则,包括`.cursor`, `.agents`, `.qoder`以及`skills`等目录。

* fix test (#14543)

Change-Id: I3210ea1c5eb7b9a78887daf015772a8d8356d149

* Develop skill registry with copolit (#14552)

* fix test

Change-Id: I3210ea1c5eb7b9a78887daf015772a8d8356d149

* fix pmd checkstyle

Change-Id: If87fd32d7fa5e5101b54b91f602335492d8c8803

* testcase

Change-Id: I7204e330ad381c2bb01654705285b8bf4fa0d840

* fix codeQL

Change-Id: I3a9a2e6480cf5de14f04333fcfa1b43e853303f6

* fix testcase

Change-Id: I31868ba832ed7c7c398177035028d9e316f6affb

---------

Signed-off-by: cxhello <caixiaohuichn@gmail.com>
Signed-off-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: cxhello <49056040+cxhello@users.noreply.github.com>
Co-authored-by: Sunrisea <1336317033@qq.com>
Co-authored-by: qiacheng7 <chenxinyu.cxy@alibaba-inc.com>
Co-authored-by: 潘祤麒 <91871324+lvren1485@users.noreply.github.com>
Co-authored-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: Zihan <zzh18189368647@gmail.com>
Co-authored-by: sai <53073903+saynoword@users.noreply.github.com>

* Fix console-ui TypeError & Improve copilot module loading (#14567)

* fix(console-ui): import and connect getNotice in MainLayout to fix TypeError

getNotice was called in componentDidUpdate but was neither imported
from reducers/base nor connected via Redux mapDispatchToProps,
causing 'TypeError: this.props.getNotice is not a function' when
user switches language. This crash was introduced in commit 021149e.

Changes:
- Import getNotice from reducers/base
- Add getNotice to connect() mapDispatchToProps
- Add getNotice to propTypes declaration

* feat(copilot): use AutoConfiguration + ComponentScan for copilot module loading

* refactor(client): replace Random with ThreadLocalRandom (#14572)

* test(ai): add mock for publishConfig in SkillOperationServiceImplTest (#14573)

---------

Signed-off-by: cxhello <caixiaohuichn@gmail.com>
Signed-off-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: Sunrisea <1336317033@qq.com>
Co-authored-by: qiacheng7 <chenxinyu.cxy@alibaba-inc.com>
Co-authored-by: 潘祤麒 <91871324+lvren1485@users.noreply.github.com>
Co-authored-by: cxhello <49056040+cxhello@users.noreply.github.com>
Co-authored-by: slightsharp <slightsharp@outlook.com>
Co-authored-by: Zihan <zzh18189368647@gmail.com>
Co-authored-by: sai <53073903+saynoword@users.noreply.github.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area/Nacos console Related to Nacos consle kind/bug Category issues or prs related to bug.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

console-ui 通知信息切换语言时不变化

3 participants