evolclaw 3.3.0 → 3.4.0

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 (44) hide show
  1. package/CHANGELOG.md +36 -0
  2. package/README.md +7 -3
  3. package/dist/agents/claude-runner.js +23 -27
  4. package/dist/agents/codex-runner.js +90 -6
  5. package/dist/agents/runner-types.js +30 -0
  6. package/dist/aun/outbox.js +14 -2
  7. package/dist/channels/aun.js +506 -108
  8. package/dist/channels/feishu.js +29 -5
  9. package/dist/cli/agent-command.js +591 -0
  10. package/dist/cli/agent.js +15 -3
  11. package/dist/cli/aun-commands.js +1444 -0
  12. package/dist/cli/ctl-command.js +78 -0
  13. package/dist/cli/daemon-commands.js +2707 -0
  14. package/dist/cli/index.js +12 -5027
  15. package/dist/cli/restart-monitor.js +539 -0
  16. package/dist/cli/watch-logs.js +33 -0
  17. package/dist/core/channel-loader.js +4 -1
  18. package/dist/core/command/command-handler.js +1189 -0
  19. package/dist/core/command/menu-handler.js +1478 -0
  20. package/dist/core/command/slash-gate.js +142 -0
  21. package/dist/core/command/slash-handler.js +2090 -0
  22. package/dist/core/evolagent-registry.js +81 -0
  23. package/dist/core/evolagent.js +16 -0
  24. package/dist/core/message/im-renderer.js +67 -49
  25. package/dist/core/message/message-bridge.js +30 -9
  26. package/dist/core/message/message-processor.js +200 -122
  27. package/dist/core/message/message-queue.js +68 -0
  28. package/dist/core/permission.js +16 -0
  29. package/dist/core/session/session-manager.js +59 -13
  30. package/dist/core/stats/db.js +20 -0
  31. package/dist/core/stats/writer.js +3 -3
  32. package/dist/data/error-dict.json +7 -0
  33. package/dist/index.js +49 -6
  34. package/dist/ipc.js +99 -0
  35. package/dist/utils/cross-platform.js +35 -0
  36. package/dist/utils/ecweb-launch.js +49 -0
  37. package/dist/utils/error-utils.js +18 -5
  38. package/dist/utils/npm-ops.js +38 -8
  39. package/dist/utils/stats.js +63 -6
  40. package/kits/eck_manifest.json +0 -12
  41. package/package.json +2 -3
  42. package/dist/core/command-handler.js +0 -4235
  43. package/dist/core/message/response-depth.js +0 -56
  44. package/kits/templates/system-fragments/response-depth.md +0 -16
@@ -0,0 +1,78 @@
1
+ import { resolvePaths } from '../paths.js';
2
+ import { ipcQuery } from '../ipc.js';
3
+ import { isHelpFlag } from './help.js';
4
+ // ==================== Ctl ====================
5
+ export async function cmdCtl(args) {
6
+ if (args.length === 0) {
7
+ console.error(`用法: evolclaw ctl <command> [args...]
8
+
9
+ 查询:
10
+ status 查看会话状态
11
+ check 检查渠道健康状态
12
+ pwd 显示当前项目路径
13
+ help 显示帮助
14
+
15
+ 配置:
16
+ model [model-id] 查看/切换模型(如 opus, sonnet, haiku)
17
+ effort [low|medium|high] 查看/切换推理强度
18
+ compact 压缩当前会话上下文
19
+ perm [mode] 查看/切换权限模式
20
+
21
+ 消息:
22
+ send <消息内容> 主动发送文本消息(proactive 模式)
23
+ file [channel] <path> 发送项目内文件
24
+
25
+ Agent:
26
+ agent <subcommand> EvolAgent 管理(list/show/new/enable/disable/reload/delete)
27
+
28
+ 触发器:
29
+ trigger 查看活跃触发器
30
+ trigger list 查看所有触发器(含历史)
31
+ trigger set --delay <时长> --prompt <内容> 延迟触发(如 15m、2h)
32
+ trigger set --at <ISO时间> --prompt <内容> 定时触发(如 2026-06-10T09:00)
33
+ trigger set --cron '<表达式>' --prompt <内容> 周期触发(如 '*/15 * * * *')
34
+ trigger cancel <名称> 取消触发器
35
+ trigger update <名称> ... 修改触发器参数
36
+
37
+ 运维:
38
+ restart [channel] 重启服务或重连指定渠道
39
+
40
+ 示例:
41
+ evolclaw ctl model sonnet
42
+ evolclaw ctl effort high
43
+ evolclaw ctl compact
44
+ evolclaw ctl "trigger set --cron '*/15 * * * *' --prompt '现在时间?'"`);
45
+ process.exit(1);
46
+ }
47
+ // help 不需要连接服务,直接复用无参数时的帮助输出
48
+ if (isHelpFlag(args[0])) {
49
+ return cmdCtl([]);
50
+ }
51
+ const sessionId = process.env.EVOLCLAW_SESSION_ID;
52
+ if (!sessionId) {
53
+ console.error('错误: EVOLCLAW_SESSION_ID 未设置(仅在 evolclaw 托管环境中可用)');
54
+ process.exit(1);
55
+ }
56
+ const cmd = '/' + args.join(' ');
57
+ const socketPath = resolvePaths().socket;
58
+ // compact/restart 等长时操作使用更长超时
59
+ const longRunning = ['/compact', '/restart'];
60
+ const timeout = longRunning.some(c => cmd.startsWith(c)) ? 60_000 : 10_000;
61
+ const result = await ipcQuery(socketPath, {
62
+ type: 'ctl',
63
+ cmd,
64
+ sessionId,
65
+ }, timeout);
66
+ if (!result) {
67
+ console.error('错误: 无法连接 evolclaw 服务');
68
+ process.exit(1);
69
+ }
70
+ const ctlResult = result;
71
+ if (ctlResult.ok) {
72
+ console.log(ctlResult.result);
73
+ }
74
+ else {
75
+ console.error(ctlResult.error || '执行失败');
76
+ process.exit(1);
77
+ }
78
+ }