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 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; /** 面板默认展开状态(默认 false,即收起状态,只显示 FAB) */
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;
@@ -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":"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"}
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":"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"}
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
- default: throw new Error(`Unknown AI provider: ${config.provider}. Supported: openai, copilot, anthropic, deepseek, doubao, qwen`);
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, 0.5);
4335
- backdrop-filter: blur(2px);
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
- max-height: 680px;
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: 200px;
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
- this.messagesEl.scrollTop = this.messagesEl.scrollHeight;
5285
+ requestAnimationFrame(() => {
5286
+ if (!this.messagesEl) return;
5287
+ this.messagesEl.scrollTop = this.messagesEl.scrollHeight;
5288
+ });
5257
5289
  });
5258
5290
  }
5259
5291
  escapeHtml(str) {