public class CliSkill extends AbsProcessSkill
| 限定符和类型 | 字段和说明 |
|---|---|
protected java.nio.charset.Charset |
fileCharset |
maxOutputSize, outputCharset, rootPath, scriptCharset, timeoutSeconds| 构造器和说明 |
|---|
CliSkill(java.lang.String workDir)
兼容性构造函数
|
CliSkill(java.lang.String boxId,
java.lang.String workDir) |
| 限定符和类型 | 方法和说明 |
|---|---|
java.lang.String |
bash(java.lang.String command) |
java.lang.String |
description()
获取技能描述
|
CliSkill |
fileCharset(java.nio.charset.Charset fileCharset) |
java.lang.String |
getInstruction(Prompt prompt)
动态指令注入:生成并注入到 System Message 的描述性文本(如果使用 MD 层级,从第三级开始)
用于约束 AI 如何使用该技能下的工具
|
java.lang.String |
globSearch(java.lang.String pattern,
java.lang.String path) |
java.lang.String |
grepSearch(java.lang.String query,
java.lang.String path) |
boolean |
isSupported(Prompt prompt)
准入检查:决定该技能在当前对话上下文中是否被激活
|
java.lang.String |
listFiles(java.lang.String path,
java.lang.Boolean recursive,
java.lang.Boolean showHidden) |
CliSkill |
mountPool(java.lang.String alias,
java.lang.String dir) |
java.lang.String |
name()
获取技能名称(默认类名)
|
CliSkill |
outputCharset(java.nio.charset.Charset outputCharset) |
java.lang.String |
readFile(java.lang.String path,
java.lang.Integer startLine,
java.lang.Integer endLine) |
CliSkill |
scriptCharset(java.nio.charset.Charset scriptCharset) |
java.lang.String |
strReplaceEditor(java.lang.String path,
java.lang.String oldStr,
java.lang.String newStr)
精准替换文件内容 (完全对齐 Claude Code str_replace_editor 规范)
|
java.lang.String |
undoEdit(java.lang.String path) |
java.lang.String |
writeToFile(java.lang.String path,
java.lang.String content) |
runCode, setMaxOutputSize, setTimeoutSecondspublic CliSkill(java.lang.String boxId,
java.lang.String workDir)
boxId - 当前盒子(任务空间)标识workDir - 盒子物理根目录public CliSkill(java.lang.String workDir)
public java.lang.String name()
Skillpublic java.lang.String description()
Skillpublic boolean isSupported(Prompt prompt)
Skillprompt - 当前提示词上下文public java.lang.String getInstruction(Prompt prompt)
Skill@ToolMapping(name="bash", description="\u5728 shell \u4e2d\u6267\u884c\u6307\u4ee4\u3002\u652f\u6301 @alias \u8def\u5f84\u81ea\u52a8\u6620\u5c04\u3002") public java.lang.String bash(@Param(value="command",description="\u8981\u6267\u884c\u7684\u6307\u4ee4\u3002") java.lang.String command)
@ToolMapping(name="list_files", description="\u5217\u51fa\u76ee\u5f55\u5185\u5bb9\u3002\u76ee\u5f55\u82e5\u5e26 (Skill) \u6807\u8bb0\u5219\u542b\u6709\u4e1a\u52a1\u89c4\u8303\u3002") public java.lang.String listFiles(@Param(value="path",description="\u76ee\u5f55\u76f8\u5bf9\u8def\u5f84\uff08\u7981\u6b62\u4ee5 ./ \u5f00\u5934\uff09\u3002\'.\' \u8868\u793a\u5f53\u524d\u6839\u76ee\u5f55\u3002") java.lang.String path, @Param(value="recursive",required=false,description="\u662f\u5426\u9012\u5f52\u5217\u51fa\uff08\u6df1\u5ea6\u9650\u52365\uff09\u3002") java.lang.Boolean recursive, @Param(value="show_hidden",required=false,description="\u662f\u5426\u663e\u793a\u9690\u85cf\u6587\u4ef6\uff08\u5982 .env, .gitignore\uff09\u3002\u9ed8\u8ba4 false \u4ee5\u4fdd\u6301\u7ed3\u679c\u6574\u6d01\u3002") java.lang.Boolean showHidden) throws java.io.IOException
java.io.IOException@ToolMapping(name="read_file", description="\u8bfb\u53d6\u6587\u4ef6\u5185\u5bb9\u3002\u5bf9\u4e8e\u5927\u6587\u4ef6\uff0c\u5fc5\u987b\u4f7f\u7528\u5206\u9875\u8bfb\u53d6\u4ee5\u8282\u7701\u4e0a\u4e0b\u6587\u7a7a\u95f4\u3002") public java.lang.String readFile(@Param(value="path",description="\u6587\u4ef6\u76f8\u5bf9\u8def\u5f84\uff08\u7981\u6b62\u4ee5 ./ \u5f00\u5934\uff09\u3002") java.lang.String path, @Param(value="start_line",required=false,description="\u8d77\u59cb\u884c\u53f7 (\u4ece1\u5f00\u59cb)\u3002") java.lang.Integer startLine, @Param(value="end_line",required=false,description="\u7ed3\u675f\u884c\u53f7\u3002") java.lang.Integer endLine) throws java.io.IOException
java.io.IOException@ToolMapping(name="write_to_file", description="\u521b\u5efa\u65b0\u6587\u4ef6\u6216\u8986\u76d6\u73b0\u6709\u6587\u4ef6\u3002\u4e25\u7981\u4fee\u6539\u6c60(@)\u8def\u5f84\u3002") public java.lang.String writeToFile(@Param(value="path",description="\u6587\u4ef6\u7684\u76f8\u5bf9\u8def\u5f84\uff08\u7981\u6b62\u4ee5 ./ \u5f00\u5934\uff09\u3002") java.lang.String path, @Param(value="content",description="\u6587\u4ef6\u7684\u5b8c\u6574\u6587\u672c\u5185\u5bb9") java.lang.String content) throws java.io.IOException
java.io.IOException@ToolMapping(name="grep_search", description="\u9012\u5f52\u641c\u7d22\u7279\u5b9a\u5185\u5bb9\u3002\u8fd4\u56de\u683c\u5f0f\u4e3a \'\u8def\u5f84:\u884c\u53f7: \u5185\u5bb9\'\u3002") public java.lang.String grepSearch(@Param(value="query",description="\u641c\u7d22\u5173\u952e\u5b57") java.lang.String query, @Param(value="path",description="\u8d77\u70b9\u76f8\u5bf9\u8def\u5f84\uff08\u652f\u6301 @alias\uff09") java.lang.String path) throws java.io.IOException
java.io.IOException@ToolMapping(name="glob_search", description="\u6309\u901a\u914d\u7b26\u641c\u7d22\u6587\u4ef6\u540d\uff08\u5982 **/*.js\uff09\u3002") public java.lang.String globSearch(@Param(value="pattern",description="glob \u6a21\u5f0f\uff08\u5982 **/*.java\uff09") java.lang.String pattern, @Param(value="path",description="\u641c\u7d22\u7684\u8d77\u70b9\u76ee\u5f55\uff08\u652f\u6301 @alias\uff09") java.lang.String path) throws java.io.IOException
java.io.IOException@ToolMapping(name="str_replace_editor", description="\u901a\u8fc7\u7cbe\u786e\u5339\u914d\u6587\u672c\u5757\u5e76\u66ff\u6362\u6765\u7f16\u8f91\u6587\u4ef6\u3002\u6ce8\u610f\uff1a\u5982\u679c\u6587\u4ef6\u8f83\u5927\uff0c\u8bf7\u5148\u901a\u8fc7 read_file \u786e\u8ba4\u884c\u53f7\u548c\u5185\u5bb9\u3002") public java.lang.String strReplaceEditor(@Param(value="path",description="\u6587\u4ef6\u76f8\u5bf9\u8def\u5f84\uff08\u7981\u6b62\u4ee5 ./ \u5f00\u5934\uff09\u3002") java.lang.String path, @Param(value="old_str",description="\u6587\u4ef6\u4e2d\u552f\u4e00\u7684\u3001\u5f85\u66ff\u6362\u7684\u6587\u672c\u7247\u6bb5\u3002\u5fc5\u987b\u5305\u542b\u7cbe\u786e\u7684\u7f29\u8fdb\u548c\u6362\u884c\u3002") java.lang.String oldStr, @Param(value="new_str",description="\u66ff\u6362\u540e\u7684\u65b0\u6587\u672c\u5185\u5bb9\u3002") java.lang.String newStr) throws java.io.IOException
java.io.IOException@ToolMapping(name="undo_edit", description="\u64a4\u9500\u6700\u540e\u4e00\u6b21\u7f16\u8f91") public java.lang.String undoEdit(@Param(value="path",description="\u8981\u6062\u590d\u7684\u6587\u4ef6\u76f8\u5bf9\u8def\u5f84") java.lang.String path) throws java.io.IOException
java.io.IOExceptionpublic CliSkill mountPool(java.lang.String alias, java.lang.String dir)
public CliSkill fileCharset(java.nio.charset.Charset fileCharset)
public CliSkill scriptCharset(java.nio.charset.Charset scriptCharset)
public CliSkill outputCharset(java.nio.charset.Charset outputCharset)