ysagc-agent 0.9.5 → 0.9.14

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.
Files changed (51) hide show
  1. package/dist/agent.d.ts +1 -1
  2. package/dist/agent.d.ts.map +1 -1
  3. package/dist/agent.js +137 -10
  4. package/dist/agent.js.map +1 -1
  5. package/dist/browser.d.ts +31 -0
  6. package/dist/browser.d.ts.map +1 -0
  7. package/dist/browser.js +609 -0
  8. package/dist/browser.js.map +1 -0
  9. package/dist/cli.d.ts.map +1 -1
  10. package/dist/cli.js +69 -0
  11. package/dist/cli.js.map +1 -1
  12. package/dist/executor.d.ts +6 -0
  13. package/dist/executor.d.ts.map +1 -1
  14. package/dist/executor.js +46 -0
  15. package/dist/executor.js.map +1 -1
  16. package/dist/hooks.d.ts +29 -0
  17. package/dist/hooks.d.ts.map +1 -0
  18. package/dist/hooks.js +211 -0
  19. package/dist/hooks.js.map +1 -0
  20. package/dist/index.d.ts +3 -1
  21. package/dist/index.d.ts.map +1 -1
  22. package/dist/index.js +13 -1
  23. package/dist/index.js.map +1 -1
  24. package/dist/mcp.d.ts +92 -0
  25. package/dist/mcp.d.ts.map +1 -0
  26. package/dist/mcp.js +746 -0
  27. package/dist/mcp.js.map +1 -0
  28. package/dist/memory.d.ts +14 -0
  29. package/dist/memory.d.ts.map +1 -0
  30. package/dist/memory.js +148 -0
  31. package/dist/memory.js.map +1 -0
  32. package/dist/protocol-handler.d.ts +8 -0
  33. package/dist/protocol-handler.d.ts.map +1 -0
  34. package/dist/protocol-handler.js +127 -0
  35. package/dist/protocol-handler.js.map +1 -0
  36. package/dist/protocol.d.ts +60 -3
  37. package/dist/protocol.d.ts.map +1 -1
  38. package/dist/protocol.js +1 -1
  39. package/dist/protocol.js.map +1 -1
  40. package/dist/screenshot.d.ts +15 -0
  41. package/dist/screenshot.d.ts.map +1 -0
  42. package/dist/screenshot.js +385 -0
  43. package/dist/screenshot.js.map +1 -0
  44. package/dist/security.d.ts.map +1 -1
  45. package/dist/security.js +18 -4
  46. package/dist/security.js.map +1 -1
  47. package/dist/tools.d.ts +22 -1
  48. package/dist/tools.d.ts.map +1 -1
  49. package/dist/tools.js +470 -78
  50. package/dist/tools.js.map +1 -1
  51. package/package.json +1 -1
package/dist/agent.d.ts CHANGED
@@ -1,7 +1,7 @@
1
1
  import { type ClientState } from './protocol';
2
2
  import { type AgentConfig } from './config';
3
3
  /** Kept in sync with package.json. */
4
- export declare const AGENT_VERSION = "0.9.5";
4
+ export declare const AGENT_VERSION = "0.9.14";
5
5
  export interface AgentHandle {
6
6
  stop(): void;
7
7
  }
