跳到主要内容

aiagent

aiagent 库是 yaklang 的 AI 智能体(Agent)编排入口,把"大模型 + 工具调用 + 计划执行"封装成可在脚本里驱动的自动化流程。它围绕 ReAct 式的"思考-行动-观察"循环,让 AI 自主拆解任务、调用 yak 工具/插件、并在需要时请求人工确认。

典型使用场景:

  • 构建执行器:aiagent.NewExecutor / aiagent.NewExecutorFromJson 创建协调器(Coordinator),驱动一次完整的多步任务;aiagent.ExecuteForge / aiagent.CreateForge / aiagent.CreateLiteForge 运行预制的 Forge 蓝图。
  • 工具与计划:aiagent.AllYakScriptAiTools 列出可用 AI 工具,aiagent.ParseYakScriptToAiTools 把 yak 插件转成工具;aiagent.ExtractPlan / aiagent.ExtractAction 从模型输出里解析计划与动作。
  • 行为控制:通过 aiagent.aiCallback 接入模型、aiagent.tool(s) 注入工具、aiagent.agreeAuto / aiagent.agreeManual / aiagent.agreeYOLO 控制审批策略、aiagent.debug 打开调试。

与相邻库的关系:aiagent 是高层编排,底层模型对话由 ai 库提供,结构化输出与 schema 由 liteforge / jsonschema 支撑,知识检索可结合 rag,被编排的能力多来自 hook/yak 插件。它面向"让 AI 自己完成一串安全任务"的场景。

共 57 个函数

函数索引

函数参数返回值说明
aiagent.AllYakScriptAiTools-[]*aitool.Tool获取数据库中保存的全部 Yak 脚本 AI 工具(导出名为 aiagent.AllYakScriptAiTools)
aiagent.ExtractPlanc *Coordinator, rawResponse string*PlanResponse, error从 AI 原始响应中解析出任务计划(导出名为 aiagent.ExtractPlan)
aiagent.GetDefaultContextProvider-*PromptContextProvider返回默认的 Prompt 上下文提供器(导出名为 aiagent.GetDefaultContextProvider)
aiagent.ParseYakScriptToAiToolsname string, content string*schema.AIYakToolLoadYakScriptToAiTools 将一段 Yak 插件源码解析为 AI 工具描述(导出名为 aiagent.ParseYakScriptToAiTools)
aiagent.UpdateYakScriptMetaDataname string, content string, forceUpdate boolstring, *metadata.YakScriptMetadata, error解析并(按需借助 AI)补全 Yak 插件的元数据(导出名为 aiagent.UpdateYakScriptMetaData)
aiagent.contextctx context.ContextAIAgentOptionWithContext 设置 AI Agent 的上下文,用于控制取消(导出名为 aiagent.context)
aiagent.forgeNameforgeName stringAIAgentOptionWithForgeName 设置 AI Agent 使用的 Forge 名称(导出名为 aiagent.forgeName)
aiagent.forgePlanMockerplan func(config *aid.Coordinator) *aid.PlanResponseOptionWithPlanMocker 设置AI助手的计划生成器(导出名为 aiagent.forgePlanMocker)
aiagent.initPromptprompt stringOptionWithInitializePrompt 设置AI助手的初始化提示词(导出名为 aiagent.initPrompt)
aiagent.initializePromptprompt stringOptionWithInitializePrompt 设置AI助手的初始化提示词(导出名为 aiagent.initPrompt)
aiagent.liteForgeOutputSchemaRawactionName string, outputSchema stringLiteForgeOptionWithLiteForge_OutputSchemaRaw 通过原始 JSON Schema 字符串设置输出结构(导出名为 aiagent.liteForgeOutputSchemaRaw)
aiagent.liteForgePrompti stringLiteForgeOptionWithLiteForge_Prompt 设置 LiteForge 的"上下文/动态" prompt 文本。
aiagent.originYaklangCliCodeoriginYaklangCliCode stringOptionWithOriginYaklangCliCode 设置原始的Yaklang CLI代码(导出名为 aiagent.originYaklangCliCode)
aiagent.persistentPromptpersistentPrompt stringOptionWithPersistentPrompt 设置AI助手的持久提示词(导出名为 aiagent.persistentPrompt)
aiagent.persistentPromptForgepersistentPrompt stringOptionWithPersistentPrompt 设置AI助手的持久提示词(导出名为 aiagent.persistentPrompt)
aiagent.resultHandlerForgehandler func(string, error)OptionWithResultHandler 设置AI助手的结果处理函数(导出名为 aiagent.resultHandlerForge)
aiagent.resultPromptprompt stringOptionWithResultPrompt 设置AI助手的生成结果提示词(导出名为 aiagent.resultPrompt)
aiagent.resultPromptForgeprompt stringOptionWithResultPrompt 设置AI助手的生成结果提示词(导出名为 aiagent.resultPrompt)
aiagent.toolKeywordskeywords []stringOptionWithToolKeywords 设置AI助手的工具关键词(导出名为 aiagent.toolKeywords)

