evolcore 0.0.1 → 0.0.3

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 (379) hide show
  1. package/CHANGELOG.md +64 -0
  2. package/LICENSE +21 -0
  3. package/MIGRATION-0.5.0.md +378 -0
  4. package/README.md +318 -14
  5. package/ROLE_ACCESS_CONTROL.md +174 -0
  6. package/assets/.env.template +4 -0
  7. package/bin/ec-safe-output.js +161 -0
  8. package/bin/ec.js +29 -0
  9. package/dist/agents/baseagent.js +163 -0
  10. package/dist/agents/claude-runner.js +2565 -0
  11. package/dist/agents/codex-app-server-client.js +448 -0
  12. package/dist/agents/codex-runner.js +2682 -0
  13. package/dist/agents/gemini-runner.js +666 -0
  14. package/dist/agents/runner-types.js +75 -0
  15. package/dist/aun/aid/agentmd.js +216 -0
  16. package/dist/aun/aid/client.js +132 -0
  17. package/dist/aun/aid/control-aid.js +91 -0
  18. package/dist/aun/aid/identity.js +518 -0
  19. package/dist/aun/aid/index.js +4 -0
  20. package/dist/aun/aid/store.js +74 -0
  21. package/dist/aun/aid/types.js +1 -0
  22. package/dist/aun/aid/validation.js +21 -0
  23. package/dist/aun/group-identity.js +10 -0
  24. package/dist/aun/msg/group-index.js +6 -0
  25. package/dist/aun/msg/group.js +1231 -0
  26. package/dist/aun/msg/history.js +123 -0
  27. package/dist/aun/msg/index.js +5 -0
  28. package/dist/aun/msg/p2p.js +393 -0
  29. package/dist/aun/msg/payload-type.js +27 -0
  30. package/dist/aun/msg/upload.js +137 -0
  31. package/dist/aun/outbox.js +168 -0
  32. package/dist/aun/rpc/caller.js +42 -0
  33. package/dist/aun/rpc/connection.js +25 -0
  34. package/dist/aun/rpc/index.js +2 -0
  35. package/dist/aun/service-proxy.js +225 -0
  36. package/dist/aun/storage/download.js +29 -0
  37. package/dist/aun/storage/index.js +3 -0
  38. package/dist/aun/storage/manage.js +10 -0
  39. package/dist/aun/storage/upload.js +68 -0
  40. package/dist/channels/aun.js +4164 -0
  41. package/dist/channels/contact-bind-code.js +134 -0
  42. package/dist/channels/daemon.js +422 -0
  43. package/dist/channels/dingtalk.js +1479 -0
  44. package/dist/channels/feishu.js +1865 -0
  45. package/dist/channels/qqbot.js +409 -0
  46. package/dist/channels/wechat.js +817 -0
  47. package/dist/channels/wecom-card.js +101 -0
  48. package/dist/channels/wecom-onboarding.js +82 -0
  49. package/dist/channels/wecom-state.js +191 -0
  50. package/dist/channels/wecom.js +1157 -0
  51. package/dist/cli/agent-command.js +642 -0
  52. package/dist/cli/agent.js +1059 -0
  53. package/dist/cli/aun-commands.js +2003 -0
  54. package/dist/cli/bench.js +1228 -0
  55. package/dist/cli/cli-argv.js +66 -0
  56. package/dist/cli/code-stats.js +329 -0
  57. package/dist/cli/command-log.js +82 -0
  58. package/dist/cli/config-selector.js +69 -0
  59. package/dist/cli/config.js +261 -0
  60. package/dist/cli/contact.js +71 -0
  61. package/dist/cli/ctl-command.js +62 -0
  62. package/dist/cli/daemon-commands.js +2750 -0
  63. package/dist/cli/fs-command.js +1447 -0
  64. package/dist/cli/handoff-command.js +302 -0
  65. package/dist/cli/help.js +35 -0
  66. package/dist/cli/index.js +374 -0
  67. package/dist/cli/init-channel.js +1372 -0
  68. package/dist/cli/init.js +590 -0
  69. package/dist/cli/link-rules.js +240 -0
  70. package/dist/cli/model.js +591 -0
  71. package/dist/cli/net-check.js +723 -0
  72. package/dist/cli/queue-command.js +150 -0
  73. package/dist/cli/raw-key-input.js +25 -0
  74. package/dist/cli/response.js +344 -0
  75. package/dist/cli/restart-monitor.js +480 -0
  76. package/dist/cli/stats.js +609 -0
  77. package/dist/cli/task-context.js +80 -0
  78. package/dist/cli/trigger-command.js +545 -0
  79. package/dist/cli/version.js +93 -0
  80. package/dist/cli/watch-logs.js +33 -0
  81. package/dist/cli/watch-msg.js +673 -0
  82. package/dist/config/boot-log.js +266 -0
  83. package/dist/config/builtin-role-templates.js +42 -0
  84. package/dist/config/builtin-roles.js +91 -0
  85. package/dist/config/config-batch-get.js +11 -0
  86. package/dist/config/config-field-policy.js +261 -0
  87. package/dist/config/config-manager.js +1120 -0
  88. package/dist/config/config-operation-service.js +384 -0
  89. package/dist/config/contact-alias.js +68 -0
  90. package/dist/config/contact-book-store.js +454 -0
  91. package/dist/config/contact-book-v2-startup.js +35 -0
  92. package/dist/config/contact-book.js +224 -0
  93. package/dist/config/contact-operation-service.js +110 -0
  94. package/dist/config/gateway-config.js +858 -0
  95. package/dist/config/lifecycle.js +17 -0
  96. package/dist/config/mention-mode.js +27 -0
  97. package/dist/config/merge.js +161 -0
  98. package/dist/config/owner-policy.js +4 -0
  99. package/dist/config/peer-role-resolver.js +218 -0
  100. package/dist/config/resolved-config-op.js +483 -0
  101. package/dist/config/role-config-v4-startup.js +32 -0
  102. package/dist/config/role-config-v5-startup.js +27 -0
  103. package/dist/config/role-ranks.js +18 -0
  104. package/dist/config/role-schema.js +105 -0
  105. package/dist/config/role-service.js +156 -0
  106. package/dist/config/role-store.js +215 -0
  107. package/dist/config/roles.js +64 -0
  108. package/dist/config/schema-registry.js +154 -0
  109. package/dist/config/snapshot.js +598 -0
  110. package/dist/config-store.js +501 -0
  111. package/dist/core/auth/agent-delegation.js +111 -0
  112. package/dist/core/auth/auth-gateway.js +166 -0
  113. package/dist/core/auth/authenticated-actor.js +6 -0
  114. package/dist/core/auth/authorization-audit.js +119 -0
  115. package/dist/core/auth/operation-authorizer.js +720 -0
  116. package/dist/core/auth/operation-catalog.js +731 -0
  117. package/dist/core/baseagent-loader.js +54 -0
  118. package/dist/core/bootstrap-service.js +175 -0
  119. package/dist/core/capability/capability-manager.js +316 -0
  120. package/dist/core/capability/providers/claude-capability-provider.js +176 -0
  121. package/dist/core/capability/providers/codex-capability-provider.js +148 -0
  122. package/dist/core/capability/providers/gemini-capability-provider.js +10 -0
  123. package/dist/core/capability/types.js +27 -0
  124. package/dist/core/causation/audit.js +103 -0
  125. package/dist/core/causation/aun-association.js +111 -0
  126. package/dist/core/causation/context.js +93 -0
  127. package/dist/core/causation/index.js +4 -0
  128. package/dist/core/causation/types.js +2 -0
  129. package/dist/core/channel-loader.js +277 -0
  130. package/dist/core/command/agent-control.js +616 -0
  131. package/dist/core/command/cli-intent-parser.js +225 -0
  132. package/dist/core/command/command-handler.js +1733 -0
  133. package/dist/core/command/connect-menu.js +374 -0
  134. package/dist/core/command/menu-handler.js +3452 -0
  135. package/dist/core/command/menu-protocol.js +247 -0
  136. package/dist/core/command/role-menu.js +1623 -0
  137. package/dist/core/command/slash-gate.js +148 -0
  138. package/dist/core/command/slash-handler.js +3066 -0
  139. package/dist/core/daemon-file-cache.js +222 -0
  140. package/dist/core/event-bus.js +32 -0
  141. package/dist/core/event-catalog.js +810 -0
  142. package/dist/core/evolagent-registry.js +545 -0
  143. package/dist/core/evolagent.js +342 -0
  144. package/dist/core/handoff/dispatcher.js +229 -0
  145. package/dist/core/handoff/mutex.js +46 -0
  146. package/dist/core/handoff/runtime.js +324 -0
  147. package/dist/core/handoff/store.js +537 -0
  148. package/dist/core/handoff/types.js +12 -0
  149. package/dist/core/inference/text-inference.js +173 -0
  150. package/dist/core/interaction-registration.js +10 -0
  151. package/dist/core/interaction-router.js +278 -0
  152. package/dist/core/message/create-status.js +67 -0
  153. package/dist/core/message/im-renderer.js +659 -0
  154. package/dist/core/message/items-formatter.js +76 -0
  155. package/dist/core/message/logical-queue-bridge.js +123 -0
  156. package/dist/core/message/message-bridge.js +874 -0
  157. package/dist/core/message/message-cache.js +56 -0
  158. package/dist/core/message/message-log.js +339 -0
  159. package/dist/core/message/message-processor.js +4 -0
  160. package/dist/core/message/message-queue.js +1446 -0
  161. package/dist/core/message/message-utils.js +76 -0
  162. package/dist/core/message/peer-mode.js +105 -0
  163. package/dist/core/message/pending-hints.js +232 -0
  164. package/dist/core/message/response-depth.js +33 -0
  165. package/dist/core/message/response-engine.js +4020 -0
  166. package/dist/core/message/response-snapshot.js +83 -0
  167. package/dist/core/message/send-receipt.js +24 -0
  168. package/dist/core/message/stream-debouncer.js +139 -0
  169. package/dist/core/message/stream-idle-monitor.js +124 -0
  170. package/dist/core/model/config-scope.js +162 -0
  171. package/dist/core/model/field-scope.js +78 -0
  172. package/dist/core/model/model-catalog.js +227 -0
  173. package/dist/core/model/model-diagnostics.js +182 -0
  174. package/dist/core/model/model-permission.js +90 -0
  175. package/dist/core/permission/approval-gateway.js +1017 -0
  176. package/dist/core/permission/ec-command-parser.js +347 -0
  177. package/dist/core/permission/execution-sandbox.js +16 -0
  178. package/dist/core/permission/index.js +6 -0
  179. package/dist/core/permission/mode.js +24 -0
  180. package/dist/core/permission/sandbox-runtime.js +265 -0
  181. package/dist/core/permission/tool-policy.js +1019 -0
  182. package/dist/core/permission/unix-socket-policy.js +99 -0
  183. package/dist/core/protected-paths.js +332 -0
  184. package/dist/core/relation/peer-identity.js +222 -0
  185. package/dist/core/relation/peer-key.js +1 -0
  186. package/dist/core/role/runtime-policy.js +141 -0
  187. package/dist/core/session/adapters/claude-session-file-adapter.js +218 -0
  188. package/dist/core/session/adapters/codex-session-file-adapter.js +333 -0
  189. package/dist/core/session/adapters/gemini-session-file-adapter.js +181 -0
  190. package/dist/core/session/session-file-adapter.js +7 -0
  191. package/dist/core/session/session-file-health.js +45 -0
  192. package/dist/core/session/session-fs-store.js +273 -0
  193. package/dist/core/session/session-key.js +24 -0
  194. package/dist/core/session/session-manager.js +1643 -0
  195. package/dist/core/session/session-mapper.js +100 -0
  196. package/dist/core/session/session-renew.js +314 -0
  197. package/dist/core/session/session-title.js +128 -0
  198. package/dist/core/session/session-turn-coordinator.js +205 -0
  199. package/dist/core/session/session-turns.js +67 -0
  200. package/dist/core/system-channels.js +29 -0
  201. package/dist/eck/baseagent-caps.js +18 -0
  202. package/dist/eck/detect.js +47 -0
  203. package/dist/eck/group-rules-sync.js +345 -0
  204. package/dist/eck/init.js +77 -0
  205. package/dist/eck/kit-renderer.js +359 -0
  206. package/dist/eck/manifest-engine.js +446 -0
  207. package/dist/eck/message-renderer.js +199 -0
  208. package/dist/eck/rules-loader.js +28 -0
  209. package/dist/index.js +2926 -4
  210. package/dist/ipc.js +777 -0
  211. package/dist/paths.js +262 -0
  212. package/dist/product.js +18 -0
  213. package/dist/response-system/context-builder.js +71 -0
  214. package/dist/response-system/coordinator.js +117 -0
  215. package/dist/response-system/decision-executor.js +86 -0
  216. package/dist/response-system/engines/v1/index.js +21 -0
  217. package/dist/response-system/engines/v1/interactive-flow.js +27 -0
  218. package/dist/response-system/engines/v1/proactive-flow.js +137 -0
  219. package/dist/response-system/engines/v1/types.js +1 -0
  220. package/dist/response-system/extensions.js +41 -0
  221. package/dist/response-system/index.js +6 -0
  222. package/dist/response-system/modes/index.js +7 -0
  223. package/dist/response-system/modes/single-session/index.js +72 -0
  224. package/dist/response-system/queues/fifo-queue.js +44 -0
  225. package/dist/response-system/queues/index.js +6 -0
  226. package/dist/response-system/queues/lifo-queue.js +42 -0
  227. package/dist/response-system/queues/priority-queue.js +63 -0
  228. package/dist/response-system/registry.js +97 -0
  229. package/dist/response-system/resolver.js +37 -0
  230. package/dist/response-system/selector.js +23 -0
  231. package/dist/response-system/types.js +7 -0
  232. package/dist/stats/billing.js +163 -0
  233. package/dist/stats/budget.js +93 -0
  234. package/dist/stats/db.js +403 -0
  235. package/dist/stats/eck-vars.js +89 -0
  236. package/dist/stats/index.js +11 -0
  237. package/dist/stats/normalizer.js +80 -0
  238. package/dist/stats/price-resolver.js +138 -0
  239. package/dist/stats/query.js +763 -0
  240. package/dist/stats/role-budget.js +168 -0
  241. package/dist/stats/writer.js +151 -0
  242. package/dist/trigger/anomaly-store.js +258 -0
  243. package/dist/trigger/audit.js +152 -0
  244. package/dist/trigger/event-source.js +119 -0
  245. package/dist/trigger/feedback.js +685 -0
  246. package/dist/trigger/history.js +290 -0
  247. package/dist/trigger/manager.js +294 -0
  248. package/dist/trigger/parser.js +595 -0
  249. package/dist/trigger/patch.js +155 -0
  250. package/dist/trigger/scheduler.js +1602 -0
  251. package/dist/trigger/script-executor.js +155 -0
  252. package/dist/trigger/state.js +145 -0
  253. package/dist/trigger/types.js +1 -0
  254. package/dist/trigger/validation.js +634 -0
  255. package/dist/types.js +12 -0
  256. package/dist/utils/aid-bind.js +313 -0
  257. package/dist/utils/atomic-write.js +95 -0
  258. package/dist/utils/avatar-upload.js +123 -0
  259. package/dist/utils/cross-platform.js +297 -0
  260. package/dist/utils/ecweb-utils.js +73 -0
  261. package/dist/utils/error-dict.json +153 -0
  262. package/dist/utils/error-utils.js +349 -0
  263. package/dist/utils/instance-registry.js +444 -0
  264. package/dist/utils/locale.js +21 -0
  265. package/dist/utils/log-writer.js +270 -0
  266. package/dist/utils/logger.js +89 -0
  267. package/dist/utils/markdown-to-plain-text.js +20 -0
  268. package/dist/utils/media-cache.js +274 -0
  269. package/dist/utils/model-prices.jsonl +20 -0
  270. package/dist/utils/npm-ops.js +210 -0
  271. package/dist/utils/process-introspect.js +133 -0
  272. package/dist/utils/process-tree-stats.js +271 -0
  273. package/dist/utils/project-path.js +74 -0
  274. package/dist/utils/restart-safety.js +31 -0
  275. package/dist/utils/stats.js +410 -0
  276. package/dist/utils/system-memory.js +62 -0
  277. package/dist/utils/tool-summary.js +284 -0
  278. package/dist/utils/welcome.js +268 -0
  279. package/kits/docs/GUIDE.md +20 -0
  280. package/kits/docs/INDEX.md +66 -0
  281. package/kits/docs/aun/CHEATSHEET.md +19 -0
  282. package/kits/docs/aun/SYNC_PROTOCOL.md +15 -0
  283. package/kits/docs/channels/aun.md +65 -0
  284. package/kits/docs/channels/feishu.md +56 -0
  285. package/kits/docs/context-assembly.md +366 -0
  286. package/kits/docs/eck_templates/GUIDE.template.md +22 -0
  287. package/kits/docs/eck_templates/INDEX.template.md +28 -0
  288. package/kits/docs/eck_templates/path-registry.template.md +33 -0
  289. package/kits/docs/eck_templates/runtime.template.md +19 -0
  290. package/kits/docs/evolcore/INDEX.md +68 -0
  291. package/kits/docs/evolcore/agent.md +77 -0
  292. package/kits/docs/evolcore/aid.md +52 -0
  293. package/kits/docs/evolcore/config.md +149 -0
  294. package/kits/docs/evolcore/contact.md +57 -0
  295. package/kits/docs/evolcore/ctl.md +46 -0
  296. package/kits/docs/evolcore/event.md +216 -0
  297. package/kits/docs/evolcore/fs-architecture.md +1215 -0
  298. package/kits/docs/evolcore/fs.md +110 -0
  299. package/kits/docs/evolcore/group-fs.md +17 -0
  300. package/kits/docs/evolcore/group-rules.md +226 -0
  301. package/kits/docs/evolcore/group.md +150 -0
  302. package/kits/docs/evolcore/model.md +50 -0
  303. package/kits/docs/evolcore/msg.md +136 -0
  304. package/kits/docs/evolcore/response.md +75 -0
  305. package/kits/docs/evolcore/rpc.md +37 -0
  306. package/kits/docs/evolcore/self-summary.md +29 -0
  307. package/kits/docs/evolcore/stats.md +83 -0
  308. package/kits/docs/evolcore/storage.md +50 -0
  309. package/kits/docs/evolcore/trigger.md +539 -0
  310. package/kits/docs/identity/AID_PROFILE_SPEC.md +26 -0
  311. package/kits/docs/identity/PATH_OPS.md +16 -0
  312. package/kits/docs/identity/ROLE_DETAIL.md +23 -0
  313. package/kits/docs/identity/identity-tools.md +26 -0
  314. package/kits/docs/path-registry.md +43 -0
  315. package/kits/docs/prompt-loading-architecture.md +266 -0
  316. package/kits/docs/venues/aun-group.md +45 -0
  317. package/kits/docs/venues/aun-private.md +10 -0
  318. package/kits/docs/venues/client-desktop.md +10 -0
  319. package/kits/docs/venues/client-mobile.md +10 -0
  320. package/kits/docs/venues/feishu-group.md +13 -0
  321. package/kits/docs/venues/feishu-private.md +9 -0
  322. package/kits/docs/venues/group.md +25 -0
  323. package/kits/docs/venues/private.md +10 -0
  324. package/kits/eck_manifest.auxiliary.json +43 -0
  325. package/kits/eck_manifest.json +203 -0
  326. package/kits/eck_message_manifest.json +63 -0
  327. package/kits/migrations/README-role-config-v4.md +32 -0
  328. package/kits/migrations/migrate-contact-book-v2.mjs +747 -0
  329. package/kits/migrations/migrate-role-config-v4.mjs +623 -0
  330. package/kits/migrations/migrate-role-config-v5.mjs +346 -0
  331. package/kits/migrations/rename-config-file.mjs +99 -0
  332. package/kits/rules/01-overview.md +142 -0
  333. package/kits/rules/02-navigation.md +76 -0
  334. package/kits/rules/03-identity.md +34 -0
  335. package/kits/rules/04-relation.md +59 -0
  336. package/kits/rules/05-venue.md +44 -0
  337. package/kits/rules/06-channel.md +59 -0
  338. package/kits/schemas/_meta.json +32 -0
  339. package/kits/schemas/agent-config.schema.1.json +177 -0
  340. package/kits/schemas/agent-config.schema.2.json +239 -0
  341. package/kits/schemas/agent-config.schema.3.json +119 -0
  342. package/kits/schemas/agent-config.schema.4.json +208 -0
  343. package/kits/schemas/agent-config.schema.5.json +326 -0
  344. package/kits/schemas/agent-config.schema.6.json +322 -0
  345. package/kits/schemas/contact-book.schema.1.json +36 -0
  346. package/kits/schemas/contact-book.schema.2.json +43 -0
  347. package/kits/schemas/daemon.schema.1.json +90 -0
  348. package/kits/schemas/defaults.schema.1.json +81 -0
  349. package/kits/schemas/menu-exec-schema-commands.md +208 -0
  350. package/kits/schemas/migrations/README.md +28 -0
  351. package/kits/schemas/relation-config.schema.1.json +158 -0
  352. package/kits/schemas/relation-config.schema.2.json +73 -0
  353. package/kits/schemas/relation-config.schema.3.json +50 -0
  354. package/kits/schemas/relation-config.schema.4.json +47 -0
  355. package/kits/schemas/relation-config.schema.5.json +47 -0
  356. package/kits/schemas/role-config.schema.1.json +201 -0
  357. package/kits/schemas/role-registry.schema.1.json +35 -0
  358. package/kits/schemas/single-session.schema.1.json +31 -0
  359. package/kits/templates/bootstrap-welcome.md +15 -0
  360. package/kits/templates/message-fragments/handoff-request-to-target.md +13 -0
  361. package/kits/templates/message-fragments/handoff-response-to-origin.md +10 -0
  362. package/kits/templates/message-fragments/inject-default.md +2 -0
  363. package/kits/templates/message-fragments/item.md +2 -0
  364. package/kits/templates/roles/admin.json +9 -0
  365. package/kits/templates/roles/member.json +41 -0
  366. package/kits/templates/roles/owner.json +9 -0
  367. package/kits/templates/roles/visitor.json +40 -0
  368. package/kits/templates/system-fragments/baseagent.md +14 -0
  369. package/kits/templates/system-fragments/bootstrap.md +16 -0
  370. package/kits/templates/system-fragments/channel.md +48 -0
  371. package/kits/templates/system-fragments/commands.md +28 -0
  372. package/kits/templates/system-fragments/identity.md +11 -0
  373. package/kits/templates/system-fragments/relation.md +19 -0
  374. package/kits/templates/system-fragments/session.md +53 -0
  375. package/kits/templates/system-fragments/venue.md +31 -0
  376. package/package.json +50 -15
  377. package/dist/index.d.ts +0 -7
  378. package/dist/index.d.ts.map +0 -1
  379. package/dist/index.js.map +0 -1
