agentpage 0.0.26 → 0.0.28
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 +11 -6
- package/dist/index.d.mts +23 -3
- package/dist/index.d.mts.map +1 -1
- package/dist/index.mjs +788 -278
- package/dist/index.mjs.map +1 -1
- package/package.json +1 -1
package/README.md
CHANGED
|
@@ -1140,7 +1140,7 @@ loop 对本轮返回做以下处理:
|
|
|
1140
1140
|
5. 刷新快照进入下一轮
|
|
1141
1141
|
6. 更新下一轮任务文本:
|
|
1142
1142
|
- 优先使用 `REMAINING`
|
|
1143
|
-
- 若缺失 `REMAINING`
|
|
1143
|
+
- 若缺失 `REMAINING` 且本轮有执行动作:仅在存在明确顺序连接词(如 `然后`/`next`/`->`)时,保守地启发式推进一步
|
|
1144
1144
|
- 若缺失 `REMAINING` 且本轮无执行进展:保持当前任务不推进(按协议回退)
|
|
1145
1145
|
7. 若“remaining 未完成 + 无工具调用”:
|
|
1146
1146
|
- 不直接结束
|
|
@@ -1169,6 +1169,8 @@ loop 对本轮返回做以下处理:
|
|
|
1169
1169
|
|
|
1170
1170
|
### 5) 线性任务剔除示例(标准范式)
|
|
1171
1171
|
|
|
1172
|
+
注意:该示例仅适用于任务文本中包含明确顺序连接词的场景(例如 `然后`、`next`、`->`)。
|
|
1173
|
+
|
|
1172
1174
|
总任务:`点击按钮 -> 输入框输入 "abc" -> 发送`
|
|
1173
1175
|
|
|
1174
1176
|
- 第 1 轮
|
|
@@ -1225,7 +1227,7 @@ loop 对本轮返回做以下处理:
|
|
|
1225
1227
|
- 首轮使用前端注入的 `initialSnapshot`
|
|
1226
1228
|
- 每轮执行后刷新快照
|
|
1227
1229
|
- 推进 `remainingInstruction`
|
|
1228
|
-
- `REMAINING`
|
|
1230
|
+
- `REMAINING` 缺失且本轮有执行动作时:仅在显式序列任务下启发式推进一步
|
|
1229
1231
|
- `REMAINING` 缺失且本轮无执行进展时:保持当前 remaining
|
|
1230
1232
|
- 防空转、防重复、防无限循环
|
|
1231
1233
|
- DOM 变更动作触发强制断轮(等待下一轮新快照)
|
|
@@ -1541,7 +1543,7 @@ agent.registerTool({
|
|
|
1541
1543
|
|
|
1542
1544
|
#### 2.3 缺失协议时的回退策略
|
|
1543
1545
|
|
|
1544
|
-
-
|
|
1546
|
+
- 若本轮有执行动作:仅当当前任务包含显式顺序连接词时,启发式推进一步(`reduceRemainingHeuristically`)
|
|
1545
1547
|
- 若本轮无推进:保持 remaining 不变,并标记协议违约风险
|
|
1546
1548
|
|
|
1547
1549
|
#### 2.4 协议修复回合(Protocol Violation Round)
|
|
@@ -1762,7 +1764,7 @@ agent.registerTool({
|
|
|
1762
1764
|
- 工具部分由各工具 `t.description` 动态注入,prompt 不重复工具能力描述
|
|
1763
1765
|
2. **Round Message(动态状态层)**
|
|
1764
1766
|
- 由 `buildCompactMessages()` 生成
|
|
1765
|
-
- 包含当前 remaining、done steps、上轮计划、上轮输出归一化、最新快照
|
|
1767
|
+
- 包含当前 remaining、Master goal 锚点(防漂移)、done steps、上轮计划、上轮输出归一化、最新快照
|
|
1766
1768
|
3. **Recovery Context(修复层)**
|
|
1767
1769
|
- Not-found retry context
|
|
1768
1770
|
- Protocol violation hint
|
|
@@ -1781,9 +1783,12 @@ agent.registerTool({
|
|
|
1781
1783
|
#### 7.3 Round 0 与 Round 1+ 差异
|
|
1782
1784
|
|
|
1783
1785
|
- Round 0:原始任务 + 首轮快照
|
|
1784
|
-
- Round 1
|
|
1786
|
+
- Round 1+:以 remaining 驱动;当 remaining 与原始任务不同时,注入 `Master goal (reference only)` 锚点
|
|
1785
1787
|
|
|
1786
|
-
|
|
1788
|
+
Master goal 锚点的设计目的:
|
|
1789
|
+
- 防止 remaining 因模型错误缩减而偏离原始目标(任务漂移)
|
|
1790
|
+
- 标注 `reference only — do NOT restart from scratch`,避免模型回头重做
|
|
1791
|
+
- 让模型能随时交叉校验当前行动是否符合原始意图
|
|
1787
1792
|
|
|
1788
1793
|
#### 7.4 显式 UI 意图判定
|
|
1789
1794
|
|
package/dist/index.d.mts
CHANGED
|
@@ -62,6 +62,13 @@ type AIClient = {
|
|
|
62
62
|
};
|
|
63
63
|
//#endregion
|
|
64
64
|
//#region src/core/agent-loop/types.d.ts
|
|
65
|
+
/** 轮次后稳定等待配置(加载态 + DOM 静默) */
|
|
66
|
+
type RoundStabilityWaitOptions = {
|
|
67
|
+
/** 是否启用轮次后稳定等待(默认 true) */enabled?: boolean; /** 双重等待总超时(毫秒,默认 4000) */
|
|
68
|
+
timeoutMs?: number; /** DOM 静默窗口(毫秒,默认 200) */
|
|
69
|
+
quietMs?: number; /** 页面加载态选择器列表(会与默认列表合并去重,不会覆盖默认值) */
|
|
70
|
+
loadingSelectors?: string[];
|
|
71
|
+
};
|
|
65
72
|
type AgentLoopMetrics = {
|
|
66
73
|
roundCount: number;
|
|
67
74
|
totalToolCalls: number;
|
|
@@ -157,6 +164,16 @@ declare class RefStore {
|
|
|
157
164
|
get(id: string): Element | undefined;
|
|
158
165
|
/** 检查 hash ID 是否存在 */
|
|
159
166
|
has(id: string): boolean;
|
|
167
|
+
/** 删除指定 hash ID 映射,返回是否删除成功。 */
|
|
168
|
+
delete(id: string): boolean;
|
|
169
|
+
/**
|
|
170
|
+
* 清理失效引用:
|
|
171
|
+
* - 仅保留 keepIds 中的映射(若提供)
|
|
172
|
+
* - 自动移除已脱离文档(isConnected=false)的元素
|
|
173
|
+
*
|
|
174
|
+
* @returns 被移除的映射数量
|
|
175
|
+
*/
|
|
176
|
+
prune(keepIds?: ReadonlySet<string>): number;
|
|
160
177
|
/** 清空所有映射 */
|
|
161
178
|
clear(): void;
|
|
162
179
|
/**
|
|
@@ -232,7 +249,7 @@ type SnapshotOptions = {
|
|
|
232
249
|
declare function generateSnapshot(root?: Element, options?: SnapshotOptions | number): string;
|
|
233
250
|
declare function createPageInfoTool(): ToolDefinition;
|
|
234
251
|
//#endregion
|
|
235
|
-
//#region src/web/tools/dom-tool.d.ts
|
|
252
|
+
//#region src/web/tools/dom-tool/index.d.ts
|
|
236
253
|
declare function createDomTool(): ToolDefinition;
|
|
237
254
|
//#endregion
|
|
238
255
|
//#region src/web/tools/navigate-tool.d.ts
|
|
@@ -332,7 +349,7 @@ type WebAgentOptions = {
|
|
|
332
349
|
* ```
|
|
333
350
|
*/
|
|
334
351
|
client?: AIClient; /** API 认证 Token (GitHub PAT / OpenAI key / Anthropic key) */
|
|
335
|
-
token?: string; /** AI 提供商: "copilot" | "openai" | "anthropic"(默认 "copilot") */
|
|
352
|
+
token?: string; /** AI 提供商: "copilot" | "openai" | "anthropic" | "deepseek" | "doubao" | "qwen"(默认 "copilot") */
|
|
336
353
|
provider?: string; /** 模型名称(默认 "gpt-4o") */
|
|
337
354
|
model?: string; /** 自定义 API 基础 URL(可选,覆盖 provider 默认值) */
|
|
338
355
|
baseURL?: string; /** 是否启用流式输出(SSE)。默认 true;false 时使用 JSON 非流式响应。 */
|
|
@@ -347,7 +364,8 @@ type WebAgentOptions = {
|
|
|
347
364
|
maxRounds?: number; /** 是否启用多轮对话记忆(默认 false) */
|
|
348
365
|
memory?: boolean; /** 是否在每次对话前自动生成页面快照(默认 true) */
|
|
349
366
|
autoSnapshot?: boolean; /** 快照选项(视口裁剪、智能剪枝等,autoSnapshot 开启时生效) */
|
|
350
|
-
snapshotOptions?: SnapshotOptions;
|
|
367
|
+
snapshotOptions?: SnapshotOptions; /** 轮次后稳定等待(加载态 + DOM 静默)配置 */
|
|
368
|
+
roundStabilityWait?: RoundStabilityWaitOptions;
|
|
351
369
|
};
|
|
352
370
|
declare class WebAgent {
|
|
353
371
|
/** 默认系统提示词 key(兼容旧版 setSystemPrompt(prompt))。 */
|
|
@@ -375,6 +393,8 @@ declare class WebAgent {
|
|
|
375
393
|
private autoSnapshot;
|
|
376
394
|
/** 快照选项 */
|
|
377
395
|
private snapshotOptions;
|
|
396
|
+
/** 轮次后稳定等待配置 */
|
|
397
|
+
private roundStabilityWait?;
|
|
378
398
|
/** 工具注册表实例 — 每个 WebAgent 拥有独立的工具集 */
|
|
379
399
|
private registry;
|
|
380
400
|
/** 事件回调 — 绑定后可实时获取 Agent 进度,用于 UI 展示 */
|
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/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
|
|
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/tools/dom-tool/index.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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"}
|