可变参数函数索引

函数参数返回值说明
aiagent.CreateForgename string, opts ...any*aiforge.ForgeBlueprintNewForgeBlueprint 创建一个 Forge 蓝图(导出名为 aiagent.CreateForge)
aiagent.CreateLiteForgename string, opts ...any*aiforge.LiteForge, errorNewLiteForge 创建一个 LiteForge 实例(导出名为 aiagent.CreateLiteForge)
aiagent.ExecuteForgeforgeName string, i any, iopts ...anyany, error执行一个已注册的 Forge 并返回结果(导出名为 aiagent.ExecuteForge)
aiagent.ExtractActioni string, actionName string, alias ...string*Action, error从字符串中提取指定的 Action 对象,支持别名,这里隐含一个强校验行为,即会等待处理完毕之后检查是否有可用的Action(导出名为 aiagent.ExtractAction)
aiagent.NewExecutorname string, i any, opts ...any*aid.Coordinator, errorNewForgeExecutor 基于已注册的 Forge 名称创建执行器(导出名为 aiagent.NewExecutor)
aiagent.NewExecutorFromJsonjson string, i any, opts ...any*aid.Coordinator, error通过 JSON 描述的 Forge 蓝图创建执行器(导出名为 aiagent.NewExecutorFromJson)
aiagent.extendAIDOptionsopts ...aicommon.ConfigOptionAIAgentOptionWithExtendAICommonOptions 追加底层 aicommon 配置选项(导出名为 aiagent.extendAIDOptions)
aiagent.forgeToolstools ...*aitool.ToolOptionWithTools 为AI助手添加可用的工具(导出名为 aiagent.forgeTools)
aiagent.liteForgeOutputSchemaparams ...aitool.ToolOptionLiteForgeOptionWithLiteForge_OutputSchema 设置 LiteForge 的输出结构 schema(导出名为 aiagent.liteForgeOutputSchema)
aiagent.liteForgedRequireParamsparams ...aitool.ToolOptionLiteForgeOptionWithLiteForge_RequireParams 设置 LiteForge 的输入参数 schema(导出名为 aiagent.liteForgedRequireParams)

函数详情

AllYakScriptAiTools

AllYakScriptAiTools() []*aitool.Tool

获取数据库中保存的全部 Yak 脚本 AI 工具(导出名为 aiagent.AllYakScriptAiTools)

返回值

序号类型说明
r1[]*aitool.ToolAI 工具列表

示例

// 依赖本地 profile 数据库(示意性示例)
tools = aiagent.AllYakScriptAiTools()
dump(tools)

ExtractPlan

ExtractPlan(c *Coordinator, rawResponse string) (*PlanResponse, error)

从 AI 原始响应中解析出任务计划(导出名为 aiagent.ExtractPlan)

参数

参数名类型说明
c*Coordinator协调器对象
rawResponsestringAI 返回的原始文本

返回值

序号类型说明
r1*PlanResponse计划响应对象
r2error错误信息

示例

