package main import ( "context" "log" "os" "go-tiny-claw/internal/engine" "go-tiny-claw/internal/provider" "go-tiny-claw/internal/tools" ) func main() { workDir, _ := os.Getwd() // 1. 初始化真实的 Provider大脑 // 这里你可以任意切换 NewZhipuClaudeProvider 或 NewZhipuOpenAIProvider,效果完全一致! llmProvider := provider.DeepseekOpenAIProvider("deepseek-v4-flash") registry := tools.NewRegistry() // 挂载工具全家桶 registry.Register(tools.NewReadFileTool(workDir)) registry.Register(tools.NewWriteFileTool(workDir)) registry.Register(tools.NewBashTool(workDir)) registry.Register(tools.NewEditFileTool(workDir)) registry.Register(tools.NewReadSkillTool(workDir)) // 实例化引擎,开启 EnableThinking = true eng := engine.NewAgentEngine(llmProvider, registry, workDir, false) // 发起一个需要局部修改的指令 //prompt := ` //我当前目录下有一个 server.go 文件。 //请帮我把里面 "TODO: 增加鉴权逻辑" 下面的那个 if 语句,整个替换为: //if user == nil { // fmt.Println("Forbidden!") // return //} //` //prompt := ` //我当前目录下有 a.txt, b.txt, c.txt 三个文件。 //为了节省时间,请你同时一次性读取这三个文件,并将它们的内容综合起来,告诉我它们分别记录了什么领域的信息。 //` prompt := `我需要在当前目录下新建一个 ping.go,提供一个简单的 http ping 接口。写完之后,帮我把代码用 git 提交一下。` err := eng.Run(context.Background(), prompt) if err != nil { log.Fatalf("引擎运行崩溃: %v", err) } }