@@ -1 +1 @@
1
- {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AACA,OAAO,EAYL,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAEpB,OAAO,EAAkG,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAI5I,sCAAsC;AACtC,eAAO,MAAM,aAAa,UAAU,CAAC;AAMrC,MAAM,WAAW,WAAW;IAC1B,IAAI,IAAI,IAAI,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,4DAA4D;IAC5D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACvC;;mEAE+D;IAC/D,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAkXD;iEACiE;AACjE,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,WAAW,CAGjF;AAED,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAG/E"}
1
+ {"version":3,"file":"agent.d.ts","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"AACA,OAAO,EAYL,KAAK,WAAW,EACjB,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAkG,KAAK,WAAW,EAAE,MAAM,UAAU,CAAC;AAI5I,sCAAsC;AACtC,eAAO,MAAM,aAAa,WAAW,CAAC;AAMtC,MAAM,WAAW,WAAW;IAC1B,IAAI,IAAI,IAAI,CAAC;CACd;AAED,MAAM,WAAW,WAAW;IAC1B,4DAA4D;IAC5D,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,WAAW,KAAK,IAAI,CAAC;IACvC;;mEAE+D;IAC/D,eAAe,CAAC,EAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,CAAC;CAC3C;AAgeD;iEACiE;AACjE,wBAAgB,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,WAAW,CAGjF;AAED,+EAA+E;AAC/E,wBAAgB,iBAAiB,CAAC,SAAS,CAAC,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,WAAW,CAG/E"}
package/dist/agent.js CHANGED
@@ -9,10 +9,11 @@ exports.startAgentFromEnv = startAgentFromEnv;
9
9
  const ws_1 = __importDefault(require("ws"));
10
10
  const protocol_1 = require("./protocol");
11
11
  const tools_1 = require("./tools");
12
+ const browser_1 = require("./browser");
12
13
  const config_1 = require("./config");
13
14
  const tokens_1 = require("./tokens");
14
15
  /** Kept in sync with package.json. */
15
- exports.AGENT_VERSION = '0.9.5';
16
+ exports.AGENT_VERSION = '0.9.14';
16
17
  const MAX_IDEMPOTENCY_ENTRIES = 512;
17
18
  const HEARTBEAT_MS = 30000;
18
19
  const READY_OPEN = 1; // ws.WebSocket.OPEN
@@ -85,6 +86,21 @@ class Agent {
85
86
  this.log.warn('unexpected ws response', { status: res.statusCode });
86
87
  if (!this.everOnline)
87
88
  this.reportConnectFailure(`服务器返回 ${res.statusCode}`);
89
+ // 关键:握手在 HTTP 层被拒时,ws 的 'close' 不一定会触发 —— 只打一条日志的话
90
+ // scheduleReconnect 永远执行不到,事件循环也没有待处理句柄,**进程会静默退出**。
91
+ // 实测:后端重启期间 agent 连收几次 400,日志戛然而止、进程消失,
92
+ // 用户必须手动把它重新拉起来 —— 「无人值守」直接失效。
93
+ // 所以这里必须自己收尾:消费掉响应、掐掉 socket、主动安排下一次重连。
94
+ try {
95
+ res.resume();
96
+ }
97
+ catch { /* ignore */ }
98
+ try {
99
+ ws.terminate();
100
+ }
101
+ catch { /* ignore */ }
102
+ this.setStatus('error');
103
+ this.scheduleReconnect();
88
104
  });
89
105
  ws.on('error', (err) => {
90
106
  this.log.error('ws error', { error: err.message });
@@ -101,6 +117,29 @@ class Agent {
101
117
  this.abortAllJobs();
102
118
  if (this.intentionalClose || this.stopped)
103
119
  return;
120
+ /**
121
+ * 被新连接取代 → **退出,不要重连**。
122
+ *
123
+ * 平台对「同一设备的新连接」的处理是取代旧的(4001 replaced by new connection)。
124
+ * 如果本进程立刻重连,就会把对方顶掉,对方再重连顶回来 —— 两个实例每秒互顶一次,
125
+ * 平台侧每次都会 reject 正在执行的工具调用(agent_disconnected)。
126
+ * 实测后果:用户机器上同时存在两个 agent(例如全局装了一个、又 `npx ysagc-agent` 起了一个),
127
+ * 任务里每个工具调用都随机失败、模型反复重试最后放弃,界面却一直显示「Agent 在线」。
128
+ * 退出并说清原因,比无限互顶有用得多(用户关掉多余那个再启动即可)。
129
+ */
130
+ if (code === 4001 && /replaced by new connection/i.test(reasonText)) {
131
+ this.log.error('本设备已被另一个 ysagc-agent 实例接管,本进程退出以避免互相顶替。'
132
+ + '请只保留一个 agent 实例(检查是否重复启动:全局安装的 ysagc-agent 与 npx ysagc-agent 同时在跑)。');
133
+ this.stopped = true;
134
+ if (this.heartbeatTimer) {
135
+ clearInterval(this.heartbeatTimer);
136
+ this.heartbeatTimer = undefined;
137
+ }
138
+ // 让退出码非 0,便于脚本/服务管理器发现"不是正常结束"
139
+ process.exitCode = 2;
140
+ setTimeout(() => process.exit(2), 200);
141
+ return;
142
+ }
104
143
  // 未连上时报告一次,然后固定间隔自动重试,直到连上为止。
105
144
  if (!this.everOnline)
106
145
  this.reportConnectFailure(reasonText || `连接关闭 (${code})`);
@@ -145,6 +184,16 @@ class Agent {
145
184
  case 'cancel':
146
185
  this.onCancel(msg);
147
186
  break;
187
+ case 'release':
188
+ // 平台说这一轮任务结束了:把浏览器会话和本地预览服务立刻收掉。
189
+ // 不收的话,一个无头浏览器(150MB+)和一个监听端口会在任务结束后继续白占着,
190
+ // 直到空闲超时(默认 2 分钟)才被回收。
191
+ this.log.info('release requested by platform; disposing browser session');
192
+ try {
193
+ (0, browser_1.disposeBrowser)();
194
+ }
195
+ catch { /* 忽略 */ }
196
+ break;
148
197
  default:
149
198
  this.log.warn('unhandled message type', { type: msg.type });
150
199
  }
@@ -152,12 +201,41 @@ class Agent {
152
201
  onWelcome(msg) {
153
202
  if (!(0, protocol_1.isWelcome)(msg))
154
203
  return;
155
- this.sessionId = msg.sessionId;
204
+ // 平台当前把设备/用户信息放在 data 里(sessionId 是老字段)。两个都认,
205
+ // 免得日志里出现 "welcomed {sessionId: undefined}" 这种让人以为握手没成功的噪音。
206
+ this.sessionId = msg.sessionId || msg.data?.deviceId || '';
156
207
  // A successful handshake resets the backoff ramp and marks us reachable.
157
208
  this.reconnectAttempt = 0;
158
209
  this.everOnline = true;
159
210
  this.setStatus('online');
160
211
  this.log.info('welcomed', { sessionId: this.sessionId });
212
+ // 连上后上报 MCP 工具清单:平台靠它把 mcp__* 合并进模型工具表。
213
+ // 不 await —— 拉 MCP server 可能要几秒,不能因此卡住心跳/状态上报。
214
+ void this.reportMcpTools();
215
+ }
216
+ /**
217
+ * 把当前工作区的 MCP 工具清单报给平台。
218
+ * 失败静默:MCP 是可选的,配错了也不该影响 Agent 的正常上线与执行。
219
+ */
220
+ async reportMcpTools() {
221
+ try {
222
+ const root = this.config.root;
223
+ const tools = await (0, tools_1.listMcpTools)(root, this.log);
224
+ this.send({
225
+ type: 'mcp_tools',
226
+ root,
227
+ tools: tools.map((t) => ({
228
+ name: t.name, server: t.server, tool: t.tool,
229
+ description: t.description, inputSchema: t.inputSchema,
230
+ })),
231
+ failures: (0, tools_1.mcpFailuresFor)(root), ts: Date.now(),
232
+ });
233
+ if (tools.length)
234
+ this.log.info('reported mcp tools', { count: tools.length });
235
+ }
236
+ catch (err) {
237
+ this.log.warn('report mcp tools failed', { error: err?.message || String(err) });
238
+ }
161
239
  }
162
240
  onPing(msg) {
163
241
  if (!(0, protocol_1.isPing)(msg))
@@ -168,8 +246,9 @@ class Agent {
168
246
  async onToolCall(msg) {
169
247
  if (!(0, protocol_1.isToolCall)(msg))
170
248
  return;
171
- const { jobId, tool, args, idempotencyKey, root, preApproved } = msg;
172
- const key = (0, protocol_1.computeIdempotencyKey)(tool, args ?? {}, idempotencyKey);
249
+ const { jobId, tool, args, idempotencyKey, root, preApproved, readRoots } = msg;
250
+ // 授权根参与 key:同一路径在不同工作区授权下的语义不同,不能互相命中缓存。
251
+ const key = (0, protocol_1.computeIdempotencyKey)(tool, args ?? {}, `${root ?? ''}\u0000${idempotencyKey ?? ''}`);
173
252
  if (this.idempotencyCache.has(key)) {
174
253
  const cached = this.idempotencyCache.get(key);
175
254
  this.log.info('serving cached result', { jobId, tool });
@@ -181,22 +260,35 @@ class Agent {
181
260
  this.jobs.set(jobId, controller);
182
261
  this.log.info('running tool', { jobId, tool });
183
262
  try {
184
- const result = await this.registry.dispatch(tool, args ?? {}, controller.signal, root, preApproved === true);
263
+ // 长命令的实时输出:节流后推给平台(否则 npm install 这类命令期间用户完全看不到进度)
264
+ const progress = this.makeProgressSender(jobId);
265
+ const result = await this.registry.dispatch(tool, args ?? {}, controller.signal, root, preApproved === true, progress, readRoots);
185
266
  if (controller.signal.aborted) {
186
267
  // The platform sent a cancel for this job; report it explicitly.
187
268
  this.sendResult({ ok: false, error: 'Job cancelled by platform', durationMs: result.durationMs }, jobId);
188
269
  return;
189
270
  }
190
- // Only terminal results are cached. A `needsApproval` result is a request
191
- // for a human decision, NOT a final answer: if the platform approves and
192
- // re-sends the SAME idempotencyKey, the job must re-execute rather than
193
- // be served the cached approval request forever.
194
- if (!result.needsApproval) {
271
+ // 只缓存「已成功」的终态结果。理由有二:
272
+ // 1. needsApproval 是待人工决策的请求,不是终态:平台批准后会带同一个
273
+ // idempotencyKey 重发,必须真正执行,不能被缓存挡住。
274
+ // 2. 失败结果依赖授权根/权限模式/瞬时文件系统状态。曾经出现过一次
275
+ // 「outside the authorised root」被缓存后,同一路径在整个进程生命周期
276
+ // 内一直返回旧错误——即使平台已经换成正确的授权根也永远读不出来。
277
+ // 失败的调用本来就没执行任何写操作,没有需要幂等保护的效果。
278
+ // 3. mcp_list 是「查当前 MCP 状态」的工具,结果必须反映**此刻**的配置:
279
+ // 它返回 ok:true(哪怕配置坏了,只是 tools 为空 + failures 带原因),
280
+ // 一旦被缓存,用户改好 .ysagc/mcp.json 也永远读到旧结果 ——
281
+ // 实测就是「配置修好了,平台拿到的还是 Bad escaped character」,只能重启 Agent。
282
+ if (!result.needsApproval && result.ok && tool !== 'mcp_list') {
195
283
  this.cacheResult(key, result);
196
284
  }
197
285
  this.sendResult(result, jobId);
198
286
  // Token meter: report an approximate request/response count per turn.
199
287
  this.sendUsage(jobId, args ?? {}, result.result ?? result.error);
288
+ // mcp_list 会(重新)拉起 MCP server:刚发现的工具要马上报给平台,
289
+ // 否则模型得等到下一次重连才看得见它们。
290
+ if (tool === 'mcp_list')
291
+ void this.reportMcpTools();
200
292
  }
201
293
  finally {
202
294
  this.jobs.delete(jobId);
@@ -280,6 +372,36 @@ class Agent {
280
372
  this.log.info('sent result', { jobId, ok: false, error: result.error, durationMs: result.durationMs });
281
373
  }
282
374
  }
375
+ /**
376
+ * 构造一个节流的进度发送器:命令输出的增量按 ~4 次/秒、每次最多 4KB 推给平台。
377
+ * 长命令(装依赖/构建)期间用户才能看到「在跑什么」,而不是只盯着一个转圈。
378
+ */
379
+ makeProgressSender(jobId) {
380
+ const MAX_PER_SEND = 4096;
381
+ const MIN_INTERVAL_MS = 250;
382
+ let lastSentAt = 0;
383
+ let dropped = 0;
384
+ return (stream, chunk) => {
385
+ if (!chunk)
386
+ return;
387
+ const now = Date.now();
388
+ // 节流:太密集的碎片先丢掉(命令结束时的完整输出仍会照常回传,不会丢内容)
389
+ if (now - lastSentAt < MIN_INTERVAL_MS) {
390
+ dropped += 1;
391
+ return;
392
+ }
393
+ lastSentAt = now;
394
+ const text = chunk.length > MAX_PER_SEND ? chunk.slice(-MAX_PER_SEND) : chunk;
395
+ this.send({
396
+ type: 'tool_progress',
397
+ jobId,
398
+ stream,
399
+ chunk: dropped ? `(已省略 ${dropped} 段高频输出)\n${text}` : text,
400
+ ts: now,
401
+ });
402
+ dropped = 0;
403
+ };
404
+ }
283
405
  cacheResult(key, result) {
284
406
  if (this.idempotencyCache.size >= MAX_IDEMPOTENCY_ENTRIES) {
285
407
  const oldest = this.idempotencyCache.keys().next().value;
@@ -343,6 +465,11 @@ class Agent {
343
465
  for (const controller of this.jobs.values())
344
466
  controller.abort();
345
467
  this.jobs.clear();
468
+ // MCP server 是子进程:不显式收尾的话它们会变成孤儿进程继续挂着。
469
+ try {
470
+ (0, tools_1.shutdownMcp)();
471
+ }
472
+ catch { /* 忽略 */ }
346
473
  if (this.ws) {
347
474
  try {
348
475
  this.ws.close(1000, 'agent stopping');
package/dist/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type { ToolOutcome } from './tools';
2
+ /** 进程退出时收掉浏览器(agent 是长驻进程,不能留孤儿) */
3
+ export declare function disposeBrowser(): void;
4
+ /** 关掉临时静态服务(浏览器会话结束 / Agent 退出时调用) */
5
+ export declare function closeStaticServer(): void;
6
+ /**
7
+ * 把「本地文件路径 / file:// URL」变成可被 CDP 打开的 http 地址。
8
+ * 返回 null 表示这不是一个本地路径(调用方按普通网址处理)。
9
+ */
10
+ export declare function localFileToHttp(ctxRoot: string, raw: string): Promise<{
11
+ url: string;
12
+ served: string;
13
+ } | null>;
14
+ export interface BrowserArgs {
15
+ action?: string;
16
+ url?: string;
17
+ selector?: string;
18
+ text?: string;
19
+ value?: string;
20
+ key?: string;
21
+ deltaY?: number;
22
+ full_page?: boolean;
23
+ path?: string;
24
+ timeoutMs?: number;
25
+ maxChars?: number;
26
+ }
27
+ /** 浏览器工具主体:一个 action 一个动作,多次调用共享同一会话 */
28
+ export declare function browserTool(ctx: {
29
+ root: string;
30
+ }, args: BrowserArgs): Promise<ToolOutcome>;
31
+ //# sourceMappingURL=browser.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"browser.d.ts","sourceRoot":"","sources":["../src/browser.ts"],"names":[],"mappings":"AAuBA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAyK3C,oCAAoC;AACpC,wBAAgB,cAAc,IAAI,IAAI,CAIrC;AAsCD,sCAAsC;AACtC,wBAAgB,iBAAiB,IAAI,IAAI,CAIxC;AA6CD;;;GAGG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,GAAG,EAAE,MAAM,CAAC;IAAC,MAAM,EAAE,MAAM,CAAA;CAAE,GAAG,IAAI,CAAC,CAqBnH;AA+CD,MAAM,WAAW,WAAW;IAC1B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,wCAAwC;AACxC,wBAAsB,WAAW,CAAC,GAAG,EAAE;IAAE,IAAI,EAAE,MAAM,CAAA;CAAE,EAAE,IAAI,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,CAAC,CA8MhG"}