// 需要可用的协调器与响应(示意性示例)
plan = aiagent.ExtractPlan(coordinator, rawResponse)~
dump(plan)

GetDefaultContextProvider

GetDefaultContextProvider() *PromptContextProvider

返回默认的 Prompt 上下文提供器(导出名为 aiagent.GetDefaultContextProvider)

上下文提供器持有计划历史、持久化数据、交互历史以及工具列表

返回值

序号类型说明
r1*PromptContextProvider默认上下文提供器对象

示例

provider = aiagent.GetDefaultContextProvider()
dump(provider)

ParseYakScriptToAiTools

ParseYakScriptToAiTools(name string, content string) *schema.AIYakTool

LoadYakScriptToAiTools 将一段 Yak 插件源码解析为 AI 工具描述(导出名为 aiagent.ParseYakScriptToAiTools)

会从源码中提取元数据(名称、描述、关键词等)以及 CLI 参数并转换为工具输入 schema

参数

参数名类型说明
namestring工具名称
contentstringYak 插件源码

返回值

序号类型说明
r1*schema.AIYakToolAI 工具描述对象(解析失败时返回 nil)

示例

code = `cli.String("target"); cli.check()`
tool = aiagent.ParseYakScriptToAiTools("demo", code)
dump(tool)

UpdateYakScriptMetaData

UpdateYakScriptMetaData(name string, content string, forceUpdate bool) (string, *metadata.YakScriptMetadata, error)

解析并(按需借助 AI)补全 Yak 插件的元数据(导出名为 aiagent.UpdateYakScriptMetaData)

参数

参数名类型说明
namestring插件名称
contentstring插件源码
forceUpdatebool是否强制重新生成元数据

返回值

序号类型说明
r1string更新后的插件源码
r2*metadata.YakScriptMetadata解析出的元数据对象
r3error错误信息

示例

// 需要配置可用的 AI 服务(示意性示例)
newContent, meta, err = aiagent.UpdateYakScriptMetaData("demo", code, false)
dump(meta)

context

context(ctx context.Context) AIAgentOption

WithContext 设置 AI Agent 的上下文,用于控制取消(导出名为 aiagent.context)

参数

参数名类型说明
ctxcontext.Context上下文对象

返回值

序号类型说明
r1AIAgentOptionAI Agent 可选项

示例

opt = aiagent.context(context.Background())
println(opt)

forgeName

forgeName(forgeName string) AIAgentOption

WithForgeName 设置 AI Agent 使用的 Forge 名称(导出名为 aiagent.forgeName)

参数

参数名类型说明
forgeNamestringForge 名称

返回值

序号类型说明
r1AIAgentOptionAI Agent 可选项

示例

opt = aiagent.forgeName("my-forge")
println(opt)

forgePlanMocker

forgePlanMocker(plan func(config *aid.Coordinator) *aid.PlanResponse) Option

WithPlanMocker 设置AI助手的计划生成器(导出名为 aiagent.forgePlanMocker)

参数

参数名类型说明
planfunc(config *aid.Coordinator) *aid.PlanResponse计划生成函数,参数为协调器,返回计划响应

返回值

序号类型说明
r1OptionForge 可选项

示例

opt = aiagent.forgePlanMocker(func(coordinator) { return nil })
println(opt)

initPrompt

initPrompt(prompt string) Option

WithInitializePrompt 设置AI助手的初始化提示词(导出名为 aiagent.initPrompt)

这个提示词会在AI助手启动时被使用,用于定义AI的初始状态和行为

参数

参数名类型说明
promptstring初始化提示词

返回值

序号类型说明
r1OptionForge 可选项

示例

opt = aiagent.initPrompt("you are a security expert")
println(opt)

initializePrompt

initializePrompt(prompt string) Option

WithInitializePrompt 设置AI助手的初始化提示词(导出名为 aiagent.initPrompt)

这个提示词会在AI助手启动时被使用,用于定义AI的初始状态和行为

参数

参数名类型说明
promptstring初始化提示词

返回值

序号类型说明
r1OptionForge 可选项

