pub struct FileEditTool { /* private fields */ }Expand description
文件编辑工具:通过精确替换编辑文件。
使用 old_string → new_string 的精确替换方式来编辑文件内容。 old_string 必须在文件中精确匹配出现一次(0 次=未找到,多次=歧义)。 new_string 可以为空以删除匹配的文本。
安全限制:
- 仅允许编辑白名单扩展名的文件
- 禁止访问系统敏感路径
- 支持配置允许的工作目录
输入格式:
{
"path": "文件路径",
"old_string": "要替换的原文",
"new_string": "新文本"
}Implementations§
Source§impl FileEditTool
impl FileEditTool
Sourcepub fn with_allowed_dirs(self, dirs: Vec<PathBuf>) -> Self
pub fn with_allowed_dirs(self, dirs: Vec<PathBuf>) -> Self
设置允许的工作目录
Sourcepub fn with_max_file_size(self, size: u64) -> Self
pub fn with_max_file_size(self, size: u64) -> Self
设置最大文件大小
Trait Implementations§
Source§impl Default for FileEditTool
impl Default for FileEditTool
Source§impl Tool for FileEditTool
impl Tool for FileEditTool
Source§fn description(&self) -> Option<&str>
fn description(&self) -> Option<&str>
返回工具描述。
Source§fn categories(&self) -> &'static [ToolCategory]
fn categories(&self) -> &'static [ToolCategory]
返回工具分类。
Source§fn input_schema(&self) -> Value
fn input_schema(&self) -> Value
返回输入参数的 JSON Schema。
Source§fn call<'life0, 'async_trait>(
&'life0 self,
input: Value,
) -> Pin<Box<dyn Future<Output = Result<Value, ToolError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
fn call<'life0, 'async_trait>(
&'life0 self,
input: Value,
) -> Pin<Box<dyn Future<Output = Result<Value, ToolError>> + Send + 'async_trait>>where
Self: 'async_trait,
'life0: 'async_trait,
执行文件编辑。
Source§fn definition(&self) -> ToolDefinition
fn definition(&self) -> ToolDefinition
获取工具定义 (ToolDefinition) Read more
Auto Trait Implementations§
impl Freeze for FileEditTool
impl RefUnwindSafe for FileEditTool
impl Send for FileEditTool
impl Sync for FileEditTool
impl Unpin for FileEditTool
impl UnsafeUnpin for FileEditTool
impl UnwindSafe for FileEditTool
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more