Documentation
¶
Index ¶
- Constants
- Variables
- func BuildReActInvoker(ctx context.Context, options ...aicommon.ConfigOption) (aicommon.AITaskInvokeRuntime, error)
- func TaskDuplicateFilter() taskEnqueueHook
- func TaskLogger() taskEnqueueHook
- func TaskPriorityFilter(allowedIds []string) taskEnqueueHook
- func WithBuiltinTools() aicommon.ConfigOption
- type AIBlueprintForgeParamsPromptData
- type AIForgeReviewSuggestion
- type AIReviewPromptData
- type ActionType
- type ChangeAIBlueprintPromptData
- type DirectlyAnswerPromptData
- type InteractOption
- type LoopPromptData
- type PromptManager
- func (pm *PromptManager) DynamicContext() string
- func (pm *PromptManager) GenerateAIBlueprintForgeParamsPrompt(ins *schema.AIForge, blueprintSchema string) (string, error)
- func (pm *PromptManager) GenerateAIBlueprintForgeParamsPromptEx(ins *schema.AIForge, blueprintSchema string, oldParams aitool.InvokeParams, ...) (string, error)
- func (pm *PromptManager) GenerateAIReviewPrompt(userQuery, toolOrTitle, params string) (string, error)
- func (pm *PromptManager) GenerateChangeAIBlueprintPrompt(ins *schema.AIForge, forgeList string, oldParams aitool.InvokeParams, ...) (string, error)
- func (pm *PromptManager) GenerateDirectlyAnswerPrompt(userQuery string, tools []*aitool.Tool) (string, string, error)
- func (pm *PromptManager) GenerateReGenerateToolParamsPrompt(userQuery string, oldParams aitool.InvokeParams, oldTool *aitool.Tool) (string, error)
- func (pm *PromptManager) GenerateToolParamsPrompt(tool *aitool.Tool) (string, error)
- func (pm *PromptManager) GenerateToolReSelectPrompt(noUserInteract bool, oldTool *aitool.Tool, toolList []*aitool.Tool) (string, error)
- func (pm *PromptManager) GenerateVerificationPrompt(originalQuery string, isToolResult bool, payload string, enhanceData ...string) (string, error)
- func (pm *PromptManager) GetAvailableAIForgeBlueprints() string
- func (pm *PromptManager) GetBasicPromptInfo(tools []*aitool.Tool) (string, map[string]any, error)
- func (pm *PromptManager) GetGlanceWorkdir(wd string) string
- type ReAct
- func (r *ReAct) AddToTimeline(entryType, content string)
- func (r *ReAct) AskForClarification(ctx context.Context, question string, payloads []string) string
- func (r *ReAct) AsyncPlanAndExecute(ctx context.Context, planPayload string, onFinished func(error))
- func (r *ReAct) CallMirrorOfAIInputEvent(event *ypb.AIInputEvent)
- func (r *ReAct) DirectlyAnswer(ctx context.Context, query string, tools []*aitool.Tool) (string, error)
- func (r *ReAct) DumpCurrentEnhanceData() string
- func (r *ReAct) DumpTimeline() string
- func (r *ReAct) EmitAction(action string)
- func (r *ReAct) EmitDequeueReActTask(t aicommon.AIStatefulTask, reason string)
- func (r *ReAct) EmitEnqueueReActTask(t aicommon.AIStatefulTask)
- func (r *ReAct) EmitFileArtifactWithExt(identifier string, ext string, i any) string
- func (r *ReAct) EmitIteration(iteration int, maxIterations int)
- func (r *ReAct) EmitKnowledge(enhanceID string, knowledge aicommon.EnhanceKnowledge)
- func (r *ReAct) EmitKnowledgeListAboutTask(taskID string, knowledgeList []aicommon.EnhanceKnowledge, SyncId string)
- func (r *ReAct) EmitResult(result interface{})
- func (r *ReAct) EmitResultAfterStream(result interface{})
- func (r *ReAct) EmitTextArtifact(identifier string, i any)
- func (r *ReAct) EnhanceKnowledgeAnswer(ctx context.Context, userQuery string) (string, error)
- func (r *ReAct) EnhanceKnowledgeGetter(ctx context.Context, userQuery string) (string, error)
- func (r *ReAct) ExecuteLoopTask(taskTypeName string, task aicommon.AIStatefulTask, ...) (bool, error)
- func (r *ReAct) ExecuteToolRequiredAndCall(ctx context.Context, toolName string) (*aitool.ToolResult, bool, error)
- func (r *ReAct) ExecuteToolRequiredAndCallWithoutRequired(ctx context.Context, toolName string, params aitool.InvokeParams) (*aitool.ToolResult, bool, error)
- func (r *ReAct) GetBasicPromptInfo(tools []*aitool.Tool) (string, map[string]any, error)
- func (r *ReAct) GetConfig() aicommon.AICallerConfigIf
- func (r *ReAct) GetCurrentLoop() *reactloops.ReActLoop
- func (r *ReAct) GetCurrentPlanExecutionTask() aicommon.AIStatefulTask
- func (r *ReAct) GetCurrentTask() aicommon.AIStatefulTask
- func (r *ReAct) GetLastTask() aicommon.AIStatefulTask
- func (r *ReAct) GetQueueInfo() map[string]interface{}
- func (r *ReAct) HandleSyncTypeCancelTaskEvent(event *ypb.AIInputEvent) error
- func (r *ReAct) HandleSyncTypeKnowledgeEvent(event *ypb.AIInputEvent) error
- func (r *ReAct) HandleSyncTypeQueueInfoEvent(event *ypb.AIInputEvent) error
- func (r *ReAct) HandleSyncTypeReactCancelCurrentTaskEvent(event *ypb.AIInputEvent) error
- func (r *ReAct) HandleSyncTypeReactClearTaskEvent(event *ypb.AIInputEvent) error
- func (r *ReAct) HandleSyncTypeReactJumpQueueEvent(event *ypb.AIInputEvent) error
- func (r *ReAct) HandleSyncTypeReactRemoveTaskEvent(event *ypb.AIInputEvent) error
- func (r *ReAct) InvokeLiteForge(ctx context.Context, actionName string, prompt string, ...) (*aicommon.Action, error)
- func (r *ReAct) IsFinished() bool
- func (r *ReAct) IsProcessingReAct() bool
- func (r *ReAct) PushCumulativeSummaryHandle(f func() string)
- func (r *ReAct) RegisterMirrorOfAIInputEvent(id string, f func(*ypb.AIInputEvent))
- func (r *ReAct) RegisterReActSyncEvent()
- func (r *ReAct) RequireAIForgeAndAsyncExecute(ctx context.Context, forgeName string, onFinished func(error))
- func (r *ReAct) RequireUserInteract(question string, options []string) (string, string, error)
- func (r *ReAct) RequireUserInteractEx(question string, options []*InteractOption) (string, string, error)
- func (r *ReAct) SaveTimeline()
- func (r *ReAct) SendInputEvent(event *ypb.AIInputEvent) (ret error)
- func (r *ReAct) SetCurrentPlanExecutionTask(t aicommon.AIStatefulTask)
- func (r *ReAct) SetCurrentTask(task aicommon.AIStatefulTask)
- func (r *ReAct) UnRegisterReActSyncEvent()
- func (r *ReAct) UnregisterMirrorOfAIInputEvent(id string)
- func (r *ReAct) UpdateDebugMode(debug bool)
- func (r *ReAct) VerifyUserSatisfaction(ctx context.Context, originalQuery string, isToolCall bool, payload string) (bool, string, error)
- func (r *ReAct) Wait()
- type ReGenerateToolParamsPromptData
- type ReactTaskItem
- type TaskQueue
- func (tq *TaskQueue) AddDequeueHook(hook taskDequeueHook)
- func (tq *TaskQueue) AddEnqueueHook(hook taskEnqueueHook)
- func (tq *TaskQueue) Append(task aicommon.AIStatefulTask) error
- func (tq *TaskQueue) Clear()
- func (tq *TaskQueue) ClearHooks()
- func (tq *TaskQueue) ClearRemoveFromQueueHooks()
- func (tq *TaskQueue) GetFirst() aicommon.AIStatefulTask
- func (tq *TaskQueue) GetQueueName() string
- func (tq *TaskQueue) GetQueueingCount() int
- func (tq *TaskQueue) GetQueueingTasks() []aicommon.AIStatefulTask
- func (tq *TaskQueue) IsEmpty() bool
- func (tq *TaskQueue) Len() int
- func (tq *TaskQueue) MoveTaskToFirst(taskId string) bool
- func (tq *TaskQueue) PeekFirst() aicommon.AIStatefulTask
- func (tq *TaskQueue) PrependToFirst(task aicommon.AIStatefulTask) error
- func (tq *TaskQueue) RemoveTask(taskId string) bool
- type ToolParamsPromptData
- type ToolReSelectPromptData
- type VerificationPromptData
- type YaklangCodeActionLoopPromptData
Constants ¶
const ( SYNC_TYPE_QUEUE_INFO = "queue_info" SYNC_TYPE_TIMELINE = "timeline" SYNC_TYPE_KNOWLEDGE = "enhance_knowledge" SYNC_TYPE_UPDATE_CONFIG = "update_config" SYNC_TYPE_MEMORY_CONTEXT = "memory_sync" SYNC_TYPE_REACT_CANCEL_CURRENT_TASK = "react_cancel_current_task" SYNC_TYPE_REACT_JUMP_QUEUE = "react_jump_queue" SYNC_TYPE_REACT_CANCEL_TASK = "react_cancel_task" SYNC_TYPE_REACT_REMOVE_TASK = "react_remove_task" SYNC_TYPE_REACT_CLEAR_TASK = "react_clear_task" )
同步类型常量
const SKIP_AI_REVIEW = "skip_ai_review"
Variables ¶
var ( REACT_TASK_cancelled = "react_task_cancelled" REACT_TASK_enqueue = "react_task_enqueue" REACT_TASK_dequeue = "react_task_dequeue" REACT_TASK_clear = "react_task_cleared" )
Functions ¶
func BuildReActInvoker ¶
func BuildReActInvoker(ctx context.Context, options ...aicommon.ConfigOption) (aicommon.AITaskInvokeRuntime, error)
func TaskDuplicateFilter ¶
func TaskDuplicateFilter() taskEnqueueHook
TaskDuplicateFilter 创建一个过滤重复任务的Hook 基于任务ID进行去重
func TaskPriorityFilter ¶
func TaskPriorityFilter(allowedIds []string) taskEnqueueHook
TaskPriorityFilter 创建一个基于任务优先级的Hook 可以根据任务属性设置优先级规则
func WithBuiltinTools ¶
func WithBuiltinTools() aicommon.ConfigOption
Types ¶
type AIBlueprintForgeParamsPromptData ¶
type AIBlueprintForgeParamsPromptData struct {
BlueprintName string
BlueprintDescription string
BlueprintSchema string
OriginalQuery string
CumulativeSummary string
CurrentIteration int
MaxIterations int
Timeline string
DynamicContext string
OldParams string
ExtraPrompt string
Nonce string
}
AIBlueprintForgeParamsPromptData contains data for AI blueprint forge parameter generation prompt
type AIForgeReviewSuggestion ¶
type AIReviewPromptData ¶
type AIReviewPromptData struct {
CurrentTime string
OSArch string
WorkingDir string
WorkingDirGlance string
ConversationMemory string
Timeline string
Nonce string
UserQuery string
Title string
Details string
Language string
}
AIReviewPromptData contains data for AI tool call review prompt
type ActionType ¶
type ActionType string
ActionType represents the type of action to take
const ( ActionDirectlyAnswer ActionType = schema.AI_REACT_LOOP_ACTION_DIRECTLY_ANSWER ActionRequireTool ActionType = schema.AI_REACT_LOOP_ACTION_REQUIRE_TOOL ActionRequireAIBlueprintForge ActionType = schema.AI_REACT_LOOP_ACTION_REQUIRE_AI_BLUEPRINT ActionRequestPlanExecution ActionType = schema.AI_REACT_LOOP_ACTION_REQUEST_PLAN_EXECUTION ActionAskForClarification ActionType = schema.AI_REACT_LOOP_ACTION_ASK_FOR_CLARIFICATION ActionKnowledgeEnhanceAnswer ActionType = schema.AI_REACT_LOOP_ACTION_KNOWLEDGE_ENHANCE ActionWriteYaklangCode ActionType = "write_yaklang_code" )
type ChangeAIBlueprintPromptData ¶
type ChangeAIBlueprintPromptData struct {
CurrentTime string
OSArch string
WorkingDir string
WorkingDirGlance string
ConversationMemory string
Timeline string
Nonce string
UserQuery string
CurrentBlueprint *schema.AIForge
ForgeList string
OldParams string
ExtraPrompt string
Language string
DynamicContext string
}
ChangeAIBlueprintPromptData contains data for changing AI blueprint prompt template
type DirectlyAnswerPromptData ¶
type DirectlyAnswerPromptData struct {
AllowPlan bool
CurrentTime string
OSArch string
WorkingDir string
WorkingDirGlance string
Tools []*aitool.Tool
ToolsCount int
TopTools []*aitool.Tool
TopToolsCount int
HasMoreTools bool
ConversationMemory string
Timeline string
UserQuery string
Nonce string
Language string
Schema string
DynamicContext string
}
DirectlyAnswerPromptData contains data for directly answer prompt template
type InteractOption ¶
type LoopPromptData ¶
type LoopPromptData struct {
AllowAskForClarification bool
AllowPlan bool
AllowKnowledgeEnhanceAnswer bool
AllowWriteYaklangCode bool
AskForClarificationCurrentTime int64
AskForClarificationMaxTimes int64
CurrentTime string
OSArch string
WorkingDir string
WorkingDirGlance string
AIForgeList string
Tools []*aitool.Tool
ToolsCount int
TopTools []*aitool.Tool
TopToolsCount int
HasMoreTools bool
ConversationMemory string
Timeline string
UserQuery string
Nonce string
Language string
Schema string
DynamicContext string
}
LoopPromptData contains data for the main loop prompt template
type PromptManager ¶
type PromptManager struct {
// contains filtered or unexported fields
}
PromptManager manages ReAct prompt templates
func NewPromptManager ¶
func NewPromptManager(react *ReAct, workdir string) *PromptManager
NewPromptManager creates a new prompt manager
func (*PromptManager) DynamicContext ¶
func (pm *PromptManager) DynamicContext() string
func (*PromptManager) GenerateAIBlueprintForgeParamsPrompt ¶
func (pm *PromptManager) GenerateAIBlueprintForgeParamsPrompt(ins *schema.AIForge, blueprintSchema string) (string, error)
GenerateAIBlueprintForgeParamsPrompt generates AI blueprint forge parameter generation prompt using template
func (*PromptManager) GenerateAIBlueprintForgeParamsPromptEx ¶
func (pm *PromptManager) GenerateAIBlueprintForgeParamsPromptEx( ins *schema.AIForge, blueprintSchema string, oldParams aitool.InvokeParams, extraPrompt string, ) (string, error)
func (*PromptManager) GenerateAIReviewPrompt ¶
func (pm *PromptManager) GenerateAIReviewPrompt(userQuery, toolOrTitle, params string) (string, error)
GenerateAIReviewPrompt generates AI tool call review prompt using template
func (*PromptManager) GenerateChangeAIBlueprintPrompt ¶
func (pm *PromptManager) GenerateChangeAIBlueprintPrompt( ins *schema.AIForge, forgeList string, oldParams aitool.InvokeParams, extraPrompt string, ) (string, error)
func (*PromptManager) GenerateDirectlyAnswerPrompt ¶
func (pm *PromptManager) GenerateDirectlyAnswerPrompt(userQuery string, tools []*aitool.Tool) (string, string, error)
GenerateDirectlyAnswerPrompt generates directly answer prompt using template
func (*PromptManager) GenerateReGenerateToolParamsPrompt ¶
func (pm *PromptManager) GenerateReGenerateToolParamsPrompt(userQuery string, oldParams aitool.InvokeParams, oldTool *aitool.Tool) (string, error)
GenerateReGenerateToolParamsPrompt generates tool parameter regeneration prompt using template
func (*PromptManager) GenerateToolParamsPrompt ¶
func (pm *PromptManager) GenerateToolParamsPrompt(tool *aitool.Tool) (string, error)
GenerateToolParamsPrompt generates tool parameter generation prompt using template
func (*PromptManager) GenerateToolReSelectPrompt ¶
func (pm *PromptManager) GenerateToolReSelectPrompt(noUserInteract bool, oldTool *aitool.Tool, toolList []*aitool.Tool) (string, error)
GenerateToolReSelectPrompt generates tool reselection prompt using template
func (*PromptManager) GenerateVerificationPrompt ¶
func (pm *PromptManager) GenerateVerificationPrompt(originalQuery string, isToolResult bool, payload string, enhanceData ...string) (string, error)
GenerateVerificationPrompt generates verification prompt using template
func (*PromptManager) GetAvailableAIForgeBlueprints ¶
func (pm *PromptManager) GetAvailableAIForgeBlueprints() string
func (*PromptManager) GetBasicPromptInfo ¶
func (*PromptManager) GetGlanceWorkdir ¶
func (pm *PromptManager) GetGlanceWorkdir(wd string) string
type ReAct ¶
type ReAct struct {
*aicommon.Emitter
// All Runtime Tasks
RuntimeTasks []aicommon.AIStatefulTask
UpdateRuntimeTaskMutex sync.Mutex
// contains filtered or unexported fields
}
func NewTestReAct ¶
func NewTestReAct(opts ...aicommon.ConfigOption) (*ReAct, error)
func (*ReAct) AddToTimeline ¶
AddToTimeline 添加条目到时间线
func (*ReAct) AskForClarification ¶
func (*ReAct) AsyncPlanAndExecute ¶
func (*ReAct) CallMirrorOfAIInputEvent ¶
func (r *ReAct) CallMirrorOfAIInputEvent(event *ypb.AIInputEvent)
func (*ReAct) DirectlyAnswer ¶
func (*ReAct) DumpCurrentEnhanceData ¶
func (*ReAct) DumpTimeline ¶
func (*ReAct) EmitAction ¶
EmitAction emits an action event using the embedded Emitter
func (*ReAct) EmitDequeueReActTask ¶
func (r *ReAct) EmitDequeueReActTask(t aicommon.AIStatefulTask, reason string)
func (*ReAct) EmitEnqueueReActTask ¶
func (r *ReAct) EmitEnqueueReActTask(t aicommon.AIStatefulTask)
func (*ReAct) EmitFileArtifactWithExt ¶
func (*ReAct) EmitIteration ¶
EmitIteration emits an iteration start event using the embedded Emitter
func (*ReAct) EmitKnowledge ¶
func (r *ReAct) EmitKnowledge(enhanceID string, knowledge aicommon.EnhanceKnowledge)
EmitKnowledge emits a knowledge event using the embedded Emitter
func (*ReAct) EmitKnowledgeListAboutTask ¶
func (r *ReAct) EmitKnowledgeListAboutTask(taskID string, knowledgeList []aicommon.EnhanceKnowledge, SyncId string)
EmitKnowledgeListAboutTask emits a list of knowledge items related to a specific task using the embedded Emitter, for sync
func (*ReAct) EmitResult ¶
func (r *ReAct) EmitResult(result interface{})
EmitResult emits a final result event using the embedded Emitter
func (*ReAct) EmitResultAfterStream ¶
func (r *ReAct) EmitResultAfterStream(result interface{})
func (*ReAct) EmitTextArtifact ¶
func (*ReAct) EnhanceKnowledgeAnswer ¶
func (*ReAct) EnhanceKnowledgeGetter ¶
func (*ReAct) ExecuteLoopTask ¶
func (r *ReAct) ExecuteLoopTask(taskTypeName string, task aicommon.AIStatefulTask, options ...reactloops.ReActLoopOption) (bool, error)
func (*ReAct) ExecuteToolRequiredAndCall ¶
func (r *ReAct) ExecuteToolRequiredAndCall(ctx context.Context, toolName string) (*aitool.ToolResult, bool, error)
ExecuteToolRequiredAndCall handles tool requirement action using aicommon.ToolCaller. It uses AI to generate tool parameters (require phase) before calling the tool.
func (*ReAct) ExecuteToolRequiredAndCallWithoutRequired ¶
func (r *ReAct) ExecuteToolRequiredAndCallWithoutRequired(ctx context.Context, toolName string, params aitool.InvokeParams) (*aitool.ToolResult, bool, error)
ExecuteToolRequiredAndCallWithoutRequired handles tool execution with provided parameters, skipping the parameter generation (require) phase. It directly calls the tool with the given params. This is useful when parameters are already known and don't need to be generated by AI.
func (*ReAct) GetBasicPromptInfo ¶
func (*ReAct) GetConfig ¶
func (r *ReAct) GetConfig() aicommon.AICallerConfigIf
func (*ReAct) GetCurrentLoop ¶
func (r *ReAct) GetCurrentLoop() *reactloops.ReActLoop
func (*ReAct) GetCurrentPlanExecutionTask ¶
func (r *ReAct) GetCurrentPlanExecutionTask() aicommon.AIStatefulTask
func (*ReAct) GetCurrentTask ¶
func (r *ReAct) GetCurrentTask() aicommon.AIStatefulTask
func (*ReAct) GetLastTask ¶
func (r *ReAct) GetLastTask() aicommon.AIStatefulTask
func (*ReAct) GetQueueInfo ¶
GetQueueInfo 获取任务队列信息
func (*ReAct) HandleSyncTypeCancelTaskEvent ¶
func (r *ReAct) HandleSyncTypeCancelTaskEvent(event *ypb.AIInputEvent) error
func (*ReAct) HandleSyncTypeKnowledgeEvent ¶
func (r *ReAct) HandleSyncTypeKnowledgeEvent(event *ypb.AIInputEvent) error
func (*ReAct) HandleSyncTypeQueueInfoEvent ¶
func (r *ReAct) HandleSyncTypeQueueInfoEvent(event *ypb.AIInputEvent) error
func (*ReAct) HandleSyncTypeReactCancelCurrentTaskEvent ¶
func (r *ReAct) HandleSyncTypeReactCancelCurrentTaskEvent(event *ypb.AIInputEvent) error
func (*ReAct) HandleSyncTypeReactClearTaskEvent ¶
func (r *ReAct) HandleSyncTypeReactClearTaskEvent(event *ypb.AIInputEvent) error
func (*ReAct) HandleSyncTypeReactJumpQueueEvent ¶
func (r *ReAct) HandleSyncTypeReactJumpQueueEvent(event *ypb.AIInputEvent) error
func (*ReAct) HandleSyncTypeReactRemoveTaskEvent ¶
func (r *ReAct) HandleSyncTypeReactRemoveTaskEvent(event *ypb.AIInputEvent) error
func (*ReAct) InvokeLiteForge ¶
func (*ReAct) IsFinished ¶
func (*ReAct) IsProcessingReAct ¶
func (*ReAct) PushCumulativeSummaryHandle ¶
func (*ReAct) RegisterMirrorOfAIInputEvent ¶
func (r *ReAct) RegisterMirrorOfAIInputEvent(id string, f func(*ypb.AIInputEvent))
func (*ReAct) RegisterReActSyncEvent ¶
func (r *ReAct) RegisterReActSyncEvent()
func (*ReAct) RequireAIForgeAndAsyncExecute ¶
func (*ReAct) RequireUserInteract ¶
func (*ReAct) RequireUserInteractEx ¶
func (*ReAct) SaveTimeline ¶
func (r *ReAct) SaveTimeline()
func (*ReAct) SendInputEvent ¶
func (r *ReAct) SendInputEvent(event *ypb.AIInputEvent) (ret error)
SendInputEvent sends an input event to the task queue (non-blocking) This is the only public API for external clients to send input to ReAct
func (*ReAct) SetCurrentPlanExecutionTask ¶
func (r *ReAct) SetCurrentPlanExecutionTask(t aicommon.AIStatefulTask)
func (*ReAct) SetCurrentTask ¶
func (r *ReAct) SetCurrentTask(task aicommon.AIStatefulTask)
func (*ReAct) UnRegisterReActSyncEvent ¶
func (r *ReAct) UnRegisterReActSyncEvent()
func (*ReAct) UnregisterMirrorOfAIInputEvent ¶
func (*ReAct) UpdateDebugMode ¶
UpdateDebugMode dynamically updates the debug mode settings
type ReGenerateToolParamsPromptData ¶
type ReGenerateToolParamsPromptData struct {
CurrentTime string
OSArch string
WorkingDir string
WorkingDirGlance string
ConversationMemory string
Timeline string
UserQuery string
Nonce string
OldParams string
Schema string
DynamicContext string
}
ReGenerateToolParamsPromptData contains data for tool parameter regeneration prompt template
type ReactTaskItem ¶
type ReactTaskItem struct {
ID string // 任务唯一标识
UserInput string // 用户输入
Event *ypb.AIInputEvent // 原始输入事件
Status string // 任务状态: pending, processing, completed, failed
CreatedAt time.Time // 创建时间
StartedAt *time.Time // 开始处理时间
EndedAt *time.Time // 完成时间
Metadata map[string]interface{} // 额外元数据
}
ReactTaskItem 表示ReAct任务队列中的单个任务
type TaskQueue ¶
type TaskQueue struct {
// contains filtered or unexported fields
}
TaskQueue 任务队列结构
func (*TaskQueue) AddDequeueHook ¶
func (tq *TaskQueue) AddDequeueHook(hook taskDequeueHook)
AddDequeueHook 添加出队钩子
func (*TaskQueue) AddEnqueueHook ¶
func (tq *TaskQueue) AddEnqueueHook(hook taskEnqueueHook)
AddEnqueueHook 添加预处理钩子
func (*TaskQueue) Append ¶
func (tq *TaskQueue) Append(task aicommon.AIStatefulTask) error
Append 将任务添加到队列末尾
func (*TaskQueue) ClearRemoveFromQueueHooks ¶
func (tq *TaskQueue) ClearRemoveFromQueueHooks()
ClearRemoveFromQueueHooks 清除所有出队钩子
func (*TaskQueue) GetFirst ¶
func (tq *TaskQueue) GetFirst() aicommon.AIStatefulTask
GetFirst 获取并移除队列中的第一个任务
func (*TaskQueue) GetQueueingCount ¶
GetQueueingCount 获取队列中任务的数量
func (*TaskQueue) GetQueueingTasks ¶
func (tq *TaskQueue) GetQueueingTasks() []aicommon.AIStatefulTask
GetQueueingTasks 获取所有排队中的任务(不移除)
func (*TaskQueue) MoveTaskToFirst ¶
MoveTaskToFirst 将指定 task_id 的任务移动到队列最前面 如果找到任务则返回 true,否则返回 false
func (*TaskQueue) PeekFirst ¶
func (tq *TaskQueue) PeekFirst() aicommon.AIStatefulTask
PeekFirst 查看队列第一个任务但不移除
func (*TaskQueue) PrependToFirst ¶
func (tq *TaskQueue) PrependToFirst(task aicommon.AIStatefulTask) error
PrependToFirst 将任务插队到队列最前面
func (*TaskQueue) RemoveTask ¶
RemoveTask 从队列中移除指定 task_id 的任务 如果找到并移除任务则返回 true,否则返回 false
type ToolParamsPromptData ¶
type ToolParamsPromptData struct {
ToolName string
ToolDescription string
ToolSchema string
OriginalQuery string
CumulativeSummary string
CurrentIteration int
MaxIterations int
Timeline string
DynamicContext string
}
ToolParamsPromptData contains data for tool parameter generation prompt
type ToolReSelectPromptData ¶
type ToolReSelectPromptData struct {
CurrentTime string
OSArch string
WorkingDir string
WorkingDirGlance string
ConversationMemory string
Timeline string
UserQuery string
Nonce string
OldTool *aitool.Tool
ToolList []*aitool.Tool
Schema string
DynamicContext string
}
ToolReSelectPromptData contains data for tool reselection prompt template
type VerificationPromptData ¶
type VerificationPromptData struct {
Nonce string
OriginalQuery string
IsToolCall bool
Payload string
Timeline string
Language string
Schema string
DynamicContext string
EnhanceData []string
}
VerificationPromptData contains data for verification prompt
type YaklangCodeActionLoopPromptData ¶
type YaklangCodeActionLoopPromptData struct {
CurrentTime string
OSArch string
WorkingDir string
WorkingDirGlance string
ConversationMemory string
Timeline string
Nonce string
UserQuery string
CurrentCode string
CurrentCodeWithLineNumber string
IterationCount int
ErrorMessages string
Language string
DynamicContext string
Schema string
Tools []*aitool.Tool
ToolsCount int
TopTools []*aitool.Tool
TopToolsCount int
HasMoreTools bool
}
YaklangCodeActionLoopPromptData contains data for Yaklang code generation action loop prompt
Source Files
¶
- actions.go
- base.go
- emit.go
- invoke_ask_for_clarification.go
- invoke_blueprint.go
- invoke_blueprint_modify_params.go
- invoke_blueprint_re_select.go
- invoke_directly_answer.go
- invoke_enhance_knowlege_answer.go
- invoke_liteforge.go
- invoke_plan_and_execute.go
- invoke_toolcall.go
- invoke_toolcall_review_wrongparams.go
- invoke_toolcall_review_wrongtool.go
- prompts.go
- prompts_dynamic_schema.go
- queue.go
- re-act.go
- re-act_free_input.go
- re-act_interactive.go
- re-act_loading_mcp_server.go
- re-act_mainloop.go
- re-act_sync_request.go
- tools.go
- verification.go
Directories
¶
| Path | Synopsis |
|---|---|
|
aireactdeps/promptui
Package promptui is a library providing a simple interface to create command-line prompts for go.
|
Package promptui is a library providing a simple interface to create command-line prompts for go. |
|
stdinsys/cmd
command
|
|