示例

opt = aiagent.initPrompt("you are a security expert")
println(opt)

liteForgeOutputSchemaRaw

liteForgeOutputSchemaRaw(actionName string, outputSchema string) LiteForgeOption

WithLiteForge_OutputSchemaRaw 通过原始 JSON Schema 字符串设置输出结构(导出名为 aiagent.liteForgeOutputSchemaRaw)

参数

参数名类型说明
actionNamestringaction 名称
outputSchemastring原始 JSON Schema 字符串

返回值

序号类型说明
r1LiteForgeOptionLiteForge 可选项

示例

opt = aiagent.liteForgeOutputSchemaRaw("call-tool", `{"type":"object"}`)
println(opt)

liteForgePrompt

liteForgePrompt(i string) LiteForgeOption

WithLiteForge_Prompt 设置 LiteForge 的"上下文/动态" prompt 文本。

渲染后该字段被包在 <|PROMPT_SECTION_dynamic_<nonce>|>...<|PROMPT_SECTION_dynamic_END_<nonce>|>

内的 <context_<nonce>>...</context_<nonce>> 子标签里, 即 dynamic 段。dynamic

段每次请求都包含 nonce 因此 byte-hash 必定不同, 没有跨调用 prefix cache 命中

价值, 不要把任何静态指令 (例如 INSTRUCTION / CRITICAL RULES / Selection

rules) 塞进这里。

调用约定 (P0-B4):

  • 真正动态的内容 (USER_QUERY / PARENT_TASK / CURRENT_TASK / 当次具体输入) ->

    WithLiteForge_Prompt

  • 跨调用稳定的指令文本 (规则 / Schema / 角色定义) ->

    WithLiteForge_StaticInstruction (进 semi-dynamic 段) 或写到调用方传给

    NewLiteForge 的 schema 里

关键词: WithLiteForge_Prompt, dynamic 段, 调用方约定

参数

参数名类型说明
istring动态 prompt 文本

返回值

序号类型说明
r1LiteForgeOptionLiteForge 可选项

示例

opt = aiagent.liteForgePrompt("extract the title from the html")
println(opt)

originYaklangCliCode

originYaklangCliCode(originYaklangCliCode string) Option

WithOriginYaklangCliCode 设置原始的Yaklang CLI代码(导出名为 aiagent.originYaklangCliCode)

这个结构需要 Yak 引擎根据 CLI 代码构建出正确的用户需要输入的工具

这个结构是表单构建的核心依据,可以使用 Yak 原声插件基础设施直接构建表单

参数

参数名类型说明
originYaklangCliCodestring原始 Yaklang CLI 代码

返回值

序号类型说明
r1OptionForge 可选项

示例

opt = aiagent.originYaklangCliCode(`cli.String("target")`)
println(opt)

persistentPrompt

persistentPrompt(persistentPrompt string) Option

WithPersistentPrompt 设置AI助手的持久提示词(导出名为 aiagent.persistentPrompt)

这个提示词会在整个会话过程中持续存在,确保AI行为的一致性

参数

参数名类型说明
persistentPromptstring持久提示词

返回值

序号类型说明
r1OptionForge 可选项

示例

opt = aiagent.persistentPrompt("always respond in english")
println(opt)

persistentPromptForge

persistentPromptForge(persistentPrompt string) Option

WithPersistentPrompt 设置AI助手的持久提示词(导出名为 aiagent.persistentPrompt)

这个提示词会在整个会话过程中持续存在,确保AI行为的一致性

参数

参数名类型说明
persistentPromptstring持久提示词

返回值

序号类型说明
r1OptionForge 可选项

示例

opt = aiagent.persistentPrompt("always respond in english")
println(opt)

resultHandlerForge

resultHandlerForge(handler func(string, error)) Option

WithResultHandler 设置AI助手的结果处理函数(导出名为 aiagent.resultHandlerForge)

这个函数会在AI助手生成结果后被调用,用于处理AI的输出

参数

参数名类型说明
handlerfunc(string, error)结果处理函数,参数为 (result, err)

