@Preview(value="3.9.1") public class ShellSkill extends AbsProcessSkill
该技能允许 Agent 在受限的工作目录(WorkDir)中执行系统指令。核心特性包括:
AbsProcessSkill 提供的沙箱路径、输出截断与超时保护。maxOutputSize, outputCharset, rootPath, scriptCharset, timeoutSeconds| 构造器和说明 |
|---|
ShellSkill(java.lang.String workDir) |
ShellSkill(java.lang.String workDir,
java.lang.String shellCmd,
java.lang.String extension) |
| 限定符和类型 | 方法和说明 |
|---|---|
java.lang.String |
description()
获取技能描述
|
java.lang.String |
execute(java.lang.String code)
核心工具:执行指令
|
boolean |
existsCmd(java.lang.String cmd)
辅助工具 1:探测环境
|
boolean |
isSupported(Prompt prompt)
准入检查:决定该技能在当前对话上下文中是否被激活
|
java.lang.String |
listFiles()
辅助工具 2:感知文件
|
java.lang.String |
name()
获取技能名称(默认类名)
|
runCode, setMaxOutputSize, setTimeoutSecondsclone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitgetInstruction, onAttachpublic ShellSkill(java.lang.String workDir)
public ShellSkill(java.lang.String workDir,
java.lang.String shellCmd,
java.lang.String extension)
public java.lang.String name()
Skillpublic java.lang.String description()
Skillpublic boolean isSupported(Prompt prompt)
Skillprompt - 当前提示词上下文@ToolMapping(name="exists_cmd", description="\u68c0\u67e5\u7cfb\u7edf\u662f\u5426\u652f\u6301\u67d0\u547d\u4ee4 (\u5982 python3, git)\u3002\u8fd4\u56de true \u8868\u793a\u53ef\u7528\u3002") public boolean existsCmd(@Param(value="cmd") java.lang.String cmd)
@ToolMapping(name="list_files", description="\u5217\u51fa\u5f53\u524d\u5de5\u4f5c\u76ee\u5f55\u4e0b\u7684\u6587\u4ef6\u548c\u76ee\u5f55\u5217\u8868") public java.lang.String listFiles()
@ToolMapping(name="execute_shell", description="\u5728\u672c\u5730\u7cfb\u7edf\u4e2d\u6267\u884c\u5355\u884c\u6307\u4ee4\u6216\u591a\u884c\u811a\u672c\uff0c\u5e76\u83b7\u53d6\u6807\u51c6\u8f93\u51fa\u3002") public java.lang.String execute(@Param(value="code") java.lang.String code)