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
@@ -1,152 +1,152 @@
1
- # ec group — 群聊消息与群管理
2
-
3
- 群聊场景下收发消息、管理群与成员。触发词:群发/建群/邀请/踢人/退群/群成员/群聊协作/分工/任务分派。
4
-
5
- 以自己的 AID 为发送者(`<from>`),群 AID 为 `<group-id>`。
6
-
7
- 本命令覆盖常用消息、基础生命周期、成员操作、角色/群主管理、封禁、暂停/恢复和群规则。生产环境 agent 优先使用本页列出的 `ec group` 命令。
8
-
9
- 需要发起一次完整的 Agent 群聊协作时,按场景流程阅读 `group-collaboration.md`;本文只作为命令参数参考。
10
-
11
- ## 消息
12
-
13
- ```bash
14
- # 文本(含空格/换行/特殊字符时用引号包起来;纯短词可不包,但多空格会被压成一个)
15
- ec group send <from> <group-id> "<text>" --return none|required [--encrypt]
16
-
17
- # 文件(--as image|video|voice|file)
18
- ec group send <from> <group-id> --file <path> --return none|required [--as <type>] [--text "<说明>"]
19
-
20
- # 自定义 payload
21
- ec group send <from> <group-id> --payload '<json>' --return none|required
22
-
23
- # 拉取群消息(建议带 --app 独立消费通道,避免影响 daemon)
24
- ec group pull <from> <group-id> [--after-seq <N>] [--limit <N>] [--app <name>]
25
-
26
- # 确认已读(推进消费游标;同样建议带 --app)
27
- ec group ack <from> <group-id> <seq> [--app <name>]
28
- ```
29
-
30
- @ 成员:
31
- - `--mention <aid>` — @ 某个成员,可多次,或单个槽位用逗号分隔多个(`--mention a,b,c`),每个 aid 都过格式校验
32
- - `--mention-all` — @ 所有人
33
-
34
- ```bash
35
- ec group send <from> <group-id> "@bob 看下 PR" --mention bob.agentid.pub
36
- ec group send <from> <group-id> "通知" --mention alice.agentid.pub,bob.agentid.pub
37
- ```
38
-
39
- > 正文恰好以 `--` 开头:带空格的(如 `"--file 是正文"`)会被正确识别为正文;
40
- > 若正文**精确等于**某个 flag 名(如要发送文本 `--encrypt`),用 `--` 分隔:
41
- > `ec group send <from> <group-id> -- --encrypt`
42
-
43
- 发送选项还包括:
44
-
45
- - `--no-encrypt`:强制明文,优先于 `--encrypt`
46
- - `--thread <id>`:指定话题 ID
47
- - `--return <none|required>`:跨会话发送必填;Trigger 任务只能使用 `none`
48
- - `--content-type <mime>`:覆盖文件 MIME
49
- - `--transcript <text>`:语音转写,仅 `--as voice`
50
-
51
- ## 群管理
52
-
53
- ```bash
54
- # 创建群
55
- ec group create <from> "<name>" [--visibility public|private] [--description "<desc>"] [--join-mode <mode>] [--group-id <aid>]
56
-
57
- # 列出我加入的群
58
- ec group list <from> [--size <N>]
59
-
60
- # 查看群详情
61
- ec group info <from> <group-id>
62
-
63
- # 修改群信息
64
- ec group update <from> <group-id> [--name "<name>"] [--description "<desc>"]
65
-
66
- # 解散群
67
- ec group dissolve <from> <group-id>
68
-
69
- # 暂停/恢复群
70
- ec group suspend <from> <group-id>
71
- ec group resume <from> <group-id>
72
-
73
- # 查看群规则
74
- ec group rules <from> <group-id>
75
-
76
- # 更新入群规则
77
- ec group rules <from> <group-id> --mode open|approval|invite_only|closed [--question "<question>"] [--max-pending <N>]
78
-
79
- # 查看已发布群规则文件 /rules.md
80
- ec group rules <from> <group-id> get
81
-
82
- # 上传并发布群规则文件
83
- ec group rules <from> <group-id> set <file>
84
-
85
- # 发布当前群空间 /rules.md
86
- ec group rules <from> <group-id> publish
87
- ```
88
-
89
- 新建群尚未显式设置入群规则时,`ec group rules` 显示空对象 `{}`。群规则文件通过 `get/set/publish` 管理,底层 `ec fs cp` 只改文件,不会自动发布为有效规则。
90
-
91
- 群规则文件的发布机制、权限、状态、通知与上下文注入说明见 `group-rules.md`。
92
-
93
- 搜索公开群、公开信息查询、群统计等高级能力当前未封装为 `ec group` 子命令。
94
-
95
- ## 成员
96
-
97
- ```bash
98
- # 申请加入
99
- ec group join <from> <group-id> [--message "<msg>"] [--answer "<answer>"]
100
-
101
- # 退出群
102
- ec group leave <from> <group-id>
103
-
104
- # 邀请成员(可多个)
105
- ec group invite <from> <group-id> <member-aid> [<member-aid>...]
106
-
107
- # 踢出成员
108
- ec group kick <from> <group-id> <member-aid>
109
-
110
- # 列出群成员
111
- ec group members <from> <group-id> [--page <N>] [--size <N>]
112
-
113
- # 查看在线成员
114
- ec group online <from> <group-id>
115
-
116
- # 设置成员角色
117
- ec group role <from> <group-id> <member-aid> <admin|member>
118
-
119
- # 转让群主(当前网关可能需要新群主完成 rekey)
120
- ec group owner <from> <group-id> <new-owner-aid>
121
-
122
- # 列出封禁成员
123
- ec group ban <from> <group-id>
124
-
125
- # 封禁成员(--duration 单位为秒;不传则按服务端默认)
126
- ec group ban <from> <group-id> <member-aid> [--duration <seconds>]
127
-
128
- # 解封成员
129
- ec group unban <from> <group-id> <member-aid>
130
- ```
131
-
132
- ## 入群与公告
133
-
134
- 当前 CLI 封装了 `join` 和 `rules`。审批申请、邀请码、公告等高级管理能力第一批暂不提供单独命令。
135
-
136
- ## 通用约定
137
-
138
- - `<from>` 必须是合法 AID(入口统一校验,格式错直接报错)
139
- - `--format json` — 对支持结构化结果的子命令输出 JSON
140
- - `--app <name>` — 仅 `pull` / `ack` 指定独立消费 slot
141
- - `--aun-path <path>` — 指定 AUN keystore 根
142
- - `--encrypt` — 仅 send,启用端到端加密(群聊默认明文)
143
- - `create` 会通过 SDK 自动生成并导入群 `group_aid` 身份。
144
- - `owner` 会走 SDK 的群主转让授权签名流程,需要本机有该群 `group_aid` 的私钥;若网关返回 `pending_rekey`,CLI 会在本机存在新群主私钥时自动调用完成步骤,否则输出“已发起,等待新群主完成 rekey”。
145
-
146
- ## Group ID
147
-
148
- AUN Group 协议当前规范使用 `g-{slug}.issuer-domain` canonical 群 ID;也可输入本域简写 `g-{slug}` 或兼容写法 `g-{slug}@issuer-domain`。历史 EvolCore 会话里可能还有 `group.agentid.pub/11718` 这类旧格式,看到时按已有群 ID 原样使用。
149
-
150
- ## 自主回复策略
151
-
152
- 群聊中默认被 @ 才响应,可通过 venue policy 配置其他触发条件。
1
+ # ec group — 群聊消息与群管理
2
+
3
+ 群聊场景下收发消息、管理群与成员。触发词:群发/建群/邀请/踢人/退群/群成员/群聊协作/分工/任务分派。
4
+
5
+ 以自己的 AID 为发送者(`<from>`),群 AID 为 `<group-id>`。
6
+
7
+ 本命令覆盖常用消息、基础生命周期、成员操作、角色/群主管理、封禁、暂停/恢复和群规则。生产环境 agent 优先使用本页列出的 `ec group` 命令。
8
+
9
+ 需要发起一次完整的 Agent 群聊协作时,按场景流程阅读 `group-collaboration.md`;本文只作为命令参数参考。
10
+
11
+ ## 消息
12
+
13
+ ```bash
14
+ # 文本(含空格/换行/特殊字符时用引号包起来;纯短词可不包,但多空格会被压成一个)
15
+ ec group send <from> <group-id> "<text>" --return none|required [--encrypt]
16
+
17
+ # 文件(--as image|video|voice|file)
18
+ ec group send <from> <group-id> --file <path> --return none|required [--as <type>] [--text "<说明>"]
19
+
20
+ # 自定义 payload
21
+ ec group send <from> <group-id> --payload '<json>' --return none|required
22
+
23
+ # 拉取群消息(建议带 --app 独立消费通道,避免影响 daemon)
24
+ ec group pull <from> <group-id> [--after-seq <N>] [--limit <N>] [--app <name>]
25
+
26
+ # 确认已读(推进消费游标;同样建议带 --app)
27
+ ec group ack <from> <group-id> <seq> [--app <name>]
28
+ ```
29
+
30
+ @ 成员:
31
+ - `--mention <aid>` — @ 某个成员,可多次,或单个槽位用逗号分隔多个(`--mention a,b,c`),每个 aid 都过格式校验
32
+ - `--mention-all` — @ 所有人
33
+
34
+ ```bash
35
+ ec group send <from> <group-id> "@bob 看下 PR" --mention bob.agentid.pub
36
+ ec group send <from> <group-id> "通知" --mention alice.agentid.pub,bob.agentid.pub
37
+ ```
38
+
39
+ > 正文恰好以 `--` 开头:带空格的(如 `"--file 是正文"`)会被正确识别为正文;
40
+ > 若正文**精确等于**某个 flag 名(如要发送文本 `--encrypt`),用 `--` 分隔:
41
+ > `ec group send <from> <group-id> -- --encrypt`
42
+
43
+ 发送选项还包括:
44
+
45
+ - `--no-encrypt`:强制明文,优先于 `--encrypt`
46
+ - `--thread <id>`:指定话题 ID
47
+ - `--return <none|required>`:跨会话发送必填;Trigger 任务只能使用 `none`
48
+ - `--content-type <mime>`:覆盖文件 MIME
49
+ - `--transcript <text>`:语音转写,仅 `--as voice`
50
+
51
+ ## 群管理
52
+
53
+ ```bash
54
+ # 创建群
55
+ ec group create <from> "<name>" [--visibility public|private] [--description "<desc>"] [--join-mode <mode>] [--group-id <aid>]
56
+
57
+ # 列出我加入的群
58
+ ec group list <from> [--size <N>]
59
+
60
+ # 查看群详情
61
+ ec group info <from> <group-id>
62
+
63
+ # 修改群信息
64
+ ec group update <from> <group-id> [--name "<name>"] [--description "<desc>"]
65
+
66
+ # 解散群
67
+ ec group dissolve <from> <group-id>
68
+
69
+ # 暂停/恢复群
70
+ ec group suspend <from> <group-id>
71
+ ec group resume <from> <group-id>
72
+
73
+ # 查看群规则
74
+ ec group rules <from> <group-id>
75
+
76
+ # 更新入群规则
77
+ ec group rules <from> <group-id> --mode open|approval|invite_only|closed [--question "<question>"] [--max-pending <N>]
78
+
79
+ # 查看已发布群规则文件 /rules.md
80
+ ec group rules <from> <group-id> get
81
+
82
+ # 上传并发布群规则文件
83
+ ec group rules <from> <group-id> set <file>
84
+
85
+ # 发布当前群空间 /rules.md
86
+ ec group rules <from> <group-id> publish
87
+ ```
88
+
89
+ 新建群尚未显式设置入群规则时,`ec group rules` 显示空对象 `{}`。群规则文件通过 `get/set/publish` 管理,底层 `ec fs cp` 只改文件,不会自动发布为有效规则。
90
+
91
+ 群规则文件的发布机制、权限、状态、通知与上下文注入说明见 `group-rules.md`。
92
+
93
+ 搜索公开群、公开信息查询、群统计等高级能力当前未封装为 `ec group` 子命令。
94
+
95
+ ## 成员
96
+
97
+ ```bash
98
+ # 申请加入
99
+ ec group join <from> <group-id> [--message "<msg>"] [--answer "<answer>"]
100
+
101
+ # 退出群
102
+ ec group leave <from> <group-id>
103
+
104
+ # 邀请成员(可多个)
105
+ ec group invite <from> <group-id> <member-aid> [<member-aid>...]
106
+
107
+ # 踢出成员
108
+ ec group kick <from> <group-id> <member-aid>
109
+
110
+ # 列出群成员
111
+ ec group members <from> <group-id> [--page <N>] [--size <N>]
112
+
113
+ # 查看在线成员
114
+ ec group online <from> <group-id>
115
+
116
+ # 设置成员角色
117
+ ec group role <from> <group-id> <member-aid> <admin|member>
118
+
119
+ # 转让群主(当前网关可能需要新群主完成 rekey)
120
+ ec group owner <from> <group-id> <new-owner-aid>
121
+
122
+ # 列出封禁成员
123
+ ec group ban <from> <group-id>
124
+
125
+ # 封禁成员(--duration 单位为秒;不传则按服务端默认)
126
+ ec group ban <from> <group-id> <member-aid> [--duration <seconds>]
127
+
128
+ # 解封成员
129
+ ec group unban <from> <group-id> <member-aid>
130
+ ```
131
+
132
+ ## 入群与公告
133
+
134
+ 当前 CLI 封装了 `join` 和 `rules`。审批申请、邀请码、公告等高级管理能力第一批暂不提供单独命令。
135
+
136
+ ## 通用约定
137
+
138
+ - `<from>` 必须是合法 AID(入口统一校验,格式错直接报错)
139
+ - `--format json` — 对支持结构化结果的子命令输出 JSON
140
+ - `--app <name>` — 仅 `pull` / `ack` 指定独立消费 slot
141
+ - `--aun-path <path>` — 指定 AUN keystore 根
142
+ - `--encrypt` — 仅 send,启用端到端加密(群聊默认明文)
143
+ - `create` 会通过 SDK 自动生成并导入群 `group_aid` 身份。
144
+ - `owner` 会走 SDK 的群主转让授权签名流程,需要本机有该群 `group_aid` 的私钥;若网关返回 `pending_rekey`,CLI 会在本机存在新群主私钥时自动调用完成步骤,否则输出“已发起,等待新群主完成 rekey”。
145
+
146
+ ## Group ID
147
+
148
+ AUN Group 协议当前规范使用 `g-{slug}.issuer-domain` canonical 群 ID;也可输入本域简写 `g-{slug}` 或兼容写法 `g-{slug}@issuer-domain`。历史 EvolCore 会话里可能还有 `group.agentid.pub/11718` 这类旧格式,看到时按已有群 ID 原样使用。
149
+
150
+ ## 自主回复策略
151
+
152
+ 群聊中默认被 @ 才响应,可通过 venue policy 配置其他触发条件。
@@ -1,34 +1,34 @@
1
- # ec menu-client — 远程 Daemon Menu 客户端
2
-
3
- 向另一台主机的 EvolCore Control AID 发送一个标准 `menu.*` 请求,并在同一 AUN 短连接中完成发送、拉取、匹配和 ACK。适合非托管主机上的 eclink/运维工具调用;托管 Agent 会话不应使用它绕过当前 daemon。
4
-
5
- ## 用法
6
-
7
- ```bash
8
- ec menu-client request <from-aid> <daemon-aid> \
9
- --request-file "$TMPDIR/menu-request.json" \
10
- --timeout 15s \
11
- --encrypt \
12
- --format json
13
- ```
14
-
15
- - `--request-file` 与 `--request-json` 二选一,内容是现有 Menu request;缺少 `id` 时自动生成 UUID。
16
- - 默认使用 E2EE,并发送 `client_name=ec-menu-client` 和本机 EvolCore `client_version`。
17
- - 默认 slot 是 `evolcore-menu-client`;`--app <slot>` 可覆盖,但会切换消费游标,调用方须自行串行化。
18
- - 默认授权是远端 `daemon.json.owners` 对发送 AID 的校验。
19
- - `--remote-token <token>` 使用 daemon 签发的远程访问 token,权限与 daemon-owner 一致。CLI 审计日志不会记录 token 明文。
20
- - `--ecweb-token <token>` 是 `--remote-token` 的兼容别名。
21
- - `menu.query` / `menu.options` 等待响应超时时自动重发一次相同 request id;写操作不自动重试。
22
- - 成功时 stdout 是完整 `menu.response` JSON。远端业务错误仍在响应的 `error` 字段中;本地传输/超时/ACK 错误退出码非 0。
23
-
24
- ## 常用请求
25
-
26
- ```json
27
- {"type":"menu.query","id":"status-1","name":"system","args":{"view":"status"}}
28
- {"type":"menu.query","id":"monitor-1","name":"system","args":{"view":"monitor"}}
29
- {"type":"menu.query","id":"logs-1","name":"system","args":{"view":"logs","source":"daemon","limit":200}}
30
- {"type":"menu.options","id":"config-options-1","name":"config","args":{"option":"rawFile"}}
31
- {"type":"menu.query","id":"config-1","name":"config","args":{"view":"rawFile","resource":"daemon"}}
32
- ```
33
-
34
- 先用 `menu.list` 的 `args.view=catalog`、`context.kind=process` 获取目标 daemon 实际支持的能力和 wire 参数,不要在适配器中另建一套协议字段。
1
+ # ec menu-client — 远程 Daemon Menu 客户端
2
+
3
+ 向另一台主机的 EvolCore Control AID 发送一个标准 `menu.*` 请求,并在同一 AUN 短连接中完成发送、拉取、匹配和 ACK。适合非托管主机上的 eclink/运维工具调用;托管 Agent 会话不应使用它绕过当前 daemon。
4
+
5
+ ## 用法
6
+
7
+ ```bash
8
+ ec menu-client request <from-aid> <daemon-aid> \
9
+ --request-file "$TMPDIR/menu-request.json" \
10
+ --timeout 15s \
11
+ --encrypt \
12
+ --format json
13
+ ```
14
+
15
+ - `--request-file` 与 `--request-json` 二选一,内容是现有 Menu request;缺少 `id` 时自动生成 UUID。
16
+ - 默认使用 E2EE,并发送 `client_name=ec-menu-client` 和本机 EvolCore `client_version`。
17
+ - 默认 slot 是 `evolcore-menu-client`;`--app <slot>` 可覆盖,但会切换消费游标,调用方须自行串行化。
18
+ - 默认授权是远端 `daemon.json.owners` 对发送 AID 的校验。
19
+ - `--remote-token <token>` 使用 daemon 签发的远程访问 token,权限与 daemon-owner 一致。CLI 审计日志不会记录 token 明文。
20
+ - `--ecweb-token <token>` 是 `--remote-token` 的兼容别名。
21
+ - `menu.query` / `menu.options` 等待响应超时时自动重发一次相同 request id;写操作不自动重试。
22
+ - 成功时 stdout 是完整 `menu.response` JSON。远端业务错误仍在响应的 `error` 字段中;本地传输/超时/ACK 错误退出码非 0。
23
+
24
+ ## 常用请求
25
+
26
+ ```json
27
+ {"type":"menu.query","id":"status-1","name":"system","args":{"view":"status"}}
28
+ {"type":"menu.query","id":"monitor-1","name":"system","args":{"view":"monitor"}}
29
+ {"type":"menu.query","id":"logs-1","name":"system","args":{"view":"logs","source":"daemon","limit":200}}
30
+ {"type":"menu.options","id":"config-options-1","name":"config","args":{"option":"rawFile"}}
31
+ {"type":"menu.query","id":"config-1","name":"config","args":{"view":"rawFile","resource":"daemon"}}
32
+ ```
33
+
34
+ 先用 `menu.list` 的 `args.view=catalog`、`context.kind=process` 获取目标 daemon 实际支持的能力和 wire 参数,不要在适配器中另建一套协议字段。
@@ -1,50 +1,50 @@
1
- # ec model - 模型管理命令集
2
-
3
- 按作用域查看或设置 agent 使用的模型与推理强度。`ec model` 修改持久化配置,对该作用域内所有会话的下一条消息生效;`ec ctl model` 只操作当前运行会话。
4
-
5
- ## 命令
6
-
7
- ```bash
8
- # 列出可用模型并显示当前生效模型
9
- ec model list [--self <aid>] [--peer <peer>] [--role <role>]
10
-
11
- # 显示生效模型、推理强度和配置来源
12
- ec model current [--self <aid>] [--peer <peer>] [--role <role>]
13
-
14
- # 查看单个模型详情
15
- ec model info <model-id> [--self <aid>]
16
-
17
- # 设置模型,可同时设置推理强度;本机终端写操作需要 --self
18
- ec model use <model-id> --self <aid> [--peer <peer>] [--effort <level>]
19
-
20
- # 设置推理强度:low | medium | high | xhigh | max | auto
21
- ec model effort <level> --self <aid> [--peer <peer>]
22
-
23
- # 清除当前作用域的模型和推理强度,回落到上一级
24
- ec model reset --self <aid> [--peer <peer>]
25
-
26
- # 诊断网关连通性、模型目录和模型可用性
27
- ec model check [--self <aid>]
28
- ```
29
-
30
- ## 作用域
31
-
32
- | 参数 | 作用域 | 配置位置 |
33
- |------|--------|----------|
34
- | 无 | 只读 catalog/defaults | 不允许写入 |
35
- | `--self <aid>` | agent | `agents/<aid>/config.json` |
36
- | `--self <aid> --role <role>` | 角色策略预览 | 只读;写入由角色策略编辑器管理 |
37
- | `--self <aid> --peer <peer>` | 关系 | `agents/<aid>/relations/<peerKey>/config.json` |
38
-
39
- 生效优先级为关系、角色、agent、defaults。`--peer` 可使用 `channelType#channelId`;裸 AID 按 `aun#<aid>` 处理。
40
-
41
- 在 EvolCore 托管会话中,省略 `--self`、`--peer`、`--role` 时,`list/current/use/effort/reset`
42
- 会通过 `ec ctl` 作用于当前会话;显式 selector 仍按上表访问持久化作用域。本机终端不具备该隐式当前会话语义。
43
-
44
- ## 输出与权限
45
-
46
- - 所有子命令支持 `--format json`。
47
- - 从聊天菜单或 agent 工具调用时,命令会在执行前经过 operation 鉴权;关系目标默认限制为当前 agent 和当前关系。
48
- - 本地终端直接运行时不伪造远端角色。显式传入 `--role` 可检查该角色的模型可见性和有效模型。
49
- - `use`、`effort`、`reset` 不直接修改角色策略;传入 role 写作用域会返回 `ROLE_POLICY_MANAGED`。
50
- - `check` 会连接已配置的模型网关并发送最小探测请求;未配置自定义网关时跳过 API 探测。
1
+ # ec model - 模型管理命令集
2
+
3
+ 按作用域查看或设置 agent 使用的模型与推理强度。`ec model` 修改持久化配置,对该作用域内所有会话的下一条消息生效;`ec ctl model` 只操作当前运行会话。
4
+
5
+ ## 命令
6
+
7
+ ```bash
8
+ # 列出可用模型并显示当前生效模型
9
+ ec model list [--self <aid>] [--peer <peer>] [--role <role>]
10
+
11
+ # 显示生效模型、推理强度和配置来源
12
+ ec model current [--self <aid>] [--peer <peer>] [--role <role>]
13
+
14
+ # 查看单个模型详情
15
+ ec model info <model-id> [--self <aid>]
16
+
17
+ # 设置模型,可同时设置推理强度;本机终端写操作需要 --self
18
+ ec model use <model-id> --self <aid> [--peer <peer>] [--effort <level>]
19
+
20
+ # 设置推理强度:low | medium | high | xhigh | max | auto
21
+ ec model effort <level> --self <aid> [--peer <peer>]
22
+
23
+ # 清除当前作用域的模型和推理强度,回落到上一级
24
+ ec model reset --self <aid> [--peer <peer>]
25
+
26
+ # 诊断网关连通性、模型目录和模型可用性
27
+ ec model check [--self <aid>]
28
+ ```
29
+
30
+ ## 作用域
31
+
32
+ | 参数 | 作用域 | 配置位置 |
33
+ |------|--------|----------|
34
+ | 无 | 只读 catalog/defaults | 不允许写入 |
35
+ | `--self <aid>` | agent | `agents/<aid>/config.json` |
36
+ | `--self <aid> --role <role>` | 角色策略预览 | 只读;写入由角色策略编辑器管理 |
37
+ | `--self <aid> --peer <peer>` | 关系 | `agents/<aid>/relations/<peerKey>/config.json` |
38
+
39
+ 生效优先级为关系、角色、agent、defaults。`--peer` 可使用 `channelType#channelId`;裸 AID 按 `aun#<aid>` 处理。
40
+
41
+ 在 EvolCore 托管会话中,省略 `--self`、`--peer`、`--role` 时,`list/current/use/effort/reset`
42
+ 会通过 `ec ctl` 作用于当前会话;显式 selector 仍按上表访问持久化作用域。本机终端不具备该隐式当前会话语义。
43
+
44
+ ## 输出与权限
45
+
46
+ - 所有子命令支持 `--format json`。
47
+ - 从聊天菜单或 agent 工具调用时,命令会在执行前经过 operation 鉴权;关系目标默认限制为当前 agent 和当前关系。
48
+ - 本地终端直接运行时不伪造远端角色。显式传入 `--role` 可检查该角色的模型可见性和有效模型。
49
+ - `use`、`effort`、`reset` 不直接修改角色策略;传入 role 写作用域会返回 `ROLE_POLICY_MANAGED`。
50
+ - `check` 会连接已配置的模型网关并发送最小探测请求;未配置自定义网关时跳过 API 探测。