module
Version:
v0.2.0
Opens a new window with list of versions in this module.
Published: Jul 27, 2026
License: BSD-3-Clause
Opens a new window with license information.
README
¶
agent-go
通用 AI Agent 框架 (Go Library),基于 Google ADK-Go v2。
架构
agent-go/
├── agent/ # ADK-Go Agent 封装层
│ ├── wails_agent.go # WailsAgent — 桌面应用 Agent 外观
│ ├── adk_runner.go # ADK Runner 封装(Event→回调转换)
│ ├── chat_model.go # Chat Completions API 适配器
│ └── types.go # OrchestratorCallbacks
├── config/ # 通用配置管理
│ ├── manager.go # ConfigManager(双文件 JSON)
│ ├── tool_tree.go # ToolTreeNode 树操作工具
│ └── llm_config.go # LLMProviderConfig 类型
├── credential/ # 凭据管理(Windows Credential Manager)
├── database/ # 数据库服务
│ ├── service.go # DBService(ADK session.Service 懒加载)
│ ├── types.go # Message/Session 通用类型
│ ├── session_ext.go # 会话扩展存储
│ └── sqlite_util.go # Checkpoint/Vacuum 工具
├── llm/ # LLM 供应商抽象
│ ├── service.go # LLMService
│ ├── types.go # 请求/响应类型
│ └── provider.go # 请求构建/响应解析
├── mcp/ # MCP 服务器管理 + 工具注入
│ ├── manager.go # MCP 管理器
│ ├── builtin.go # 内置 MCP 服务器
│ ├── init.go # 初始化
│ └── ...
├── memory/ # ADK memory.Service SQLite 实现
│ └── sqlite_service.go
├── skills/ # 技能系统(3级加载 + YAML frontmatter)
├── stream/ # WebSocket 流式通信
│ ├── types.go # StreamMessage/WsRequest/Orchestrator 接口
│ ├── manager.go # StreamManager
│ └── ws.go # WSServer
└── tool/ # 工具执行系统
├── types.go # ToolResult/ToolHandler 类型
├── executor.go # 工具注册表和执行器
├── adk_adapter.go # ADK Tool 适配器
├── definitions.go # 通用工具定义
└── to_openai.go # ADK→OpenAI 工具格式转换
核心概念
WailsAgent (agent.WailsAgent)
桌面应用 Agent 外观,封装 ADK-Go Runner。
ConfigManager (config.ConfigManager)
双文件 JSON 配置管理。
LLMService (llm.LLMService)
多供应商 LLM 路由,支持流式 SSE。
StreamManager + WSServer (stream/)
WebSocket 流式通信。
ToolExecutor — 注册表模式工具执行
NewAdkTool() — 将 handler 包装为 ADK tool.Tool
DefaultToolDefinitions() — 通用工具定义
ToOpenAIDefinitions() — ADK 格式 → OpenAI 格式转换
数据库 (database/)
使用 ADK session.Service 管理消息/会话。应用层数据由项目自行管理。
MCP (mcp/)
MCP 服务器管理与工具注入,提供动态工具注册能力。
Directories
¶
Package agent provides the ADK-Go wrapper for Wails desktop applications.
|
Package agent provides the ADK-Go wrapper for Wails desktop applications. |
Package config 提供 LLM 供应商配置相关类型。
|
Package config 提供 LLM 供应商配置相关类型。 |
Package credential provides Windows Credential Manager integration.
|
Package credential provides Windows Credential Manager integration. |
Package database provides shared database services for agent-go consumers:
|
Package database provides shared database services for agent-go consumers: |
Package llm provides shared LLM data types for agent-go consumers.
|
Package llm provides shared LLM data types for agent-go consumers. |
|
|
|
Package memory 提供基于 SQLite 的 ADK memory.Service 实现。
|
Package memory 提供基于 SQLite 的 ADK memory.Service 实现。 |
|
|
|
Package stream 提供 WebSocket 流式消息适配器, 将 OrchestratorCallbacks 转换为前端 agent-ui 可消费的 JSON 消息。
|
Package stream 提供 WebSocket 流式消息适配器, 将 OrchestratorCallbacks 转换为前端 agent-ui 可消费的 JSON 消息。 |
Package tool provides ADK-Go tool.Tool adapters for agent-go consumers.
|
Package tool provides ADK-Go tool.Tool adapters for agent-go consumers. |
Click to show internal directories.
Click to hide internal directories.