@keyou007/agent-bot 0.1.11 → 0.1.12

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 (82) hide show
  1. package/.env.example +1 -1
  2. package/CHANGELOG.md +10 -0
  3. package/README.md +41 -35
  4. package/README.zh.md +41 -35
  5. package/config.example.yaml +11 -1
  6. package/dist/cli/FeishuAppConfiguration.js +1 -1
  7. package/dist/cli/FeishuAppConfiguration.js.map +1 -1
  8. package/dist/cli/FeishuAppRegistration.js +2 -2
  9. package/dist/cli/FeishuAppRegistration.js.map +1 -1
  10. package/dist/cli/Initializer.js +1 -1
  11. package/dist/cli/Initializer.js.map +1 -1
  12. package/dist/cli/ServerStarter.js +7 -2
  13. package/dist/cli/ServerStarter.js.map +1 -1
  14. package/dist/cli/controlProtocol.js.map +1 -1
  15. package/dist/cli/help.js +20 -16
  16. package/dist/cli/help.js.map +1 -1
  17. package/dist/cli/taskGroupOptions.js +95 -0
  18. package/dist/cli/taskGroupOptions.js.map +1 -0
  19. package/dist/cli.js +74 -2
  20. package/dist/cli.js.map +1 -1
  21. package/dist/codex/CodexRuntime.js +35 -9
  22. package/dist/codex/CodexRuntime.js.map +1 -1
  23. package/dist/config/loadConfig.js +11 -1
  24. package/dist/config/loadConfig.js.map +1 -1
  25. package/dist/config/schema.js +6 -1
  26. package/dist/config/schema.js.map +1 -1
  27. package/dist/console/ConsoleConnector.js +1 -1
  28. package/dist/console/ConsoleConnector.js.map +1 -1
  29. package/dist/console/ConsoleTurnPresenter.js +14 -7
  30. package/dist/console/ConsoleTurnPresenter.js.map +1 -1
  31. package/dist/deprecated-cli.js +5 -0
  32. package/dist/deprecated-cli.js.map +1 -0
  33. package/dist/feishu/CardRenderer.js +5 -4
  34. package/dist/feishu/CardRenderer.js.map +1 -1
  35. package/dist/feishu/FeishuTurnPresenter.js +9 -5
  36. package/dist/feishu/FeishuTurnPresenter.js.map +1 -1
  37. package/dist/feishu/transport.js +1 -1
  38. package/dist/feishu/transport.js.map +1 -1
  39. package/dist/index.js +20 -2
  40. package/dist/index.js.map +1 -1
  41. package/dist/presentation/OutboundRouter.js +2 -2
  42. package/dist/presentation/OutboundRouter.js.map +1 -1
  43. package/dist/presentation/TurnStateReducer.js +2 -1
  44. package/dist/presentation/TurnStateReducer.js.map +1 -1
  45. package/dist/proxy/ProxySessionController.js +78 -22
  46. package/dist/proxy/ProxySessionController.js.map +1 -1
  47. package/dist/runtime/createAgentRuntimeRegistry.js +1 -1
  48. package/dist/runtime/createAgentRuntimeRegistry.js.map +1 -1
  49. package/dist/supervision/systemEnvironment.js +129 -0
  50. package/dist/supervision/systemEnvironment.js.map +1 -0
  51. package/dist/supervisor.js +13 -1
  52. package/dist/supervisor.js.map +1 -1
  53. package/docs/technical-reference.md +21 -17
  54. package/docs/technical-reference.zh.md +21 -17
  55. package/npm-shrinkwrap.json +4 -3
  56. package/package.json +3 -2
  57. package/skills/agent-bot/SKILL.md +61 -28
  58. package/src/cli/FeishuAppConfiguration.ts +2 -2
  59. package/src/cli/FeishuAppRegistration.ts +4 -4
  60. package/src/cli/Initializer.ts +2 -2
  61. package/src/cli/ServerStarter.ts +8 -3
  62. package/src/cli/controlProtocol.ts +21 -1
  63. package/src/cli/help.ts +20 -16
  64. package/src/cli/taskGroupOptions.ts +149 -0
  65. package/src/cli.ts +98 -4
  66. package/src/codex/CodexRuntime.ts +46 -13
  67. package/src/config/loadConfig.ts +11 -1
  68. package/src/config/schema.ts +7 -1
  69. package/src/console/ConsoleConnector.ts +1 -1
  70. package/src/console/ConsoleTurnPresenter.ts +20 -7
  71. package/src/deprecated-cli.ts +9 -0
  72. package/src/feishu/CardRenderer.ts +5 -4
  73. package/src/feishu/FeishuTurnPresenter.ts +15 -1
  74. package/src/feishu/transport.ts +1 -1
  75. package/src/index.ts +33 -2
  76. package/src/presentation/OutboundRouter.ts +15 -3
  77. package/src/presentation/TurnStateReducer.ts +2 -0
  78. package/src/presentation/turnViewTypes.ts +1 -0
  79. package/src/proxy/ProxySessionController.ts +166 -22
  80. package/src/runtime/createAgentRuntimeRegistry.ts +1 -1
  81. package/src/supervision/systemEnvironment.ts +174 -0
  82. package/src/supervisor.ts +12 -1
