agentpage 0.0.40 → 0.0.41
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +17 -1
- package/dist/index.d.mts +11 -1
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +42 -10
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -259,7 +259,21 @@ Round 3: 执行 C → REMAINING: DONE
|
|
|
259
259
|
| `autoSnapshot` | `boolean` | `true` | chat 前自动生成首轮快照 |
|
|
260
260
|
| `snapshotOptions` | `SnapshotOptions` | `{}` | 快照参数(深度、裁剪、节点上限等) |
|
|
261
261
|
| `roundStabilityWait` | `RoundStabilityWaitOptions` | `{ enabled: true }` | 轮次后稳定等待配置 |
|
|
262
|
-
| `panel` | `boolean \| PanelOptions` | - | 内置 UI
|
|
262
|
+
| `panel` | `boolean \| PanelOptions` | - | 内置 UI 面板配置(见下方 PanelOptions 表) |
|
|
263
|
+
|
|
264
|
+
### 面板配置(PanelOptions)
|
|
265
|
+
|
|
266
|
+
| 参数 | 类型 | 默认值 | 说明 |
|
|
267
|
+
| --- | --- | --- | --- |
|
|
268
|
+
| `container` | `HTMLElement` | `document.body` | 面板挂载容器 |
|
|
269
|
+
| `mount` | `boolean` | `true` | 构造时是否自动挂载到 DOM |
|
|
270
|
+
| `enableMask` | `boolean` | `true` | Agent 运行时是否显示操作遮罩 |
|
|
271
|
+
| `maskOpacity` | `number` | `0.15` | 遮罩背景透明度(0–1,0 全透明,1 纯白) |
|
|
272
|
+
| `expanded` | `boolean` | `false` | 面板初始展开状态 |
|
|
273
|
+
| `title` | `string` | `"AutoPilot"` | 面板标题 |
|
|
274
|
+
| `placeholder` | `string` | `"输入要执行的网页操作..."` | 输入框占位文本 |
|
|
275
|
+
| `maskText` | `string` | `"AutoPilot 正在操作页面"` | 遮罩提示文本 |
|
|
276
|
+
| `emptyText` | `string` | `"发送一条消息,AI 将帮你操作页面"` | 空状态提示文本 |
|
|
263
277
|
|
|
264
278
|
### Provider 支持矩阵
|
|
265
279
|
|
|
@@ -271,6 +285,7 @@ Round 3: 执行 C → REMAINING: DONE
|
|
|
271
285
|
| `deepseek` | `https://api.deepseek.com` | `deepseek-chat` |
|
|
272
286
|
| `doubao` | `https://ark.cn-beijing.volces.com/api/v3` | `doubao-1.5-pro-32k` |
|
|
273
287
|
| `qwen` | `https://dashscope.aliyuncs.com/compatible-mode/v1` | `qwen-plus` |
|
|
288
|
+
| `minimax` | `https://api.minimaxi.com/v1` | `MiniMax-M2.5` |
|
|
274
289
|
|
|
275
290
|
### 快照参数(SnapshotOptions)
|
|
276
291
|
|
|
@@ -283,6 +298,7 @@ Round 3: 执行 C → REMAINING: DONE
|
|
|
283
298
|
| `maxChildren` | `number` | `30` | 每个父节点最大子元素数 |
|
|
284
299
|
| `maxTextLength` | `number` | `40` | 文本截断长度 |
|
|
285
300
|
| `listenerEvents` | `string[]` | 9 种常用事件 | 快照输出的 listener 事件白名单 |
|
|
301
|
+
| `classNameFilter` | `string[] \| false` | 内置 UI 框架过滤 | class 名过滤正则列表,匹配即剔除;`false` 禁用 |
|
|
286
302
|
|
|
287
303
|
### 轮次稳定等待(RoundStabilityWaitOptions)
|
|
288
304
|
|
package/dist/index.d.mts
CHANGED
|
@@ -221,6 +221,14 @@ type SnapshotOptions = {
|
|
|
221
221
|
* 仅影响 `listeners="..."` 文本输出,不影响内部交互判定与 hash 分配。
|
|
222
222
|
*/
|
|
223
223
|
listenerEvents?: string[];
|
|
224
|
+
/**
|
|
225
|
+
* class 名过滤正则列表(默认开启常用 UI 框架过滤)。
|
|
226
|
+
* 每项为正则字符串,class 名匹配任一正则即从快照中剔除。
|
|
227
|
+
* - 默认(undefined):启用内置规则,剔除 Element Plus / AntD / BK / TDesign / Arco / Vant / Naive 等。
|
|
228
|
+
* - 自定义 string[]:替换默认规则,使用自定义正则。
|
|
229
|
+
* - false:禁用过滤,保留所有 class。
|
|
230
|
+
*/
|
|
231
|
+
classNameFilter?: string[] | false;
|
|
224
232
|
};
|
|
225
233
|
/**
|
|
226
234
|
* 生成页面 DOM 快照 — 将 DOM 树转为 AI 可理解的文本描述。
|
|
@@ -250,7 +258,8 @@ declare function createPageInfoTool(): ToolDefinition;
|
|
|
250
258
|
type PanelOptions = {
|
|
251
259
|
/** 面板容器挂载点(默认 document.body) */container?: HTMLElement; /** 构造时是否自动挂载到 DOM(默认 true)。设为 false 时需手动调用 mount() */
|
|
252
260
|
mount?: boolean; /** 是否在 Agent 运行时自动显示操作遮罩(默认 true) */
|
|
253
|
-
enableMask?: boolean; /**
|
|
261
|
+
enableMask?: boolean; /** 遮罩背景透明度(0–1,默认 0.15)。0 = 全透明,1 = 纯白不透明 */
|
|
262
|
+
maskOpacity?: number; /** 面板默认展开状态(默认 false,即收起状态,只显示 FAB) */
|
|
254
263
|
expanded?: boolean; /** 面板标题(默认 "AutoPilot") */
|
|
255
264
|
title?: string; /** 输入框占位文本 */
|
|
256
265
|
placeholder?: string; /** 遮罩提示文本 */
|
|
@@ -278,6 +287,7 @@ type PanelStatus = "idle" | "running" | "error";
|
|
|
278
287
|
declare class Panel {
|
|
279
288
|
private container;
|
|
280
289
|
private enableMask;
|
|
290
|
+
private maskOpacity;
|
|
281
291
|
private title;
|
|
282
292
|
private placeholder;
|
|
283
293
|
private maskText;
|
package/dist/index.d.mts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/core/tool-registry.ts","../src/core/types.ts","../src/core/agent-loop/types.ts","../src/web/ref-store.ts","../src/web/tools/page-info-tool.ts","../src/web/ui/panel.ts","../src/web/tools/dom-tool.ts","../src/web/tools/navigate-tool.ts","../src/web/tools/wait-tool.ts","../src/web/tools/evaluate-tool.ts","../src/web/messaging.ts","../src/web/index.ts"],"mappings":";;;;;;KA0BY,cAAA;EAuBV,qCArBA,OAAA,WAAkB,MAAA,mBAqBR;EAnBV,OAAA,GAAU,MAAA;AAAA;;;;;;ACfZ;;;KD0BY,cAAA;ECxBV,4CD0BA,IAAA,UCtBA;EDwBA,WAAA,UCxBK;ED0BL,MAAA,EAAQ,OAAA,ECpBW;EDsBnB,OAAA,GAAU,MAAA,EAAQ,MAAA,sBAA4B,OAAA,CAAQ,cAAA;AAAA;;;;KClC5C,UAAA;ED0BA,0BCxBV,EAAA;EAEA,IAAA,UD8BkB;EC5BlB,KAAA;AAAA;;KAMU,SAAA;EACV,IAAA,4CDiBA;ECfA,OAAA,WAAkB,KAAA;IAAQ,UAAA;IAAoB,MAAA;EAAA,IDmBpC;ECjBV,SAAA,GAAY,UAAA;AAAA;;KAMF,cAAA;iBAEV,IAAA;EAEA,SAAA,GAAY,UAAA,IA3BQ;EA6BpB,KAAA;IAAU,WAAA;IAAqB,YAAA;EAAA;AAAA;;;AAjBjC;;;KA2BY,QAAA;EACV,IAAA,CAAK,MAAA;IACH,YAAA;IACA,QAAA,EAAU,SAAA;IACV,KAAA,GAAQ,cAAA;EAAA,IACN,OAAA,CAAQ,cAAA;AAAA;;;;KCjDF,yBAAA;EFoBA,2BElBV,OAAA,YFkBgB;EEhBhB,SAAA,WF2BwB;EEzBxB,OAAA,WF+BQ;EE7BR,gBAAA;AAAA;AAAA,KAGU,gBAAA;EACV,UAAA;EACA,cAAA;EACA,mBAAA;EACA,eAAA;EACA,eAAA;EACA,aAAA;EACA,uBAAA;EACA,iBAAA;EACA,kBAAA;EACA,eAAA;EACA,eAAA;EACA,WAAA;EACA,YAAA;AAAA;;KAMU,kBAAA;EDzBA,mBC2BV,MAAA,IAAU,IAAA;EAEV,UAAA,IAAc,IAAA,UAAc,KAAA,oBD3B5B;EC6BA,YAAA,IAAgB,IAAA,UAAc,MAAA,EAAQ,cAAA,WDzBtC;EC2BA,OAAA,IAAW,KAAA;ED3BN;AAMP;;;;;;;EC8BE,wBAAA,IAA4B,MAAA,oBD3BkB;EC6B9C,SAAA,IAAa,OAAA,EAAS,gBAAA;AAAA;AAAA,KA4BZ,eAAA;EDhCV,iBCkCA,KAAA,UDhCE;ECkCF,SAAA,EAAW,KAAA;IAAQ,IAAA;IAAc,KAAA;IAAgB,MAAA,EAAQ,cAAA;EAAA,IDhC7C;ECkCZ,QAAA,EAAU,SAAA,IDlCgB;ECoC1B,OAAA,EAAS,gBAAA;AAAA;;;;;;AFrEX;;;;;;;;;;AAeA;;;;;;;;;;;;;;cGAa,QAAA;EAAA,QACH,GAAA;EHOsC;EAAA,QGLtC,MAAA;EHK4D;;;;cGCxD,GAAA;EFnCF;;;;;;;EE8CV,GAAA,CAAI,EAAA,EAAI,OAAA,EAAS,IAAA;EFxCZ;AAMP;;;EEkDE,GAAA,CAAI,EAAA,WAAa,OAAA;EFjDjB;EEsDA,GAAA,CAAI,EAAA;EFpDc;EEyDlB,KAAA,CAAA;EFzD8C;;;;;AAQhD;;;EE6DE,KAAA,CAAM,GAAA;EF3DN;EAAA,IEmEI,IAAA,CAAA;AAAA;;;;KCtFM,eAAA;EJKc,oBIHxB,QAAA;EJOgB;;;;;EIDhB,YAAA;EJCgB;AAWlB;;;;EINE,WAAA;EJcsD;;;;;EIRtD,QAAA,GAAW,QAAA,EJMX;EIJA,QAAA,WJMA;EIJA,WAAA,WJIU;EIFV,aAAA;EJEsD;;;;EIGtD,iBAAA;;AHrCF;;;EG0CE,kBAAA,aHxCA;EG0CA,qBAAA;EHtCA;;;AAMF;;EGsCE,cAAA;AAAA
|
|
1
|
+
{"version":3,"file":"index.d.mts","names":[],"sources":["../src/core/tool-registry.ts","../src/core/types.ts","../src/core/agent-loop/types.ts","../src/web/ref-store.ts","../src/web/tools/page-info-tool.ts","../src/web/ui/panel.ts","../src/web/tools/dom-tool.ts","../src/web/tools/navigate-tool.ts","../src/web/tools/wait-tool.ts","../src/web/tools/evaluate-tool.ts","../src/web/messaging.ts","../src/web/index.ts"],"mappings":";;;;;;KA0BY,cAAA;EAuBV,qCArBA,OAAA,WAAkB,MAAA,mBAqBR;EAnBV,OAAA,GAAU,MAAA;AAAA;;;;;;ACfZ;;;KD0BY,cAAA;ECxBV,4CD0BA,IAAA,UCtBA;EDwBA,WAAA,UCxBK;ED0BL,MAAA,EAAQ,OAAA,ECpBW;EDsBnB,OAAA,GAAU,MAAA,EAAQ,MAAA,sBAA4B,OAAA,CAAQ,cAAA;AAAA;;;;KClC5C,UAAA;ED0BA,0BCxBV,EAAA;EAEA,IAAA,UD8BkB;EC5BlB,KAAA;AAAA;;KAMU,SAAA;EACV,IAAA,4CDiBA;ECfA,OAAA,WAAkB,KAAA;IAAQ,UAAA;IAAoB,MAAA;EAAA,IDmBpC;ECjBV,SAAA,GAAY,UAAA;AAAA;;KAMF,cAAA;iBAEV,IAAA;EAEA,SAAA,GAAY,UAAA,IA3BQ;EA6BpB,KAAA;IAAU,WAAA;IAAqB,YAAA;EAAA;AAAA;;;AAjBjC;;;KA2BY,QAAA;EACV,IAAA,CAAK,MAAA;IACH,YAAA;IACA,QAAA,EAAU,SAAA;IACV,KAAA,GAAQ,cAAA;EAAA,IACN,OAAA,CAAQ,cAAA;AAAA;;;;KCjDF,yBAAA;EFoBA,2BElBV,OAAA,YFkBgB;EEhBhB,SAAA,WF2BwB;EEzBxB,OAAA,WF+BQ;EE7BR,gBAAA;AAAA;AAAA,KAGU,gBAAA;EACV,UAAA;EACA,cAAA;EACA,mBAAA;EACA,eAAA;EACA,eAAA;EACA,aAAA;EACA,uBAAA;EACA,iBAAA;EACA,kBAAA;EACA,eAAA;EACA,eAAA;EACA,WAAA;EACA,YAAA;AAAA;;KAMU,kBAAA;EDzBA,mBC2BV,MAAA,IAAU,IAAA;EAEV,UAAA,IAAc,IAAA,UAAc,KAAA,oBD3B5B;EC6BA,YAAA,IAAgB,IAAA,UAAc,MAAA,EAAQ,cAAA,WDzBtC;EC2BA,OAAA,IAAW,KAAA;ED3BN;AAMP;;;;;;;EC8BE,wBAAA,IAA4B,MAAA,oBD3BkB;EC6B9C,SAAA,IAAa,OAAA,EAAS,gBAAA;AAAA;AAAA,KA4BZ,eAAA;EDhCV,iBCkCA,KAAA,UDhCE;ECkCF,SAAA,EAAW,KAAA;IAAQ,IAAA;IAAc,KAAA;IAAgB,MAAA,EAAQ,cAAA;EAAA,IDhC7C;ECkCZ,QAAA,EAAU,SAAA,IDlCgB;ECoC1B,OAAA,EAAS,gBAAA;AAAA;;;;;;AFrEX;;;;;;;;;;AAeA;;;;;;;;;;;;;;cGAa,QAAA;EAAA,QACH,GAAA;EHOsC;EAAA,QGLtC,MAAA;EHK4D;;;;cGCxD,GAAA;EFnCF;;;;;;;EE8CV,GAAA,CAAI,EAAA,EAAI,OAAA,EAAS,IAAA;EFxCZ;AAMP;;;EEkDE,GAAA,CAAI,EAAA,WAAa,OAAA;EFjDjB;EEsDA,GAAA,CAAI,EAAA;EFpDc;EEyDlB,KAAA,CAAA;EFzD8C;;;;;AAQhD;;;EE6DE,KAAA,CAAM,GAAA;EF3DN;EAAA,IEmEI,IAAA,CAAA;AAAA;;;;KCtFM,eAAA;EJKc,oBIHxB,QAAA;EJOgB;;;;;EIDhB,YAAA;EJCgB;AAWlB;;;;EINE,WAAA;EJcsD;;;;;EIRtD,QAAA,GAAW,QAAA,EJMX;EIJA,QAAA,WJMA;EIJA,WAAA,WJIU;EIFV,aAAA;EJEsD;;;;EIGtD,iBAAA;;AHrCF;;;EG0CE,kBAAA,aHxCA;EG0CA,qBAAA;EHtCA;;;AAMF;;EGsCE,cAAA;EHjCsB;;;;;;;EGyCtB,eAAA;AAAA;;AHnCF;;;;;;;;;;;;AAgBA;;;;;;;iBG6HgB,gBAAA,CACd,IAAA,GAAM,OAAA,EACN,OAAA,GAAS,eAAA;AAAA,iBAilBK,kBAAA,CAAA,GAAsB,cAAA;;;;KCnvB1B,YAAA;kCAEV,SAAA,GAAY,WAAA,ELKY;EKHxB,KAAA,YLOgB;EKLhB,UAAA,YLGkB;EKDlB,WAAA,WLGU;EKDV,QAAA,YLCgB;EKChB,KAAA,WLUwB;EKRxB,WAAA,WLcQ;EKZR,QAAA,WLcsD;EKZtD,SAAA;AAAA;;KAIG,WAAA;;KAGA,WAAA;;;;;;;;;;;;AJ7BL;;;cI6CqB,KAAA;EAAA,QACX,SAAA;EAAA,QACA,UAAA;EAAA,QACA,WAAA;EAAA,QACA,KAAA;EAAA,QACA,WAAA;EAAA,QACA,QAAA;EAAA,QACA,SAAA;EAAA,QAGA,IAAA;EAAA,QACA,GAAA;EAAA,QACA,IAAA;EAAA,QACA,OAAA;EAAA,QACA,UAAA;EAAA,QACA,OAAA;EAAA,QACA,OAAA;EAAA,QACA,SAAA;EAAA,QACA,UAAA;EAAA,QACA,gBAAA;EAAA,QACA,OAAA;EAAA,QAGA,WAAA;EAAA,QACA,WAAA;EAAA,QAEA,OAAA;EAAA,QACA,QAAA;EAAA,QACA,MAAA;EJ9CR;EIiDA,MAAA,IAAU,IAAA,aAAiB,OAAA;EJ/C3B;EIiDA,MAAA;cAEY,OAAA,GAAS,YAAA;EJnDsB;EIsE3C,KAAA,CAAA;EJ5DU;EI2EV,OAAA,CAAA;;EAmBA,IAAA,CAAA;EJ1FU;EIqGV,IAAA,CAAA;EJpGI;EI2GJ,MAAA,CAAA;EJ3GW;EIiHX,UAAA,CAAA;EJpHE;EIyHF,SAAA,CAAA;EJxHY;EI6HZ,UAAA,CAAW,IAAA,EAAM,WAAA,EAAa,IAAA;EJ5HpB;EI4IV,aAAA,CAAA;EJ3II;EIkJJ,SAAA,CAAU,MAAA,EAAQ,WAAA,EAAa,IAAA;EJlJL;EI4K1B,QAAA,CAAA;;EAKA,QAAA,CAAA;;EAKA,UAAA,CAAA;EHvOmC;EGsPnC,YAAA,CAAA;EHtPmC;;;;EAAA,QGiQ3B,YAAA;EAAA,QAYA,YAAA;EAAA,QAOA,SAAA;EAAA,QA6EA,UAAA;EHtVkB;;;;EAAA,QGwYlB,mBAAA;EHrYR;;;;EAAA,QGuaQ,WAAA;EHlaR;;;EAAA,QG0fQ,aAAA;EAAA,QA4BA,UAAA;EAAA,QAiBA,gBAAA;EAAA,QAaA,SAAA;EAAA,QAUA,cAAA;EAAA,QAWA,UAAA;AAAA;;;iBCuGM,aAAA,CAAA,GAAiB,cAAA;;;iBCnrBjB,kBAAA,CAAA,GAAsB,cAAA;;;iBCgMtB,cAAA,CAAA,GAAkB,cAAA;;;iBCxJlB,kBAAA,CAAA,GAAsB,cAAA;;;;;;ATxCtC;;;;;;;;;;AAeA;;;;;;;;;;;;;;KUXY,eAAA;EACV,IAAA;EACA,QAAA;EACA,MAAA,EAAQ,MAAA;EACR,MAAA;AAAA;;KAIU,gBAAA;EACV,IAAA;EACA,MAAA;EACA,MAAA;IACE,OAAA,WAAkB,MAAA;IAClB,OAAA,GAAU,MAAA;EAAA;AAAA;;;;AThBd;;;;;iBS8BgB,mBAAA,CAAA,IAEZ,QAAA,UACA,MAAA,EAAQ,MAAA,sBACP,OAAA;EAAU,OAAA,WAAkB,MAAA;EAAyB,OAAA,GAAU,MAAA;AAAA;;KAgCxD,eAAA,GAAkB,GAAA,UAE3B,MAAA,EAAQ,MAAA,sBAA4B,OAAA;EACnC,OAAA,WAAkB,MAAA;EAClB,OAAA,GAAU,MAAA;AAAA;;;;;;;;;iBAYE,mBAAA,CAAoB,SAAA,EAAW,eAAA;;;;KCrDnC,iBAAA,GAAoB,kBAAA;EVzCpB,kBU2CV,UAAA,IAAc,QAAA;AAAA;AAAA,KAKJ,eAAA;EV9CV;;;;;AAUF;;;;;;EUgDE,MAAA,GAAS,QAAA,EV7CiB;EU+C1B,KAAA,WV7CA;EU+CA,QAAA,WV/CsB;EUiDtB,KAAA,WV3CU;EU6CV,OAAA;EAEA,MAAA,YV7CA;EU+CA,gBAAA,WV7CY;EU+CZ,MAAA;EV7CU;;;;AAUZ;EUyCE,YAAA,YAAwB,MAAA;EAExB,SAAA,WVvCU;EUyCV,MAAA,YVxCI;EU0CJ,YAAA,YV1CW;EU4CX,eAAA,GAAkB,eAAA,EV/ChB;EUiDF,kBAAA,GAAqB,yBAAA;EVhDT;;;;;;EUuDZ,KAAA,aAAkB,YAAA;AAAA;AAAA,cAKP,QAAA;;0BAEa,yBAAA;ET7Gd;EAAA,wBS+Gc,kBAAA;;UAGhB,MAAA;EAAA,QACA,KAAA;EAAA,QACA,QAAA;EAAA,QACA,KAAA;EAAA,QACA,OAAA;EAAA,QACA,MAAA;EAAA,QACA,gBAAA;EAAA,QACA,MAAA;EAAA,QACA,SAAA;;UAEA,oBAAA;EThHR;EAAA,QSkHQ,kBAAA;EThHR;EAAA,QSmHQ,MAAA;ETjHR;EAAA,QSmHQ,OAAA;ETjHR;EAAA,QSmHQ,YAAA;ETjHR;EAAA,QSmHQ,eAAA;ETjHR;EAAA,QSmHQ,kBAAA;ETjHR;EAAA,QSoHQ,QAAA;ETpHI;ESuHZ,KAAA,EAAO,KAAA;ETjHqB;ESoH5B,SAAA,EAAW,iBAAA;cAEC,OAAA,EAAS,eAAA;ETpHrB;ESoJA,aAAA,CAAA;ETlJA;ES+JA,YAAA,CAAa,IAAA,EAAM,cAAA;ET/JS;;;;;ESwK5B,UAAA,CAAW,IAAA;ETpKA;ES0KX,OAAA,CAAQ,IAAA;ETjKoB;ESsK5B,YAAA,CAAA;ETpKsB;;;;ES4KtB,gBAAA,CAAA;EThJyB;ES4JzB,QAAA,CAAA,GAAY,cAAA;ETxJ6C;ES+JzD,QAAA,CAAS,KAAA;ET7JC;;;;;;ESuKV,SAAA,CAAU,MAAA,EAAQ,QAAA;ETzKC;ES8KnB,WAAA,CAAY,QAAA;ET9KqC;ESmLjD,QAAA,CAAS,KAAA;ETjLT;ESsLA,SAAA,CAAU,OAAA;ETpLV;ESyLA,SAAA,CAAA;ETzLyB;ES8LzB,mBAAA,CAAoB,SAAA;;EAKpB,mBAAA,CAAA;;EAKA,SAAA,CAAU,OAAA;ER9PS;;;;;EQuQnB,eAAA,CAAgB,MAAA;EAChB,eAAA,CAAgB,GAAA,UAAa,MAAA;ERpP7B;EQmQA,gBAAA,CAAiB,OAAA,EAAS,MAAA;ERnQtB;EQ0QJ,kBAAA,CAAmB,GAAA;ER1PnB;EQ+PA,oBAAA,CAAqB,GAAA;ER/PJ;EQwQjB,gBAAA,CAAA,GAAoB,MAAA;ERnQhB;EQwQJ,kBAAA,CAAA;ERvPA;EQ4PA,SAAA,CAAU,OAAA;ERpPN;EQ0PJ,SAAA,CAAA;ER1PQ;EQ+PR,eAAA,CAAgB,OAAA;;EAKhB,eAAA,CAAA;EP1VU;EO+VV,kBAAA,CAAmB,OAAA,EAAS,eAAA;;EAK5B,kBAAA,CAAA,GAAsB,eAAA;EPlWtB;EOuWA,YAAA,CAAA;EP3VA;;;;EOqWA,WAAA,CAAY,OAAA,GAAS,YAAA,GAAoB,KAAA;EPzVzC;;;EOmWA,YAAA,CAAA;EPjVA;;;;AAkHF;;EAlHE,QO6VQ,SAAA;EPzOgB;;;;;;;AAilB1B;;EO9SQ,IAAA,CAAK,OAAA,WAAkB,OAAA,CAAQ,eAAA;EP8SD;;;;;EAAA,QOvN5B,mBAAA;AAAA"}
|
package/dist/index.mjs
CHANGED
|
@@ -1083,7 +1083,8 @@ const PROVIDER_ENDPOINTS = {
|
|
|
1083
1083
|
anthropic: "https://api.anthropic.com",
|
|
1084
1084
|
deepseek: "https://api.deepseek.com",
|
|
1085
1085
|
doubao: "https://ark.cn-beijing.volces.com/api/v3",
|
|
1086
|
-
qwen: "https://dashscope.aliyuncs.com/compatible-mode/v1"
|
|
1086
|
+
qwen: "https://dashscope.aliyuncs.com/compatible-mode/v1",
|
|
1087
|
+
minimax: "https://api.minimaxi.com/v1"
|
|
1087
1088
|
};
|
|
1088
1089
|
/** 校验 provider(中)/ Validate provider support (EN). */
|
|
1089
1090
|
function validateProvider(provider) {
|
|
@@ -1634,6 +1635,22 @@ var DoubaoClient = class extends OpenAIClient {};
|
|
|
1634
1635
|
*/
|
|
1635
1636
|
var QwenClient = class extends OpenAIClient {};
|
|
1636
1637
|
|
|
1638
|
+
//#endregion
|
|
1639
|
+
//#region src/core/ai-client/minimax.ts
|
|
1640
|
+
/**
|
|
1641
|
+
* MiniMax 客户端封装(中)/ MiniMax client wrapper (EN).
|
|
1642
|
+
*
|
|
1643
|
+
* MiniMax 与 OpenAI Chat Completions 兼容,直接复用 OpenAIClient。
|
|
1644
|
+
* MiniMax is OpenAI-compatible, so it reuses OpenAIClient behavior.
|
|
1645
|
+
*
|
|
1646
|
+
* 默认端点:https://api.minimaxi.com/v1
|
|
1647
|
+
* 推荐模型:MiniMax-M2.5 / MiniMax-M2.5-highspeed
|
|
1648
|
+
*/
|
|
1649
|
+
/**
|
|
1650
|
+
* MiniMax 客户端类(中)/ MiniMax client class extending OpenAIClient (EN).
|
|
1651
|
+
*/
|
|
1652
|
+
var MiniMaxClient = class extends OpenAIClient {};
|
|
1653
|
+
|
|
1637
1654
|
//#endregion
|
|
1638
1655
|
//#region src/core/ai-client/index.ts
|
|
1639
1656
|
/**
|
|
@@ -1648,7 +1665,8 @@ function createAIClient(config) {
|
|
|
1648
1665
|
case "qwen": return new QwenClient(config);
|
|
1649
1666
|
case "anthropic": return new AnthropicClient(config);
|
|
1650
1667
|
case "deepseek": return new DeepSeekClient(config);
|
|
1651
|
-
|
|
1668
|
+
case "minimax": return new MiniMaxClient(config);
|
|
1669
|
+
default: throw new Error(`Unknown AI provider: ${config.provider}. Supported: openai, copilot, anthropic, deepseek, doubao, qwen, minimax`);
|
|
1652
1670
|
}
|
|
1653
1671
|
}
|
|
1654
1672
|
|
|
@@ -3143,6 +3161,12 @@ function createDomTool() {
|
|
|
3143
3161
|
* snapshot — 获取页面 DOM 结构快照(AI 可读的文本描述)
|
|
3144
3162
|
* query_all — 查询所有匹配选择器的元素,返回摘要信息
|
|
3145
3163
|
*/
|
|
3164
|
+
/**
|
|
3165
|
+
* 内置 class 名过滤正则(剔除常见 UI 框架噪音类名)。
|
|
3166
|
+
* 通过匹配组件关键词(如 -button、-input、-dialog)统一覆盖所有框架,
|
|
3167
|
+
* 无需逐一枚举框架前缀。
|
|
3168
|
+
*/
|
|
3169
|
+
const DEFAULT_CLASSNAME_FILTERS = ["-(?:button|btn|input|select|option|tag|badge|menu|menuitem|tab|tabs|table|thead|tbody|tfoot|th|td|form|form-item|field|label|checkbox|radio|switch|slider|rate|upload|tree|collapse|breadcrumb|pagination|pager|step|steps|progress|cascader|transfer|picker|date-picker|time-picker|color-picker|auto-complete|autocomplete|card|alert|message|notification|notify|toast|spin|spinner|loading|skeleton|empty|result|avatar|icon|image|divider|space|scrollbar|affix|anchor|back-top|backtop|watermark|segmented|descriptions|statistic|countdown|row|col|grid|layout|container|header|footer|aside|main|sidebar|wrapper|inner|content|prefix|suffix|append|prepend|cell|column|group|panel|item|list|body|close|arrow|placeholder|trigger|reference|transition)"];
|
|
3146
3170
|
/** 快照属性值最大保留长度(超出截断)。 */
|
|
3147
3171
|
const MAX_SNAPSHOT_ATTR_VALUE_LENGTH = 120;
|
|
3148
3172
|
/** 选项列表放宽时的子节点上限(仍保留硬上限,避免快照无限膨胀)。 */
|
|
@@ -3249,6 +3273,7 @@ function generateSnapshot(root = document.body, options = {}) {
|
|
|
3249
3273
|
const expandedChildrenLimit = Math.min(MAX_EXPANDED_CHILDREN_LIMIT, Math.max(1, opts.expandedChildrenLimit ?? MAX_EXPANDED_LIST_CHILDREN));
|
|
3250
3274
|
const expandChildrenRefSet = new Set((opts.expandChildrenRefs ?? []).map((ref) => ref.trim().replace(/^#/, "")).filter(Boolean));
|
|
3251
3275
|
const allowedListenerEvents = new Set((opts.listenerEvents && opts.listenerEvents.length > 0 ? opts.listenerEvents : DEFAULT_SNAPSHOT_LISTENER_EVENTS).map(normalizeSnapshotListenerEvent).filter(Boolean));
|
|
3276
|
+
const classNameFilterRegexps = opts.classNameFilter === false ? null : (opts.classNameFilter && opts.classNameFilter.length > 0 ? opts.classNameFilter : DEFAULT_CLASSNAME_FILTERS).map((p) => new RegExp(p));
|
|
3252
3277
|
let emittedNodes = 0;
|
|
3253
3278
|
let truncatedByNodeBudget = false;
|
|
3254
3279
|
const refStore = opts.refStore;
|
|
@@ -3562,7 +3587,7 @@ function generateSnapshot(root = document.body, options = {}) {
|
|
|
3562
3587
|
if (elId) attrs.push(`id="${elId}"`);
|
|
3563
3588
|
const className = el.getAttribute("class")?.trim();
|
|
3564
3589
|
if (className) {
|
|
3565
|
-
const cls = className.split(/\s+/).find((c) => c && !c.startsWith("data-v-") && c.length < 25 && !/^[a-z]{1,2}\d|^_|^css-/.test(c));
|
|
3590
|
+
const cls = className.split(/\s+/).find((c) => c && !c.startsWith("data-v-") && c.length < 25 && !/^[a-z]{1,2}\d|^_|^css-/.test(c) && !(classNameFilterRegexps && classNameFilterRegexps.some((r) => r.test(c))));
|
|
3566
3591
|
if (cls) attrs.push(`class="${cls}"`);
|
|
3567
3592
|
}
|
|
3568
3593
|
for (const attr of INTERACTIVE_ATTRS) {
|
|
@@ -4328,11 +4353,12 @@ const PANEL_STYLES = `
|
|
|
4328
4353
|
|
|
4329
4354
|
/* ─── 操作遮罩 ─── */
|
|
4330
4355
|
#autopilot-mask {
|
|
4356
|
+
--ap-mask-opacity: 0.15;
|
|
4331
4357
|
position: fixed;
|
|
4332
4358
|
inset: 0;
|
|
4333
4359
|
z-index: 99998;
|
|
4334
|
-
background: rgba(255, 255, 255,
|
|
4335
|
-
backdrop-filter: blur(
|
|
4360
|
+
background: rgba(255, 255, 255, var(--ap-mask-opacity));
|
|
4361
|
+
backdrop-filter: blur(1px);
|
|
4336
4362
|
opacity: 0;
|
|
4337
4363
|
pointer-events: none;
|
|
4338
4364
|
transition: opacity var(--ap-transition);
|
|
@@ -4379,7 +4405,8 @@ const PANEL_STYLES = `
|
|
|
4379
4405
|
position: fixed;
|
|
4380
4406
|
z-index: 99999;
|
|
4381
4407
|
width: 520px;
|
|
4382
|
-
|
|
4408
|
+
height: min(75vh, 820px);
|
|
4409
|
+
max-height: min(75vh, 820px);
|
|
4383
4410
|
display: flex;
|
|
4384
4411
|
flex-direction: column;
|
|
4385
4412
|
background: var(--ap-bg);
|
|
@@ -4548,14 +4575,13 @@ const PANEL_STYLES = `
|
|
|
4548
4575
|
|
|
4549
4576
|
/* ─── 消息区 ─── */
|
|
4550
4577
|
.ap-messages {
|
|
4551
|
-
flex: 1;
|
|
4578
|
+
flex: 1 1 0;
|
|
4552
4579
|
overflow-y: auto;
|
|
4553
4580
|
padding: 16px;
|
|
4554
4581
|
display: flex;
|
|
4555
4582
|
flex-direction: column;
|
|
4556
4583
|
gap: 12px;
|
|
4557
|
-
min-height:
|
|
4558
|
-
max-height: 420px;
|
|
4584
|
+
min-height: 0;
|
|
4559
4585
|
scroll-behavior: smooth;
|
|
4560
4586
|
}
|
|
4561
4587
|
.ap-messages::-webkit-scrollbar { width: 4px; }
|
|
@@ -4822,6 +4848,7 @@ const ICONS = {
|
|
|
4822
4848
|
var Panel = class {
|
|
4823
4849
|
container;
|
|
4824
4850
|
enableMask;
|
|
4851
|
+
maskOpacity;
|
|
4825
4852
|
title;
|
|
4826
4853
|
placeholder;
|
|
4827
4854
|
maskText;
|
|
@@ -4849,6 +4876,7 @@ var Panel = class {
|
|
|
4849
4876
|
constructor(options = {}) {
|
|
4850
4877
|
this.container = options.container ?? document.body;
|
|
4851
4878
|
this.enableMask = options.enableMask ?? true;
|
|
4879
|
+
this.maskOpacity = Math.max(0, Math.min(1, options.maskOpacity ?? .15));
|
|
4852
4880
|
this.expanded = options.expanded ?? false;
|
|
4853
4881
|
this.title = options.title ?? "AutoPilot";
|
|
4854
4882
|
this.placeholder = options.placeholder ?? "输入要执行的网页操作...";
|
|
@@ -4994,6 +5022,7 @@ var Panel = class {
|
|
|
4994
5022
|
this.root.setAttribute("data-autopilot-ignore", "");
|
|
4995
5023
|
this.mask = document.createElement("div");
|
|
4996
5024
|
this.mask.id = "autopilot-mask";
|
|
5025
|
+
this.mask.style.setProperty("--ap-mask-opacity", String(this.maskOpacity));
|
|
4997
5026
|
this.mask.innerHTML = `
|
|
4998
5027
|
<div class="ap-mask-label">
|
|
4999
5028
|
<div class="ap-mask-spinner"></div>
|
|
@@ -5253,7 +5282,10 @@ var Panel = class {
|
|
|
5253
5282
|
scrollToBottom() {
|
|
5254
5283
|
if (!this.messagesEl) return;
|
|
5255
5284
|
requestAnimationFrame(() => {
|
|
5256
|
-
|
|
5285
|
+
requestAnimationFrame(() => {
|
|
5286
|
+
if (!this.messagesEl) return;
|
|
5287
|
+
this.messagesEl.scrollTop = this.messagesEl.scrollHeight;
|
|
5288
|
+
});
|
|
5257
5289
|
});
|
|
5258
5290
|
}
|
|
5259
5291
|
escapeHtml(str) {
|