thread-master/frontend/src/lib/islander/config.ts

56 lines
1.6 KiB
TypeScript
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

/** Islander interaction runtime — single source of truth for selectors & limits. */
export const ISLANDER_CONFIG = {
rootSelectors: ['.ac-app-shell', 'main', 'body'],
refAttr: 'data-islander-ref',
labelAttr: 'data-islander-label',
kindAttr: 'data-islander-kind',
ignoreAttr: 'data-islander-ignore',
pageTitleSelectors: ['[data-islander-page-title]', '.ac-title-bar', 'main h1'],
maxElements: 48,
maxAgentRounds: 4,
navigateWaitMs: 450,
actionBlockRe: '```islander-actions\\s*([\\s\\S]*?)```',
excludeSelectors: [
'.ac-islander',
'.ac-job-monitor',
`[data-islander-ignore]`,
'[aria-hidden="true"]',
'script',
'style',
'svg',
'path',
],
interactiveSelectors: [
'a[href]',
'button',
'input',
'textarea',
'select',
'summary',
'[role="button"]',
'[role="tab"]',
'[role="menuitem"]',
'[role="link"]',
'[role="switch"]',
'[role="checkbox"]',
'label[for]',
`[data-islander-label]`,
],
blockedClickPatterns: [/登出/i, /logout/i],
// 這些 action 會實際對外發布、啟動背景/付費任務或寫入後端,
// 必須由真人確認window.confirm不能只靠 AI 在 JSON 自填 confirm。
// 避免被海巡抓回的不可信貼文做 prompt injection 觸發自動發文。
dangerousActionTypes: [
'publishOutreach',
'publishCopyDraft',
'startViralScan',
'startCopyMissionAnalyze',
'startCopyMissionScan',
'generateCopyMatrix',
'generateCopyDraft',
] as string[],
defaultSuggestions: [] as string[],
highlightClass: 'ac-islander-target-highlight',
highlightDurationMs: 1800,
} as const