返回值

序号类型说明
r1OptionForge 可选项

示例

opt = aiagent.resultHandlerForge(func(result, err) { println(result) })
println(opt)

resultPrompt

resultPrompt(prompt string) Option

WithResultPrompt 设置AI助手的生成结果提示词(导出名为 aiagent.resultPrompt)

这个提示词会在AI助手生成结果时被使用,用于定义AI的输出格式和内容

参数

参数名类型说明
promptstring结果提示词

返回值

序号类型说明
r1OptionForge 可选项

示例

opt = aiagent.resultPrompt("summarize the findings in markdown")
println(opt)

resultPromptForge

resultPromptForge(prompt string) Option

WithResultPrompt 设置AI助手的生成结果提示词(导出名为 aiagent.resultPrompt)

这个提示词会在AI助手生成结果时被使用,用于定义AI的输出格式和内容

参数

参数名类型说明
promptstring结果提示词

返回值

序号类型说明
r1OptionForge 可选项

示例

opt = aiagent.resultPrompt("summarize the findings in markdown")
println(opt)

toolKeywords

toolKeywords(keywords []string) Option

WithToolKeywords 设置AI助手的工具关键词(导出名为 aiagent.toolKeywords)

这些关键词可以扩展AI的能力,使其能够执行特定的任务

参数

参数名类型说明
keywords[]string工具关键词列表

返回值

序号类型说明
r1OptionForge 可选项

示例

opt = aiagent.toolKeywords(["scan", "vuln"])
println(opt)

可变参数函数详情

CreateForge

CreateForge(name string, opts ...any) *aiforge.ForgeBlueprint

NewForgeBlueprint 创建一个 Forge 蓝图(导出名为 aiagent.CreateForge)

Forge 蓝图描述了一个可复用的 AI 工作流,可基于它创建执行器

必填参数

参数名类型说明
namestringForge 名称

可选参数

参数名类型说明
opts...any可选项,如 aiagent.initPrompt、aiagent.persistentPrompt、aiagent.resultPrompt 等

返回值

序号类型说明
r1*aiforge.ForgeBlueprintForge 蓝图对象

示例

forge = aiagent.CreateForge("demo",

aiagent.initPrompt("you are a security expert"),

)
dump(forge)

CreateLiteForge

CreateLiteForge(name string, opts ...any) (*aiforge.LiteForge, error)

NewLiteForge 创建一个 LiteForge 实例(导出名为 aiagent.CreateLiteForge)

LiteForge 是轻量的一次性 AI 任务执行单元

必填参数

参数名类型说明
namestringLiteForge 名称

可选参数

参数名类型说明
opts...any可选项,如 aiagent.liteForgePrompt、aiagent.liteForgeOutputSchema 等

返回值

序号类型说明
r1*aiforge.LiteForgeLiteForge 实例
r2error错误信息

示例

// 需要配置可用的 AI 服务(示意性示例)
lf = aiagent.CreateLiteForge("demo", aiagent.liteForgePrompt("extract the title"))~
dump(lf)

ExecuteForge

ExecuteForge(forgeName string, i any, iopts ...any) (any, error)

执行一个已注册的 Forge 并返回结果(导出名为 aiagent.ExecuteForge)

这是 AI Agent 最常用的入口,内部会创建协调器并运行整个 AI 工作流

必填参数

参数名类型说明
forgeNamestringForge 名称
iany执行参数(map 或键值对)

可选参数

参数名类型说明
iopts...any可选项,如 aiagent.aiCallback、aiagent.context、aiagent.agreeYOLO 等

返回值

序号类型说明
r1anyForge 执行结果
r2error错误信息

示例

// 需要配置可用的 AI 服务(示意性示例)
result = aiagent.ExecuteForge("my-forge", {"query": "scan example.com"}, aiagent.agreeYOLO())~
dump(result)

ExtractAction

ExtractAction(i string, actionName string, alias ...string) (*Action, error)