@@ -1 +1 @@
1
- {"version":3,"file":"TurnStateReducer.js","sourceRoot":"","sources":["../../src/presentation/TurnStateReducer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"TurnStateReducer.js","sourceRoot":"","sources":["../../src/presentation/TurnStateReducer.ts"],"names":[],"mappings":"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"}
@@ -438,7 +438,7 @@ export class ProxySessionController {
438
438
  ?? { ...record, contextKey: responseContextKey };
439
439
  const previous = this.messageQueues.get(responseContextKey) ?? Promise.resolve();
440
440
  const next = previous.catch(() => undefined).then(async () => {
441
- this.outbound.registerSession(scopedRecord.localSessionId, responseContextKey, scopedRecord.title, scopedRecord.cwd);
441
+ this.outbound.registerSession(scopedRecord.localSessionId, responseContextKey, scopedRecord.title, scopedRecord.cwd, this.agentLabel(scopedRecord.agentName));
442
442
  const promptMessageId = await this.outbound.withReplyTarget(responseContextKey, existingReplyTarget, () => this.outbound.sendText(responseContextKey, promptText));
443
443
  const turnReplyTarget = isThreadContextKey(responseContextKey)
444
444
  ? promptMessageId
@@ -461,6 +461,57 @@ export class ProxySessionController {
461
461
  }
462
462
  return `The Prompt was posted to the original chat and submitted to the task: ${record.title ?? record.remoteSessionId ?? record.localSessionId}`;
463
463
  }
464
+ async controlCreateTaskGroup(localSessionId, requestedTitle, userOpenId, requestedProjectCwd, forceProjectless = false, requestedAgentName) {
465
+ const source = this.store.getSession(localSessionId);
466
+ if (!source || source.status === "closed")
467
+ throw new Error(`Task not found: ${localSessionId}`);
468
+ const agentName = requestedAgentName?.trim() || source.agentName;
469
+ const agent = this.ensureAgent(agentName);
470
+ if (forceProjectless && agent.kind !== "app-server") {
471
+ throw new Error("task newgroup --nodir is only available for Codex agents.");
472
+ }
473
+ const sourceContextKey = this.outbound.getSessionContextKey(localSessionId) ?? source.contextKey;
474
+ const replyTarget = this.outbound.getSessionReplyTarget(localSessionId);
475
+ const boundProjectCwd = forceProjectless
476
+ ? undefined
477
+ : requestedProjectCwd === undefined
478
+ ? detectProjectlessWorkspace(source.cwd) ? undefined : source.cwd
479
+ : resolveUserPath(requestedProjectCwd);
480
+ const created = await this.outbound.withReplyTarget(sourceContextKey, replyTarget, () => this.createFeishuGroupWithTask(sourceContextKey, agentName, requestedTitle, userOpenId, boundProjectCwd, source.agentName === agentName
481
+ ? {
482
+ modelProvider: source.modelProvider,
483
+ model: source.model,
484
+ reasoningEffort: source.reasoningEffort,
485
+ permissionMode: source.permissionMode,
486
+ }
487
+ : {}));
488
+ return {
489
+ sourceLocalSessionId: source.localSessionId,
490
+ group: created.group,
491
+ task: created.task,
492
+ };
493
+ }
494
+ async controlForkTaskGroup(localSessionId, requestedTitle, userOpenId) {
495
+ const source = this.store.getSession(localSessionId);
496
+ if (!source || source.status === "closed")
497
+ throw new Error(`Task not found: ${localSessionId}`);
498
+ const sourceContextKey = this.outbound.getSessionContextKey(localSessionId) ?? source.contextKey;
499
+ const replyTarget = this.outbound.getSessionReplyTarget(localSessionId);
500
+ const plan = await this.prepareForkSession(sourceContextKey, localSessionId, requestedTitle);
501
+ const prepared = {
502
+ plan,
503
+ sourceDescription: plan.forkedFromHistoricalTurn
504
+ ? "当前任务最近已完成轮次"
505
+ : "当前任务最新轮次",
506
+ };
507
+ const forked = await this.outbound.withReplyTarget(sourceContextKey, replyTarget, () => this.forkPreparedSessionToFeishuGroup(sourceContextKey, prepared, userOpenId ?? "", "当前任务"));
508
+ return {
509
+ sourceLocalSessionId: source.localSessionId,
510
+ sourceTurnId: plan.lastTurnId,
511
+ group: forked.group,
512
+ task: forked.task,
513
+ };
514
+ }
464
515
  cardActionContextKey(action) {
465
516
  const explicit = typeof action.value.contextKey === "string" ? action.value.contextKey : undefined;
466
517
  if (explicit && baseChatContextKey(explicit) === baseChatContextKey(action.contextKey))
@@ -486,8 +537,8 @@ export class ProxySessionController {
486
537
  await this.runShellCommand(contextKey, command.command);
487
538
  return;
488
539
  case "new":
489
- if (command.projectless && this.ensureAgent(context.defaultAgent).kind !== "codex") {
490
- throw new Error("/new --nodir 仅支持 Codex Agent。");
540
+ if (command.projectless && this.ensureAgent(context.defaultAgent).kind !== "app-server") {
541
+ throw new Error("/new --nodir 仅支持 App Server Agent。");
491
542
  }
492
543
  await this.createSession(contextKey, context.defaultAgent, command.projectless
493
544
  ? undefined
@@ -496,8 +547,8 @@ export class ProxySessionController {
496
547
  : resolveUserPath(command.cwd), true, false, undefined, undefined, command.title, this.inheritedExecutionSettings(contextKey, context.defaultAgent));
497
548
  return;
498
549
  case "newgroup":
499
- if (command.projectless && this.ensureAgent(context.defaultAgent).kind !== "codex") {
500
- throw new Error("/newgroup --nodir 仅支持 Codex Agent。");
550
+ if (command.projectless && this.ensureAgent(context.defaultAgent).kind !== "app-server") {
551
+ throw new Error("/newgroup --nodir 仅支持 App Server Agent。");
501
552
  }
502
553
  await this.createFeishuGroup(contextKey, context.defaultAgent, command.title, userId, command.cwd === undefined ? undefined : resolveUserPath(command.cwd), command.projectless === true);
503
554
  return;
@@ -569,7 +620,7 @@ export class ProxySessionController {
569
620
  const turnContextKey = session.lastTurnId
570
621
  ? this.store.getTurnContextKey(session.lastTurnId) ?? context.contextKey
571
622
  : context.contextKey;
572
- this.outbound.registerSession(session.localSessionId, turnContextKey, session.title, session.cwd);
623
+ this.outbound.registerSession(session.localSessionId, turnContextKey, session.title, session.cwd, this.agentLabel(session.agentName));
573
624
  if (!session.lastTurnId)
574
625
  continue;
575
626
  void this.outbound.resumeDelivery(session.localSessionId, turnContextKey, session.lastTurnId).catch((error) => {
@@ -614,7 +665,7 @@ export class ProxySessionController {
614
665
  async promptSession(record, contextKey, text, messageId, replyTarget, localImagePaths) {
615
666
  const configuredRuntime = this.runtimes.forAgent(record.agentName);
616
667
  if (!configuredRuntime.getSession(record.localSessionId)) {
617
- this.outbound.registerSession(record.localSessionId, contextKey, record.title, record.cwd);
668
+ this.outbound.registerSession(record.localSessionId, contextKey, record.title, record.cwd, this.agentLabel(record.agentName));
618
669
  await this.outbound.startPendingTurn(record.localSessionId, contextKey, record.title, replyTarget, text);
619
670
  }
620
671
  let loaded;
@@ -851,7 +902,7 @@ export class ProxySessionController {
851
902
  permissionMode: source.permissionMode ?? "auto",
852
903
  });
853
904
  this.store.setCurrentSession(message.contextKey, localSessionId);
854
- this.outbound.registerSession(localSessionId, message.contextKey, forkTitle, source.cwd);
905
+ this.outbound.registerSession(localSessionId, message.contextKey, forkTitle, source.cwd, this.agentLabel(source.agentName));
855
906
  try {
856
907
  const forked = await runtime.forkSession({
857
908
  localSessionId,
@@ -1115,7 +1166,7 @@ export class ProxySessionController {
1115
1166
  lastTurnStatus: plan.lastTurnStatus,
1116
1167
  });
1117
1168
  this.store.setCurrentSession(contextKey, localSessionId);
1118
- this.outbound.registerSession(localSessionId, contextKey, forked.title ?? plan.forkTitle, plan.cwd);
1169
+ this.outbound.registerSession(localSessionId, contextKey, forked.title ?? plan.forkTitle, plan.cwd, this.agentLabel(plan.agentName));
1119
1170
  this.store.audit(contextKey, "session_forked", {
1120
1171
  sourceLocalSessionId: plan.source?.localSessionId,
1121
1172
  sourceRemoteSessionId: plan.remoteSessionId,
@@ -1227,7 +1278,7 @@ export class ProxySessionController {
1227
1278
  const agent = this.ensureAgent(agentName);
1228
1279
  const localSessionId = createId("sess");
1229
1280
  const initialTitle = normalizeTaskTitle(requestedTitle ?? prompt ?? "");
1230
- const sessionCwd = cwd === undefined && agent.kind === "codex"
1281
+ const sessionCwd = cwd === undefined && agent.kind === "app-server"
1231
1282
  ? createProjectlessWorkspace({ prompt: initialTitle }).cwd
1232
1283
  : path.resolve(cwd ?? this.config.defaults.cwd);
1233
1284
  const record = this.store.createSession({ localSessionId, contextKey, agentName, cwd: sessionCwd, status: "starting" });
@@ -1241,7 +1292,7 @@ export class ProxySessionController {
1241
1292
  });
1242
1293
  }
1243
1294
  this.store.setCurrentSession(contextKey, localSessionId);
1244
- this.outbound.registerSession(localSessionId, contextKey, initialTitle, sessionCwd);
1295
+ this.outbound.registerSession(localSessionId, contextKey, initialTitle, sessionCwd, this.agentLabel(agentName));
1245
1296
  const runtime = this.runtimes.forAgent(agentName);
1246
1297
  try {
1247
1298
  if (prepareTurn) {
@@ -1295,8 +1346,8 @@ export class ProxySessionController {
1295
1346
  }
1296
1347
  async createFeishuGroupWithTask(sourceContextKey, agentName, requestedTitle, userId, boundProjectCwd, executionSettings) {
1297
1348
  const explicitTitle = normalizeTaskTitle(requestedTitle);
1298
- const taskTitle = explicitTitle ?? "新任务";
1299
- const group = await this.createFeishuGroupContext(sourceContextKey, agentName, taskTitle, userId, boundProjectCwd, "/newgroup", !explicitTitle);
1349
+ const taskTitle = explicitTitle ?? `新任务 (${formatGroupDateSuffix(new Date())})`;
1350
+ const group = await this.createFeishuGroupContext(sourceContextKey, agentName, taskTitle, userId, boundProjectCwd, "/newgroup", false);
1300
1351
  let task;
1301
1352
  try {
1302
1353
  task = await this.createSession(group.contextKey, agentName, boundProjectCwd, false, false, undefined, undefined, taskTitle, executionSettings);
@@ -1318,6 +1369,7 @@ export class ProxySessionController {
1318
1369
  `权限类型:${task.permissionMode === "confirm" ? "执行前确认" : "自动执行"}`,
1319
1370
  ].join("\n"));
1320
1371
  await this.outbound.sendText(sourceContextKey, `已创建飞书群:${group.name},并创建新任务 ${taskDescription}。`);
1372
+ return { group, task };
1321
1373
  }
1322
1374
  async forkCurrentSessionToFeishuGroup(sourceContextKey, requestedTitle, userId, incomingMessage) {
1323
1375
  if (!userId?.startsWith("ou_")) {
@@ -1363,6 +1415,7 @@ export class ProxySessionController {
1363
1415
  `权限类型:${forked.session.permissionMode === "confirm" ? "执行前确认" : "自动执行"}`,
1364
1416
  ].join("\n"));
1365
1417
  await this.outbound.sendText(sourceContextKey, `已将${sourceSummary} Fork 到飞书群:${group.name};新群当前任务为 ${taskDescription}。`);
1418
+ return { group, task: forked.record };
1366
1419
  }
1367
1420
  async createFeishuGroupContext(sourceContextKey, agentName, taskTitle, userId, boundProjectCwd, commandName, includeTimestamp) {
1368
1421
  if (!userId?.startsWith("ou_")) {
@@ -1379,7 +1432,7 @@ export class ProxySessionController {
1379
1432
  this.store.getOrCreateUserContext(groupContextKey, agentName);
1380
1433
  if (boundProjectCwd)
1381
1434
  this.store.setBoundProjectCwd(groupContextKey, boundProjectCwd);
1382
- return { contextKey: groupContextKey, name: group.name };
1435
+ return { chatId: group.chatId, contextKey: groupContextKey, name: group.name };
1383
1436
  }
1384
1437
  async loadSession(record) {
1385
1438
  const agent = this.ensureAgent(record.agentName);
@@ -1390,7 +1443,7 @@ export class ProxySessionController {
1390
1443
  const pending = this.sessionLoads.get(record.localSessionId);
1391
1444
  if (pending)
1392
1445
  return pending;
1393
- this.outbound.registerSession(record.localSessionId, record.contextKey, record.title, record.cwd);
1446
+ this.outbound.registerSession(record.localSessionId, record.contextKey, record.title, record.cwd, this.agentLabel(record.agentName));
1394
1447
  const loading = (async () => {
1395
1448
  if (record.lastTurnId) {
1396
1449
  try {
@@ -1416,7 +1469,7 @@ export class ProxySessionController {
1416
1469
  model: record.model,
1417
1470
  reasoningEffort: record.reasoningEffort,
1418
1471
  permissionMode,
1419
- activeTurnId: agent.kind === "codex" && record.status === "running" && record.lastTurnStatus === "running"
1472
+ activeTurnId: agent.kind === "app-server" && record.status === "running" && record.lastTurnStatus === "running"
1420
1473
  ? record.lastTurnId
1421
1474
  : undefined,
1422
1475
  lastTurnId: record.lastTurnId,
@@ -1424,7 +1477,7 @@ export class ProxySessionController {
1424
1477
  });
1425
1478
  }
1426
1479
  catch (error) {
1427
- if (!(agent.kind === "codex" && !record.lastTurnId && isMissingRolloutError(error)))
1480
+ if (!(agent.kind === "app-server" && !record.lastTurnId && isMissingRolloutError(error)))
1428
1481
  throw error;
1429
1482
  this.logger.warn({ error, sessionId: record.localSessionId }, "Codex task has no rollout; creating a replacement task.");
1430
1483
  session = await runtime.createSession({
@@ -1943,8 +1996,8 @@ export class ProxySessionController {
1943
1996
  }
1944
1997
  const context = this.store.getOrCreateUserContext(contextKey, this.config.defaults.agent);
1945
1998
  const agent = this.ensureAgent(context.defaultAgent);
1946
- if (agent.kind !== "codex")
1947
- throw new Error("Goal 模式仅支持 Codex App Server 任务。");
1999
+ if (agent.kind !== "app-server")
2000
+ throw new Error("Goal 模式仅支持 App Server 任务。");
1948
2001
  record = await this.createSession(contextKey, context.defaultAgent, this.inheritedNewTaskCwd(contextKey), false, false, objective);
1949
2002
  }
1950
2003
  const loaded = await this.loadSession(record);
@@ -2339,7 +2392,7 @@ export class ProxySessionController {
2339
2392
  await this.assertSessionTurnOwnership(existing, runtime);
2340
2393
  this.store.attachSessionToContext(contextKey, existing.localSessionId);
2341
2394
  this.store.setCurrentSession(contextKey, existing.localSessionId);
2342
- this.outbound.registerSession(existing.localSessionId, contextKey, existing.title, existing.cwd);
2395
+ this.outbound.registerSession(existing.localSessionId, contextKey, existing.title, existing.cwd, this.agentLabel(existing.agentName));
2343
2396
  await this.outbound.sendText(contextKey, `已切换到任务:${existing.title ?? existing.remoteSessionId ?? taskId}`);
2344
2397
  return;
2345
2398
  }
@@ -2366,7 +2419,7 @@ export class ProxySessionController {
2366
2419
  lastTurnStatus: mapRemoteTurnStatus(remote.lastTurnStatus),
2367
2420
  });
2368
2421
  this.store.setCurrentSession(contextKey, localSessionId);
2369
- this.outbound.registerSession(localSessionId, contextKey, remote.title ?? remote.preview, remote.cwd);
2422
+ this.outbound.registerSession(localSessionId, contextKey, remote.title ?? remote.preview, remote.cwd, this.agentLabel(agentName));
2370
2423
  await this.outbound.sendText(contextKey, `已切换到任务:${remote.title ?? remote.preview ?? remote.id}。历史消息不会重新发送。`);
2371
2424
  }
2372
2425
  async stopSessionReference(contextKey, taskId) {
@@ -2708,10 +2761,13 @@ export class ProxySessionController {
2708
2761
  throw new Error(`未知 agent:${agentName}`);
2709
2762
  return agent;
2710
2763
  }
2764
+ agentLabel(agentName) {
2765
+ return this.ensureAgent(agentName).title;
2766
+ }
2711
2767
  isCodexSession(session) {
2712
2768
  if (session.runtimeKind)
2713
2769
  return session.runtimeKind === "codex";
2714
- return this.config.agents[session.agentName]?.kind === "codex";
2770
+ return this.config.agents[session.agentName]?.kind === "app-server";
2715
2771
  }
2716
2772
  currentSession(contextKey) {
2717
2773
  const context = this.store.getOrCreateUserContext(contextKey, this.config.defaults.agent);