Documentation
¶
Index ¶
- type A2AAgentConfig
- type A2AResult
- type AgentRequest
- type AgentResponse
- type ApprovalInfo
- type ApprovalPolicy
- type ApprovalResult
- type CLIConfig
- type FileConfig
- type InternalAgentConfig
- type KnowledgeBaseConfig
- type MCPConfig
- type MemoryEntry
- type Message
- type ModelConfig
- type ModelRole
- type PendingApproval
- type ResponseMetadata
- type ResponseSchemaConfig
- type ResumeApproval
- type ResumeRequest
- type ResumeResponse
- type RetryConfig
- type RoutingConfig
- type RunOptions
- type RunRequest
- type RunResponse
- type SandboxConfig
- type SandboxLimits
- type Skill
- type SkillOutputFile
- type SubAgentConfig
- type ToolCall
- type ToolCallMetadata
- type ToolConfig
- type VolumeMount
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type A2AAgentConfig ¶
type A2AAgentConfig struct {
Name string `json:"name"`
Endpoint string `json:"endpoint"`
Headers map[string]string `json:"headers"`
RiskLevel string `json:"risk_level"`
}
A2AAgentConfig A2A Agent 配置
type A2AResult ¶
type A2AResult struct {
AgentName string `json:"agent_name"`
Status string `json:"status"`
Result any `json:"result,omitempty"`
Error string `json:"error,omitempty"`
}
A2AResult A2A 结果
type AgentRequest ¶
type AgentRequest struct {
Task string `json:"task"` // 自然语言任务描述
Context map[string]any `json:"context,omitempty"` // 上下文信息(user_id, session_id 等)
Models map[string]ModelConfig `json:"models,omitempty"` // 模型配置(可选,使用内置默认配置)
Stream bool `json:"stream,omitempty"` // 是否流式输出
}
AgentRequest Agent 自主执行请求(用于 runner 直接接收自然语言任务)
type AgentResponse ¶
type AgentResponse struct {
Content string `json:"content,omitempty"`
ToolCalls []ToolCall `json:"tool_calls,omitempty"`
TokensUsed int `json:"tokens_used,omitempty"`
FinishReason string `json:"finish_reason"`
Metadata ResponseMetadata `json:"metadata"`
Error string `json:"error,omitempty"`
}
AgentResponse Agent 自主执行响应
type ApprovalInfo ¶
type ApprovalInfo struct {
ToolName string `json:"tool_name"`
ToolType string `json:"tool_type"` // http, mcp, skill, a2a
ArgumentsInJSON string `json:"arguments_in_json"`
RiskLevel string `json:"risk_level"`
Description string `json:"description"`
}
ApprovalInfo 审批信息,传递给前端
type ApprovalPolicy ¶
type ApprovalPolicy struct {
Enabled bool `json:"enabled"`
RiskThreshold string `json:"risk_threshold"` // low, medium, high
AutoApprove []string `json:"auto_approve"` // 白名单,tool names
}
ApprovalPolicy 审批策略
type ApprovalResult ¶
ApprovalResult 审批结果
type CLIConfig ¶
type CLIConfig struct {
Name string `json:"name"` // CLI 名称,如 "lark"
Command string `json:"command"` // CLI 命令,如 "lark-cli"
ConfigDir string `json:"config_dir"` // Token 配置目录
SkillsDir string `json:"skills_dir"` // Skills 文件目录
RiskLevel string `json:"risk_level"` // 风险级别
AuthType string `json:"auth_type"` // 授权类型:none, oauth2_device
}
CLIConfig CLI 工具配置(用于扩展第三方 CLI 如飞书 CLI)
type FileConfig ¶
type FileConfig struct {
Name string `json:"name"`
VirtualPath string `json:"virtual_path"` // 虚拟路径,如 /mnt/uploads/session_id/file.md
Size int64 `json:"size"`
Type string `json:"type"` // mime type
}
FileConfig 文件配置
type InternalAgentConfig ¶
type InternalAgentConfig struct {
ID string `json:"id"`
Name string `json:"name"`
Prompt string `json:"prompt"`
Model ModelConfig `json:"model"`
}
InternalAgentConfig 内部 Agent 配置
type KnowledgeBaseConfig ¶
type KnowledgeBaseConfig struct {
ID string `json:"id"`
Name string `json:"name"`
RetrievalURL string `json:"retrieval_url"`
Token string `json:"token"`
TopK int `json:"top_k"`
}
KnowledgeBaseConfig 知识库配置
type MCPConfig ¶
type MCPConfig struct {
Name string `json:"name"`
Transport string `json:"transport"` // "stdio" 或 "http"
Command string `json:"command"` // stdio 模式: 启动命令
Args []string `json:"args"` // stdio 模式: 命令参数
Env map[string]string `json:"env"` // stdio 模式: 环境变量
Endpoint string `json:"endpoint"` // http 模式: MCP 服务地址
Headers map[string]string `json:"headers"` // http 模式: 请求头
RiskLevel string `json:"risk_level"`
}
MCPConfig MCP 服务配置
type MemoryEntry ¶
type MemoryEntry struct {
Name string `json:"name"`
Description string `json:"description"`
Type string `json:"type"` // user, feedback, project, reference
Content string `json:"content"`
Importance int `json:"importance"`
}
MemoryEntry 记忆条目(用于返回给 agent-frame 保存)
type ModelConfig ¶
type ModelConfig struct {
Provider string `json:"provider"`
Name string `json:"name"`
APIKey string `json:"api_key"`
APIBase string `json:"api_base"`
Temperature float64 `json:"temperature"`
MaxTokens int `json:"max_tokens"`
TopP float64 `json:"top_p"`
ExtraFields map[string]any `json:"extra_fields,omitempty"` // 额外参数,如 reasoning_split
}
ModelConfig 模型配置
type PendingApproval ¶
type PendingApproval struct {
InterruptID string `json:"interrupt_id"`
ToolName string `json:"tool_name"`
ToolType string `json:"tool_type"`
ArgumentsJSON string `json:"arguments_json"`
RiskLevel string `json:"risk_level"`
Description string `json:"description"`
}
PendingApproval 待审批信息
type ResponseMetadata ¶
type ResponseMetadata struct {
Model string `json:"model"`
LatencyMs int64 `json:"latency_ms"`
TokensUsed int `json:"tokens_used,omitempty"`
PromptTokens int `json:"prompt_tokens,omitempty"`
CompletionTokens int `json:"completion_tokens,omitempty"`
ToolCallsCount int `json:"tool_calls_count,omitempty"`
A2ACallsCount int `json:"a2a_calls_count,omitempty"`
SkillCallsCount int `json:"skill_calls_count,omitempty"`
Iterations int `json:"iterations,omitempty"`
ToolCallsDetail []ToolCallMetadata `json:"tool_calls_detail,omitempty"`
Error string `json:"error,omitempty"`
}
ResponseMetadata 响应元数据
type ResponseSchemaConfig ¶
type ResponseSchemaConfig struct {
Type string `json:"type"`
Version string `json:"version"`
Strict bool `json:"strict"`
Schema map[string]any `json:"schema"`
Fallback string `json:"fallback"`
}
ResponseSchemaConfig 响应格式配置
type ResumeApproval ¶
type ResumeApproval struct {
InterruptID string `json:"interrupt_id"`
Approved bool `json:"approved"`
DisapproveReason *string `json:"disapprove_reason,omitempty"`
}
ResumeApproval 单个审批结果
type ResumeRequest ¶
type ResumeRequest struct {
CheckPointID string `json:"checkpoint_id"`
Approvals []ResumeApproval `json:"approvals"`
}
ResumeRequest resume 请求
type ResumeResponse ¶
type ResumeResponse struct {
Success bool `json:"success"`
Error string `json:"error,omitempty"`
FinishReason string `json:"finish_reason"`
Content string `json:"content,omitempty"`
ToolCalls []ToolCall `json:"tool_calls,omitempty"`
Metadata ResponseMetadata `json:"metadata"`
}
ResumeResponse resume 响应
type RetryConfig ¶
type RetryConfig struct {
MaxAttempts int `json:"max_attempts"`
InitialDelayMs int `json:"initial_delay_ms"`
MaxDelayMs int `json:"max_delay_ms"`
BackoffMultiplier float64 `json:"backoff_multiplier"`
RetryableErrors []string `json:"retryable_errors"`
// 熔断器配置
CircuitBreakerThreshold int `json:"circuit_breaker_threshold"` // 连续失败次数阈值,达到后熔断
CircuitBreakerDurationMs int `json:"circuit_breaker_duration_ms"` // 熔断持续时间
}
RetryConfig 重试配置
type RoutingConfig ¶
type RoutingConfig struct {
// DefaultModel 默认使用的模型角色
DefaultModel ModelRole `json:"default_model"`
// RewritePrompt 改写使用的提示词模板
RewritePrompt string `json:"rewrite_prompt"`
// SummarizePrompt 总结使用的提示词模板
SummarizePrompt string `json:"summarize_prompt"`
}
RoutingConfig 多模型路由配置
type RunOptions ¶
type RunOptions struct {
Temperature float64 `json:"temperature"`
MaxTokens int `json:"max_tokens"`
Stream bool `json:"stream"`
TopP float64 `json:"top_p"`
Stop []string `json:"stop"`
TimeoutMs int `json:"timeout_ms"`
MaxIterations int `json:"max_iterations"`
MaxToolCalls int `json:"max_tool_calls"`
MaxA2ACalls int `json:"max_a2a_calls"`
MaxTotalTokens int `json:"max_total_tokens"`
Retry *RetryConfig `json:"retry"`
ResponseSchema *ResponseSchemaConfig `json:"response_schema"`
Routing *RoutingConfig `json:"routing"`
ApprovalPolicy *ApprovalPolicy `json:"approval_policy"`
CheckPointID string `json:"checkpoint_id"`
}
RunOptions 运行选项
type RunRequest ¶
type RunRequest struct {
Prompt string `json:"prompt"`
Models map[string]ModelConfig `json:"models"`
Messages []Message `json:"messages"`
Context map[string]any `json:"context"`
KnowledgeBases []KnowledgeBaseConfig `json:"knowledge_bases"` // 知识库配置(用于运行时检索)
Skills []Skill `json:"skills"`
MCPs []MCPConfig `json:"mcps"`
CLIs []CLIConfig `json:"clis"` // CLI 工具配置(如飞书 CLI)
A2A []A2AAgentConfig `json:"a2a"`
Tools []ToolConfig `json:"tools"`
InternalAgents []InternalAgentConfig `json:"internal_agents"`
SubAgents []SubAgentConfig `json:"sub_agents"` // Sub-Agent 配置列表
Options *RunOptions `json:"options"`
Sandbox *SandboxConfig `json:"sandbox"`
Files []FileConfig `json:"files"` // 上传的文件列表
}
RunRequest 运行请求
type RunResponse ¶
type RunResponse struct {
Content string `json:"content,omitempty"`
ToolCalls []ToolCall `json:"tool_calls,omitempty"`
A2AResults []A2AResult `json:"a2a_results,omitempty"`
TokensUsed int `json:"tokens_used,omitempty"`
FinishReason string `json:"finish_reason"`
Metadata ResponseMetadata `json:"metadata"`
A2UIMessages []json.RawMessage `json:"a2ui_messages,omitempty"`
PendingApprovals []PendingApproval `json:"pending_approvals,omitempty"`
CheckPointID string `json:"checkpoint_id,omitempty"`
Memories []MemoryEntry `json:"memories,omitempty"` // 提取的记忆,供 agent-frame 保存
}
RunResponse 运行响应
type SandboxConfig ¶
type SandboxConfig struct {
Enabled bool `json:"enabled"`
Mode string `json:"mode"`
Image string `json:"image"`
Workdir string `json:"workdir"`
Network string `json:"network"`
TimeoutMs int `json:"timeout_ms"`
Env map[string]string `json:"env"`
Limits *SandboxLimits `json:"limits"`
Volumes []VolumeMount `json:"volumes"` // 额外挂载的卷
}
SandboxConfig 沙箱配置
type SandboxLimits ¶
type SandboxLimits struct {
CPU string `json:"cpu"` // e.g., "0.5" (0.5 cores), "2" (2 cores)
Memory string `json:"memory"` // e.g., "512m", "1g", "256M"
}
SandboxLimits 沙箱资源限制
type Skill ¶
type Skill struct {
ID string `json:"id"`
// 以下字段由 SKILL.md 定义,runner 自动加载
Name string `json:",omitempty"`
Description string `json:",omitempty"`
Instruction string `json:",omitempty"`
Scope string `json:",omitempty"`
Trigger string `json:",omitempty"`
EntryScript string `json:",omitempty"`
FilePath string `json:",omitempty"`
Inputs []string `json:",omitempty"`
Outputs []string `json:",omitempty"`
RiskLevel string `json:"risk_level,omitempty"`
// OutputPatterns 指定脚本执行后要提取的文件模式(支持 glob 匹配)
// 例如:["templates/*.html", "outputs/*.json"]
OutputPatterns []string `json:"output_patterns,omitempty"`
}
Skill 技能配置
type SkillOutputFile ¶
type SkillOutputFile struct {
Name string `json:"name"`
Base64 string `json:"base64"`
Mime string `json:"mime,omitempty"`
}
SkillOutputFile Skill 输出文件(用于存储提取的文件内容)
type SubAgentConfig ¶
type SubAgentConfig struct {
ID string `json:"id"`
Name string `json:"name"`
Description string `json:"description"`
Prompt string `json:"prompt"`
Model *ModelConfig `json:"model,omitempty"`
Tools []string `json:"tools"`
Skills []Skill `json:"skills,omitempty"`
MaxIterations int `json:"max_iterations"`
TimeoutMs int `json:"timeout_ms"`
}
SubAgentConfig is a minimal local stand-in for the reference runner's subagent.SubAgentConfig. It is intentionally trimmed: only the fields needed so that RunRequest remains self-contained without importing the heavy subagent package. Extend as needed when the subagent package is migrated.
type ToolCall ¶
type ToolCall struct {
Tool string `json:"tool"`
Input any `json:"input"`
Output any `json:"output"`
}
ToolCall 工具调用
type ToolCallMetadata ¶
type ToolCallMetadata struct {
Tool string `json:"tool"`
Input any `json:"input"`
Output any `json:"output"`
LatencyMs int64 `json:"latency_ms"`
Success bool `json:"success"`
Error string `json:"error,omitempty"`
}
ToolCallMetadata 工具调用元数据
type ToolConfig ¶
type ToolConfig struct {
Type string `json:"type"`
Name string `json:"name"`
Description string `json:"description"`
Endpoint string `json:"endpoint"`
Method string `json:"method"`
Headers map[string]string `json:"headers"`
RiskLevel string `json:"risk_level"`
}
ToolConfig 工具配置
type VolumeMount ¶
type VolumeMount struct {
HostPath string `json:"host_path"` // 宿主机路径
ContainerPath string `json:"container_path"` // 容器内路径
ReadOnly bool `json:"read_only"` // 是否只读
}
VolumeMount 卷挂载配置