Go 语言 AI Agent 基础库,提供多 LLM 提供商统一接口、内置工具调用系统和可扩展的 Agent 循环,用于构建 LLM 驱动的应用程序。
Dive 是由 Deep Noodle 开发的 Go 语言 AI Agent 基础库,旨在为构建 AI Agent 和 LLM 驱动应用程序提供完整的底层抽象。项目要求 Go 1.25.0,模块路径为 github.com/deepnoodle-ai/dive。
多 LLM 提供商支持: 统一适配 Anthropic、OpenAI、Google、Grok、OpenRouter、Mistral、Ollama 共 7+ 提供商,所有提供商均支持 tool calling。部分提供商以独立 Go module 形式分发以隔离依赖。
工具调用系统: 内置 11 种工具(Read、Write、Edit、Glob、Grep、ListDirectory、TextEditor、Bash、WebFetch、WebSearch、AskUserQuestion),工具形态对齐 Claude Code 模式。提供三种自定义工具方式:FuncTool(无状态,struct tag 自动生成 schema)、TypedTool[T](有状态)、Toolset(运行时动态解析,如 MCP 服务器)。
Agent 循环与扩展机制: 自动运行 generate-call-repeat 循环,通过 7 个生命周期钩子(PreGeneration、PostGeneration、PreIteration、PreToolUse、PostToolUse、PostToolUseFailure、Stop)实现无侵入式扩展。
多模态与流式: 支持 Text、Image、Document(PDF)、ToolUse、ToolResult、Thinking(链式推理)、Refusal 等内容类型;通过 WithEventCallback 获取流式文本增量与工具调用事件。
会话与交互: 提供内存 Session 和 JSONL 文件持久化 Session,支持 per-call 覆盖;Dialog 接口抽象用户交互;Skills 系统支持基于 Markdown 的模块化能力扩展;Suspend & Resume 支持执行中途暂停。
设计原则: 库不注入任何隐藏 system prompt 或隐含行为,完全由用户控制。
实验性功能(无稳定性保证)包括 Compaction、Subagent、Sandbox(Docker/Seatbelt)、MCP 客户端、CLI(类似 Claude Code)及扩展工具包。配套生态包含 Wonton(CLI 应用框架)和 Workflow(多步工作流编排库)。