Add optional tools, model, and maxTurns to prompt modules #15
@@ -60,6 +60,14 @@ func sampleRun() Run {
|
||||
}
|
||||
}
|
||||
|
||||
func TestGoldenPromptModule(t *testing.T) {
|
||||
golden(t, "prompt_module_subagent", PromptModule{
|
||||
ID: "agent.sub.explore", Layer: LayerAgent, Version: 1,
|
||||
Title: "探索子代理", Body: "只读检索。",
|
||||
Tools: []string{"knowledge_search", "web_search"}, Model: "lightweight", MaxTurns: 8,
|
||||
})
|
||||
}
|
||||
|
||||
func TestGoldenDomain(t *testing.T) {
|
||||
golden(t, "message", sampleMessage())
|
||||
golden(t, "run", sampleRun())
|
||||
|
||||
@@ -26,6 +26,10 @@ type PromptModule struct {
|
||||
BasedOnVersion int `json:"basedOnVersion,omitempty"` // 用户副本基于的内置版本
|
||||
Drifted bool `json:"drifted,omitempty"` // 用户副本落后于当前内置版本(提示用,不阻断)
|
||||
Disabled bool `json:"disabled,omitempty"` // 用户停用
|
||||
// 子代理 profile。只对 agent.sub.* 有意义;空字段表示沿用内置。
|
||||
Tools []string `json:"tools,omitempty"`
|
||||
Model string `json:"model,omitempty"` // lightweight | chat
|
||||
MaxTurns int `json:"maxTurns,omitempty"`
|
||||
}
|
||||
|
||||
// PromptTrigger 触发条件;模块命中 = 任一 trigger 命中(再过 RequiresAttachments)。
|
||||
|
||||
+14
@@ -0,0 +1,14 @@
|
||||
{
|
||||
"id": "agent.sub.explore",
|
||||
"layer": "agent",
|
||||
"version": 1,
|
||||
"title": "探索子代理",
|
||||
"description": "",
|
||||
"body": "只读检索。",
|
||||
"tools": [
|
||||
"knowledge_search",
|
||||
"web_search"
|
||||
],
|
||||
"model": "lightweight",
|
||||
"maxTurns": 8
|
||||
}
|
||||
@@ -209,6 +209,8 @@ export interface PromptModule {
|
||||
body: string; outputContract?: string;
|
||||
source?: 'builtin' | 'plugin' | 'user'; owner?: string;
|
||||
basedOnVersion?: number; drifted?: boolean; disabled?: boolean;
|
||||
/** 子代理 profile。只对 agent.sub.* 有意义;空字段表示沿用内置。 */
|
||||
tools?: string[]; model?: string; maxTurns?: number;
|
||||
}
|
||||
|
||||
export interface PromptBlock { moduleId: string; version: number; layer: string; body: string; }
|
||||
|
||||
Reference in New Issue
Block a user