agent/

directory
v0.2.4 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Nov 12, 2026 License: MIT

README

internal/agent 目录结构

internal/agent/
├── types/                     # 领域实体 + 值对象(无仓储/编排实现)
├── types/interface/           # Repository / Service / Runtime 等接口(package interfaces)
├── application/
│   ├── repository/            # Repository 的 GORM 实现
│   └── service/               # Service / Manager 实现
├── client/                    # Client / Registry / Options(Provider 门面)
├── runtime/                   # Standalone Runtime、ToolRunner/ToolLoop、工具上下文桥接
├── policy/                    # PermissionPolicy 实现
├── runtimecontext/            # RuntimeContext 及工具执行期服务能力接口
├── providers/                 # claude_code / codex / copilot / custom / mock
├── native/                    # 原生 Agent 循环
├── tool/                      # 工具注册表、执行器、builtin / coder
├── skill/                     # Agent Skills
└── llm/ lsp/ mcp/ logging/    # 基础设施

分层约定

层 内容 位置
实体 / 值对象 Task、Session、Message、PermissionRequest、QuestionRequest、Profile、Memory、File、Request、Result、StreamEvent … types/
端口(接口) TaskRepository、PermissionRepository、QuestionRepository、MemoryRepository、ProfileRepository、SessionStore、MessageStore、HistoryStore、SessionService、MessageService、HistoryService、Agent、Runtime、CheckpointRuntime、EventBus、PermissionPolicy … types/interface/(package interfaces)
持久化实现 NewGormTaskRepository、NewGormSessionStore、NewGormMessageStore… application/repository/
服务实现 AgentService、ChatService、MemoryManager、PermissionManager、QuestionManager、ProfileManager、TimelineRecorder、会话/消息/历史服务… application/service/
门面 / 运行时 Client、Registry、Options、ToolRunner、NewStandaloneRuntime client/、runtime/

目录名 types/interface 是对外约定的路径;由于 interface 是 Go 关键字, 包声明使用 package interfaces。

导入路径

旧的根包 agent 以及 session / message / history 路径兼容层已删除,所有调用方 直接依赖以下路径:

  • 实体 / 值对象:github.com/biox-dev/gobrave/internal/agent/types
  • Repository / Service 接口:github.com/biox-dev/gobrave/internal/agent/types/interface
  • Repository 实现:github.com/biox-dev/gobrave/internal/agent/application/repository
  • Service 实现:github.com/biox-dev/gobrave/internal/agent/application/service
  • Client / Registry / Options:github.com/biox-dev/gobrave/internal/agent/client
  • Runtime / ToolRunner / 工具上下文:github.com/biox-dev/gobrave/internal/agent/runtime
  • 工具执行期上下文与服务能力接口:github.com/biox-dev/gobrave/internal/agent/runtimecontext
  • PermissionPolicy:github.com/biox-dev/gobrave/internal/agent/policy

tool/runtimecontext_alias.go 已删除,RuntimeContext 与服务能力接口统一直接使用 runtimecontext 包。

Directories

Path Synopsis
application
repository
Package repository 提供 agent 域各持久化端口的基于数据库(GORM)的实现。
Package repository 提供 agent 域各持久化端口的基于数据库(GORM)的实现。
llm
Package logging 是 opencode internal/logging 的最小替代。
Package logging 是 opencode internal/logging 的最小替代。
lsp
Generated code.
Generated code.
Package mcp 把外部 MCP(Model Context Protocol)服务提供的工具接入 gobrave 的 工具框架(从 opencode internal/llm/agent/mcp-tools.go 迁移)。
Package mcp 把外部 MCP(Model Context Protocol)服务提供的工具接入 gobrave 的 工具框架(从 opencode internal/llm/agent/mcp-tools.go 迁移)。
Package native 是 gobrave 的原生 Agent 执行循环。
Package native 是 gobrave 的原生 Agent 执行循环。
Package policy 提供 PermissionPolicy 的内置实现。
Package policy 提供 PermissionPolicy 的内置实现。
Package providers 提供 agentclient.Provider 的内置实现。
Package providers 提供 agentclient.Provider 的内置实现。
Package skill 实现 Agent Skills 开放标准(https://agentskills.io)。
Package skill 实现 Agent Skills 开放标准(https://agentskills.io)。
Package tool 定义 Agent 工具调用(function calling)的基础设施。
Package tool 定义 Agent 工具调用(function calling)的基础设施。
builtin
Package builtin 提供框架内置的工具(如 get_weather)。
Package builtin 提供框架内置的工具(如 get_weather)。
coder
Package coder 提供从 opencode 迁移的编码类工具(bash / edit / view / write / patch / glob / grep / ls / fetch / sourcegraph / diagnostics)。
Package coder 提供从 opencode 迁移的编码类工具(bash / edit / view / write / patch / glob / grep / ls / fetch / sourcegraph / diagnostics)。
coder/diff
Package diff 提供文件补丁解析与应用能力(从 opencode internal/diff 迁移)。
Package diff 提供文件补丁解析与应用能力(从 opencode internal/diff 迁移)。
Package types 定义 Agent 领域的数据库实体与值对象。
Package types 定义 Agent 领域的数据库实体与值对象。
interface
Package interfaces 定义 Agent 领域的 Repository / Service 端口。
Package interfaces 定义 Agent 领域的 Repository / Service 端口。

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL