Skip to content

Modify skill functions and display#14465

Merged
shiyiyue1102 merged 22 commits into
alibaba:develop-skill-registry-with-copolitfrom
qiacheng7:develop-skill-registry-with-copolit
Feb 12, 2026
Merged

Modify skill functions and display#14465
shiyiyue1102 merged 22 commits into
alibaba:develop-skill-registry-with-copolitfrom
qiacheng7:develop-skill-registry-with-copolit

Conversation

@qiacheng7

Copy link
Copy Markdown
Contributor
  1. Modify skill display format to use folder-based presentation
  2. Enhance skill AI optimization features to optimize SKILL.md files and improve or add resource/data files
  3. Resolve encoding issues and errors in skill zip package uploads
  4. Expand maximum file size for skill uploads
  5. Improve user interface design

lvren1485 and others added 15 commits January 26, 2026 09:44
…update (alibaba#14210)

添加 componentDidUpdate 生命周期方法,监听语言变化并重新获取公告
…libaba#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>
- 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>
Signed-off-by: slightsharp <slightsharp@outlook.com>
- 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>
@CLAassistant

CLAassistant commented Feb 10, 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格式)。

Comment thread bootstrap/src/main/resources/application.properties Outdated
@shiyiyue1102
shiyiyue1102 merged commit d40267c into alibaba:develop-skill-registry-with-copolit Feb 12, 2026
1 check passed
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

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

7 participants