v1.4 工具集扩展 + Windows 编码攻坚
- 新增 BashTool(bash 命令执行,30s 超时 + 自愈 + 截断) - 新增 WriteFileTool(文件写入) - Windows GBK 编码自动转 UTF-8(golang.org/x/text) - OpenAIProvider 新增 API 交互日志 - dumpMessages 移除截断,完整展示上下文 - cmd/claw 三段式任务演示
This commit is contained in:
+12
-10
@@ -18,21 +18,23 @@ func main() {
|
||||
// 这里你可以任意切换 NewZhipuClaudeProvider 或 NewZhipuOpenAIProvider,效果完全一致!
|
||||
llmProvider := provider.DeepseekOpenAIProvider("deepseek-v4-flash")
|
||||
|
||||
// 3. 初始化真实的 Tool Registry
|
||||
registry := tools.NewRegistry()
|
||||
|
||||
// 4. 将真实的 ReadFile 工具挂载到注册表中
|
||||
readFileTool := tools.NewReadFileTool(workDir)
|
||||
registry.Register(readFileTool)
|
||||
// 挂载极简工具集
|
||||
registry.Register(tools.NewReadFileTool(workDir))
|
||||
registry.Register(tools.NewWriteFileTool(workDir))
|
||||
registry.Register(tools.NewBashTool(workDir))
|
||||
|
||||
// 5. 实例化核心引擎,由于任务简单,我们关闭思考阶段 (EnableThinking = false) 以加快速度
|
||||
// 实例化核心引擎,关闭慢思考阶段,享受 YOLO 急速模式
|
||||
eng := engine.NewAgentEngine(llmProvider, registry, workDir, false)
|
||||
|
||||
log.Printf("registry: %s\n", registry)
|
||||
log.Printf("engine: %s\n", eng)
|
||||
|
||||
// 6. 下发一个必须通过真实工具才能完成的任务
|
||||
prompt := "请调用工具读取一下当前工作区目录下 hello.txt 文件的内容,并用一句话向我总结它说了什么。"
|
||||
// 发起一个需要连贯物理动作的任务
|
||||
prompt := `
|
||||
请帮我执行以下操作:
|
||||
1. 用 bash 查看一下我当前电脑的 Go 版本,我的电脑是windows系统。
|
||||
2. 帮我写一个简单的 helloworld.go 文件,输出 "Hello, go-tiny-claw!"。
|
||||
3. 用 bash 编译并运行这个 go 文件,确认它能正常工作。
|
||||
`
|
||||
|
||||
err := eng.Run(context.Background(), prompt)
|
||||
if err != nil {
|
||||
|
||||
Reference in New Issue
Block a user