@@ -0,0 +1,374 @@
1
+ #!/usr/bin/env node
2
+ // Suppress AUN SDK logs BEFORE any imports (SDK may initialize during module load)
3
+ process.env.AUN_LOG_INI_DISABLE = '1';
4
+ import fs from 'fs';
5
+ import path from 'path';
6
+ import { getPackageRoot } from '../paths.js';
7
+ import { cmdInit } from './init.js';
8
+ import { cmdInitWechat, cmdInitFeishu, cmdInitDingtalk, cmdInitQQBot, cmdInitWecom, cmdInitAun } from './init-channel.js';
9
+ import { isHelpFlag, wantsHelp, getArgValue } from './help.js';
10
+ import * as platform from '../utils/cross-platform.js';
11
+ import { cmdRestartMonitor } from './restart-monitor.js';
12
+ import { cmdAid, cmdRpc, cmdStorage, cmdMsg, cmdGroup } from './aun-commands.js';
13
+ import { cmdAgent } from './agent-command.js';
14
+ import { cmdCtl } from './ctl-command.js';
15
+ import { cmdQueue } from './queue-command.js';
16
+ import { cmdStart, cmdStop, cmdRestart, cmdStatus, cmdLogs, cmdWatchCommand, cmdMv, cmdDiagnose } from './daemon-commands.js';
17
+ import { logCliCommand } from './command-log.js';
18
+ const MAIN_HELP = `用法: ec <command> [选项]
19
+
20
+ 服务:
21
+ init 初始化默认配置、owner、控制 AID 与 EC Web
22
+ start 启动服务
23
+ stop 停止服务
24
+ restart 重启服务并检查更新
25
+ status 查看运行状态
26
+ logs 持续查看 daemon 日志
27
+ watch 打开日志、AID、消息或 EC Web 监控
28
+
29
+ Agent 与会话:
30
+ agent 管理 EvolAgent
31
+ ctl 当前托管会话的控制命令
32
+ queue 查询或操作 agent 消息队列
33
+ trigger 管理定时与事件触发器
34
+ handoff 查询和完成跨会话回流
35
+ model 查看或设置模型与推理强度
36
+ response 查看或设置响应模式
37
+
38
+ AUN:
39
+ aid 管理 AID 身份与 agent.md
40
+ msg 私聊消息收发、撤回、在线状态与历史
41
+ group 群消息与群管理
42
+ fs AUN 文件系统
43
+ storage 底层对象存储命令
44
+ rpc 调用底层 AUN RPC
45
+ contact 联系人黑名单管理
46
+ net AUN 网络链路诊断
47
+
48
+ 配置与诊断:
49
+ config 读取、修改和检查分层配置
50
+ stats Token 用量与费用统计
51
+ diagnose 检查启动环境
52
+ version 显示组件版本
53
+ mv 迁移项目目录和会话路径
54
+
55
+ 维护命令:
56
+ mode 切换开发源码与 npm 包运行模式
57
+ restart-monitor 运行 daemon 重启监控器
58
+ bench AUN 消息性能基准测试
59
+ link-rules 连接 ECK rules 到项目目录
60
+
61
+ 运行 ec <command> --help 查看该命令的完整参数。
62
+
63
+ 环境变量:
64
+ EVOLCORE_HOME 数据目录(默认: ~/.evolcore)
65
+ LOG_LEVEL 日志级别(默认: INFO)
66
+ MESSAGE_LOG 消息日志(默认: true)
67
+ EVENT_LOG 事件日志(默认: true)`;
68
+ function printLifecycleHelp(command) {
69
+ const help = {
70
+ start: `用法: ec start [--foreground] [--diagnose|-d]\n\n --foreground 前台运行,适合 systemd 或容器直接管理\n --diagnose, -d 以诊断模式启动 daemon`,
71
+ stop: '用法: ec stop\n\n停止当前 EVOLCORE_HOME 下运行的 EvolCore 服务。',
72
+ restart: `用法: ec restart [--clear] [--diagnose|-d]\n\n --clear 同时清理跨 HOME 残留的 EvolCore 主进程\n --diagnose, -d 以诊断模式启动新 daemon`,
73
+ status: '用法: ec status\n\n查看 daemon、agent、渠道与会话运行状态。',
74
+ logs: `用法: ec logs [选项]\n\n --level <error|warn|info|debug> 最低日志级别\n --module <name> 只显示指定模块\n --raw 原始输出\n --no-color 禁用颜色`,
75
+ 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 的兼容别名`,
76
+ 'restart-monitor': '用法: ec restart-monitor\n\n运行内 daemon 重启与升级监控器。',
77
+ diagnose: '用法: ec diagnose\n\n检查配置、数据库、进程和编译产物。',
78
+ mv: '用法: ec mv <old-directory> <new-directory>\n\n迁移项目目录以及 Claude、Codex 和 EvolCore 会话路径。',
79
+ };
80
+ console.log(help[command]);
81
+ }
82
+ // Suppress Node.js ExperimentalWarning (e.g. SQLite) from cluttering CLI output
83
+ process.removeAllListeners('warning');
84
+ process.on('warning', (w) => { if (w.name === 'ExperimentalWarning')
85
+ return; process.stderr.write((w.stack ?? String(w)) + '\n'); });
86
+ export async function main(args) {
87
+ const cmd = args[0] || 'start';
88
+ logCliCommand(cmd, args);
89
+ if (cmd === '--version' || cmd === '-v' || cmd === '-V') {
90
+ const pkg = JSON.parse(fs.readFileSync(path.join(getPackageRoot(), 'package.json'), 'utf-8'));
91
+ console.log(pkg.version);
92
+ return;
93
+ }
94
+ if (isHelpFlag(cmd)) {
95
+ console.log(MAIN_HELP);
96
+ return;
97
+ }
98
+ switch (cmd) {
99
+ case 'init':
100
+ if (wantsHelp(args.slice(1))) {
101
+ console.log(`用法: ec init [渠道] [选项]
102
+
103
+ 仅初始化 defaults.json:
104
+ ec init 交互式(写完 defaults.json 后嵌套 agent new)
105
+ ec init --non-interactive [选项]
106
+ --baseagent <claude|codex|gemini> 默认: PATH 中第一个可用项
107
+ --force 已存在 defaults.json 时覆盖
108
+
109
+ 云部署非交互式初始化(结构化 JSON 输出):
110
+ ec init --non-interactive --owner <aid> [--format json] [选项]
111
+ --owner <aid> 必填。唯一 daemon owner AID
112
+ --baseagent <claude|codex|gemini> 可选。默认从 PATH 检测
113
+ --projectpath <abs-path> 可选。默认项目目录(必须绝对路径,自动创建)
114
+ --ecweb 可选。安装 EC Web 并启用自启动
115
+ --format json 可选但推荐。stdout 输出 init.result JSON
116
+ --force 已有不同 owner 时强制覆盖
117
+
118
+ 配置渠道(先 ec agent new 创建 agent):
119
+ ec init aun AUN owner 绑定(daemon 或指定 agent)
120
+ ec init feishu 飞书扫码登录
121
+ ec init wechat 微信扫码登录
122
+ ec init dingtalk 钉钉扫码登录
123
+ ec init qqbot QQ 机器人扫码绑定
124
+ ec init wecom 企业微信 AI Bot 扫码创建/手工配置`);
125
+ }
126
+ else if (args[1] === 'aun') {
127
+ const { suppressSdkLogs } = await import('../aun/aid/index.js');
128
+ suppressSdkLogs();
129
+ await cmdInitAun();
130
+ }
131
+ else if (args[1] === 'wechat') {
132
+ const { suppressSdkLogs } = await import('../aun/aid/index.js');
133
+ suppressSdkLogs();
134
+ await cmdInitWechat();
135
+ }
136
+ else if (args[1] === 'feishu') {
137
+ const { suppressSdkLogs } = await import('../aun/aid/index.js');
138
+ suppressSdkLogs();
139
+ await cmdInitFeishu();
140
+ }
141
+ else if (args[1] === 'dingtalk') {
142
+ const { suppressSdkLogs } = await import('../aun/aid/index.js');
143
+ suppressSdkLogs();
144
+ await cmdInitDingtalk();
145
+ }
146
+ else if (args[1] === 'qqbot') {
147
+ const { suppressSdkLogs } = await import('../aun/aid/index.js');
148
+ suppressSdkLogs();
149
+ await cmdInitQQBot();
150
+ }
151
+ else if (args[1] === 'wecom') {
152
+ await cmdInitWecom();
153
+ }
154
+ else if (args[1] && !args[1].startsWith('-')) {
155
+ const supported = ['feishu', 'wechat', 'aun', 'dingtalk', 'qqbot', 'wecom'];
156
+ console.error(`❌ 不支持的渠道: ${args[1]}`);
157
+ console.error(` 支持的渠道: ${supported.join(', ')}`);
158
+ process.exit(1);
159
+ }
160
+ else {
161
+ const { suppressSdkLogs } = await import('../aun/aid/index.js');
162
+ suppressSdkLogs();
163
+ const nonInteractive = args.includes('--non-interactive');
164
+ await cmdInit({
165
+ nonInteractive,
166
+ baseagent: getArgValue(args, '--baseagent'),
167
+ force: args.includes('--force'),
168
+ owner: getArgValue(args, '--owner'),
169
+ projectpath: getArgValue(args, '--projectpath'),
170
+ ecweb: args.includes('--ecweb'),
171
+ format: getArgValue(args, '--format'),
172
+ });
173
+ }
174
+ break;
175
+ case 'start':
176
+ if (wantsHelp(args.slice(1))) {
177
+ printLifecycleHelp('start');
178
+ break;
179
+ }
180
+ await cmdStart({
181
+ diagnose: args.includes('--diagnose') || args.includes('-d'),
182
+ foreground: args.includes('--foreground'),
183
+ });
184
+ break;
185
+ case 'stop':
186
+ if (wantsHelp(args.slice(1))) {
187
+ printLifecycleHelp('stop');
188
+ break;
189
+ }
190
+ await cmdStop();
191
+ break;
192
+ case 'restart':
193
+ if (wantsHelp(args.slice(1))) {
194
+ printLifecycleHelp('restart');
195
+ break;
196
+ }
197
+ await cmdRestart({ clear: args.includes('--clear'), diagnose: args.includes('--diagnose') || args.includes('-d') });
198
+ break;
199
+ case 'status':
200
+ if (wantsHelp(args.slice(1))) {
201
+ printLifecycleHelp('status');
202
+ break;
203
+ }
204
+ await cmdStatus();
205
+ break;
206
+ case 'logs':
207
+ if (wantsHelp(args.slice(1))) {
208
+ printLifecycleHelp('logs');
209
+ break;
210
+ }
211
+ cmdLogs(args.slice(1));
212
+ break;
213
+ case 'watch':
214
+ if (wantsHelp(args.slice(1))) {
215
+ printLifecycleHelp('watch');
216
+ break;
217
+ }
218
+ await cmdWatchCommand(args.slice(1));
219
+ break;
220
+ case 'restart-monitor':
221
+ if (wantsHelp(args.slice(1))) {
222
+ printLifecycleHelp('restart-monitor');
223
+ break;
224
+ }
225
+ await cmdRestartMonitor();
226
+ break;
227
+ case 'mode':
228
+ try {
229
+ // 开发源码仓可提供 mode.js;正式 npm 包可以不携带该内部命令。
230
+ const { cmdMode } = await import('./mode.js');
231
+ await cmdMode(args.slice(1));
232
+ }
233
+ catch (error) {
234
+ if (error?.code === 'ERR_MODULE_NOT_FOUND' && /(?:^|[\\/])mode\.js(?:$|')/.test(String(error?.message ?? ''))) {
235
+ console.error('❌ 无效指令: mode');
236
+ process.exitCode = 1;
237
+ break;
238
+ }
239
+ throw error;
240
+ }
241
+ break;
242
+ case 'mv':
243
+ if (wantsHelp(args.slice(1))) {
244
+ printLifecycleHelp('mv');
245
+ break;
246
+ }
247
+ await cmdMv(args[1], args[2]);
248
+ break;
249
+ case 'diagnose':
250
+ if (wantsHelp(args.slice(1))) {
251
+ printLifecycleHelp('diagnose');
252
+ break;
253
+ }
254
+ await cmdDiagnose();
255
+ break;
256
+ case 'net': {
257
+ const { cmdNet } = await import('./net-check.js');
258
+ await cmdNet(args.slice(1));
259
+ break;
260
+ }
261
+ case 'ctl':
262
+ await cmdCtl(args.slice(1));
263
+ break;
264
+ case 'queue':
265
+ await cmdQueue(args.slice(1));
266
+ break;
267
+ case 'trigger':
268
+ {
269
+ const { cmdTrigger } = await import('./trigger-command.js');
270
+ await cmdTrigger(args.slice(1));
271
+ }
272
+ break;
273
+ case 'agent': {
274
+ const { suppressSdkLogs } = await import('../aun/aid/index.js');
275
+ suppressSdkLogs();
276
+ await cmdAgent(args.slice(1));
277
+ break;
278
+ }
279
+ case 'aid': {
280
+ const { suppressSdkLogs } = await import('../aun/aid/index.js');
281
+ suppressSdkLogs();
282
+ await cmdAid(args.slice(1));
283
+ break;
284
+ }
285
+ case 'rpc': {
286
+ const { suppressSdkLogs } = await import('../aun/aid/index.js');
287
+ suppressSdkLogs();
288
+ await cmdRpc(args.slice(1));
289
+ break;
290
+ }
291
+ case 'storage': {
292
+ const { suppressSdkLogs } = await import('../aun/aid/index.js');
293
+ suppressSdkLogs();
294
+ await cmdStorage(args.slice(1));
295
+ break;
296
+ }
297
+ case 'fs': {
298
+ const { suppressSdkLogs } = await import('../aun/aid/index.js');
299
+ suppressSdkLogs();
300
+ const { cmdFs } = await import('./fs-command.js');
301
+ await cmdFs(args.slice(1));
302
+ break;
303
+ }
304
+ case 'msg': {
305
+ const { suppressSdkLogs } = await import('../aun/aid/index.js');
306
+ suppressSdkLogs();
307
+ await cmdMsg(args.slice(1));
308
+ break;
309
+ }
310
+ case 'handoff': {
311
+ const { cmdHandoff } = await import('./handoff-command.js');
312
+ await cmdHandoff(args.slice(1));
313
+ break;
314
+ }
315
+ case 'group': {
316
+ const { suppressSdkLogs } = await import('../aun/aid/index.js');
317
+ suppressSdkLogs();
318
+ await cmdGroup(args.slice(1));
319
+ break;
320
+ }
321
+ case 'model': {
322
+ const { cmdModel } = await import('./model.js');
323
+ await cmdModel(args.slice(1));
324
+ break;
325
+ }
326
+ case 'response': {
327
+ const { cmdResponse } = await import('./response.js');
328
+ await cmdResponse(args.slice(1));
329
+ break;
330
+ }
331
+ case 'config': {
332
+ const { cmdConfig } = await import('./config.js');
333
+ await cmdConfig(args.slice(1));
334
+ break;
335
+ }
336
+ case 'contact': {
337
+ const { cmdContact } = await import('./contact.js');
338
+ await cmdContact(args.slice(1));
339
+ break;
340
+ }
341
+ case 'stats': {
342
+ const { handleStats } = await import('./stats.js');
343
+ await handleStats(args.slice(1));
344
+ break;
345
+ }
346
+ case 'version':
347
+ case '-v':
348
+ case '--version': {
349
+ const { handleVersion } = await import('./version.js');
350
+ handleVersion(args.slice(1));
351
+ break;
352
+ }
353
+ case 'bench': {
354
+ const { suppressSdkLogs } = await import('../aun/aid/index.js');
355
+ suppressSdkLogs();
356
+ const { cmdBench } = await import('./bench.js');
357
+ await cmdBench(args.slice(1));
358
+ break;
359
+ }
360
+ case 'link-rules': {
361
+ const { cmdLinkRules } = await import('./link-rules.js');
362
+ cmdLinkRules(args.slice(1));
363
+ break;
364
+ }
365
+ default:
366
+ console.error(`未知命令: ${cmd}`);
367
+ console.log(MAIN_HELP);
368
+ process.exitCode = 1;
369
+ }
370
+ }
371
+ // 直接运行时自动执行(node dist/cli/index.js ...)
372
+ if (platform.isMainScript(import.meta.url)) {
373
+ main(process.argv.slice(2));
374
+ }