从字符串中提取指定的 Action 对象,支持别名,这里隐含一个强校验行为,即会等待处理完毕之后检查是否有可用的Action(导出名为 aiagent.ExtractAction)

必填参数

参数名类型说明
istring包含 action 的原始文本
actionNamestring期望的 action 名称

可选参数

参数名类型说明
alias...string可选的 action 别名

返回值

序号类型说明
r1*Action解析出的 Action 对象
r2error错误信息

示例

raw = `{"@action": "object", "value": "hello"}`
action = aiagent.ExtractAction(raw, "object")~
dump(action)

NewExecutor

NewExecutor(name string, i any, opts ...any) (*aid.Coordinator, error)

NewForgeExecutor 基于已注册的 Forge 名称创建执行器(导出名为 aiagent.NewExecutor)

必填参数

参数名类型说明
namestringForge 名称
iany执行参数(map 或键值对)

可选参数

参数名类型说明
opts...any可选项,如 aiagent.aiCallback、aiagent.context 等

返回值

序号类型说明
r1*aid.Coordinator协调器对象(可调用 Run 执行)
r2error错误信息

示例

// 需要配置可用的 AI 服务(示意性示例)
coordinator = aiagent.NewExecutor("my-forge", {"query": "hello"})~
dump(coordinator)

NewExecutorFromJson

NewExecutorFromJson(json string, i any, opts ...any) (*aid.Coordinator, error)

通过 JSON 描述的 Forge 蓝图创建执行器(导出名为 aiagent.NewExecutorFromJson)

必填参数

参数名类型说明
jsonstringForge 蓝图的 JSON 描述
iany执行参数(map 或键值对)

可选参数

参数名类型说明
opts...any可选项,如 aiagent.aiCallback、aiagent.context 等

返回值

序号类型说明
r1*aid.Coordinator协调器对象(可调用 Run 执行)
r2error错误信息

示例

// 需要配置可用的 AI 服务(示意性示例)
coordinator = aiagent.NewExecutorFromJson(forgeJson, {"query": "hello"})~
dump(coordinator)

extendAIDOptions

extendAIDOptions(opts ...aicommon.ConfigOption) AIAgentOption

WithExtendAICommonOptions 追加底层 aicommon 配置选项(导出名为 aiagent.extendAIDOptions)

可选参数

可作为可变参数 opts ...aicommon.ConfigOption 传入选项;共 28 个可用选项,详见 ConfigOption 选项列表

返回值

序号类型说明
r1AIAgentOptionAI Agent 可选项

示例

// opt 由 aicommon 提供(示意性示例)
opt = aiagent.extendAIDOptions(aiagent.debug(true))
println(opt)

forgeTools

forgeTools(tools ...*aitool.Tool) Option

WithTools 为AI助手添加可用的工具(导出名为 aiagent.forgeTools)

这些工具可以扩展AI的能力,使其能够执行特定的任务

可选参数

参数名类型说明
tools...*aitool.Tool一个或多个 AI 工具对象

返回值

序号类型说明
r1OptionForge 可选项

示例

// tool 由 aitool 构造(示意性示例)
opt = aiagent.forgeTools(tool)
println(opt)

liteForgeOutputSchema

liteForgeOutputSchema(params ...aitool.ToolOption) LiteForgeOption

WithLiteForge_OutputSchema 设置 LiteForge 的输出结构 schema(导出名为 aiagent.liteForgeOutputSchema)

可选参数

参数名类型说明
params...aitool.ToolOption一个或多个 aitool 参数选项,描述期望的输出字段

返回值

序号类型说明
r1LiteForgeOptionLiteForge 可选项

示例

opt = aiagent.liteForgeOutputSchema(aitool.WithStringParam("title"))
println(opt)

liteForgedRequireParams

liteForgedRequireParams(params ...aitool.ToolOption) LiteForgeOption

WithLiteForge_RequireParams 设置 LiteForge 的输入参数 schema(导出名为 aiagent.liteForgedRequireParams)

可选参数

参数名类型说明
params...aitool.ToolOption一个或多个 aitool 参数选项

