evolcore 0.0.23 → 0.0.25

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 (245) hide show
  1. package/CHANGELOG.md +583 -516
  2. package/LICENSE +21 -21
  3. package/README.md +455 -453
  4. package/bin/codex-managed-acl.ps1 +160 -155
  5. package/bin/codex-managed-hook.mjs +209 -92
  6. package/bin/ec-safe-output.js +327 -245
  7. package/bin/ec.js +29 -29
  8. package/bin/install-codex-managed-hooks.mjs +555 -544
  9. package/dist/agents/baseagent-availability.js +4 -4
  10. package/dist/agents/baseagent.js +29 -1
  11. package/dist/agents/claude-runner.js +152 -14
  12. package/dist/agents/codex/app-server-client.js +18 -8
  13. package/dist/agents/codex/catalog.js +1 -1
  14. package/dist/agents/codex/diagnostics.js +215 -0
  15. package/dist/agents/codex-runner.js +445 -63
  16. package/dist/agents/ecagent-runner.js +31 -16
  17. package/dist/agents/gemini-runner.js +82 -4
  18. package/dist/agents/runner-types.js +1 -1
  19. package/dist/aun/aid/agentmd.js +56 -4
  20. package/dist/aun/aid/index.js +1 -0
  21. package/dist/aun/aid/managed-operation.js +80 -6
  22. package/dist/aun/aid/store.js +41 -0
  23. package/dist/aun/msg/managed-operation.js +6 -1
  24. package/dist/aun/outbox.js +56 -18
  25. package/dist/aun/rpc/client.js +4 -5
  26. package/dist/aun/storage/client.js +4 -1
  27. package/dist/aun/storage/index.js +1 -1
  28. package/dist/channels/aun.js +147 -76
  29. package/dist/channels/daemon.js +7 -1
  30. package/dist/channels/dingtalk.js +1 -0
  31. package/dist/channels/feishu.js +10 -4
  32. package/dist/channels/wecom.js +2 -1
  33. package/dist/cli/agent-command.js +214 -89
  34. package/dist/cli/agent-create.js +576 -0
  35. package/dist/cli/agent.js +129 -676
  36. package/dist/cli/aun-commands.js +419 -313
  37. package/dist/cli/bench.js +20 -20
  38. package/dist/cli/config.js +20 -20
  39. package/dist/cli/contact.js +10 -10
  40. package/dist/cli/ctl-command.js +22 -20
  41. package/dist/cli/daemon-commands.js +163 -32
  42. package/dist/cli/fs-command.js +67 -67
  43. package/dist/cli/handoff-command.js +7 -7
  44. package/dist/cli/index.js +79 -79
  45. package/dist/cli/link-rules.js +21 -21
  46. package/dist/cli/managed-command-guard.js +3 -0
  47. package/dist/cli/menu-client.js +11 -11
  48. package/dist/cli/net-check.js +22 -22
  49. package/dist/cli/queue-command.js +29 -29
  50. package/dist/cli/response.js +30 -30
  51. package/dist/cli/restart-monitor.js +462 -38
  52. package/dist/cli/stats.js +161 -51
  53. package/dist/cli/trigger-command.js +56 -56
  54. package/dist/config/builtin-roles.js +3 -0
  55. package/dist/config/config-manager.js +15 -0
  56. package/dist/config/config-operation-service.js +20 -3
  57. package/dist/config/resolved-config-op.js +39 -1
  58. package/dist/core/auth/auth-gateway.js +3 -2
  59. package/dist/core/auth/authorization-audit.js +72 -19
  60. package/dist/core/auth/operation-authorizer.js +125 -7
  61. package/dist/core/auth/operation-catalog.js +26 -2
  62. package/dist/core/auth/remote-access-store.js +3 -2
  63. package/dist/core/baseagent-loader.js +4 -4
  64. package/dist/core/bootstrap-messages.js +39 -18
  65. package/dist/core/bootstrap-service.js +32 -26
  66. package/dist/core/capability/capability-manager.js +8 -4
  67. package/dist/core/capability/providers/codex-capability-provider.js +1 -1
  68. package/dist/core/command/agent-control.js +60 -26
  69. package/dist/core/command/cli-intent-parser.js +18 -0
  70. package/dist/core/command/command-handler.js +173 -36
  71. package/dist/core/command/menu-catalog.js +4 -1
  72. package/dist/core/command/menu-handler.js +315 -75
  73. package/dist/core/command/menu-protocol.js +7 -2
  74. package/dist/core/command/slash-gate.js +1 -3
  75. package/dist/core/command/slash-handler.js +166 -57
  76. package/dist/core/data-migration.js +5 -15
  77. package/dist/core/event-catalog.js +8 -0
  78. package/dist/core/evolagent.js +3 -3
  79. package/dist/core/handoff/runtime.js +3 -1
  80. package/dist/core/handoff/store.js +7 -1
  81. package/dist/core/message/im-renderer.js +13 -6
  82. package/dist/core/message/message-bridge.js +5 -36
  83. package/dist/core/message/message-utils.js +6 -3
  84. package/dist/core/message/response-engine.js +85 -27
  85. package/dist/core/model/catalog-service.js +3 -1
  86. package/dist/core/model/model-catalog.js +10 -0
  87. package/dist/core/model/model-permission.js +4 -1
  88. package/dist/core/permission/approval-gateway.js +169 -33
  89. package/dist/core/permission/tool-policy.js +56 -10
  90. package/dist/core/session/adapters/codex-session-file-adapter.js +71 -3
  91. package/dist/core/session/session-manager.js +49 -13
  92. package/dist/core/session/session-renew.js +1 -0
  93. package/dist/index.js +327 -134
  94. package/dist/ipc.js +68 -21
  95. package/dist/paths.js +23 -1
  96. package/dist/stats/billing.js +18 -4
  97. package/dist/stats/db.js +159 -159
  98. package/dist/stats/eck-vars.js +9 -9
  99. package/dist/stats/query.js +139 -139
  100. package/dist/stats/role-budget.js +6 -6
  101. package/dist/stats/writer.js +51 -51
  102. package/dist/utils/atomic-write.js +26 -2
  103. package/dist/utils/avatar-upload.js +282 -23
  104. package/dist/utils/cross-platform.js +436 -1
  105. package/dist/utils/error-dict.json +160 -160
  106. package/dist/utils/error-utils.js +11 -4
  107. package/dist/utils/macos-autostart.js +22 -22
  108. package/dist/utils/model-prices.jsonl +23 -20
  109. package/dist/utils/npm-ops.js +24 -1
  110. package/dist/utils/welcome.js +22 -22
  111. package/dist/utils/windows-autostart.js +1 -1
  112. package/ecagent/LICENSE +21 -21
  113. package/ecagent/NOTICE +11 -11
  114. package/ecagent/README.md +61 -61
  115. package/ecagent/dist/harness/compaction/branch-summarization.js +30 -30
  116. package/ecagent/dist/harness/compaction/compaction.js +83 -83
  117. package/ecagent/dist/harness/messages.js +7 -7
  118. package/kits/docs/GUIDE.md +20 -20
  119. package/kits/docs/INDEX.md +66 -66
  120. package/kits/docs/aun/CHEATSHEET.md +19 -19
  121. package/kits/docs/aun/SYNC_PROTOCOL.md +15 -15
  122. package/kits/docs/channels/aun.md +56 -56
  123. package/kits/docs/channels/feishu.md +56 -56
  124. package/kits/docs/context-assembly.md +365 -364
  125. package/kits/docs/eck_templates/GUIDE.template.md +22 -22
  126. package/kits/docs/eck_templates/INDEX.template.md +28 -28
  127. package/kits/docs/eck_templates/path-registry.template.md +33 -33
  128. package/kits/docs/eck_templates/runtime.template.md +19 -19
  129. package/kits/docs/evolcore/INDEX.md +71 -69
  130. package/kits/docs/evolcore/agent-create.md +170 -156
  131. package/kits/docs/evolcore/agent.md +83 -73
  132. package/kits/docs/evolcore/aid.md +64 -62
  133. package/kits/docs/evolcore/codex-windows-sandbox.md +146 -0
  134. package/kits/docs/evolcore/config.md +195 -195
  135. package/kits/docs/evolcore/contact.md +68 -68
  136. package/kits/docs/evolcore/ctl.md +46 -46
  137. package/kits/docs/evolcore/event.md +216 -216
  138. package/kits/docs/evolcore/fs-architecture.md +1215 -1215
  139. package/kits/docs/evolcore/fs.md +110 -110
  140. package/kits/docs/evolcore/group-collaboration.md +243 -243
  141. package/kits/docs/evolcore/group-fs.md +17 -17
  142. package/kits/docs/evolcore/group-rules.md +251 -251
  143. package/kits/docs/evolcore/group.md +152 -152
  144. package/kits/docs/evolcore/menu-client.md +34 -34
  145. package/kits/docs/evolcore/model.md +50 -50
  146. package/kits/docs/evolcore/msg.md +165 -165
  147. package/kits/docs/evolcore/response.md +75 -75
  148. package/kits/docs/evolcore/rpc.md +37 -37
  149. package/kits/docs/evolcore/self-summary.md +29 -29
  150. package/kits/docs/evolcore/stats.md +83 -83
  151. package/kits/docs/evolcore/storage.md +50 -50
  152. package/kits/docs/evolcore/trigger.md +575 -575
  153. package/kits/docs/identity/AID_PROFILE_SPEC.md +26 -26
  154. package/kits/docs/identity/PATH_OPS.md +16 -16
  155. package/kits/docs/identity/ROLE_DETAIL.md +25 -25
  156. package/kits/docs/identity/identity-tools.md +26 -26
  157. package/kits/docs/path-registry.md +62 -62
  158. package/kits/docs/prompt-loading-architecture.md +270 -269
  159. package/kits/docs/venues/aun-group.md +45 -45
  160. package/kits/docs/venues/aun-private.md +10 -10
  161. package/kits/docs/venues/client-desktop.md +10 -10
  162. package/kits/docs/venues/client-mobile.md +10 -10
  163. package/kits/docs/venues/feishu-group.md +13 -13
  164. package/kits/docs/venues/feishu-private.md +9 -9
  165. package/kits/docs/venues/group.md +25 -25
  166. package/kits/docs/venues/private.md +10 -10
  167. package/kits/eck_manifest.auxiliary.json +43 -43
  168. package/kits/eck_manifest.json +195 -183
  169. package/kits/eck_message_manifest.json +74 -74
  170. package/kits/migrations/README-role-config-v4.md +32 -32
  171. package/kits/migrations/migrate-contact-book-v2.mjs +748 -748
  172. package/kits/migrations/migrate-role-config-v4.mjs +614 -614
  173. package/kits/migrations/migrate-role-config-v5.mjs +365 -365
  174. package/kits/migrations/rename-config-file.mjs +99 -99
  175. package/kits/rules/01-overview.md +162 -162
  176. package/kits/rules/02-navigation.md +96 -96
  177. package/kits/rules/03-identity.md +39 -37
  178. package/kits/rules/04-relation.md +75 -75
  179. package/kits/rules/05-venue.md +60 -60
  180. package/kits/rules/06-channel.md +63 -63
  181. package/kits/schemas/_meta.json +53 -53
  182. package/kits/schemas/agent-config.schema.1.json +177 -177
  183. package/kits/schemas/agent-config.schema.10.json +395 -395
  184. package/kits/schemas/agent-config.schema.11.json +421 -421
  185. package/kits/schemas/agent-config.schema.12.json +427 -427
  186. package/kits/schemas/agent-config.schema.2.json +239 -239
  187. package/kits/schemas/agent-config.schema.3.json +119 -119
  188. package/kits/schemas/agent-config.schema.4.json +208 -208
  189. package/kits/schemas/agent-config.schema.5.json +326 -326
  190. package/kits/schemas/agent-config.schema.6.json +322 -322
  191. package/kits/schemas/agent-config.schema.7.json +303 -303
  192. package/kits/schemas/agent-config.schema.8.json +304 -304
  193. package/kits/schemas/agent-config.schema.9.json +364 -364
  194. package/kits/schemas/contact-book.schema.1.json +36 -36
  195. package/kits/schemas/contact-book.schema.2.json +43 -43
  196. package/kits/schemas/contact-book.schema.3.json +67 -67
  197. package/kits/schemas/daemon.schema.1.json +91 -91
  198. package/kits/schemas/daemon.schema.2.json +101 -101
  199. package/kits/schemas/daemon.schema.3.json +123 -123
  200. package/kits/schemas/daemon.schema.4.json +136 -136
  201. package/kits/schemas/daemon.schema.5.json +135 -135
  202. package/kits/schemas/daemon.schema.6.json +131 -131
  203. package/kits/schemas/defaults.schema.1.json +81 -81
  204. package/kits/schemas/defaults.schema.2.json +85 -85
  205. package/kits/schemas/defaults.schema.3.json +73 -73
  206. package/kits/schemas/defaults.schema.4.json +107 -107
  207. package/kits/schemas/defaults.schema.5.json +119 -119
  208. package/kits/schemas/menu-exec-schema-commands.md +208 -208
  209. package/kits/schemas/migrations/README.md +30 -30
  210. package/kits/schemas/relation-config.schema.1.json +158 -158
  211. package/kits/schemas/relation-config.schema.2.json +73 -73
  212. package/kits/schemas/relation-config.schema.3.json +50 -50
  213. package/kits/schemas/relation-config.schema.4.json +47 -47
  214. package/kits/schemas/relation-config.schema.5.json +47 -47
  215. package/kits/schemas/relation-config.schema.6.json +46 -46
  216. package/kits/schemas/relation-config.schema.7.json +59 -59
  217. package/kits/schemas/relation-config.schema.8.json +103 -103
  218. package/kits/schemas/role-config.schema.1.json +201 -201
  219. package/kits/schemas/role-registry.schema.1.json +35 -35
  220. package/kits/schemas/single-session.schema.1.json +31 -31
  221. package/kits/schemas/single-session.schema.2.json +57 -57
  222. package/kits/schemas/single-session.schema.3.json +32 -32
  223. package/kits/templates/bootstrap-welcome.md +17 -17
  224. package/kits/templates/message-fragments/handoff-context-to-target.md +9 -9
  225. package/kits/templates/message-fragments/handoff-request-to-target.md +19 -19
  226. package/kits/templates/message-fragments/handoff-response-to-origin.md +9 -9
  227. package/kits/templates/message-fragments/inject-default.md +2 -2
  228. package/kits/templates/message-fragments/item.md +2 -2
  229. package/kits/templates/roles/admin.json +96 -82
  230. package/kits/templates/roles/member.json +97 -96
  231. package/kits/templates/roles/owner.json +9 -9
  232. package/kits/templates/roles/visitor.json +86 -85
  233. package/kits/templates/system-fragments/baseagent.md +14 -14
  234. package/kits/templates/system-fragments/bootstrap.md +38 -29
  235. package/kits/templates/system-fragments/channel.md +64 -64
  236. package/kits/templates/system-fragments/commands.md +28 -28
  237. package/kits/templates/system-fragments/identity.md +13 -13
  238. package/kits/templates/system-fragments/relation.md +19 -19
  239. package/kits/templates/system-fragments/session.md +59 -59
  240. package/kits/templates/system-fragments/venue.md +31 -31
  241. package/package.json +98 -94
  242. package/AGENTS.md +0 -62
  243. package/dist/utils/codex-cli.js +0 -43
  244. package/skills/eclink/SKILL.md +0 -84
  245. package/skills/eclink/agents/openai.yaml +0 -4
