Skip to content

[ISSUE #15471] feat(ai): support SkillSpector publish pipeline#15472

Closed
saynoword wants to merge 14 commits into
alibaba:developfrom
saynoword:feature/skillspector-pipeline
Closed

[ISSUE #15471] feat(ai): support SkillSpector publish pipeline#15472
saynoword wants to merge 14 commits into
alibaba:developfrom
saynoword:feature/skillspector-pipeline

Conversation

@saynoword

@saynoword saynoword commented Jul 8, 2026

Copy link
Copy Markdown
Contributor

Please do not create a Pull Request without creating an issue first.

Fixes #15471

What is the purpose of the change

Add SkillSpector as a Nacos AI publish pipeline checker beside skill-scanner, so AI resources can be reviewed with configurable risk-score based scanning before publish. The change keeps pipeline execution order configurable and avoids bundling the large SkillSpector runtime into the Nacos server package by resolving an externally installed stable command path.

Brief changelog

  • Add configurable AI publish pipeline node ordering for configured pipeline nodes.
  • Add the skill-spector pipeline implementation, builder, scan options, scan report parsing, SPI registration, and unit tests.
  • Support SkillSpector configuration for risk-score threshold, maximum displayed findings, and optional LLM parameters.
  • Resolve skill-spector from PATH or ~/ai-infra/ai-pipeline/bin/skill-spector by default, with an explicit command override still available.
  • Keep framework behavior explicit: pipeline nodes are loaded only when nacos.plugin.ai-pipeline.type is configured.
  • Show detailed SkillSpector scan findings in review messages and add a console copy action for pipeline results.
  • Update distribution configuration examples and rebuild console static assets.

Verifying this change

  • mvn -pl ai -Dtest=SkillOperationServiceImplTest test
  • mvn -pl ai -Dtest=FilePipelineConfigProviderTest test
  • mvn -pl ai spotless:check -DskipTests
  • mvn -pl ai -DskipTests -Dcheckstyle.consoleOutput=true checkstyle:check
  • mvn -pl plugin-default-impl/nacos-default-ai-pipeline-plugin spotless:check -DskipTests
  • mvn -pl plugin-default-impl/nacos-default-ai-pipeline-plugin -DskipTests -Dcheckstyle.consoleOutput=true checkstyle:check
  • mvn -pl plugin-default-impl/nacos-default-ai-pipeline-plugin -Dtest=SkillSpectorPipelineServiceBuilderTest test

Follow this checklist to help us incorporate your contribution quickly and easily:

  • Make sure there is a Github issue filed for the change (usually before you start working on it). Trivial changes like typos do not require a Github issue. Your pull request should address just this issue, without pulling in other changes - one PR resolves one issue.
  • Format the pull request title like [ISSUE #123] Fix UnknownException when host config not exist. Each commit in the pull request should have a meaningful subject line and body.
  • Write a pull request description that is detailed enough to understand what the pull request does, how, and why.
  • Write necessary unit-test to verify your logic correction, more mock a little better when cross module dependency exist. If the new feature or significant change is committed, please remember to add integration-test in test module.
  • Run mvn -B clean package apache-rat:check spotbugs:check -DskipTests to make sure basic checks pass. Run mvn clean install to make sure unit-test pass. Run mvn clean test-compile failsafe:integration-test to make sure integration-test pass.

@saynoword saynoword closed this Jul 8, 2026
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.

Support SkillSpector in AI publish pipeline

1 participant