Solon v3.9.4

skills - CliSkill 对接海量 Claude Code Agent Skills

</> markdown
2026年2月26日 下午4:27:41

在 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("cli", workDir)) // 挂载核心技能
        .maxSteps(30) // 建议设置大点,确保复杂逻辑的链式思考能完整执行(如果有需要,还可以开启动态扩展)
        .build();

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

3、功能特性说明

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

工具映射说明
list_files列出目录内容,并自动识别标记为 (Claude Code Skill) 的目录。
read_file读取文件内容(如代码或 SKILL.md 规范)。
grep_search在盒子或技能池中进行全文本递归搜索。
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)安全地访问这些只读资源。