package/dist/cli/index.js CHANGED
@@ -19,57 +19,57 @@ import { cmdStart, cmdStop, cmdRestart, cmdStatus, cmdLogs, cmdWatchCommand, cmd
19
19
  import { logCliCommand } from './command-log.js';
20
20
  import { isInitCancelledError, printInitCancelHint } from './init-cancel.js';
21
21
  import { assertManagedTopLevelCommandAllowed, ManagedCommandNotAllowedError } from './managed-command-guard.js';
22
- const MAIN_HELP = `用法: ec <command> [选项]
23
-
24
- 服务:
25
- init 初始化默认配置、owner、控制 AID 与 EC Web
26
- start 启动服务
27
- stop 停止服务
28
- restart 重启服务并检查更新
29
- status 查看运行状态
30
- logs 持续查看 daemon 日志
31
- watch 打开日志、AID、消息或 EC Web 监控
32
-
33
- Agent 与会话:
34
- agent 管理 EvolAgent
35
- ctl 当前托管会话的控制命令
36
- queue 查询或操作 agent 消息队列
37
- trigger 管理定时与事件触发器
38
- handoff 查询和完成跨会话回流
39
- model 查看或设置模型与推理强度
40
- response 查看或设置响应模式
41
-
42
- AUN:
43
- aid 管理 AID 身份与 agent.md
44
- msg 私聊消息收发、撤回、在线状态与历史
45
- group 群消息与群管理
46
- fs AUN 文件系统
47
- storage 底层对象存储命令
48
- rpc 调用底层 AUN RPC
49
- menu-client 向远程 daemon 发送标准 Menu 请求
50
- contact 联系人黑名单管理
51
- net AUN 网络链路诊断
52
-
53
- 配置与诊断:
54
- config 读取、修改和检查分层配置
55
- stats Token 用量与费用统计
56
- diagnose 检查启动环境
57
- version 显示组件版本
58
- mv 迁移项目目录和会话路径
59
-
60
- 维护命令:
61
- data migrate 迁移 per-Agent 用户数据(显式维护窗口)
62
- mode 切换开发源码与 npm 包运行模式
63
- restart-monitor 运行 daemon 重启监控器
64
- bench AUN 消息性能基准测试
65
- link-rules 连接 ECK rules 到项目目录
66
-
67
- 运行 ec <command> --help 查看该命令的完整参数。
68
-
69
- 环境变量:
70
- EVOLCORE_HOME 数据目录(默认: ~/.evolcore)
71
- LOG_LEVEL 日志级别(默认: INFO)
72
- MESSAGE_LOG 消息日志(默认: true)
22
+ const MAIN_HELP = `用法: ec <command> [选项]
23
+
24
+ 服务:
25
+ init 初始化默认配置、owner、控制 AID 与 EC Web
26
+ start 启动服务
27
+ stop 停止服务
28
+ restart 重启服务并检查更新
29
+ status 查看运行状态
30
+ logs 持续查看 daemon 日志
31
+ watch 打开日志、AID、消息或 EC Web 监控
32
+
33
+ Agent 与会话:
34
+ agent 管理 EvolAgent
35
+ ctl 当前托管会话的控制命令
36
+ queue 查询或操作 agent 消息队列
37
+ trigger 管理定时与事件触发器
38
+ handoff 查询和完成跨会话回流
39
+ model 查看或设置模型与推理强度
40
+ response 查看或设置响应模式
41
+
42
+ AUN:
43
+ aid 管理 AID 身份与 agent.md
44
+ msg 私聊消息收发、撤回、在线状态与历史
45
+ group 群消息与群管理
46
+ fs AUN 文件系统
47
+ storage 底层对象存储命令
48
+ rpc 调用底层 AUN RPC
49
+ menu-client 向远程 daemon 发送标准 Menu 请求
50
+ contact 联系人黑名单管理
51
+ net AUN 网络链路诊断
52
+
53
+ 配置与诊断:
54
+ config 读取、修改和检查分层配置
55
+ stats Token 用量与费用统计
56
+ diagnose 检查启动环境
57
+ version 显示组件版本
58
+ mv 迁移项目目录和会话路径
59
+
60
+ 维护命令:
61
+ data migrate 迁移 per-Agent 用户数据(显式维护窗口)
62
+ mode 切换开发源码与 npm 包运行模式
63
+ restart-monitor 运行 daemon 重启监控器
64
+ bench AUN 消息性能基准测试
65
+ link-rules 连接 ECK rules 到项目目录
66
+
67
+ 运行 ec <command> --help 查看该命令的完整参数。
68
+
69
+ 环境变量:
70
+ EVOLCORE_HOME 数据目录(默认: ~/.evolcore)
71
+ LOG_LEVEL 日志级别(默认: INFO)
72
+ MESSAGE_LOG 消息日志(默认: true)
73
73
  EVENT_LOG 事件日志(默认: true)`;
74
74
  function printLifecycleHelp(command) {
75
75
  const help = {
@@ -80,7 +80,7 @@ function printLifecycleHelp(command) {
80
80
  logs: `用法: ec logs [选项]\n\n --level <error|warn|info|debug> 最低日志级别\n --module <name> 只显示指定模块\n --raw 原始输出\n --no-color 禁用颜色`,
81
81
  watch: `用法: ec watch [logs|log|aid|msg|web|session]\n\n ec watch 打开监控选择菜单\n ec watch logs 选择日志类型后监控\n ec watch log <类型...> 直接监控指定日志类型\n ec watch aid 监控 AID 连接\n ec watch msg 打开消息 TUI\n ec watch web 安装/升级并启动 EC Web\n ec watch session ec watch web 的兼容别名`,
82
82
  'restart-monitor': '用法: ec restart-monitor\n\n运行内 daemon 重启与升级监控器。',
83
- diagnose: '用法: ec diagnose\n\n检查配置、数据库、进程和编译产物。',
83
+ diagnose: '用法: ec diagnose [--codex-hook]\n\n检查配置、数据库、进程和编译产物。\n\n --codex-hook 运行 Windows Codex managed hook 启动探针。',
84
84
  mv: '用法: ec mv <old-directory> <new-directory>\n\n迁移项目目录以及 Claude、Codex 和 EvolCore 会话路径。',
85
85
  };
86
86
  console.log(help[command]);
@@ -115,32 +115,32 @@ export async function main(args) {
115
115
  case 'init': {
116
116
  try {
117
117
  if (wantsHelp(args.slice(1))) {
118
- console.log(`用法: ec init [渠道] [选项]
119
-
120
- 仅初始化 defaults.json:
121
- ec init 交互式(写完 defaults.json 后嵌套 agent new)
122
- 选择 ecagent 时会继续询问 API Key 和 Base URL
123
- ec init --non-interactive [选项]
124
- --baseagent <claude|codex|gemini|ecagent> 默认: PATH 中第一个可用项;ecagent 需显式选择
125
- --force 已存在 defaults.json 时覆盖
126
-
127
- 云部署非交互式初始化(结构化 JSON 输出):
128
- ec init --non-interactive --owner <aid> [--format json] [选项]
129
- --owner <aid> 必填。唯一 daemon owner AID
130
- --baseagent <claude|codex|gemini|ecagent> 可选。默认从 PATH 检测,ecagent 需显式选择
131
- --projectpath <abs-path> 可选。默认项目目录(必须绝对路径,自动创建)
132
- --ecweb 可选。安装 EC Web 并启用自启动
133
- --auto-start Windows/macOS 上启用 EvolCore 登录自启动
134
- --no-auto-start Windows/macOS 上禁用 EvolCore 登录自启动
135
- --format json 可选但推荐。stdout 输出 init.result JSON
136
- --force 已有不同 owner 时强制覆盖
137
-
138
- 配置渠道(先 ec agent new 创建 agent):
139
- ec init aun AUN owner 追加绑定(daemon 或指定 agent)
140
- ec init feishu 飞书扫码登录
141
- ec init wechat 微信扫码登录
142
- ec init dingtalk 钉钉扫码登录
143
- ec init qqbot QQ 机器人扫码绑定
118
+ console.log(`用法: ec init [渠道] [选项]
119
+
120
+ 仅初始化 defaults.json:
121
+ ec init 交互式(写完 defaults.json 后嵌套 agent new)
122
+ 选择 ecagent 时会继续询问 API Key 和 Base URL
123
+ ec init --non-interactive [选项]
124
+ --baseagent <claude|codex|gemini|ecagent> 默认: PATH 中第一个可用项;ecagent 需显式选择
125
+ --force 已存在 defaults.json 时覆盖
126
+
127
+ 云部署非交互式初始化(结构化 JSON 输出):
128
+ ec init --non-interactive --owner <aid> [--format json] [选项]
129
+ --owner <aid> 必填。唯一 daemon owner AID
130
+ --baseagent <claude|codex|gemini|ecagent> 可选。默认从 PATH 检测,ecagent 需显式选择
131
+ --projectpath <abs-path> 可选。默认项目目录(必须绝对路径,自动创建)
132
+ --ecweb 可选。安装 EC Web 并启用自启动
133
+ --auto-start Windows/macOS 上启用 EvolCore 登录自启动
134
+ --no-auto-start Windows/macOS 上禁用 EvolCore 登录自启动
135
+ --format json 可选但推荐。stdout 输出 init.result JSON
136
+ --force 已有不同 owner 时强制覆盖
137
+
138
+ 配置渠道(先 ec agent new 创建 agent):
139
+ ec init aun AUN owner 追加绑定(daemon 或指定 agent)
140
+ ec init feishu 飞书扫码登录
141
+ ec init wechat 微信扫码登录
142
+ ec init dingtalk 钉钉扫码登录
143
+ ec init qqbot QQ 机器人扫码绑定
144
144
  ec init wecom 企业微信 AI Bot 扫码创建/手工配置`);
145
145
  }
