Solon v3.9.3

skills - CliSkill 对接海量 Claude Code Agent Skills

</> markdown
2026年2月6日 上午7:54:52

在 Solon AI 生态中,CliSkill 是一个强大的 CLI 综合技能组件。它不仅提供了基础的终端交互能力,更重要的是,它完美兼容了 Claude Code Agent Skills 协议。

这意味着,您可以直接复用海量的开源 AI 技能插件,快速打造一个类似于 Claude Code CLI 的智能终端应用。

1、什么是 CliSkill?能干什么?

CliSkill 是一个基于 Pool-Box(池盒)模型 设计的 AI 技能插件。它充当了 AI 智能体(Agent)与操作系统之间的“手”和“眼”。

它能干什么?

  • 对接生态:直接读取并运行符合 Claude Code 规范的技能包(包含 SKILL.md 声明的工具集)。
  • 文件管理:允许 Agent 在授权的工作目录(Box)内进行 ls、cat、grep 以及精准的文件编辑(edit)。
  • 指令执行:让 Agent 能够安全地调用系统指令(如 mvn, git, ffmpeg 等)来完成复杂任务(比如,生成项目代码,生成视频,生成PPT)。
  • 环境隔离:通过“只读池(Pool)”挂载外部工具,通过“工作盒(Box)”限制修改范围,确保系统安全。

2、快速开始

第一步:准备技能包

在使用 CliSkill 之前,您需要下载一批符合 Claude Code 规范的技能插件。这些插件目录中通常包含一个 SKILL.md 文件,用于描述工具的用法。

第二步:集成到 Agent

通过 CliSkill 挂载您的技能目录,并配置 ReActAgent

// 指向您下载的技能包或项目工作目录
String workDir = "/WORK/work_github/solonlab/opencode-skills";

ReActAgent agent = ReActAgent.of(LlmUtil.getChatModel())
        .name("ClaudeCodeAgent")
        .instruction("严格遵守挂载技能中的【规范协议】执行任务")
        .defaultSkillAdd(new CliSkill(workDir)) // 挂载核心技能
        .maxSteps(100) // 建议设置大点(如 100),确保复杂逻辑的链式思考能完整执行
        .build();

// 发起任务:Agent 将会自动检索目录下的规范,并调用相关 CLI 工具执行
agent.prompt("帮我生成一个 solon web 项目,实现经典的管理系统,要简单些,只是用于演示");

3、功能特性说明

CliSkill 内置了以下兼容 Claude Code 协议的标准工具映射:

工具映射说明
ls列出目录内容,并自动识别标记为 (Claude Code Skill) 的目录。
cat读取文件内容(如代码或 SKILL.md 规范)。
grep在盒子或技能池中进行全文本递归搜索。
write / edit在盒子空间内创建或精准修改文件(支持文本替换与模糊匹配)。
run_command执行系统指令。支持自动解析以 @pool 开头的虚拟路径。
exists_cmd预检查环境依赖(如 python, ffmpeg, node 等)。

4、进阶使用:多技能池挂载

如果您有多个不同来源的技能包,可以使用 mountPool 进行隔离挂载:

CliSkill cli = new CliSkill("my-box", "/path/to/workdir")
        .mountPool("@media", "/path/to/ffmpeg-skills")
        .mountPool("@ops", "/path/to/deploy-scripts");

Agent 在执行时,可以通过虚拟路径(如 @media/extract_audio.sh)安全地访问这些只读资源。

5、 参考实现与定制 SolonCodeCLI

为了让您更深入地了解实现细节,我们内置了一个参考实现类:SolonCodeCLI。

您可以直接查阅 org.noear.solon.ai.skills.claudecode.SolonCodeCLI (后面包名可能会换成 cli)的源码。该代码展示了如何处理跨平台的 Shell 指令、如何实现安全的文件路径解析以及如何通过 getInstruction 动态向 LLM 注入技能索引。

提示:您可以复制 SolonCodeCLI 的源码到您的项目中,根据业务需求(如增加特定的权限过滤或审计记录)进行进一步的二次开发。

开发好后,可以体验下以下指令(参力与我们配置的 Claude Code Agent Skills 有关):

  • 新建个 xxx.txt 文件
  • 在 xxx.txt 文件里写入 xxx
  • 生成一个 solon web 项目,一个经典的权限管理系统,要有前端(基于 vue3)和后端(基于 java8),简单些,只是用于演示
  • 生成一个用 solon ai 实现 mcp 分布式 skills 的介绍视频,30秒,你可以通过网络先调查资料设计后再生成