From 8f82009c320014f7b10d1bfafa046752f976db66 Mon Sep 17 00:00:00 2001 From: oudecheng <13802883547@139.com> Date: Tue, 19 May 2026 15:18:04 +0800 Subject: [PATCH] =?UTF-8?q?feat:=20=E9=87=8D=E5=91=BD=E5=90=8D=E5=B7=A5?= =?UTF-8?q?=E5=85=B7=E5=90=8D=E7=A7=B0=EF=BC=8C=E7=AE=80=E5=8C=96=E5=B7=A5?= =?UTF-8?q?=E5=85=B7=E8=B0=83=E7=94=A8=E6=8E=A5=E5=8F=A3?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- src/bus/message.rs | 6 +++--- src/config/mod.rs | 6 +++--- src/gateway/session.rs | 8 +++++++- src/gateway/tool_registry_factory.rs | 12 ++++++------ src/storage/mod.rs | 4 ++-- src/tools/file_edit.rs | 2 +- src/tools/file_read.rs | 2 +- src/tools/file_write.rs | 2 +- src/tools/task/runtime.rs | 6 +++--- 9 files changed, 27 insertions(+), 21 deletions(-) diff --git a/src/bus/message.rs b/src/bus/message.rs index 03175f1..9f89faa 100644 --- a/src/bus/message.rs +++ b/src/bus/message.rs @@ -573,7 +573,7 @@ mod tests { }, ToolCall { id: "call-2".to_string(), - name: "file_read".to_string(), + name: "read".to_string(), arguments: json!({"path": "README.md"}), }, ], @@ -599,10 +599,10 @@ mod tests { outbound[0].content, "calculator\nargs: {\"expression\":\"1 + 1\"}" ); - assert_eq!(outbound[1].tool_name.as_deref(), Some("file_read")); + assert_eq!(outbound[1].tool_name.as_deref(), Some("read")); assert_eq!( outbound[1].content, - "file_read\nargs: {\"path\":\"README.md\"}" + "read\nargs: {\"path\":\"README.md\"}" ); } diff --git a/src/config/mod.rs b/src/config/mod.rs index 8f1d87e..f522da3 100644 --- a/src/config/mod.rs +++ b/src/config/mod.rs @@ -140,9 +140,9 @@ fn default_task_ttl_hours() -> u64 { fn default_task_allowed_tools() -> Vec { vec![ - "file_read".to_string(), - "file_edit".to_string(), - "file_write".to_string(), + "read".to_string(), + "edit".to_string(), + "write".to_string(), "bash".to_string(), "http_request".to_string(), "web_fetch".to_string(), diff --git a/src/gateway/session.rs b/src/gateway/session.rs index 7bc6877..0e86f29 100644 --- a/src/gateway/session.rs +++ b/src/gateway/session.rs @@ -697,6 +697,7 @@ mod tests { HashSet::new(), "Asia/Shanghai".to_string(), HashSet::new(), + Default::default(), ) .build(), ); @@ -744,6 +745,7 @@ mod tests { HashSet::new(), "Asia/Shanghai".to_string(), HashSet::new(), + Default::default(), ) .build(), ); @@ -1693,6 +1695,7 @@ mod tests { HashSet::new(), "Asia/Shanghai".to_string(), HashSet::new(), + Default::default(), ) .build(), ); @@ -1732,6 +1735,7 @@ mod tests { HashSet::new(), "Asia/Shanghai".to_string(), HashSet::new(), + Default::default(), ) .build(), ); @@ -1804,6 +1808,7 @@ mod tests { HashSet::new(), "Asia/Shanghai".to_string(), HashSet::new(), + Default::default(), ) .build(), ); @@ -1854,7 +1859,8 @@ mod tests { Arc::new(NoopSessionMessageSender), HashSet::new(), "Asia/Shanghai".to_string(), - HashSet::new(), + HashSet::new(), + Default::default(), ) .build(); diff --git a/src/gateway/tool_registry_factory.rs b/src/gateway/tool_registry_factory.rs index 2740e34..63b304f 100644 --- a/src/gateway/tool_registry_factory.rs +++ b/src/gateway/tool_registry_factory.rs @@ -72,13 +72,13 @@ impl ToolRegistryFactory { if self.is_enabled("get_time") { registry.register(TimeTool::new(self.default_timezone.clone())); } - if self.is_enabled("file_read") { + if self.is_enabled("read") { registry.register(FileReadTool::new()); } - if self.is_enabled("file_write") { + if self.is_enabled("write") { registry.register(FileWriteTool::new()); } - if self.is_enabled("file_edit") { + if self.is_enabled("edit") { registry.register(FileEditTool::new()); } if self.is_enabled("memory_search") { @@ -144,13 +144,13 @@ impl ToolRegistryFactory { if self.is_enabled("get_time") { registry.register(TimeTool::new(self.default_timezone.clone())); } - if self.is_enabled("file_read") { + if self.is_enabled("read") { registry.register(FileReadTool::new()); } - if self.is_enabled("file_write") { + if self.is_enabled("write") { registry.register(FileWriteTool::new()); } - if self.is_enabled("file_edit") { + if self.is_enabled("edit") { registry.register(FileEditTool::new()); } if self.is_enabled("bash") { diff --git a/src/storage/mod.rs b/src/storage/mod.rs index 389d83c..f1831ae 100644 --- a/src/storage/mod.rs +++ b/src/storage/mod.rs @@ -2228,7 +2228,7 @@ mod tests { let store = SessionStore::in_memory().unwrap(); let session = store.create_cli_session(Some("tool-result")).unwrap(); - let tool_message = ChatMessage::tool("call_9", "file_write", "saved to /tmp/output.txt"); + let tool_message = ChatMessage::tool("call_9", "write", "saved to /tmp/output.txt"); store.append_message(&session.id, &tool_message).unwrap(); let messages = store.load_messages(&session.id).unwrap(); @@ -2236,7 +2236,7 @@ mod tests { assert_eq!(messages[0].role, "tool"); assert_eq!(messages[0].content, "saved to /tmp/output.txt"); assert_eq!(messages[0].tool_call_id.as_deref(), Some("call_9")); - assert_eq!(messages[0].tool_name.as_deref(), Some("file_write")); + assert_eq!(messages[0].tool_name.as_deref(), Some("write")); assert!(messages[0].tool_calls.is_none()); } diff --git a/src/tools/file_edit.rs b/src/tools/file_edit.rs index a097988..b3eefcb 100644 --- a/src/tools/file_edit.rs +++ b/src/tools/file_edit.rs @@ -83,7 +83,7 @@ impl Default for FileEditTool { #[async_trait] impl Tool for FileEditTool { fn name(&self) -> &str { - "file_edit" + "edit" } fn description(&self) -> &str { diff --git a/src/tools/file_read.rs b/src/tools/file_read.rs index bca881c..a44c59f 100644 --- a/src/tools/file_read.rs +++ b/src/tools/file_read.rs @@ -57,7 +57,7 @@ impl Default for FileReadTool { #[async_trait] impl Tool for FileReadTool { fn name(&self) -> &str { - "file_read" + "read" } fn description(&self) -> &str { diff --git a/src/tools/file_write.rs b/src/tools/file_write.rs index fc95d29..15ca360 100644 --- a/src/tools/file_write.rs +++ b/src/tools/file_write.rs @@ -54,7 +54,7 @@ impl Default for FileWriteTool { #[async_trait] impl Tool for FileWriteTool { fn name(&self) -> &str { - "file_write" + "write" } fn description(&self) -> &str { diff --git a/src/tools/task/runtime.rs b/src/tools/task/runtime.rs index d0f1da6..6c3db11 100644 --- a/src/tools/task/runtime.rs +++ b/src/tools/task/runtime.rs @@ -34,9 +34,9 @@ impl Default for SubAgentRuntimeConfig { fn default() -> Self { Self { allowed_tools: HashSet::from([ - "file_read".to_string(), - "file_edit".to_string(), - "file_write".to_string(), + "read".to_string(), + "edit".to_string(), + "write".to_string(), "bash".to_string(), "http_request".to_string(), "web_fetch".to_string(),