- 新增 BashTool(bash 命令执行,30s 超时 + 自愈 + 截断) - 新增 WriteFileTool(文件写入) - Windows GBK 编码自动转 UTF-8(golang.org/x/text) - OpenAIProvider 新增 API 交互日志 - dumpMessages 移除截断,完整展示上下文 - cmd/claw 三段式任务演示
44 lines
1.2 KiB
Go
44 lines
1.2 KiB
Go
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))
|
|
|
|
// 实例化核心引擎,关闭慢思考阶段,享受 YOLO 急速模式
|
|
eng := engine.NewAgentEngine(llmProvider, registry, workDir, false)
|
|
|
|
// 发起一个需要连贯物理动作的任务
|
|
prompt := `
|
|
请帮我执行以下操作:
|
|
1. 用 bash 查看一下我当前电脑的 Go 版本,我的电脑是windows系统。
|
|
2. 帮我写一个简单的 helloworld.go 文件,输出 "Hello, go-tiny-claw!"。
|
|
3. 用 bash 编译并运行这个 go 文件,确认它能正常工作。
|
|
`
|
|
|
|
err := eng.Run(context.Background(), prompt)
|
|
if err != nil {
|
|
log.Fatalf("引擎运行崩溃: %v", err)
|
|
}
|
|
}
|