Solon v4.0.2

solon-ai-talent-cli

</> markdown
2026年6月11日 下午1:20:25
<dependency>
    <groupId>org.noear</groupId>
    <artifactId>solon-ai-talent-cli</artifactId>
</dependency>

1、描述

Solon AI 才能扩展,提供 CLI 才能(兼容 Claude Agent Skills 规范)。相关依赖:solon-ai-agent(Agent 集成)、solon-ai-sandbox(OS 级沙盒)、solon-ai-talent-mount(挂载体系)。

内置核心类说明:

描述
TerminalTalent提供终端交互、文件发现、分页读取、全文搜索及精准编辑能力
SkillTalent技能管理,负责从本地或挂载点发现、加载和管理 Agent 技能
TodoTalent提供复杂任务的拆解、进度跟踪及计划修订能力
TerminalTalentProxyTerminalTalent 的代理模式包装,用于选择性暴露工具

2、应用示例

// 创建挂载管理器
MountManager mountManager = new MountManager("/path/to/workspace");

// 创建 TerminalTalent(提供 ls, read, write, edit, bash 等文件和命令工具)
TerminalTalent terminalTalent = new TerminalTalent(mountManager);
terminalTalent.setSandboxEnabled(true); // 默认已启用沙盒模式

// 创建 SkillTalent(提供技能发现、搜索和加载工具)
SkillTalent skillTalent = new SkillTalent(mountManager);

// 创建 TodoTalent(提供任务进度跟踪)
TodoTalent todoTalent = new TodoTalent();

ReActAgent agent = ReActAgent.of(LlmUtil.getChatModel())
        .name("SolonCodeAgent")
        .defaultTalentAdd(terminalTalent)  // 注入终端能力
        .defaultTalentAdd(skillTalent)     // 注入技能管理能力
        .defaultTalentAdd(todoTalent)      // 注入任务追踪能力
        .maxTurns(30)      //最大回合
        .autoRethink(true)   //自动反思(超过最大回合后)
        .build();

// 发起任务:Agent 会自动 ls 目录,阅读代码,并根据需要调用 bash 执行指令
agent.prompt("帮我把当前目录下的所有 .wav 文件转换成 .mp3");

3、TerminalTalent 工具参考

通过 @ToolMapping 向 AI Agent 注册以下工具(11 个基础工具,异步模式额外增加 4 个):

  • 基础工具
工具名描述
bash执行非交互式 Shell 指令。支持多行脚本,支持逻辑路径(如 @pool)自动转环境变量
ls列出目录内容。支持递归 Tree 结构展示,支持逻辑路径,自动过滤 .git/node_modules
read分页读取文件内容。128KB 物理长度保护,自动生成下一页引导提示
write创建新文件或覆盖现有文件。自动创建父目录
edit精准文本替换,支持单次调用执行多处编辑。具有原子性:所有编辑预校验通过才写入,否则全部回滚
grep递归搜索内容,返回 路径:行号:内容。支持正则表达式,无效正则自动降级为 contains 匹配
glob按通配符模式搜索文件,最多返回 500 条。确定文件范围的最高效工具
  • 异步会话工具(需 bashAsyncEnabled=true
工具名描述
bash_start启动异步 Shell 命令会话。超时不失败,返回 session_id 供后续操作
bash_wait继续等待运行中的命令会话,返回新增输出或最终状态
bash_stdin向运行中的命令会话写入 stdin 文本,支持交互式程序
bash_stop终止运行中的命令会话及其子进程树

4、SkillTalent 工具参考

工具名描述
skillread读取技能的 SKILL.md 详细说明书。在选定技能后调用,获取具体的环境要求、参数规约及可用文件列表
skillsearch按关键词搜索技能(空格分隔,AND 逻辑)。匹配名称和描述,返回前 15 条结果
skilllist列出所有已挂载技能的完整清单。仅在技能数 ≤ searchThreshold 时可用
skillrefresh重新扫描所有挂载点,更新技能列表

5、TodoTalent 工具参考

工具名描述
todoread读取当前任务清单。用于同步执行进度,确认下一步操作
todowrite写入任务列表(新建、更新或重构)。接收 Markdown 格式清单,自动追加换行