evolcore 0.0.25 → 0.0.26

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 (231) hide show
  1. package/CHANGELOG.md +607 -565
  2. package/LICENSE +21 -21
  3. package/README.md +455 -455
  4. package/bin/codex-managed-acl.ps1 +160 -160
  5. package/bin/codex-managed-hook.mjs +208 -208
  6. package/bin/ec-safe-output.js +327 -327
  7. package/bin/ec.js +40 -29
  8. package/bin/install-codex-managed-hooks.mjs +582 -555
  9. package/dist/agents/baseagent.js +96 -46
  10. package/dist/agents/claude-runner.js +50 -12
  11. package/dist/agents/codex/app-server-client.js +13 -5
  12. package/dist/agents/codex/catalog.js +1 -1
  13. package/dist/agents/codex/diagnostics.js +34 -1
  14. package/dist/agents/codex-runner.js +121 -38
  15. package/dist/agents/ecagent-runner.js +4 -9
  16. package/dist/agents/gemini-runner.js +2 -7
  17. package/dist/agents/runner-types.js +25 -17
  18. package/dist/aun/aid/agentmd.js +81 -8
  19. package/dist/aun/aid/client.js +1 -1
  20. package/dist/aun/aid/identity.js +1 -1
  21. package/dist/aun/aid/index.js +1 -1
  22. package/dist/aun/aid/store.js +17 -13
  23. package/dist/aun/menu-client.js +74 -0
  24. package/dist/aun/msg/group.js +1 -1
  25. package/dist/aun/msg/managed-operation.js +1 -1
  26. package/dist/aun/msg/p2p.js +6 -1
  27. package/dist/aun/msg/upload.js +30 -22
  28. package/dist/channels/aun.js +329 -94
  29. package/dist/cli/agent-command.js +105 -84
  30. package/dist/cli/agent-create.js +112 -10
  31. package/dist/cli/agent.js +16 -5
  32. package/dist/cli/aun-commands.js +297 -296
  33. package/dist/cli/bench.js +20 -20
  34. package/dist/cli/config.js +47 -28
  35. package/dist/cli/contact.js +70 -13
  36. package/dist/cli/ctl-command.js +22 -22
  37. package/dist/cli/daemon-commands.js +105 -40
  38. package/dist/cli/diag.js +31 -0
  39. package/dist/cli/fs-command.js +67 -67
  40. package/dist/cli/handoff-command.js +41 -9
  41. package/dist/cli/index.js +83 -77
  42. package/dist/cli/link-rules.js +21 -21
  43. package/dist/cli/managed-command-guard.js +3 -0
  44. package/dist/cli/menu-client.js +46 -31
  45. package/dist/cli/net-check.js +22 -22
  46. package/dist/cli/queue-command.js +29 -29
  47. package/dist/cli/response.js +30 -30
  48. package/dist/cli/restart-monitor.js +87 -40
  49. package/dist/cli/stats.js +51 -51
  50. package/dist/cli/trigger-command.js +56 -56
  51. package/dist/config/builtin-roles.js +1 -0
  52. package/dist/config/config-operation-service.js +145 -0
  53. package/dist/config/contact-operation-service.js +96 -7
  54. package/dist/config/resolved-config-op.js +27 -7
  55. package/dist/core/agent-application-service.js +2 -1
  56. package/dist/core/auth/authorization-audit.js +20 -12
  57. package/dist/core/auth/operation-authorizer.js +25 -4
  58. package/dist/core/auth/operation-catalog.js +35 -4
  59. package/dist/core/auth/remote-access-store.js +40 -1
  60. package/dist/core/bootstrap-service.js +1 -1
  61. package/dist/core/command/command-handler.js +83 -26
  62. package/dist/core/command/diag-service.js +118 -0
  63. package/dist/core/command/menu-catalog.js +12 -3
  64. package/dist/core/command/menu-handler.js +47 -26
  65. package/dist/core/command/menu-protocol.js +5 -0
  66. package/dist/core/command/menu-token-store.js +41 -8
  67. package/dist/core/command/slash-gate.js +34 -4
  68. package/dist/core/command/slash-handler.js +86 -21
  69. package/dist/core/handoff/runtime.js +205 -27
  70. package/dist/core/handoff/store.js +193 -4
  71. package/dist/core/message/im-renderer.js +72 -21
  72. package/dist/core/message/message-bridge.js +69 -9
  73. package/dist/core/message/message-queue.js +26 -0
  74. package/dist/core/message/message-utils.js +1 -0
  75. package/dist/core/message/response-engine.js +47 -28
  76. package/dist/core/model/catalog-service.js +79 -49
  77. package/dist/core/model/context-window-suffix.js +33 -0
  78. package/dist/core/model/model-catalog.js +1 -1
  79. package/dist/core/model/model-permission.js +12 -3
  80. package/dist/core/permission/ec-command-parser.js +51 -12
  81. package/dist/core/permission/sandbox-runtime.js +36 -14
  82. package/dist/core/permission/tool-policy.js +2 -1
  83. package/dist/index.js +280 -163
  84. package/dist/ipc.js +54 -2
  85. package/dist/response-system/engines/v1/proactive-flow.js +59 -2
  86. package/dist/stats/billing.js +41 -15
  87. package/dist/stats/db.js +159 -159
  88. package/dist/stats/eck-vars.js +9 -9
  89. package/dist/stats/price-resolver.js +28 -10
  90. package/dist/stats/query.js +139 -139
  91. package/dist/stats/role-budget.js +6 -6
  92. package/dist/stats/writer.js +51 -51
  93. package/dist/utils/cross-platform.js +30 -1
  94. package/dist/utils/error-dict.json +160 -160
  95. package/dist/utils/error-utils.js +21 -0
  96. package/dist/utils/evolcore-version.js +129 -0
  97. package/dist/utils/logger.js +3 -1
  98. package/dist/utils/macos-autostart.js +22 -22
  99. package/dist/utils/model-prices.jsonl +23 -23
  100. package/dist/utils/npm-ops.js +176 -35
  101. package/dist/utils/welcome.js +22 -22
  102. package/ecagent/LICENSE +21 -21
  103. package/ecagent/NOTICE +11 -11
  104. package/ecagent/README.md +61 -61
  105. package/ecagent/dist/harness/compaction/branch-summarization.js +30 -30
  106. package/ecagent/dist/harness/compaction/compaction.js +83 -83
  107. package/ecagent/dist/harness/messages.js +7 -7
  108. package/kits/docs/GUIDE.md +20 -20
  109. package/kits/docs/INDEX.md +66 -66
  110. package/kits/docs/aun/CHEATSHEET.md +19 -19
  111. package/kits/docs/aun/SYNC_PROTOCOL.md +15 -15
  112. package/kits/docs/channels/aun.md +56 -56
  113. package/kits/docs/channels/feishu.md +56 -56
  114. package/kits/docs/context-assembly.md +364 -364
  115. package/kits/docs/eck_templates/GUIDE.template.md +22 -22
  116. package/kits/docs/eck_templates/INDEX.template.md +28 -28
  117. package/kits/docs/eck_templates/path-registry.template.md +33 -33
  118. package/kits/docs/eck_templates/runtime.template.md +19 -19
  119. package/kits/docs/evolcore/INDEX.md +71 -71
  120. package/kits/docs/evolcore/agent-create.md +170 -165
  121. package/kits/docs/evolcore/agent.md +66 -66
  122. package/kits/docs/evolcore/aid.md +60 -60
  123. package/kits/docs/evolcore/codex-windows-sandbox.md +146 -146
  124. package/kits/docs/evolcore/config.md +202 -195
  125. package/kits/docs/evolcore/contact.md +75 -68
  126. package/kits/docs/evolcore/ctl.md +46 -46
  127. package/kits/docs/evolcore/event.md +216 -216
  128. package/kits/docs/evolcore/fs-architecture.md +1215 -1215
  129. package/kits/docs/evolcore/fs.md +110 -110
  130. package/kits/docs/evolcore/group-collaboration.md +243 -243
  131. package/kits/docs/evolcore/group-fs.md +17 -17
  132. package/kits/docs/evolcore/group-rules.md +251 -251
  133. package/kits/docs/evolcore/group.md +152 -152
  134. package/kits/docs/evolcore/menu-client.md +42 -34
  135. package/kits/docs/evolcore/model.md +50 -50
  136. package/kits/docs/evolcore/msg.md +166 -165
  137. package/kits/docs/evolcore/response.md +75 -75
  138. package/kits/docs/evolcore/rpc.md +37 -37
  139. package/kits/docs/evolcore/self-summary.md +29 -29
  140. package/kits/docs/evolcore/stats.md +83 -83
  141. package/kits/docs/evolcore/storage.md +50 -50
  142. package/kits/docs/evolcore/trigger.md +575 -575
  143. package/kits/docs/identity/AID_PROFILE_SPEC.md +26 -26
  144. package/kits/docs/identity/PATH_OPS.md +16 -16
  145. package/kits/docs/identity/ROLE_DETAIL.md +25 -25
  146. package/kits/docs/identity/identity-tools.md +26 -26
  147. package/kits/docs/path-registry.md +62 -62
  148. package/kits/docs/prompt-loading-architecture.md +269 -269
  149. package/kits/docs/venues/aun-group.md +45 -45
  150. package/kits/docs/venues/aun-private.md +10 -10
  151. package/kits/docs/venues/client-desktop.md +10 -10
  152. package/kits/docs/venues/client-mobile.md +10 -10
  153. package/kits/docs/venues/feishu-group.md +13 -13
  154. package/kits/docs/venues/feishu-private.md +9 -9
  155. package/kits/docs/venues/group.md +37 -25
  156. package/kits/docs/venues/private.md +10 -10
  157. package/kits/eck_manifest.auxiliary.json +43 -43
  158. package/kits/eck_manifest.json +190 -190
  159. package/kits/eck_message_manifest.json +74 -74
  160. package/kits/migrations/README-role-config-v4.md +32 -32
  161. package/kits/migrations/migrate-contact-book-v2.mjs +748 -748
  162. package/kits/migrations/migrate-role-config-v4.mjs +614 -614
  163. package/kits/migrations/migrate-role-config-v5.mjs +365 -365
  164. package/kits/migrations/rename-config-file.mjs +99 -99
  165. package/kits/rules/01-overview.md +162 -162
  166. package/kits/rules/02-navigation.md +96 -96
  167. package/kits/rules/03-identity.md +36 -36
  168. package/kits/rules/04-relation.md +75 -75
  169. package/kits/rules/05-venue.md +60 -60
  170. package/kits/rules/06-channel.md +63 -63
  171. package/kits/schemas/_meta.json +53 -53
  172. package/kits/schemas/agent-config.schema.1.json +177 -177
  173. package/kits/schemas/agent-config.schema.10.json +395 -395
  174. package/kits/schemas/agent-config.schema.11.json +421 -421
  175. package/kits/schemas/agent-config.schema.12.json +427 -427
  176. package/kits/schemas/agent-config.schema.2.json +239 -239
  177. package/kits/schemas/agent-config.schema.3.json +119 -119
  178. package/kits/schemas/agent-config.schema.4.json +208 -208
  179. package/kits/schemas/agent-config.schema.5.json +326 -326
  180. package/kits/schemas/agent-config.schema.6.json +322 -322
  181. package/kits/schemas/agent-config.schema.7.json +303 -303
  182. package/kits/schemas/agent-config.schema.8.json +304 -304
  183. package/kits/schemas/agent-config.schema.9.json +364 -364
  184. package/kits/schemas/contact-book.schema.1.json +36 -36
  185. package/kits/schemas/contact-book.schema.2.json +43 -43
  186. package/kits/schemas/contact-book.schema.3.json +67 -67
  187. package/kits/schemas/daemon.schema.1.json +91 -91
  188. package/kits/schemas/daemon.schema.2.json +101 -101
  189. package/kits/schemas/daemon.schema.3.json +123 -123
  190. package/kits/schemas/daemon.schema.4.json +136 -136
  191. package/kits/schemas/daemon.schema.5.json +135 -135
  192. package/kits/schemas/daemon.schema.6.json +131 -131
  193. package/kits/schemas/defaults.schema.1.json +81 -81
  194. package/kits/schemas/defaults.schema.2.json +85 -85
  195. package/kits/schemas/defaults.schema.3.json +73 -73
  196. package/kits/schemas/defaults.schema.4.json +107 -107
  197. package/kits/schemas/defaults.schema.5.json +119 -119
  198. package/kits/schemas/menu-exec-schema-commands.md +208 -208
  199. package/kits/schemas/migrations/README.md +30 -30
  200. package/kits/schemas/relation-config.schema.1.json +158 -158
  201. package/kits/schemas/relation-config.schema.2.json +73 -73
  202. package/kits/schemas/relation-config.schema.3.json +50 -50
  203. package/kits/schemas/relation-config.schema.4.json +47 -47
  204. package/kits/schemas/relation-config.schema.5.json +47 -47
  205. package/kits/schemas/relation-config.schema.6.json +46 -46
  206. package/kits/schemas/relation-config.schema.7.json +59 -59
  207. package/kits/schemas/relation-config.schema.8.json +103 -103
  208. package/kits/schemas/role-config.schema.1.json +201 -201
  209. package/kits/schemas/role-registry.schema.1.json +35 -35
  210. package/kits/schemas/single-session.schema.1.json +31 -31
  211. package/kits/schemas/single-session.schema.2.json +57 -57
  212. package/kits/schemas/single-session.schema.3.json +32 -32
  213. package/kits/templates/bootstrap-welcome.md +17 -17
  214. package/kits/templates/message-fragments/handoff-context-to-target.md +9 -9
  215. package/kits/templates/message-fragments/handoff-request-to-target.md +19 -19
  216. package/kits/templates/message-fragments/handoff-response-to-origin.md +9 -9
  217. package/kits/templates/message-fragments/inject-default.md +2 -2
  218. package/kits/templates/message-fragments/item.md +2 -2
  219. package/kits/templates/roles/admin.json +92 -92
  220. package/kits/templates/roles/member.json +96 -96
  221. package/kits/templates/roles/owner.json +9 -9
  222. package/kits/templates/roles/visitor.json +85 -85
  223. package/kits/templates/system-fragments/baseagent.md +14 -14
  224. package/kits/templates/system-fragments/bootstrap.md +31 -29
  225. package/kits/templates/system-fragments/channel.md +64 -64
  226. package/kits/templates/system-fragments/commands.md +28 -28
  227. package/kits/templates/system-fragments/identity.md +13 -13
  228. package/kits/templates/system-fragments/relation.md +19 -19
  229. package/kits/templates/system-fragments/session.md +59 -59
  230. package/kits/templates/system-fragments/venue.md +31 -31
  231. package/package.json +100 -98