返回值

序号类型说明
r1LiteForgeOptionLiteForge 可选项

示例

opt = aiagent.liteForgedRequireParams(aitool.WithStringParam("target"))
println(opt)

可变参数选项列表

以下按选项类型汇总全部可变参数选项(原先重复在各主函数下的选项表已收拢到此处):

1. 类型:ConfigOption

涉及到的函数有:aiagent.extendAIDOptions

选项函数参数返回值说明
aiagent.agreeAuto-ConfigOptionWithAgreeAuto 设置自动审批通过所有操作
aiagent.agreeManual-ConfigOptionWithAgreeManual 设置由人工手动审批操作
aiagent.agreePolicyp AgreePolicyTypeConfigOptionWithAgreePolicy 设置操作审批策略
aiagent.agreePolicyAI-ConfigOptionWithAIAgree 设置由 AI 自动审批操作
aiagent.agreeYOLOb ...boolConfigOptionWithAgreeYOLO 设置 YOLO 模式,自动通过所有审批
aiagent.aiAutoRetryn int64ConfigOptionWithAIAutoRetry 设置 AI 调用失败时的自动重试次数
aiagent.aiCallbackcb AICallbackTypeConfigOptionWithAICallback 设置统一的 AI 回调
aiagent.aiTransactionRetryn int64ConfigOptionWithAITransactionRetry 设置 AI 事务(单次交互)的自动重试次数
aiagent.allowRequireForUserInteractv boolConfigOptionWithAllowRequireForUserInteract 设置是否允许向用户发起交互请求
aiagent.appendPersistentMemorykeys ...stringConfigOptionWithAppendPersistentContext 追加持久化记忆的键
aiagent.coordinatorAICallbackcb AICallbackTypeConfigOptionWithQualityPriorityAICallback 设置质量优先档的 AI 回调
aiagent.debugv boolConfigOptionWithDebug 同时开启 prompt 与 event 调试输出
aiagent.debugPromptv ...boolConfigOptionWithDebugPrompt 开启 prompt 调试输出
aiagent.disableOutputTypetypes ...stringConfigOptionWithDisableOutputEvent 禁用指定类型的输出事件
aiagent.disableToolUsedisable boolConfigOptionWithDisableToolUse 禁用工具调用
aiagent.disallowRequireForUserPrompt-ConfigOptionWithDisallowRequireForUserPrompt 禁止向用户发起交互请求
aiagent.extendedActionCallbackname string, callback func(config *Config, action *Action)ConfigOptionWithExtendedActionCallback 注册扩展 action 回调
aiagent.manualAssistantCallbackcb func(context.Context, *Config) (aitool.InvokeParams, error)ConfigOptionWithManualAssistantCallback 设置人工审批回调
aiagent.offsetSeqseq int64ConfigOptionWithSequence 设置起始序列号并安装自增 id 生成器
aiagent.omniSearchTool-ConfigOptionWithOmniSearchTool 启用全网搜索工具
aiagent.plani func(coordinator *Coordinator) *PlanResponseaicommon.ConfigOptionWithPlanMocker 设置协调器的计划生成器,用于自定义/模拟任务计划
aiagent.planAICallbackcb AICallbackTypeConfigOptionWithQualityPriorityAICallback 设置质量优先档的 AI 回调
aiagent.resultHandlerh func(c *Coordinator)aicommon.ConfigOptionWithResultHandler 设置协调器执行结束后的结果处理回调
aiagent.systemFileOperator-ConfigOptionWithSystemFileOperator 为 AI 启用系统文件操作工具集
aiagent.taskAICallbackcb AICallbackTypeConfigOptionWithSpeedPriorityAICallback 设置速度优先档的 AI 回调
aiagent.timelineContentLimitlimit intConfigOptionWithTimelineContentLimit 设置 timeline 内容大小上限
aiagent.tooltool *aitool.ToolConfigOptionWithTool 添加单个 AI 工具
aiagent.toolstool ...*aitool.ToolConfigOptionWithTools 为 AI 批量添加可用工具