Files
go-tiny-claw/cmd/claw/main.go
T
zhuyongxin cefabd68dc v1.4 工具集扩展 + Windows 编码攻坚
- 新增 BashTool(bash 命令执行,30s 超时 + 自愈 + 截断)
- 新增 WriteFileTool(文件写入)
- Windows GBK 编码自动转 UTF-8(golang.org/x/text)
- OpenAIProvider 新增 API 交互日志
- dumpMessages 移除截断,完整展示上下文
- cmd/claw 三段式任务演示
2026-05-15 17:11:43 +08:00

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)
}
}