146
146
  else {
@@ -309,7 +309,7 @@ export async function main(args) {
309
309
  printLifecycleHelp('diagnose');
310
310
  break;
311
311
  }
312
- await cmdDiagnose();
312
+ await cmdDiagnose(args.slice(1));
313
313
  break;
314
314
  case 'data': {
315
315
  const { cmdData } = await import('./data-command.js');
@@ -79,27 +79,27 @@ function cleanEmptyParents(dir) {
79
79
  }
80
80
  // ── 子命令 ──
81
81
  function showHelp() {
82
- console.log(`Usage: ec link-rules <subcommand> [baseagent] [--dir <path>]
83
-
84
- Subcommands:
85
- connect Connect ECK rules to a project directory (default: cwd)
86
- disconnect Remove ECK rules connection for a baseagent
87
- status Show connection state for all baseagents
88
-
89
- Arguments:
90
- baseagent Target base agent: ${KNOWN_BASEAGENTS.join(', ')} (default: cc)
91
- --dir <path> Target directory (default: current working directory)
92
-
93
- Supported baseagents:
94
- cc Claude Code (.claude/rules/eck/)
95
- codex Codex (.codex/rules/eck/)
96
- gemini Gemini CLI (.gemini/rules/eck/)
97
-
98
- Examples:
99
- ec link-rules connect # connect cc in cwd
100
- ec link-rules connect codex # connect codex in cwd
101
- ec link-rules connect cc --dir /x # connect cc in specific dir
102
- ec link-rules disconnect cc # disconnect cc
82
+ console.log(`Usage: ec link-rules <subcommand> [baseagent] [--dir <path>]
83
+
84
+ Subcommands:
85
+ connect Connect ECK rules to a project directory (default: cwd)
86
+ disconnect Remove ECK rules connection for a baseagent
87
+ status Show connection state for all baseagents
88
+
89
+ Arguments:
90
+ baseagent Target base agent: ${KNOWN_BASEAGENTS.join(', ')} (default: cc)
91
+ --dir <path> Target directory (default: current working directory)
92
+
93
+ Supported baseagents:
94
+ cc Claude Code (.claude/rules/eck/)
95
+ codex Codex (.codex/rules/eck/)
96
+ gemini Gemini CLI (.gemini/rules/eck/)
97
+
98
+ Examples:
99
+ ec link-rules connect # connect cc in cwd
100
+ ec link-rules connect codex # connect codex in cwd
101
+ ec link-rules connect cc --dir /x # connect cc in specific dir
102
+ ec link-rules disconnect cc # disconnect cc
103
103
  ec link-rules status # show all connections`);
104
104
  }
105
105
  function showStatus() {
@@ -12,6 +12,9 @@ const MANAGED_TASK_COMMANDS = new Set([
12
12
  'msg',
13
13
  'queue',
14
14
  'response',
15
+ // `stats` reads the usage database directly. It authorizes each managed call
16
+ // against the task's relation role in `resolveManagedStatsScope`.
17
+ 'stats',
15
18
  'status',
16
19
  'storage',
17
20
  'trigger',
@@ -56,17 +56,17 @@ function validateOptions(args) {
56
56
  }
57
57
  export async function cmdMenuClient(args) {
58
58
  if (wantsHelp(args)) {
59
- console.log(`用法: ec menu-client request <from-aid> <daemon-aid> [选项]
60
-
61
- --request-file <path> 从 JSON 文件读取一个 menu.* 请求
62
- --request-json <json> 直接传入一个 menu.* JSON 请求
63
- --timeout <时长> 默认 15s,最大 120s
64
- --encrypt 使用 E2EE(默认)
65
- --no-encrypt 已拒绝:ec-menu-client 必须使用 E2EE
66
- --remote-token <token> 使用 daemon 远程访问 token 临时授权
67
- --ecweb-token <token> --remote-token 的兼容别名
68
- --app <slot> 覆盖默认 evolcore-menu-client 消费槽位
69
- --aun-path <path> 覆盖本地 AUN keystore 根目录
59
+ console.log(`用法: ec menu-client request <from-aid> <daemon-aid> [选项]
60
+
61
+ --request-file <path> 从 JSON 文件读取一个 menu.* 请求
62
+ --request-json <json> 直接传入一个 menu.* JSON 请求
63
+ --timeout <时长> 默认 15s,最大 120s
64
+ --encrypt 使用 E2EE(默认)
65
+ --no-encrypt 已拒绝:ec-menu-client 必须使用 E2EE
66
+ --remote-token <token> 使用 daemon 远程访问 token 临时授权
67
+ --ecweb-token <token> --remote-token 的兼容别名
68
+ --app <slot> 覆盖默认 evolcore-menu-client 消费槽位
69
+ --aun-path <path> 覆盖本地 AUN keystore 根目录
70
70
  --format json 输出标准 menu.response JSON`);
71
71
  return;
72
72
  }
@@ -635,28 +635,28 @@ export async function cmdNet(args) {
635
635
  const formatJson = args.includes('--format') && args.includes('json');
636
636
  const kickTest = args.includes('--kick-test');
637
637
  if (isHelpFlag(sub) || wantsHelp(args)) {
638
- console.log(`用法: ec net check [<aid>] [--format json] [--kick-test]
639
-
640
- 检查 AUN 网络链路连通性(11 步逐层诊断)。
641
-
642
- 步骤:
643
- 1. DNS (AID) AID 域名解析
644
- 2. Discovery .well-known/aun-gateway 获取网关地址
645
- 3. DNS (Gateway) 网关域名解析
646
- 4. TCP 网关端口连接
647
- 5. TLS TLS 握手 + 证书验证
648
- 6. WSS WebSocket 升级握手
649
- 7. Auth AID 认证(login1 + login2 → token)
650
- 8. Session 会话建立
651
- 9. Ping meta.ping RPC
652
- 10. Echo self-to-self 消息收发
653
- 11. KickTest 踢人测试 / extra_info 验证(可选)
654
-
655
- 参数:
656
- <aid> 要检查的 AID(可选,默认取前 3 个本地 AID)
657
-
658
- 选项:
659
- --format json JSON 格式输出
638
+ console.log(`用法: ec net check [<aid>] [--format json] [--kick-test]
639
+
640
+ 检查 AUN 网络链路连通性(11 步逐层诊断)。
641
+
642
+ 步骤:
643
+ 1. DNS (AID) AID 域名解析
644
+ 2. Discovery .well-known/aun-gateway 获取网关地址
645
+ 3. DNS (Gateway) 网关域名解析
646
+ 4. TCP 网关端口连接
647
+ 5. TLS TLS 握手 + 证书验证
648
+ 6. WSS WebSocket 升级握手
649
+ 7. Auth AID 认证(login1 + login2 → token)
650
+ 8. Session 会话建立
651
+ 9. Ping meta.ping RPC
652
+ 10. Echo self-to-self 消息收发
653
+ 11. KickTest 踢人测试 / extra_info 验证(可选)
654
+
655
+ 参数:
656
+ <aid> 要检查的 AID(可选,默认取前 3 个本地 AID)
657
+
658
+ 选项:
659
+ --format json JSON 格式输出
660
660
  --kick-test 启用踢人测试(会断开 daemon 长连接,daemon 会自动重连)`);
661
661
  return;
662
662
  }
@@ -4,35 +4,35 @@ import { AGENT_DELEGATION_TOKEN_ENV } from '../core/auth/agent-delegation.js';
4
4
  import { getArgValue, isHelpFlag, wantsHelp } from './help.js';
5
5
  export async function cmdQueue(args) {
6
6
  if (args.length === 0 || isHelpFlag(args[0]) || wantsHelp(args)) {
7
- console.log(`用法: ec queue --agent <aid> [选项]
8
-
9
- 查询与操作 EvolAgent 的消息队列。
10
-
11
- 查询:
12
- --agent <aid> 必填,目标 agent(如 mybot.agentid.pub)
13
- --after <time> 只显示 adapter 接收时间晚于该值的消息(epoch ms 或 ISO)
14
- --before <time> 只显示 adapter 接收时间早于该值的消息(epoch ms 或 ISO)
15
- --showid 显示 messageId
16
- --full 显示完整消息内容(不截断)
17
- --format json 以 JSON 格式输出
18
-
19
- JSON 时间字段:
20
- receivedAt adapter 收到消息时间(epoch ms)
21
- enqueuedAt 实际进入队列时间(epoch ms)
22
- queueWaitMs 排队等待时长(ms)
23
- processingStartedAt 开始处理时间(epoch ms,active)
24
-
25
- 操作:
26
- --clear 清空该 agent 的所有待处理消息
27
- --cancel <messageId> 取消指定消息
28
- --interrupt --sessionkey <key> 打断指定 session 的处理中任务
29
-
30
- 示例:
31
- ec queue --agent mybot.agentid.pub
32
- ec queue --agent mybot.agentid.pub --after 2026-08-19T12:00:00+08:00
33
- ec queue --agent mybot.agentid.pub --showid
34
- ec queue --agent mybot.agentid.pub --clear
35
- ec queue --agent mybot.agentid.pub --cancel msg_d4e5f6
7
+ console.log(`用法: ec queue --agent <aid> [选项]
8
+
9
+ 查询与操作 EvolAgent 的消息队列。
10
+
11
+ 查询:
12
+ --agent <aid> 必填,目标 agent(如 mybot.agentid.pub)
13
+ --after <time> 只显示 adapter 接收时间晚于该值的消息(epoch ms 或 ISO)
14
+ --before <time> 只显示 adapter 接收时间早于该值的消息(epoch ms 或 ISO)
15
+ --showid 显示 messageId
16
+ --full 显示完整消息内容(不截断)
17
+ --format json 以 JSON 格式输出
18
+
19
+ JSON 时间字段:
20
+ receivedAt adapter 收到消息时间(epoch ms)
21
+ enqueuedAt 实际进入队列时间(epoch ms)
22
+ queueWaitMs 排队等待时长(ms)
23
+ processingStartedAt 开始处理时间(epoch ms,active)
24
+
25
+ 操作:
26
+ --clear 清空该 agent 的所有待处理消息
27
+ --cancel <messageId> 取消指定消息
28
+ --interrupt --sessionkey <key> 打断指定 session 的处理中任务
29
+
30
+ 示例:
31
+ ec queue --agent mybot.agentid.pub
32
+ ec queue --agent mybot.agentid.pub --after 2026-08-19T12:00:00+08:00
33
+ ec queue --agent mybot.agentid.pub --showid
34
+ ec queue --agent mybot.agentid.pub --clear
35
+ ec queue --agent mybot.agentid.pub --cancel msg_d4e5f6
36
36
  ec queue --agent mybot.agentid.pub --interrupt --sessionkey feishu#oc_abc123#main`);
37
37
  return;
38
38
  }
@@ -191,36 +191,36 @@ function sourceLabel(target) {
191
191
  default: return String(target);
192
192
  }
193
193
  }
194
- const HELP = `用法: ec response <command> [options]
195
-
196
- Commands:
197
- list 列出所有响应模式(内置 + 元数据)
198
- current 显示当前作用域生效的模式 + 参数
199
- info <mode-id> 查看单个模式详情(场景/配置参数)
200
- set <mode-id> 设置响应模式
201
- reset 清除指定作用域的 responseMode 设置
202
- config <mode-id> 查看指定模式的配置参数
203
- config set <k> <v> 修改模式配置参数(--mode 指定模式)
204
-
205
- 作用域(由参数决定,越具体越优先:关系 > agent):
206
- --self <aid> agent级 → config.json
207
- --self <aid> --peer <X> 关系级 → relations/<peerKey>/config.json
208
-
209
- Options:
210
- --self <aid> 本端 AID
211
- --peer <X> 对端:channelType#channelId 或裸 aid(裸 aid 视为 aun#<aid>)
212
- --mode <id> 模式 id(config set 专用)
213
- --format json 输出 JSON
214
- --help, -h 各子命令均支持
215
-
216
- 示例:
217
- ec response list
218
- ec response current --self bot.agentid.pub
219
- ec response info single-session
220
- ec response set single-session --self bot.agentid.pub
221
- ec response set single-session --self bot.agentid.pub --peer aun#team.group.com
222
- ec response config single-session --self bot.agentid.pub
223
- ec response config set tool_use_reminder false --mode single-session --self bot.agentid.pub
194
+ const HELP = `用法: ec response <command> [options]
195
+
196
+ Commands:
197
+ list 列出所有响应模式(内置 + 元数据)
198
+ current 显示当前作用域生效的模式 + 参数
199
+ info <mode-id> 查看单个模式详情(场景/配置参数)
200
+ set <mode-id> 设置响应模式
201
+ reset 清除指定作用域的 responseMode 设置
202
+ config <mode-id> 查看指定模式的配置参数
203
+ config set <k> <v> 修改模式配置参数(--mode 指定模式)
204
+
205
+ 作用域(由参数决定,越具体越优先:关系 > agent):
206
+ --self <aid> agent级 → config.json
207
+ --self <aid> --peer <X> 关系级 → relations/<peerKey>/config.json
208
+
209
+ Options:
210
+ --self <aid> 本端 AID
211
+ --peer <X> 对端:channelType#channelId 或裸 aid(裸 aid 视为 aun#<aid>)
212
+ --mode <id> 模式 id(config set 专用)
213
+ --format json 输出 JSON
214
+ --help, -h 各子命令均支持
215
+
216
+ 示例:
217
+ ec response list
218
+ ec response current --self bot.agentid.pub
219
+ ec response info single-session
220
+ ec response set single-session --self bot.agentid.pub
221
+ ec response set single-session --self bot.agentid.pub --peer aun#team.group.com
222
+ ec response config single-session --self bot.agentid.pub
223
+ ec response config set tool_use_reminder false --mode single-session --self bot.agentid.pub
224
224
  ec response reset --self bot.agentid.pub --peer alice.agentid.pub`;
225
225
  // ── list ────────────────────────────────────────────────────────────────
226
226
  function cmdList(args, formatJson) {