@@ -1,63 +1,63 @@
1
- # 渠道层:我通过什么通信
2
-
3
- 渠道层决定你使用什么方式收发消息。ECK 在 channel fragment 注入 `channel`
4
- (取值 `aun|feishu|wechat|dingtalk|qqbot|wecom`)。变量名就是小写 `channel`,没有 `$CHANNEL_TYPE`。
5
-
6
- ## 数据位置
7
-
8
- | 位置 | 内容 |
9
- |------|------|
10
- | `$KITS_DOCS/channels/` | 各渠道的**知识文档**:配置、参数、特有机制(只读,按需加载) |
11
- | `$AGENT_DIR/config.json` 的 `channels[]` | 该 agent 接入的渠道实配置(类型、凭据、网关等) |
12
-
13
- > **没有 `$AGENT_DIR/channels/` 目录**——渠道不按目录分家:配置在 `config.json` 的
14
- > `channels[]` 列表里,运行时状态落会话层 `$AGENT_DIR/sessions/`。
15
- > `$KITS_DOCS/channels/` 是**不依赖当前渠道**的知识库,任意会话都可按需 Read 任意渠道文档。
16
-
17
- ## 通信规则
18
-
19
- "当前这一刻怎么回复、怎么发消息"由动态注入的 `[channel]` 段决定——它能拿到 `chatMode`
20
- 并按模式分流,是唯一的事实源。本节只讲**模式无关的恒定知识**。
21
-
22
- 要点:
23
- - **回复方式随 `chatMode` 走**,以 `[channel]` 段为准:
24
- - interactive:直接输出即回复
25
- - proactive:见 `[channel]` 段的机制说明(thought.put vs message.send)
26
- - **附加能力与模式无关、始终需要 CLI**:发文件/图片/语音、@某人、加密、联系第三方
27
- - **以自己的 AID 为发送者**;拿不到时退回 `ec ctl send "<text>"`
28
-
29
- ### 命令返回值
30
-
31
- 判断成败**看 exit code**,别靠字符串前缀——各命令集格式不统一:
32
-
33
- - `ec ctl send`:成功打印 `ok`;失败把**裸错误信息**打到 stderr(如 `消息内容不能为空`、`adapter 未找到: feishu`),exit≠0
34
- - `ec msg` / `ec group` 发送类:成功 `✓ 已发送 message_id=… seq=…`;失败 `❌ 发送失败: <原因>`,exit≠0
35
-
36
- 发送成功后**继续后续处理**。一次任务可能发 0 到多条消息不要因为看到"已发送"就反复发送同一条消息。
37
-
38
- ## 命令集
39
-
40
- **重要**:遇到明确触发词(费用/用量/统计/创建/查群等)时,优先查 `$KITS_DOCS/evolcore/INDEX.md`
41
- 或直接试对应 ec 命令。`[commands]` 段仅列常用命令,完整目录在 INDEX.md。
42
-
43
- 所有命令以 `ec` 为前缀,以自己的 AID 为发送者。**运行时按当前场景(有无对端/群、对端角色)注入的精简能力卡由 `commands` fragment 决定**(见动态注入的 `[commands]` 段)。
44
-
45
- **完整命令集目录(含分类、触发词、适用场景)**:`$KITS_DOCS/evolcore/INDEX.md`。
46
- 单个命令集的详细用法按需 Read 对应文档。
47
-
48
- 共同约定:
49
- - 以自己的 AID 为发送者
50
- - 回复方式随 `chatMode` 走(见上方通信规则);附加能力(文件/@/加密/发第三方)任何模式下都用 CLI
51
- - `--format json` / `--app <name>` **不是全局参数**:只在自身 `--help` 明确列出的命令上有效
52
- (`--app` 主要用于消息 pull/ack、消费类 RPC 和支持 app slot 的文件操作)。拿不准就先跑 `--help`
53
-
54
- ## 各渠道知识文档(按需加载)
55
-
56
- `$KITS_DOCS/channels/` 下每个渠道一份知识文档,内容是该渠道的**配置、参数、特有机制**——
57
- 属于知识性内容,**不依赖**当前注入的渠道类型。需要了解某渠道怎么配置、有哪些参数、
58
- 有哪些特别机制时,按需 Read 对应文档(在 aun 会话里也可查飞书,反之亦然)。
59
-
60
- | 渠道 | 文档 | 触发词 |
61
- |------|------|--------|
62
- | AUN | `$KITS_DOCS/channels/aun.md` | aun 怎么配置/网关/E2EE/群 ID 格式/证书链 |
63
- | 飞书 | `$KITS_DOCS/channels/feishu.md` | 飞书怎么配置/appId/合并转发/卡片/user_id |
1
+ # 渠道层:我通过什么通信
2
+
3
+ 渠道层决定你使用什么方式收发消息。ECK 在 channel fragment 注入 `channel`
4
+ (取值 `aun|feishu|wechat|dingtalk|qqbot|wecom`)。变量名就是小写 `channel`,没有 `$CHANNEL_TYPE`。
5
+
6
+ ## 数据位置
7
+
8
+ | 位置 | 内容 |
9
+ |------|------|
10
+ | `$KITS_DOCS/channels/` | 各渠道的**知识文档**:配置、参数、特有机制(只读,按需加载) |
11
+ | `$AGENT_DIR/config.json` 的 `channels[]` | 该 agent 接入的渠道实配置(类型、凭据、网关等) |
12
+
13
+ > **没有 `$AGENT_DIR/channels/` 目录**——渠道不按目录分家:配置在 `config.json` 的
14
+ > `channels[]` 列表里,运行时状态落会话层 `$AGENT_DIR/sessions/`。
15
+ > `$KITS_DOCS/channels/` 是**不依赖当前渠道**的知识库,任意会话都可按需 Read 任意渠道文档。
16
+
17
+ ## 通信规则
18
+
19
+ "当前这一刻怎么回复、怎么发消息"由动态注入的 `[channel]` 段决定——它能拿到 `chatMode`
20
+ 并按模式分流,是唯一的事实源。本节只讲**模式无关的恒定知识**。
21
+
22
+ 要点:
23
+ - **回复方式随 `chatMode` 走**,以 `[channel]` 段为准:
24
+ - interactive:直接输出即回复
25
+ - proactive:见 `[channel]` 段的机制说明(thought.put vs message.send)
26
+ - **附加能力与模式无关、始终需要 CLI**:发文件/图片/语音、@某人、加密、联系第三方
27
+ - **以自己的 AID 为发送者**;拿不到时退回 `ec ctl send "<text>"`
28
+
29
+ ### 命令返回值
30
+
31
+ 判断成败**看 exit code**,别靠字符串前缀——各命令集格式不统一:
32
+
33
+ - `ec ctl send`:成功打印 `ok`;失败把**裸错误信息**打到 stderr(如 `消息内容不能为空`、`adapter 未找到: feishu`),exit≠0
34
+ - `ec msg` / `ec group` 发送类:成功 `✓ 已发送 message_id=… seq=…`;失败 `❌ 发送失败: <原因>`,exit≠0
35
+
36
+ 发送成功后**继续后续处理**。一次任务可能发 0 到多条消息不要因为看到"已发送"就反复发送同一条消息。
37
+
38
+ ## 命令集
39
+
40
+ **重要**:遇到明确触发词(费用/用量/统计/创建/查群等)时,优先查 `$KITS_DOCS/evolcore/INDEX.md`
41
+ 或直接试对应 ec 命令。`[commands]` 段仅列常用命令,完整目录在 INDEX.md。
42
+
43
+ 所有命令以 `ec` 为前缀,以自己的 AID 为发送者。**运行时按当前场景(有无对端/群、对端角色)注入的精简能力卡由 `commands` fragment 决定**(见动态注入的 `[commands]` 段)。
44
+
45
+ **完整命令集目录(含分类、触发词、适用场景)**:`$KITS_DOCS/evolcore/INDEX.md`。
46
+ 单个命令集的详细用法按需 Read 对应文档。
47
+
48
+ 共同约定:
49
+ - 以自己的 AID 为发送者
50
+ - 回复方式随 `chatMode` 走(见上方通信规则);附加能力(文件/@/加密/发第三方)任何模式下都用 CLI
51
+ - `--format json` / `--app <name>` **不是全局参数**:只在自身 `--help` 明确列出的命令上有效
52
+ (`--app` 主要用于消息 pull/ack、消费类 RPC 和支持 app slot 的文件操作)。拿不准就先跑 `--help`
53
+
54
+ ## 各渠道知识文档(按需加载)
55
+
56
+ `$KITS_DOCS/channels/` 下每个渠道一份知识文档,内容是该渠道的**配置、参数、特有机制**——
57
+ 属于知识性内容,**不依赖**当前注入的渠道类型。需要了解某渠道怎么配置、有哪些参数、
58
+ 有哪些特别机制时,按需 Read 对应文档(在 aun 会话里也可查飞书,反之亦然)。
59
+
60
+ | 渠道 | 文档 | 触发词 |
61
+ |------|------|--------|
62
+ | AUN | `$KITS_DOCS/channels/aun.md` | aun 怎么配置/网关/E2EE/群 ID 格式/证书链 |
63
+ | 飞书 | `$KITS_DOCS/channels/feishu.md` | 飞书怎么配置/appId/合并转发/卡片/user_id |
@@ -1,53 +1,53 @@
1
- {
2
- "schemas": {
3
- "daemon": { "currentVersion": 6 },
4
- "defaults": { "currentVersion": 5 },
5
- "agent-config": { "currentVersion": 12 },
6
- "relation-config": { "currentVersion": 8 },
7
- "contact-book": { "currentVersion": 3 },
8
- "single-session": { "currentVersion": 3 },
9
- "role-registry": { "currentVersion": 1 },
10
- "role-config": { "currentVersion": 1 }
11
- },
12
- "history": [
13
- { "schema": "daemon", "version": 1, "date": "2026-06-14", "description": "initial: process config (daemon.json)" },
14
- { "schema": "daemon", "version": 2, "date": "2026-07-28", "description": "add AUN Menu minimum Evol client version" },
15
- { "schema": "defaults", "version": 1, "date": "2026-06-14", "description": "global defaults (models.allowed/projects/aun)" },
16
- { "schema": "agent-config", "version": 1, "date": "2026-06-14", "description": "initial: agent config with all parameters unified in config.json" },
17
- { "schema": "agent-config", "version": 2, "date": "2026-06-23", "description": "add lifecycle state for bootstrap flow; initialized retained for compatibility" },
18
- { "schema": "agent-config", "version": 3, "date": "2026-07-08", "description": "move user role policy into agent config" },
19
- { "schema": "relation-config", "version": 1, "date": "2026-06-14", "description": "initial: relation config" },
20
- { "schema": "relation-config", "version": 2, "date": "2026-07-08", "description": "move user/group role assignments into relation config" },
21
- { "schema": "relation-config", "version": 3, "date": "2026-07-16", "description": "persist relation target kind for unambiguous private/group classification" },
22
- { "schema": "agent-config", "version": 4, "date": "2026-07-20", "description": "move permissionMode exclusively into role definitions" },
23
- { "schema": "agent-config", "version": 5, "date": "2026-07-22", "description": "move role registry and definitions into the standalone roles domain" },
24
- { "schema": "relation-config", "version": 4, "date": "2026-07-20", "description": "replace role assignment maps with a single top-level role pointer" },
25
- { "schema": "contact-book", "version": 1, "date": "2026-07-10", "description": "agent contact aliases for cross-channel identity mapping" },
26
- { "schema": "single-session", "version": 1, "date": "2026-07-15", "description": "response mode bucket schema: single-session params (chatMode delivery + proactive toggles); validates responseModeParams['single-session']" },
27
- { "schema": "role-registry", "version": 1, "date": "2026-07-22", "description": "registered role ids and private/group defaults" },
28
- { "schema": "role-config", "version": 1, "date": "2026-07-22", "description": "standalone role policy definition" },
29
- { "schema": "agent-config", "version": 6, "date": "2026-07-23", "description": "move admin identities into AUN private relation role and reject admins[]" },
30
- { "schema": "contact-book", "version": 2, "date": "2026-07-24", "description": "AID display names, full-channelKey aliases, and extensible contact status" },
31
- { "schema": "relation-config", "version": 5, "date": "2026-07-23", "description": "restore authoritative private/group relation role; allow admin and forbid owner" },
32
- { "schema": "defaults", "version": 2, "date": "2026-07-27", "description": "remove Session Renew effort and add globally defaultable response-mode parameters" },
33
- { "schema": "agent-config", "version": 7, "date": "2026-07-27", "description": "remove Session Renew effort; auxiliary inference is response-mode owned" },
34
- { "schema": "relation-config", "version": 6, "date": "2026-07-27", "description": "remove relation Session Renew effort; auxiliary inference is response-mode owned" },
35
- { "schema": "single-session", "version": 2, "date": "2026-07-27", "description": "add optional baseagent-aware auxiliaryModel and auxiliaryEffort without factory defaults" },
36
- { "schema": "single-session", "version": 3, "date": "2026-08-31", "description": "move Session Renew auxiliary model and effort from mode buckets into baseagent settings" },
37
- { "schema": "daemon", "version": 3, "date": "2026-07-29", "description": "make daemon.json the exclusive source for all process debug settings" },
38
- { "schema": "daemon", "version": 4, "date": "2026-08-04", "description": "add configurable default AID domain for generated identities" },
39
- { "schema": "defaults", "version": 3, "date": "2026-07-29", "description": "remove debug from the Agent configuration inheritance chain" },
40
- { "schema": "agent-config", "version": 8, "date": "2026-07-29", "description": "reject Agent-level debug because debug is process-owned" },
41
- { "schema": "agent-config", "version": 9, "date": "2026-07-29", "description": "add owner-controlled AUN group rules loading and Agent message access policy" },
42
- { "schema": "relation-config", "version": 7, "date": "2026-07-29", "description": "add per-group override for the AUN group rules loading policy" },
43
- { "schema": "contact-book", "version": 3, "date": "2026-07-29", "description": "add versioned contact requests and declined status" },
44
- { "schema": "defaults", "version": 4, "date": "2026-08-02", "description": "add defaults-only fallback model chain" },
45
- { "schema": "agent-config", "version": 10, "date": "2026-08-02", "description": "reject Agent-level fallback model chain" },
46
- { "schema": "relation-config", "version": 8, "date": "2026-08-02", "description": "reject relation-level fallback model chain" },
47
- { "schema": "daemon", "version": 5, "date": "2026-08-27", "description": "remove EvolCore AUN gateway override" },
48
- { "schema": "daemon", "version": 6, "date": "2026-09-01", "description": "unify local service lifecycle and AUN proxy settings under services[]" },
49
- { "schema": "defaults", "version": 5, "date": "2026-08-27", "description": "remove EvolCore AUN gateway override" },
50
- { "schema": "agent-config", "version": 11, "date": "2026-08-27", "description": "remove EvolCore AUN gateway override" },
51
- { "schema": "agent-config", "version": 12, "date": "2026-09-04", "description": "add Agent-level AUN group slash structured-mention policy" }
52
- ]
53
- }
1
+ {
2
+ "schemas": {
3
+ "daemon": { "currentVersion": 6 },
4
+ "defaults": { "currentVersion": 5 },
5
+ "agent-config": { "currentVersion": 12 },
6
+ "relation-config": { "currentVersion": 8 },
7
+ "contact-book": { "currentVersion": 3 },
8
+ "single-session": { "currentVersion": 3 },
9
+ "role-registry": { "currentVersion": 1 },
10
+ "role-config": { "currentVersion": 1 }
11
+ },
12
+ "history": [
13
+ { "schema": "daemon", "version": 1, "date": "2026-06-14", "description": "initial: process config (daemon.json)" },
14
+ { "schema": "daemon", "version": 2, "date": "2026-07-28", "description": "add AUN Menu minimum Evol client version" },
15
+ { "schema": "defaults", "version": 1, "date": "2026-06-14", "description": "global defaults (models.allowed/projects/aun)" },
16
+ { "schema": "agent-config", "version": 1, "date": "2026-06-14", "description": "initial: agent config with all parameters unified in config.json" },
17
+ { "schema": "agent-config", "version": 2, "date": "2026-06-23", "description": "add lifecycle state for bootstrap flow; initialized retained for compatibility" },
18
+ { "schema": "agent-config", "version": 3, "date": "2026-07-08", "description": "move user role policy into agent config" },
19
+ { "schema": "relation-config", "version": 1, "date": "2026-06-14", "description": "initial: relation config" },
20
+ { "schema": "relation-config", "version": 2, "date": "2026-07-08", "description": "move user/group role assignments into relation config" },
21
+ { "schema": "relation-config", "version": 3, "date": "2026-07-16", "description": "persist relation target kind for unambiguous private/group classification" },
22
+ { "schema": "agent-config", "version": 4, "date": "2026-07-20", "description": "move permissionMode exclusively into role definitions" },
23
+ { "schema": "agent-config", "version": 5, "date": "2026-07-22", "description": "move role registry and definitions into the standalone roles domain" },
24
+ { "schema": "relation-config", "version": 4, "date": "2026-07-20", "description": "replace role assignment maps with a single top-level role pointer" },
25
+ { "schema": "contact-book", "version": 1, "date": "2026-07-10", "description": "agent contact aliases for cross-channel identity mapping" },
26
+ { "schema": "single-session", "version": 1, "date": "2026-07-15", "description": "response mode bucket schema: single-session params (chatMode delivery + proactive toggles); validates responseModeParams['single-session']" },
27
+ { "schema": "role-registry", "version": 1, "date": "2026-07-22", "description": "registered role ids and private/group defaults" },
28
+ { "schema": "role-config", "version": 1, "date": "2026-07-22", "description": "standalone role policy definition" },
29
+ { "schema": "agent-config", "version": 6, "date": "2026-07-23", "description": "move admin identities into AUN private relation role and reject admins[]" },
30
+ { "schema": "contact-book", "version": 2, "date": "2026-07-24", "description": "AID display names, full-channelKey aliases, and extensible contact status" },
31
+ { "schema": "relation-config", "version": 5, "date": "2026-07-23", "description": "restore authoritative private/group relation role; allow admin and forbid owner" },
32
+ { "schema": "defaults", "version": 2, "date": "2026-07-27", "description": "remove Session Renew effort and add globally defaultable response-mode parameters" },
33
+ { "schema": "agent-config", "version": 7, "date": "2026-07-27", "description": "remove Session Renew effort; auxiliary inference is response-mode owned" },
34
+ { "schema": "relation-config", "version": 6, "date": "2026-07-27", "description": "remove relation Session Renew effort; auxiliary inference is response-mode owned" },
35
+ { "schema": "single-session", "version": 2, "date": "2026-07-27", "description": "add optional baseagent-aware auxiliaryModel and auxiliaryEffort without factory defaults" },
36
+ { "schema": "single-session", "version": 3, "date": "2026-08-31", "description": "move Session Renew auxiliary model and effort from mode buckets into baseagent settings" },
37
+ { "schema": "daemon", "version": 3, "date": "2026-07-29", "description": "make daemon.json the exclusive source for all process debug settings" },
38
+ { "schema": "daemon", "version": 4, "date": "2026-08-04", "description": "add configurable default AID domain for generated identities" },
39
+ { "schema": "defaults", "version": 3, "date": "2026-07-29", "description": "remove debug from the Agent configuration inheritance chain" },
40
+ { "schema": "agent-config", "version": 8, "date": "2026-07-29", "description": "reject Agent-level debug because debug is process-owned" },
41
+ { "schema": "agent-config", "version": 9, "date": "2026-07-29", "description": "add owner-controlled AUN group rules loading and Agent message access policy" },
42
+ { "schema": "relation-config", "version": 7, "date": "2026-07-29", "description": "add per-group override for the AUN group rules loading policy" },
43
+ { "schema": "contact-book", "version": 3, "date": "2026-07-29", "description": "add versioned contact requests and declined status" },
44
+ { "schema": "defaults", "version": 4, "date": "2026-08-02", "description": "add defaults-only fallback model chain" },
45
+ { "schema": "agent-config", "version": 10, "date": "2026-08-02", "description": "reject Agent-level fallback model chain" },
46
+ { "schema": "relation-config", "version": 8, "date": "2026-08-02", "description": "reject relation-level fallback model chain" },
47
+ { "schema": "daemon", "version": 5, "date": "2026-08-27", "description": "remove EvolCore AUN gateway override" },
48
+ { "schema": "daemon", "version": 6, "date": "2026-09-01", "description": "unify local service lifecycle and AUN proxy settings under services[]" },
49
+ { "schema": "defaults", "version": 5, "date": "2026-08-27", "description": "remove EvolCore AUN gateway override" },
50
+ { "schema": "agent-config", "version": 11, "date": "2026-08-27", "description": "remove EvolCore AUN gateway override" },
51
+ { "schema": "agent-config", "version": 12, "date": "2026-09-04", "description": "add Agent-level AUN group slash structured-mention policy" }
52
+ ]
53
+ }
@@ -1,177 +1,177 @@
1
- {
2
- "$schema": "http://json-schema.org/draft-07/schema#",
3
- "$id": "agent-config.schema.1.json",
4
- "title": "AgentConfig (agents/{aid}/config.json)",
5
- "description": "单 agent 的身份、凭证、管控字段。覆盖链中级,覆盖 defaults。",
6
- "x-logical-name": "agent-config",
7
- "x-scope": "agent",
8
- "type": "object",
9
- "additionalProperties": false,
10
- "required": ["aid", "channels"],
11
- "properties": {
12
- "$schema_version": { "type": "number", "default": 1, "x-merge": "scalar" },
13
- "aid": { "type": "string", "description": "Agent 标识(必填)", "x-merge": "scalar" },
14
- "enabled": { "type": "boolean", "description": "Agent 启用状态", "x-merge": "scalar" },
15
- "initialized": { "type": "boolean", "description": "AUN 首次初始化标记", "x-merge": "scalar" },
16
- "owners": {
17
- "type": "array",
18
- "items": { "type": "string" },
19
- "description": "Agent owner(AID,沿链并集)",
20
- "x-merge": "list"
21
- },
22
- "admins": {
23
- "type": "array",
24
- "items": { "type": "string" },
25
- "description": "Agent 管理员(AID,沿链并集)",
26
- "x-merge": "list"
27
- },
28
- "channels": {
29
- "type": "array",
30
- "items": { "type": "object" },
31
- "description": "渠道实例(含 appSecret/token,应为 ${VAR} 引用)",
32
- "x-merge": "list"
33
- },
34
- "aun": {
35
- "type": "object",
36
- "description": "该 agent 的 AUN 配置",
37
- "x-merge": "dict",
38
- "properties": {
39
- "keystorePath": { "type": "string" },
40
- "encryptionSeed": { "type": "string" },
41
- "gatewayUrl": { "type": "string" }
42
- }
43
- },
44
- "models": {
45
- "type": "object",
46
- "description": "模型白名单(覆盖 defaults)",
47
- "x-merge": "dict",
48
- "properties": {
49
- "default": { "type": "string" },
50
- "allowed": { "type": "array", "items": { "type": "string" } }
51
- }
52
- },
53
- "active_baseagent": {
54
- "type": "string",
55
- "description": "当前活跃的 base agent(claude/codex/gemini)。暂存于此,待权限体系实现后迁移。",
56
- "x-merge": "scalar"
57
- },
58
- "baseagents": {
59
- "type": "object",
60
- "description": "各 base agent 配置(model/effort/apiKey/baseUrl 等)。暂存于此,待权限体系实现后迁移。",
61
- "x-merge": "dict"
62
- },
63
- "projects": {
64
- "type": "object",
65
- "description": "项目路径配置",
66
- "x-merge": "dict",
67
- "properties": {
68
- "defaultPath": { "type": "string", "description": "Agent 项目路径" }
69
- }
70
- },
71
- "debug": {
72
- "type": "object",
73
- "description": "调试配置",
74
- "x-merge": "dict",
75
- "properties": {
76
- "logLevel": { "type": "string", "enum": ["DEBUG", "INFO", "WARN", "ERROR"] },
77
- "flusherDiag": { "type": "boolean" },
78
- "aunTrace": { "type": "boolean" },
79
- "aunSdkLog": { "type": "boolean" },
80
- "upmsg": { "type": "boolean" }
81
- }
82
- },
83
- "observable": { "type": "boolean", "description": "观察者模式:入站/出站各转一份给 owners", "x-merge": "scalar" },
84
- "chatmode": {
85
- "type": "object",
86
- "description": "聊天模式配置(private/group/nothuman)",
87
- "x-merge": "dict",
88
- "properties": {
89
- "private": { "type": "string", "enum": ["interactive", "proactive"], "description": "私聊模式" },
90
- "group": { "type": "string", "enum": ["interactive", "proactive"], "description": "群聊模式" },
91
- "nothuman": { "type": "string", "enum": ["interactive", "proactive"], "description": "无人类场景模式" }
92
- }
93
- },
94
- "dispatch": {
95
- "type": "string",
96
- "enum": ["mention", "broadcast", "none"],
97
- "description": "群聊响应策略:mention=仅@时, broadcast=所有消息, none=不响应",
98
- "x-merge": "scalar"
99
- },
100
- "response_modes": {
101
- "type": "object",
102
- "description": "响应模式配置(响应系统插件化)。default_private/default_group/configs/overrides 按第一层键合并",
103
- "x-merge": "dict",
104
- "properties": {
105
- "default_private": { "type": "string", "description": "单聊默认响应模式 id" },
106
- "default_group": { "type": "string", "description": "群聊默认响应模式 id" },
107
- "configs": { "type": "object", "description": "各模式配置参数(modeId → 配置对象)" },
108
- "overrides": { "type": "object", "description": "按对端/群覆盖(peerKey → {mode, config})" }
109
- }
110
- },
111
- "extra_backup": {
112
- "type": "array",
113
- "description": "快照额外备份文件声明(不得指向 .env)",
114
- "x-merge": "list",
115
- "items": {
116
- "type": "object",
117
- "additionalProperties": false,
118
- "properties": {
119
- "path": { "type": "string" },
120
- "pattern": { "type": "string" }
121
- }
122
- }
123
- },
124
- "lifecycle": {
125
- "type": "string",
126
- "enum": ["created", "bootstrapping", "active"],
127
- "description": "Agent 生命周期状态",
128
- "x-merge": "scalar"
129
- },
130
- "capabilities": {
131
- "type": "object",
132
- "description": "Agent 能力配置",
133
- "x-merge": "dict"
134
- },
135
- "flush_delay": {
136
- "type": "number",
137
- "description": "消息 flush 间隔(毫秒)",
138
- "x-merge": "scalar"
139
- },
140
- "debounce": {
141
- "type": "number",
142
- "description": "入站消息去抖间隔(毫秒)",
143
- "x-merge": "scalar"
144
- },
145
- "show_activities": {
146
- "type": "string",
147
- "enum": ["all", "text", "none"],
148
- "description": "中间活动可见性",
149
- "x-merge": "scalar"
150
- },
151
- "proactive": {
152
- "type": "object",
153
- "description": "Proactive 模式策略配置",
154
- "x-merge": "dict"
155
- },
156
- "render": {
157
- "type": "object",
158
- "description": "渲染配置",
159
- "x-merge": "dict"
160
- },
161
- "enable_rich_content": {
162
- "type": "boolean",
163
- "description": "启用富内容渲染",
164
- "x-merge": "scalar"
165
- },
166
- "permissionMode": {
167
- "type": "string",
168
- "description": "权限模式",
169
- "x-merge": "scalar"
170
- },
171
- "roles": {
172
- "type": "object",
173
- "description": "角色配置(RBAC)",
174
- "x-merge": "dict"
175
- }
176
- }
177
- }
1
+ {
2
+ "$schema": "http://json-schema.org/draft-07/schema#",
3
+ "$id": "agent-config.schema.1.json",
4
+ "title": "AgentConfig (agents/{aid}/config.json)",
5
+ "description": "单 agent 的身份、凭证、管控字段。覆盖链中级,覆盖 defaults。",
6
+ "x-logical-name": "agent-config",
7
+ "x-scope": "agent",
8
+ "type": "object",
9
+ "additionalProperties": false,
10
+ "required": ["aid", "channels"],
11
+ "properties": {
12
+ "$schema_version": { "type": "number", "default": 1, "x-merge": "scalar" },
13
+ "aid": { "type": "string", "description": "Agent 标识(必填)", "x-merge": "scalar" },
14
+ "enabled": { "type": "boolean", "description": "Agent 启用状态", "x-merge": "scalar" },
15
+ "initialized": { "type": "boolean", "description": "AUN 首次初始化标记", "x-merge": "scalar" },
16
+ "owners": {
17
+ "type": "array",
18
+ "items": { "type": "string" },
19
+ "description": "Agent owner(AID,沿链并集)",
20
+ "x-merge": "list"
21
+ },
22
+ "admins": {
23
+ "type": "array",
24
+ "items": { "type": "string" },
25
+ "description": "Agent 管理员(AID,沿链并集)",
26
+ "x-merge": "list"
27
+ },
28
+ "channels": {
29
+ "type": "array",
30
+ "items": { "type": "object" },
31
+ "description": "渠道实例(含 appSecret/token,应为 ${VAR} 引用)",
32
+ "x-merge": "list"
33
+ },
34
+ "aun": {
35
+ "type": "object",
36
+ "description": "该 agent 的 AUN 配置",
37
+ "x-merge": "dict",
38
+ "properties": {
39
+ "keystorePath": { "type": "string" },
40
+ "encryptionSeed": { "type": "string" },
41
+ "gatewayUrl": { "type": "string" }
42
+ }
43
+ },
44
+ "models": {
45
+ "type": "object",
46
+ "description": "模型白名单(覆盖 defaults)",
47
+ "x-merge": "dict",
48
+ "properties": {
49
+ "default": { "type": "string" },
50
+ "allowed": { "type": "array", "items": { "type": "string" } }
51
+ }
52
+ },
53
+ "active_baseagent": {
54
+ "type": "string",
55
+ "description": "当前活跃的 base agent(claude/codex/gemini)。暂存于此,待权限体系实现后迁移。",
56
+ "x-merge": "scalar"
57
+ },
58
+ "baseagents": {
59
+ "type": "object",
60
+ "description": "各 base agent 配置(model/effort/apiKey/baseUrl 等)。暂存于此,待权限体系实现后迁移。",
61
+ "x-merge": "dict"
62
+ },
63
+ "projects": {
64
+ "type": "object",
65
+ "description": "项目路径配置",
66
+ "x-merge": "dict",
67
+ "properties": {
68
+ "defaultPath": { "type": "string", "description": "Agent 项目路径" }
69
+ }
70
+ },
71
+ "debug": {
72
+ "type": "object",
73
+ "description": "调试配置",
74
+ "x-merge": "dict",
75
+ "properties": {
76
+ "logLevel": { "type": "string", "enum": ["DEBUG", "INFO", "WARN", "ERROR"] },
77
+ "flusherDiag": { "type": "boolean" },
78
+ "aunTrace": { "type": "boolean" },
79
+ "aunSdkLog": { "type": "boolean" },
80
+ "upmsg": { "type": "boolean" }
81
+ }
82
+ },
83
+ "observable": { "type": "boolean", "description": "观察者模式:入站/出站各转一份给 owners", "x-merge": "scalar" },
84
+ "chatmode": {
85
+ "type": "object",
86
+ "description": "聊天模式配置(private/group/nothuman)",
87
+ "x-merge": "dict",
88
+ "properties": {
89
+ "private": { "type": "string", "enum": ["interactive", "proactive"], "description": "私聊模式" },
90
+ "group": { "type": "string", "enum": ["interactive", "proactive"], "description": "群聊模式" },
91
+ "nothuman": { "type": "string", "enum": ["interactive", "proactive"], "description": "无人类场景模式" }
92
+ }
93
+ },
94
+ "dispatch": {
95
+ "type": "string",
96
+ "enum": ["mention", "broadcast", "none"],
97
+ "description": "群聊响应策略:mention=仅@时, broadcast=所有消息, none=不响应",
98
+ "x-merge": "scalar"
99
+ },
100
+ "response_modes": {
101
+ "type": "object",
102
+ "description": "响应模式配置(响应系统插件化)。default_private/default_group/configs/overrides 按第一层键合并",
103
+ "x-merge": "dict",
104
+ "properties": {
105
+ "default_private": { "type": "string", "description": "单聊默认响应模式 id" },
106
+ "default_group": { "type": "string", "description": "群聊默认响应模式 id" },
107
+ "configs": { "type": "object", "description": "各模式配置参数(modeId → 配置对象)" },
108
+ "overrides": { "type": "object", "description": "按对端/群覆盖(peerKey → {mode, config})" }
109
+ }
110
+ },
111
+ "extra_backup": {
112
+ "type": "array",
113
+ "description": "快照额外备份文件声明(不得指向 .env)",
114
+ "x-merge": "list",
115
+ "items": {
116
+ "type": "object",
117
+ "additionalProperties": false,
118
+ "properties": {
119
+ "path": { "type": "string" },
120
+ "pattern": { "type": "string" }
121
+ }
122
+ }
123
+ },
124
+ "lifecycle": {
125
+ "type": "string",
126
+ "enum": ["created", "bootstrapping", "active"],
127
+ "description": "Agent 生命周期状态",
128
+ "x-merge": "scalar"
129
+ },
130
+ "capabilities": {
131
+ "type": "object",
132
+ "description": "Agent 能力配置",
133
+ "x-merge": "dict"
134
+ },
135
+ "flush_delay": {
136
+ "type": "number",
137
+ "description": "消息 flush 间隔(毫秒)",
138
+ "x-merge": "scalar"
139
+ },
140
+ "debounce": {
141
+ "type": "number",
142
+ "description": "入站消息去抖间隔(毫秒)",
143
+ "x-merge": "scalar"
144
+ },
145
+ "show_activities": {
146
+ "type": "string",
147
+ "enum": ["all", "text", "none"],
148
+ "description": "中间活动可见性",
149
+ "x-merge": "scalar"
150
+ },
151
+ "proactive": {
152
+ "type": "object",
153
+ "description": "Proactive 模式策略配置",
154
+ "x-merge": "dict"
155
+ },
156
+ "render": {
157
+ "type": "object",
158
+ "description": "渲染配置",
159
+ "x-merge": "dict"
160
+ },
161
+ "enable_rich_content": {
162
+ "type": "boolean",
163
+ "description": "启用富内容渲染",
164
+ "x-merge": "scalar"
165
+ },
166
+ "permissionMode": {
167
+ "type": "string",
168
+ "description": "权限模式",
169
+ "x-merge": "scalar"
170
+ },
171
+ "roles": {
172
+ "type": "object",
173
+ "description": "角色配置(RBAC)",
174
+ "x-merge": "dict"
175
+ }
176
+ }
177
+ }