Merge pull request #386 from alibaba/feat/ext-execute-system-instruction

feat(ext): add `systemInstruction` to ExecuteConfig
This commit is contained in:
Simon
2026-04-02 16:37:29 +08:00
committed by GitHub
4 changed files with 20 additions and 1 deletions

View File

@@ -118,6 +118,10 @@ export interface ExecuteConfig {
model: string model: string
apiKey?: string apiKey?: string
// Global system-level instructions for the agent.
// Equivalent to AgentConfig.instructions.system.
systemInstruction?: string
// Include the initial tab where page JS starts. Default: true. // Include the initial tab where page JS starts. Default: true.
includeInitialTab?: boolean includeInitialTab?: boolean
@@ -212,6 +216,9 @@ interface ExecuteConfig {
baseURL: string baseURL: string
model: string model: string
apiKey?: string apiKey?: string
systemInstruction?: string
includeInitialTab?: boolean includeInitialTab?: boolean
experimentalIncludeAllTabs?: boolean experimentalIncludeAllTabs?: boolean
onStatusChange?: (status: AgentStatus) => void onStatusChange?: (status: AgentStatus) => void

View File

@@ -70,11 +70,15 @@ async function exposeAgentToPage() {
try { try {
const { task, config } = payload const { task, config } = payload
const { systemInstruction, ...agentConfig } = config
// Dispose old instance before creating new one // Dispose old instance before creating new one
multiPageAgent?.dispose() multiPageAgent?.dispose()
multiPageAgent = new MultiPageAgent(config) multiPageAgent = new MultiPageAgent({
...agentConfig,
instructions: systemInstruction ? { system: systemInstruction } : undefined,
})
// events // events

View File

@@ -7,6 +7,12 @@ export interface ExecuteConfig {
model: string model: string
apiKey?: string apiKey?: string
/**
* Global system-level instructions for the agent.
* Equivalent to `AgentConfig.instructions.system`.
*/
systemInstruction?: string
/** /**
* Whether to include the initial tab (that holds this main world script) in the task. * Whether to include the initial tab (that holds this main world script) in the task.
* @default true * @default true
@@ -89,6 +95,7 @@ export default defineUnlistedScript(() => {
baseURL: config.baseURL, baseURL: config.baseURL,
model: config.model, model: config.model,
apiKey: config.apiKey, apiKey: config.apiKey,
systemInstruction: config.systemInstruction,
includeInitialTab: config.includeInitialTab, includeInitialTab: config.includeInitialTab,
experimentalIncludeAllTabs: config.experimentalIncludeAllTabs, experimentalIncludeAllTabs: config.experimentalIncludeAllTabs,
}, },

View File

@@ -199,6 +199,7 @@ interface ExecuteConfig {
model: string // Model name model: string // Model name
apiKey?: string // LLM AK apiKey?: string // LLM AK
systemInstruction?: string // Global system-level instructions
includeInitialTab?: boolean includeInitialTab?: boolean
experimentalIncludeAllTabs?: boolean // Control all unpinned tabs in the window experimentalIncludeAllTabs?: boolean // Control all unpinned tabs in the window
onStatusChange?: (status: AgentStatus) => void onStatusChange?: (status: AgentStatus) => void