Documentation
¶
Index ¶
- type ApprovalFunc
- type IntervalTask
- type PermissionDecision
- type PermissionHook
- type PermissionManager
- func (pm *PermissionManager) AddHook(hook PermissionHook)
- func (pm *PermissionManager) AddToAllowList(toolName string)
- func (pm *PermissionManager) AddToAskList(toolName string)
- func (pm *PermissionManager) AddToDenyList(toolName string)
- func (pm *PermissionManager) Check(ctx context.Context, call *types.ToolCallRecord) (PermissionDecision, string, error)
- func (pm *PermissionManager) ClearStats()
- func (pm *PermissionManager) GetDefaultMode() types.PermissionMode
- func (pm *PermissionManager) GetStats() PermissionStats
- func (pm *PermissionManager) IsInAllowList(toolName string) bool
- func (pm *PermissionManager) IsInAskList(toolName string) bool
- func (pm *PermissionManager) IsInDenyList(toolName string) bool
- func (pm *PermissionManager) RemoveFromLists(toolName string)
- func (pm *PermissionManager) RemoveRule(toolName string)
- func (pm *PermissionManager) RequestApproval(ctx context.Context, call *types.ToolCallRecord) (PermissionDecision, string, error)
- func (pm *PermissionManager) RunPostHooks(ctx context.Context, call *types.ToolCallRecord, result any, callErr error) error
- func (pm *PermissionManager) RunPreHooks(ctx context.Context, call *types.ToolCallRecord) (*types.ToolCallRecord, error)
- func (pm *PermissionManager) SetApprovalFunc(f ApprovalFunc)
- func (pm *PermissionManager) SetDefaultMode(mode types.PermissionMode)
- func (pm *PermissionManager) SetRule(toolName string, decision PermissionDecision, reason string)
- type PermissionManagerOptions
- type PermissionStats
- type Pool
- func (p *Pool) Create(ctx context.Context, config *types.AgentConfig) (*agent.Agent, error)
- func (p *Pool) Delete(ctx context.Context, agentID string) error
- func (p *Pool) ForEach(fn func(agentID string, ag *agent.Agent) error) error
- func (p *Pool) Get(agentID string) (*agent.Agent, bool)
- func (p *Pool) List(prefix string) []string
- func (p *Pool) Remove(agentID string) error
- func (p *Pool) Resume(ctx context.Context, agentID string, config *types.AgentConfig) (*agent.Agent, error)
- func (p *Pool) Shutdown() error
- func (p *Pool) Size() int
- func (p *Pool) Status(agentID string) (*types.AgentStatus, error)
- type PoolOptions
- type PostToolUseHook
- type PreToolUseHook
- type Room
- func (r *Room) Broadcast(ctx context.Context, text string) error
- func (r *Room) ClearHistory()
- func (r *Room) GetAgentID(name string) (string, bool)
- func (r *Room) GetHistory() []RoomMessage
- func (r *Room) GetMemberCount() int
- func (r *Room) GetMembers() []RoomMember
- func (r *Room) IsMember(name string) bool
- func (r *Room) Join(name string, agentID string) error
- func (r *Room) Leave(name string) error
- func (r *Room) Say(ctx context.Context, from string, text string) error
- func (r *Room) SendTo(ctx context.Context, from string, to string, text string) error
- type RoomMember
- type RoomMessage
- type ScheduledTask
- type Scheduler
- func (s *Scheduler) Cancel(taskID string) error
- func (s *Scheduler) Clear()
- func (s *Scheduler) EveryInterval(interval time.Duration, callback TaskCallback) (string, error)
- func (s *Scheduler) EverySteps(every int, callback StepCallback) (string, error)
- func (s *Scheduler) GetIntervalTaskCount() int
- func (s *Scheduler) GetStepListenerCount() int
- func (s *Scheduler) GetStepTaskCount() int
- func (s *Scheduler) NotifyStep(stepCount int)
- func (s *Scheduler) OnStep(callback StepCallback) func()
- func (s *Scheduler) Schedule(spec string, callback TaskCallback) (string, error)
- func (s *Scheduler) Shutdown()
- type SchedulerOptions
- type StepCallback
- type StepTask
- type TaskCallback
- type ToolPermissionRule
- type TriggerKind
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type ApprovalFunc ¶
type ApprovalFunc func(ctx context.Context, call *types.ToolCallRecord) (PermissionDecision, string, error)
ApprovalFunc 审批函数 返回 (decision, reason, error)
type IntervalTask ¶
type IntervalTask struct {
ID string
Interval time.Duration
Callback TaskCallback
// contains filtered or unexported fields
}
IntervalTask 时间间隔任务
type PermissionDecision ¶
type PermissionDecision string
PermissionDecision 权限决策
const ( PermissionAllow PermissionDecision = "allow" // 允许 PermissionDeny PermissionDecision = "deny" // 拒绝 PermissionAsk PermissionDecision = "ask" // 需要询问 )
type PermissionHook ¶
type PermissionHook struct {
PreToolUse PreToolUseHook // 工具执行前
PostToolUse PostToolUseHook // 工具执行后
}
PermissionHook 权限钩子
type PermissionManager ¶
type PermissionManager struct {
// contains filtered or unexported fields
}
PermissionManager 权限管理器
func NewPermissionManager ¶
func NewPermissionManager(opts *PermissionManagerOptions) *PermissionManager
NewPermissionManager 创建权限管理器
func (*PermissionManager) AddHook ¶
func (pm *PermissionManager) AddHook(hook PermissionHook)
AddHook 添加权限钩子
func (*PermissionManager) AddToAllowList ¶
func (pm *PermissionManager) AddToAllowList(toolName string)
AddToAllowList 添加到白名单
func (*PermissionManager) AddToAskList ¶
func (pm *PermissionManager) AddToAskList(toolName string)
AddToAskList 添加到审批列表
func (*PermissionManager) AddToDenyList ¶
func (pm *PermissionManager) AddToDenyList(toolName string)
AddToDenyList 添加到黑名单
func (*PermissionManager) Check ¶
func (pm *PermissionManager) Check(ctx context.Context, call *types.ToolCallRecord) (PermissionDecision, string, error)
Check 检查工具权限
func (*PermissionManager) GetDefaultMode ¶
func (pm *PermissionManager) GetDefaultMode() types.PermissionMode
GetDefaultMode 获取默认模式
func (*PermissionManager) GetStats ¶
func (pm *PermissionManager) GetStats() PermissionStats
GetStats 获取统计信息
func (*PermissionManager) IsInAllowList ¶
func (pm *PermissionManager) IsInAllowList(toolName string) bool
IsInAllowList 检查是否在白名单
func (*PermissionManager) IsInAskList ¶
func (pm *PermissionManager) IsInAskList(toolName string) bool
IsInAskList 检查是否在审批列表
func (*PermissionManager) IsInDenyList ¶
func (pm *PermissionManager) IsInDenyList(toolName string) bool
IsInDenyList 检查是否在黑名单
func (*PermissionManager) RemoveFromLists ¶
func (pm *PermissionManager) RemoveFromLists(toolName string)
RemoveFromLists 从所有列表中移除
func (*PermissionManager) RemoveRule ¶
func (pm *PermissionManager) RemoveRule(toolName string)
RemoveRule 移除工具规则
func (*PermissionManager) RequestApproval ¶
func (pm *PermissionManager) RequestApproval(ctx context.Context, call *types.ToolCallRecord) (PermissionDecision, string, error)
RequestApproval 请求审批
func (*PermissionManager) RunPostHooks ¶
func (pm *PermissionManager) RunPostHooks(ctx context.Context, call *types.ToolCallRecord, result any, callErr error) error
RunPostHooks 运行后置钩子
func (*PermissionManager) RunPreHooks ¶
func (pm *PermissionManager) RunPreHooks(ctx context.Context, call *types.ToolCallRecord) (*types.ToolCallRecord, error)
RunPreHooks 运行前置钩子
func (*PermissionManager) SetApprovalFunc ¶
func (pm *PermissionManager) SetApprovalFunc(f ApprovalFunc)
SetApprovalFunc 设置审批函数
func (*PermissionManager) SetDefaultMode ¶
func (pm *PermissionManager) SetDefaultMode(mode types.PermissionMode)
SetDefaultMode 设置默认模式
func (*PermissionManager) SetRule ¶
func (pm *PermissionManager) SetRule(toolName string, decision PermissionDecision, reason string)
SetRule 设置工具规则
type PermissionManagerOptions ¶
type PermissionManagerOptions struct {
DefaultMode types.PermissionMode
AllowList []string
DenyList []string
AskList []string
ApprovalFunc ApprovalFunc
}
PermissionManagerOptions 权限管理器配置
type PermissionStats ¶
type PermissionStats struct {
TotalChecks int64
AllowedCount int64
DeniedCount int64
ApprovalCount int64
HookErrorCount int64
}
PermissionStats 权限统计
type Pool ¶
type Pool struct {
// contains filtered or unexported fields
}
Pool Agent 池 - 管理多个 Agent 的生命周期
type PoolOptions ¶
type PoolOptions struct {
Dependencies *agent.Dependencies
MaxAgents int // 最大 Agent 数量,默认 50
}
PoolOptions Agent 池配置
type PostToolUseHook ¶
type PostToolUseHook func(ctx context.Context, call *types.ToolCallRecord, result any, err error) error
PostToolUseHook 工具执行后钩子 可以检查结果或执行清理工作
type PreToolUseHook ¶
type PreToolUseHook func(ctx context.Context, call *types.ToolCallRecord) (*types.ToolCallRecord, error)
PreToolUseHook 工具执行前钩子 返回 (modified_call, error) 可以修改工具调用参数或返回错误来阻止执行
type Room ¶
type Room struct {
// contains filtered or unexported fields
}
Room 多 Agent 协作空间 提供 Agent 间消息路由、广播和点对点通信功能
func (*Room) GetAgentID ¶
GetAgentID 获取成员对应的 Agent ID
type RoomMember ¶
RoomMember Room 成员信息
type RoomMessage ¶
type RoomMessage struct {
From string `json:"from"`
To []string `json:"to,omitempty"` // 空表示广播
Text string `json:"text"`
Sent int64 `json:"sent"` // Unix timestamp
}
RoomMessage Room 消息记录
type ScheduledTask ¶
type ScheduledTask struct {
ID string
Kind TriggerKind
Spec string // 任务规格: "step:5", "interval:10s", "cron:* * * * *"
Callback TaskCallback
Agent *agent.Agent // 可选: 关联的 Agent
LastTrigger time.Time
TriggerCount int64
Enabled bool
}
ScheduledTask 调度任务
type Scheduler ¶
type Scheduler struct {
// contains filtered or unexported fields
}
Scheduler 任务调度器 支持步骤触发、定时触发、Cron 表达式 (TODO)、文件监听 (TODO)
func (*Scheduler) EveryInterval ¶
EveryInterval 每隔一段时间执行
func (*Scheduler) EverySteps ¶
func (s *Scheduler) EverySteps(every int, callback StepCallback) (string, error)
EverySteps 每 N 步执行一次
func (*Scheduler) GetIntervalTaskCount ¶
GetIntervalTaskCount 获取时间间隔任务数量
func (*Scheduler) GetStepListenerCount ¶
GetStepListenerCount 获取步骤监听器数量
func (*Scheduler) GetStepTaskCount ¶
GetStepTaskCount 获取步骤任务数量
func (*Scheduler) NotifyStep ¶
NotifyStep 通知步骤变化 (由 Agent 调用)
type SchedulerOptions ¶
type SchedulerOptions struct {
// 触发回调 (用于监控和日志)
OnTrigger func(taskID string, spec string, kind TriggerKind)
}
SchedulerOptions Scheduler 配置
type StepCallback ¶
StepCallback 步骤回调函数
type StepTask ¶
type StepTask struct {
ID string
Every int // 每 N 步触发一次
Callback StepCallback
LastTriggered int
}
StepTask 步骤任务
type ToolPermissionRule ¶
type ToolPermissionRule struct {
ToolName string
Decision PermissionDecision
Reason string // 规则说明
}
ToolPermissionRule 工具权限规则
type TriggerKind ¶
type TriggerKind string
TriggerKind 触发类型
const ( TriggerKindStep TriggerKind = "step" // 步骤触发 TriggerKindInterval TriggerKind = "interval" // 时间间隔触发 TriggerKindCron TriggerKind = "cron" // Cron 表达式触发 (未实现) TriggerKindFileWatch TriggerKind = "file" // 文件变化触发 (未实现) )