Documentation
¶
Overview ¶
Package agent 实现核心 AI 助手逻辑,包括消息循环、工具调用及上下文管理。
Index ¶
- type ContextBuilder
- func (c *ContextBuilder) BuildMessages(history []*session.Message, current string, media []string) []*schema.Message
- func (c *ContextBuilder) BuildSystemPrompt() string
- func (c *ContextBuilder) InvalidateCache(changedPath string)
- func (c *ContextBuilder) SetRuntimeMetrics(recorder *metrics.RuntimeMetrics)
- type Loop
- func (l *Loop) AuditRuntimePolicyStartup(ctx context.Context, cfg *config.Config)
- func (l *Loop) ProcessDirect(ctx context.Context, content string) (string, error)
- func (l *Loop) ProcessForChannel(ctx context.Context, channel, chatID, senderID, content string) (string, error)
- func (l *Loop) ProcessForChannelWithSession(ctx context.Context, channel, chatID, senderID, sessionID, content string) (string, error)
- func (l *Loop) RegisterDefaultTools(cfg *config.Config) error
- func (l *Loop) Run(ctx context.Context) error
- func (l *Loop) SetActivityRecorder(recorder func(channel, chatID string))
- func (l *Loop) SetRuntimeMetrics(recorder *metrics.RuntimeMetrics)
- func (l *Loop) Tools() *tools.Registry
- type SubagentManager
- type SubagentManagerOptions
- type SubagentTaskRequest
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ContextBuilder ¶
type ContextBuilder struct {
// contains filtered or unexported fields
}
ContextBuilder 负责根据配置、历史记录和外部文件构建 LLM 的 Prompt 上下文。
func NewContextBuilder ¶
func NewContextBuilder(workspacePath string) *ContextBuilder
NewContextBuilder 创建并返回一个新的上下文构建器。
func (*ContextBuilder) BuildMessages ¶
func (c *ContextBuilder) BuildMessages(history []*session.Message, current string, media []string) []*schema.Message
BuildMessages 根据历史记录、当前输入及媒体附件构建发送给 LLM 的完整消息列表。
func (*ContextBuilder) BuildSystemPrompt ¶
func (c *ContextBuilder) BuildSystemPrompt() string
BuildSystemPrompt 组装完整的系统提示词 (System Prompt)。
func (*ContextBuilder) InvalidateCache ¶ added in v0.6.3
func (c *ContextBuilder) InvalidateCache(changedPath string)
InvalidateCache 根据发生变化的文件路径使缓存失效。 如果 changedPath 为空,则强制使所有基础缓存失效。
func (*ContextBuilder) SetRuntimeMetrics ¶ added in v0.6.3
func (c *ContextBuilder) SetRuntimeMetrics(recorder *metrics.RuntimeMetrics)
SetRuntimeMetrics 为构建器关联一个运行时指标记录器。
type Loop ¶
type Loop struct {
// OnToolStart 工具开始执行时的回调函数
OnToolStart func(name, args string)
// OnToolFinish 工具执行完成后的回调函数
OnToolFinish func(name, result string, err error)
// contains filtered or unexported fields
}
Loop 负责管理 Agent 的主处理循环,包括消息处理、模型生成及工具执行。
func (*Loop) AuditRuntimePolicyStartup ¶ added in v0.4.2
AuditRuntimePolicyStartup 记录 Agent 启动时的策略审计事件。
func (*Loop) ProcessDirect ¶
ProcessDirect 直接处理消息(用于 CLI)
func (*Loop) ProcessForChannel ¶ added in v0.1.4
func (l *Loop) ProcessForChannel(ctx context.Context, channel, chatID, senderID, content string) (string, error)
ProcessForChannel 为给定的通道/会话直接处理消息。
func (*Loop) ProcessForChannelWithSession ¶ added in v0.3.0
func (l *Loop) ProcessForChannelWithSession(ctx context.Context, channel, chatID, senderID, sessionID, content string) (string, error)
ProcessForChannelWithSession 为通道/聊天处理消息,可选择使用显式会话 ID。
func (*Loop) RegisterDefaultTools ¶
RegisterDefaultTools 注册所有内置工具
func (*Loop) SetActivityRecorder ¶ added in v0.3.0
SetActivityRecorder 附加一个回调函数,用于跟踪最新活跃的通道/聊天。
func (*Loop) SetRuntimeMetrics ¶ added in v0.4.2
func (l *Loop) SetRuntimeMetrics(recorder *metrics.RuntimeMetrics)
SetRuntimeMetrics 附加一个运行时指标记录器,用于工具执行统计。
type SubagentManager ¶ added in v0.3.0
type SubagentManager struct {
// contains filtered or unexported fields
}
SubagentManager 负责在后台或同步执行委派的子代理任务。
func NewSubagentManager ¶ added in v0.3.0
func NewSubagentManager(msgBus *bus.MessageBus, processor subagentProcessor, timeout time.Duration) *SubagentManager
NewSubagentManager 创建一个新的子代理管理器。
func NewSubagentManagerWithOptions ¶ added in v0.5.0
func NewSubagentManagerWithOptions(msgBus *bus.MessageBus, processor subagentProcessor, options SubagentManagerOptions) *SubagentManager
NewSubagentManagerWithOptions 根据自定义选项创建一个子代理管理器。
func (*SubagentManager) RunSync ¶ added in v0.3.0
func (m *SubagentManager) RunSync(ctx context.Context, req tools.SubagentRequest) (string, error)
RunSync 同步执行一个子代理任务并返回其最终执行结果。
func (*SubagentManager) RunWorkflow ¶ added in v0.5.0
func (m *SubagentManager) RunWorkflow(ctx context.Context, req tools.WorkflowRequest) (string, error)
RunWorkflow 以顺序或并行模式执行子代理工作流,并返回汇总摘要。
func (*SubagentManager) Spawn ¶ added in v0.3.0
func (m *SubagentManager) Spawn(ctx context.Context, req tools.SubagentRequest) (string, error)
Spawn 异步启动一个子代理任务。