evolcore 0.0.28 → 0.0.29

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 (183) hide show
  1. package/CHANGELOG.md +12 -0
  2. package/bin/ec-safe-output.js +270 -54
  3. package/dist/agents/baseagent-availability.js +37 -1
  4. package/dist/agents/baseagent.js +19 -9
  5. package/dist/agents/claude-runner.js +171 -13
  6. package/dist/agents/codex/app-server-client.js +6 -2
  7. package/dist/agents/codex/diagnostics.js +4 -3
  8. package/dist/agents/codex-runner.js +396 -95
  9. package/dist/agents/gemini-runner.js +35 -17
  10. package/dist/aun/group/history.js +130 -90
  11. package/dist/aun/group/operations.js +1 -3
  12. package/dist/aun/menu/transport.js +5 -3
  13. package/dist/aun/msg/managed-operation.js +70 -0
  14. package/dist/aun/msg/p2p.js +1 -3
  15. package/dist/aun/msg/upload.js +2 -2
  16. package/dist/aun/outbox.js +1 -37
  17. package/dist/channels/aun.js +249 -89
  18. package/dist/channels/daemon.js +18 -1
  19. package/dist/channels/feishu.js +1 -2
  20. package/dist/cli/agent-command.js +23 -3
  21. package/dist/cli/agent-create.js +68 -2
  22. package/dist/cli/agent.js +12 -2
  23. package/dist/cli/aun-commands.js +87 -13
  24. package/dist/cli/cli-argv.js +26 -0
  25. package/dist/cli/daemon-commands.js +40 -10
  26. package/dist/cli/data-command.js +4 -4
  27. package/dist/cli/handoff-command.js +2 -0
  28. package/dist/cli/index.js +18 -1
  29. package/dist/cli/managed-command-guard.js +10 -0
  30. package/dist/cli/memory-command.js +441 -0
  31. package/dist/cli/restart-monitor.js +62 -6
  32. package/dist/cli/skill-command.js +41 -0
  33. package/dist/cli/task-context.js +2 -23
  34. package/dist/cli/trigger-command.js +9 -1
  35. package/dist/cli/watch-msg-diag.js +209 -0
  36. package/dist/config/config-field-policy.js +52 -3
  37. package/dist/config/config-manager.js +17 -4
  38. package/dist/config/contact-book-store.js +2 -2
  39. package/dist/config/mention-mode.js +7 -2
  40. package/dist/config/merge.js +28 -9
  41. package/dist/config/resolved-config-op.js +1 -1
  42. package/dist/config/runtime-env.js +137 -0
  43. package/dist/config/schema-registry.js +11 -1
  44. package/dist/config-store.js +10 -10
  45. package/dist/core/audit/event-key.js +3 -1
  46. package/dist/core/audit/log-integrity.js +4 -0
  47. package/dist/core/auth/agent-delegation.js +2 -1
  48. package/dist/core/auth/auth-gateway.js +13 -6
  49. package/dist/core/auth/authorization-audit.js +54 -19
  50. package/dist/core/auth/operation-authorizer.js +17 -0
  51. package/dist/core/auth/operation-catalog.js +9 -0
  52. package/dist/core/causation/context.js +5 -1
  53. package/dist/core/command/agent-control.js +1 -2
  54. package/dist/core/command/command-handler.js +51 -23
  55. package/dist/core/command/memory-slash.js +270 -0
  56. package/dist/core/command/menu-catalog.js +1 -0
  57. package/dist/core/command/menu-handler.js +315 -60
  58. package/dist/core/command/menu-protocol.js +42 -4
  59. package/dist/core/command/slash-gate.js +10 -10
  60. package/dist/core/command/slash-handler.js +206 -64
  61. package/dist/core/data-migration.js +282 -505
  62. package/dist/core/event-catalog.js +26 -0
  63. package/dist/core/evolagent-registry.js +6 -0
  64. package/dist/core/evolagent.js +0 -10
  65. package/dist/core/handoff/store.js +1 -20
  66. package/dist/core/inference/text-inference.js +57 -1
  67. package/dist/core/memory/consolidation-context.js +505 -0
  68. package/dist/core/memory/consolidation-ops-records.js +124 -0
  69. package/dist/core/memory/consolidation-trigger.js +394 -0
  70. package/dist/core/memory/index-manager.js +308 -0
  71. package/dist/core/memory/launch-consolidation.js +395 -0
  72. package/dist/core/memory/memory-admin.js +234 -0
  73. package/dist/core/memory/memory-document.js +100 -0
  74. package/dist/core/memory/memory-session-policy.js +41 -0
  75. package/dist/core/memory/memory-signature.js +257 -0
  76. package/dist/core/memory/memory-writer.js +432 -0
  77. package/dist/core/memory/staleness.js +117 -0
  78. package/dist/core/message/auto-mention-gate.js +454 -0
  79. package/dist/core/message/im-renderer.js +69 -16
  80. package/dist/core/message/message-bridge.js +287 -21
  81. package/dist/core/message/message-log.js +1 -0
  82. package/dist/core/message/message-queue.js +114 -27
  83. package/dist/core/message/pending-hints.js +329 -161
  84. package/dist/core/message/response-engine.js +567 -80
  85. package/dist/core/permission/ec-command-parser.js +1029 -80
  86. package/dist/core/permission/protected-paths.js +376 -126
  87. package/dist/core/permission/sandbox-runtime.js +40 -12
  88. package/dist/core/permission/tool-error-code.js +96 -13
  89. package/dist/core/permission/tool-policy.js +276 -23
  90. package/dist/core/role/runtime-policy.js +3 -7
  91. package/dist/core/session/{runner-task-history.js → runner-event-summary.js} +1 -1
  92. package/dist/core/session/session-fs-store.js +0 -76
  93. package/dist/core/session/session-idle-monitor.js +355 -0
  94. package/dist/core/session/session-manager.js +478 -17
  95. package/dist/core/session/session-mapper.js +33 -16
  96. package/dist/core/session/session-renew.js +217 -155
  97. package/dist/core/session/{session-turns.js → session-transcript.js} +35 -6
  98. package/dist/core/skill/global-watcher.js +282 -0
  99. package/dist/core/skill/index-generator.js +84 -0
  100. package/dist/core/skill/startup.js +73 -0
  101. package/dist/core/skill/switch-resolver.js +115 -0
  102. package/dist/core/task/task-activity-store.js +219 -0
  103. package/dist/eck/kit-renderer.js +30 -3
  104. package/dist/eck/manifest-engine.js +26 -4
  105. package/dist/index.js +708 -18
  106. package/dist/ipc.js +564 -2
  107. package/dist/paths.js +30 -9
  108. package/dist/response-system/engines/v1/proactive-flow.js +116 -15
  109. package/dist/response-system/modes/single-session/index.js +3 -0
  110. package/dist/trigger/feedback.js +1 -0
  111. package/dist/trigger/manager.js +0 -10
  112. package/dist/trigger/scheduler.js +11 -0
  113. package/dist/trigger/validation.js +22 -0
  114. package/dist/utils/avatar-upload.js +59 -18
  115. package/dist/utils/error-dict.json +6 -3
  116. package/dist/utils/error-utils.js +27 -0
  117. package/dist/utils/logger.js +32 -10
  118. package/dist/utils/media-cache.js +84 -0
  119. package/dist/utils/msg-diag.js +97 -0
  120. package/dist/utils/welcome.js +37 -8
  121. package/kits/docs/AUTHORING.md +314 -0
  122. package/kits/docs/GUIDE.md +2 -0
  123. package/kits/docs/INDEX.md +2 -0
  124. package/kits/docs/aun/CHEATSHEET.md +4 -0
  125. package/kits/docs/aun/SDK.md +60 -0
  126. package/kits/docs/context-assembly.md +10 -6
  127. package/kits/docs/evolcore/INDEX.md +17 -3
  128. package/kits/docs/evolcore/agent-create.md +24 -0
  129. package/kits/docs/evolcore/agent.md +5 -2
  130. package/kits/docs/evolcore/config.md +1 -1
  131. package/kits/docs/evolcore/ec-capabilities.md +364 -0
  132. package/kits/docs/evolcore/group.md +34 -18
  133. package/kits/docs/evolcore/memory-architecture.md +78 -0
  134. package/kits/docs/evolcore/memory-consolidation-batches.md +133 -0
  135. package/kits/docs/evolcore/memory-consolidation.md +263 -0
  136. package/kits/docs/evolcore/memory-tags.md +63 -0
  137. package/kits/docs/evolcore/memory.md +110 -0
  138. package/kits/docs/evolcore/menu-client.md +27 -11
  139. package/kits/{schemas → docs/evolcore}/menu-exec-schema-commands.md +12 -6
  140. package/kits/docs/evolcore/menu-protocol.md +213 -0
  141. package/kits/docs/evolcore/msg.md +2 -0
  142. package/kits/docs/evolcore/trigger.md +7 -5
  143. package/kits/docs/path-registry.md +6 -8
  144. package/kits/docs/prompt-loading-architecture.md +5 -3
  145. package/kits/docs/venues/group.md +5 -4
  146. package/kits/eck_manifest.json +294 -88
  147. package/kits/eck_manifest.memory.json +257 -0
  148. package/kits/rules/03-identity.md +8 -8
  149. package/kits/rules/05-venue.md +4 -2
  150. package/kits/rules/06-channel.md +1 -1
  151. package/kits/schemas/_meta.json +276 -47
  152. package/kits/schemas/agent-config.schema.12.json +38 -2
  153. package/kits/schemas/agent-config.schema.13.json +591 -0
  154. package/kits/schemas/daemon.schema.6.json +9 -9
  155. package/kits/schemas/defaults.schema.5.json +29 -0
  156. package/kits/schemas/relation-config.schema.8.json +14 -1
  157. package/kits/schemas/relation-config.schema.9.json +129 -0
  158. package/kits/schemas/role-config.schema.1.json +3 -3
  159. package/kits/skills/.switches.json +3 -0
  160. package/kits/skills/ec-skill/SKILL.md +217 -0
  161. package/kits/skills/ec-skill/scripts/cli.mjs +128 -0
  162. package/kits/skills/ec-skill/scripts/deps.mjs +107 -0
  163. package/kits/skills/ec-skill/scripts/frontmatter.mjs +104 -0
  164. package/kits/skills/ec-skill/scripts/skill.mjs +629 -0
  165. package/kits/skills/ec-skill/scripts/template/SKILL.md.tmpl +30 -0
  166. package/kits/templates/decision/auto-mention.md +25 -0
  167. package/kits/templates/decision/session-renew.md +22 -0
  168. package/kits/templates/memory-consolidation/forget.md +104 -0
  169. package/kits/templates/memory-consolidation/generalize.md +76 -0
  170. package/kits/templates/memory-consolidation/notes.md +133 -0
  171. package/kits/templates/memory-consolidation/profile.md +58 -0
  172. package/kits/templates/memory-consolidation/promote.md +72 -0
  173. package/kits/templates/memory-consolidation/workflow.md +75 -0
  174. package/kits/templates/system-fragments/bootstrap.md +14 -5
  175. package/kits/templates/system-fragments/commands.md +1 -0
  176. package/kits/templates/system-fragments/group-history.md +6 -0
  177. package/kits/templates/system-fragments/identity.md +0 -3
  178. package/kits/templates/system-fragments/memory.md +79 -0
  179. package/kits/templates/system-fragments/reply.md +1 -0
  180. package/kits/templates/system-fragments/venue.md +1 -1
  181. package/package.json +4 -6
  182. package/dist/trigger/legacy-session-history.js +0 -19
  183. package/kits/templates/system-fragments/group-unread-history.md +0 -7
@@ -0,0 +1,213 @@
1
+ # Menu Protocol 规范
2
+
3
+ Menu Protocol 是 EvolCore 在 AUN `message.send` 之上建立的**应用层协议**,与 AUN SDK 本身无关。任何能发送 AUN 消息的客户端,只要按照本文约定的 payload 格式发送,都可以与 EvolCore daemon 交互。对应实现:`src/core/command/menu-protocol.ts`、`src/aun/menu/`。
4
+
5
+ ---
6
+
7
+ ## 一、传输层约定
8
+
9
+ 所有 Menu 请求通过 AUN `message.send` 点对点发送给 daemon 的 Control AID:
10
+
11
+ | 参数 | 值 | 说明 |
12
+ |------|-----|------|
13
+ | `to` | daemon control AID | 目标 daemon 的 AID |
14
+ | `encrypt` | `true` | 必须 E2EE 加密 |
15
+ | `ttl` | `60` | 秒,短生命周期 |
16
+ | `payload` | menu request 对象 | 见下方消息类型 |
17
+ | `protected_headers` | 见下方 | 身份认证信息 |
18
+
19
+ 响应通过 daemon 向请求方 AID 发送 `menu.response` 消息,以 `id` 字段配对。
20
+
21
+ ---
22
+
23
+ ## 二、protected_headers
24
+
25
+ 随每条 menu 请求携带,字段均为小写字符串:
26
+
27
+ | 字段 | 类型 | 说明 |
28
+ |------|------|------|
29
+ | `client_name` | `'evol'` \| `'Evol App'` \| `'ec-menu-client'` | 客户端标识;缺失视为旧版 Evol 客户端 |
30
+ | `client_version` | string | 客户端版本号;`ec-menu-client` 时必填,格式 `X.Y.Z` |
31
+ | `evol_version` | string | Evol App 兼容版本字段 |
32
+ | `sdk_version` | string | fastaun SDK 版本;`>= 0.5.17` 时启用 volatile 传输与 `to_device_id` 定向回复 |
33
+ | `auth_method` | `'daemon-owner'` \| `'remote-access-token'` \| `'ecweb-token'` | 身份验证方式;缺失视为 daemon-owner |
34
+ | `remote_access_token` | string | daemon 签发的远程访问 token;`auth_method=remote-access-token` 时填写 |
35
+ | `ecweb_token` | string | `remote_access_token` 的兼容别名 |
36
+
37
+ **鉴权说明**:`auth_method` 字段本身只是提示,真正的 `daemon-owner` 判定依赖 AUN 连接层认证的发送方 AID 是否在 daemon 配置的 `owners` 列表里。`remote-access-token` 由 daemon 通过配对码兑换签发,权限与 daemon-owner 等同。
38
+
39
+ ---
40
+
41
+ ## 三、消息类型
42
+
43
+ ### `menu.token.request`
44
+
45
+ 获取 menu token,用于后续 menu.list / menu.query 等需要 token 的请求。
46
+
47
+ ```json
48
+ {
49
+ "type": "menu.token.request",
50
+ "id": "<uuid>",
51
+ "args": {}
52
+ }
53
+ ```
54
+
55
+ ### `menu.list`
56
+
57
+ 查询命令目录(catalog)或某个命令的当前值(values)。
58
+
59
+ ```json
60
+ {
61
+ "type": "menu.list",
62
+ "id": "<uuid>",
63
+ "menu_token": "<token>",
64
+ "name": "<命令名>",
65
+ "args": { "view": "catalog", "context": { "kind": "process" } }
66
+ }
67
+ ```
68
+
69
+ `context.kind` 取值:`private_relation` / `group_relation` / `agent` / `process`。
70
+
71
+ ### `menu.query`
72
+
73
+ 查询命令的结构化数据(状态、详情等)。超时后自动重发一次(幂等操作)。
74
+
75
+ ```json
76
+ {
77
+ "type": "menu.query",
78
+ "id": "<uuid>",
79
+ "name": "system",
80
+ "args": { "view": "status" }
81
+ }
82
+ ```
83
+
84
+ 常用 `name` + `args.view` 组合:
85
+
86
+ | name | args.view | 说明 |
87
+ |------|-----------|------|
88
+ | `system` | `status` | daemon 状态 |
89
+ | `system` | `monitor` | 运行时监控 |
90
+ | `system` | `logs` | daemon 日志(`source`/`limit` 可选) |
91
+ | `session` | `subtasks` | 会话子任务列表 |
92
+ | `baseagents` | —— | 已加载 baseagent 列表 |
93
+ | `config` | `rawFile` | 原始配置文件(需 `resource` 参数) |
94
+
95
+ ### `menu.options`
96
+
97
+ 查询某命令的可选项列表(如可切换的模型列表)。超时后自动重发一次。
98
+
99
+ ```json
100
+ {
101
+ "type": "menu.options",
102
+ "id": "<uuid>",
103
+ "name": "baseagent",
104
+ "args": {}
105
+ }
106
+ ```
107
+
108
+ ### `menu.update`
109
+
110
+ 更新配置类命令(如切换模型、修改设置)。**不自动重试**。
111
+
112
+ ```json
113
+ {
114
+ "type": "menu.update",
115
+ "id": "<uuid>",
116
+ "name": "/model",
117
+ "cmd": "/model",
118
+ "args": { "value": "claude-opus-5-5" }
119
+ }
120
+ ```
121
+
122
+ ### `menu.action`
123
+
124
+ 触发动作类命令(如创建 agent、重启、生成配对码)。**不自动重试**。
125
+
126
+ ```json
127
+ {
128
+ "type": "menu.action",
129
+ "id": "<uuid>",
130
+ "name": "<name>",
131
+ "action": "<action>",
132
+ "args": { "argv": ["--name", "myagent"] }
133
+ }
134
+ ```
135
+
136
+ `args.argv`(数组,推荐)优先于 `args.command`(字符串,daemon 侧分词)。
137
+
138
+ 常用 `name` + `action` 组合:
139
+
140
+ | name | action | operation | 说明 |
141
+ |------|--------|-----------|------|
142
+ | `/agent` | `create` | `agent.create` | 创建 agent(需 daemon-owner) |
143
+ | `/agent` | `initialize` | `agent.initialize` | 初始化 agent(需 daemon-owner) |
144
+ | `/agent` | `delete` | `agent.delete` | 删除 agent(需 daemon-owner) |
145
+ | `/agent` | `enable` | `agent.enable` | 启用 agent(需 daemon-owner) |
146
+ | `/agent` | `disable` | `agent.disable` | 禁用 agent(需 daemon-owner) |
147
+ | `/agent` | `reload` | `agent.reload` | 热重载 agent |
148
+ | `/system` | `restart` | `system.restart` | 重启 daemon(需 daemon-owner) |
149
+ | `/system` | `upgrade` | `system.upgrade` | 升级(需 daemon-owner) |
150
+ | `/system` | `paircode` | `system.paircode` | 生成配对码(需 daemon-owner,不接受 remote token) |
151
+ | `/system` | `check` | `system.status` | 检查系统状态 |
152
+ | `/gateway` | 各 action | `gateway.write` | 网关管理(需 daemon-owner) |
153
+ | `cli` | `exec` | — | 执行任意 `ec` CLI 命令(`args.argv` 是完整 argv 数组) |
154
+
155
+ ---
156
+
157
+ ## 四、menu.response 格式
158
+
159
+ daemon 通过 `message.send` 回复,payload 结构:
160
+
161
+ ```json
162
+ {
163
+ "type": "menu.response",
164
+ "id": "<配对的请求 id>",
165
+ "data": { ... },
166
+ "error": {
167
+ "code": "ROLE_ACCESS_DENIED",
168
+ "message": "...",
169
+ "data": {}
170
+ }
171
+ }
172
+ ```
173
+
174
+ `data` 和 `error` 互斥。`data` 存在时表示成功;`error` 存在时表示 daemon 拒绝或执行失败。对于 `cli exec`,成功时 `data = { exitCode, stdout, stderr, truncated, durationMs }`,`exitCode === 0` 才是命令本身成功。
175
+
176
+ ---
177
+
178
+ ## 五、operation 与鉴权
179
+
180
+ Menu 请求进入 daemon 后,`menu-handler.ts` 将 `name` + `action`/`view` 解析为内部 `operation` 字符串(如 `agent.create`),再经过 `operation-authorizer.ts` 做角色判定:
181
+
182
+ - **需要 daemon-owner 的 operation**(`agent.create` / `agent.delete` / `system.restart` 等):发送方 AID 必须在 daemon `owners` 列表中,或持有有效的 `remote-access-token`
183
+ - **management role 可用的 operation**(`agent.show` / `config.*` 等):需要 agent 的 owner/admin 角色
184
+ - **关系角色可用的 operation**(`ec.msg.send` / trigger 等):需要 agent 与发送方之间的关系角色配置
185
+
186
+ 权限判定完全在 daemon 侧,客户端无法通过 `auth_method` 字段自行提升权限。
187
+
188
+ ---
189
+
190
+ ## 六、`cli exec` 路径
191
+
192
+ 通过 `name=cli action=exec args.argv=[...]` 可以远程执行任意 `ec` CLI 命令:
193
+
194
+ ```json
195
+ {
196
+ "type": "menu.action",
197
+ "id": "exec-1",
198
+ "name": "cli",
199
+ "action": "exec",
200
+ "args": { "argv": ["agent", "list", "--format", "json"] }
201
+ }
202
+ ```
203
+
204
+ 响应的 `data.stdout` 是命令的标准输出。Schema 相关命令详见 `$KITS/schemas/menu-exec-schema-commands.md`。
205
+
206
+ ---
207
+
208
+ ## 七、参考
209
+
210
+ - 使用 `ec menu-client` 发送 menu 请求(CLI 语法、参数、退出码):`$KITS_DOCS/evolcore/menu-client.md`
211
+ - Schema 查询的完整命令手册:`$KITS/schemas/menu-exec-schema-commands.md`(位于 `$KITS_DOCS` 之外,不在别名解析范围内,按此物理路径 Read)
212
+ - 实现入口:`src/core/command/menu-protocol.ts`、`src/core/command/menu-handler.ts`
213
+ - 鉴权核心:`src/core/auth/operation-authorizer.ts`、`src/core/auth/auth-gateway.ts`
@@ -13,6 +13,8 @@
13
13
 
14
14
  ## 发送消息
15
15
 
16
+ 长文本内联参数统一约定:普通命令调用不变;将字面量 `\n`、`\r`、`\t`、`\\` 分别按一次解码为换行、回车、制表符、反斜杠。Shell 已传入的真实换行保持原样;不要使用 PowerShell 的反引号换行转义,它会在 CLI 之前改变 argv。Windows PowerShell 请调用命令名,不要显式调用批处理入口传物理多行。仅解码正文和文本选项(`--description`、`--text`、`--transcript`、`--handoff-context`);文件内容、路径、`--payload` JSON、标题均不解码。审批仍按 Shell 传入的原始 argv 校验。
17
+
16
18
  ```bash
17
19
  # 文本(明文)
18
20
  ec msg send <from> <to> "<text>" --return none|required
@@ -30,10 +30,12 @@ ec trigger history [triggerId] --limit 500 --json
30
30
 
31
31
  `show --json` 返回完整 definition、definition `revision` 和精简运行态。active run 只包含标识、阶段、时间和 `eventCount`;schedule 不返回 `sourceSignature`;recent runs 只包含状态与时间摘要;script 只返回路径、runtime、大小和 mtime,不内联脚本文本。完整运行审计使用 `history` 查询。
32
32
 
33
- `history` 查询 `data/triggers/<aid>/history.jsonl` 中的长期审计事件,包括定义创建、完整更新快照、启停、删除 tombstone 和 run 终态。删除 trigger 目录后,历史仍保留。
33
+ `history` 查询 `agents/<aid>/triggers/history.jsonl` 中的长期审计事件,包括定义创建、完整更新快照、启停、删除 tombstone 和 run 终态。删除 trigger 目录后,历史仍保留。
34
34
 
35
35
  ## 创建
36
36
 
37
+ CLI 的内联 `--prompt`(create / set / update)及 update 的 `--description` 使用相同的单次 `\n` / `\r` / `\t` / `\\` 解码;物理换行原样保留。PowerShell 不使用反引号换行转义,Windows 多行直接调用命令名,不显式调用批处理入口。`--prompt-file` 文件内容、脚本路径和标识符不解码;不强制改用文件或结构化 argv。
38
+
37
39
  创建操作统一使用 `create`:
38
40
 
39
41
  | 入口 | 正式命令 | 兼容别名 |
@@ -242,7 +244,7 @@ ec trigger rm <triggerId> # delete 的兼容别名
242
244
 
243
245
  `update` 是 patch 语义,只提交需要修改的字段;未指定字段(包括长 prompt)保持不变。`--prompt-file <path>` 只更新非 script trigger 的 prompt,不接受完整 definition。已有 script trigger 使用 `--script-file <path>` 原地替换脚本内容;脚本路径、runtime、args 和调度配置保持不变:
244
246
 
245
- `--script-file` 只能通过本机受控 CLI 读取文件并提交给 daemon;脚本 trigger 属于 daemon-owner 控制面,managed Agent task 不能直接读取本地脚本文件。主机 fullaccess 开关缺失时默认开启;Agent 级 `fullaccess.enabled` 不会自动升级 Trigger,Trigger 仍按自身 execution.permissionMode 规则执行。
247
+ `--script-file` 只能通过本机受控 CLI 读取文件并提交给 daemon;脚本 trigger 属于 daemon-owner 控制面,managed Agent task 不能直接读取本地脚本文件。Agent 级 `fullaccess.enabled` 不会自动升级 Trigger,Trigger 仍按自身 execution.permissionMode 规则执行;`permissionMode=fullaccess` 由 daemon-owner 批准链控制。
246
248
 
247
249
  ```bash
248
250
  ec trigger update <triggerId> --cron '0 10 * * *'
@@ -279,9 +281,9 @@ ec trigger run <triggerId> --dry-run
279
281
  ## 审计存储
280
282
 
281
283
  ```text
282
- data/triggers/<aid>/<triggerId>/trigger.json
283
- data/triggers/<aid>/<triggerId>/active.json
284
- data/triggers/<aid>/history.jsonl
284
+ agents/<aid>/triggers/<triggerId>/trigger.json
285
+ agents/<aid>/triggers/<triggerId>/active.json
286
+ agents/<aid>/triggers/history.jsonl
285
287
  logs/trigger-runs.log
286
288
  ```
287
289
 
@@ -45,18 +45,16 @@
45
45
  | `$AGENT_INDEX` | `$AGENT_DIR/index` | agent 级索引 |
46
46
  | `$PEER_DIR` | `$RELATIONS_DIR/<peerKey>` | 当前对端的关系目录 |
47
47
 
48
- ## 外部依赖路径(需寻找)
48
+ ## 外部依赖路径
49
49
 
50
- | 名称 | 寻找规则 | 说明 |
51
- |------|----------|------|
52
- | `$AUN_SDK` | `node -e "console.log(require.resolve('@agentunion/fastaun/package.json'))"` | 本机是本地依赖 `$PACKAGE_ROOT/node_modules/@agentunion/fastaun`,`npm ls -g` 查不到 |
53
- | `$AUN_PROTOCOL_DOCS` | `$AUN_SDK/_packed_docs/protocol` | 注意是 `_packed_docs/`,该包**没有** `docs/` 目录 |
54
-
55
- `$KITE` / `$AUN_SDK_CORE`(Kite 框架时代的 SDK 源码路径)已废弃,不再有对应实现。
50
+ | 名称 | 路径 | 说明 |
51
+ |------|------|------|
52
+ | `$AUN_SDK` | npm 包 `@agentunion/fastaun` 的安装目录 | AUN SDK安装目录,本机通常在 `$PACKAGE_ROOT/node_modules/@agentunion/fastaun`,但包管理器或安装方式不同时路径会变;以包名为准,具体路径由安装环境决定 |
53
+ | `$AUN_SDK_DOCS` | `$AUN_SDK/_packed_docs` | AUN SDK文档根目录;包内**没有** `docs/` 目录,文档统一在 `_packed_docs/`;入口索引为 `INDEX.md` |
56
54
 
57
55
  ## 路径实例文件
58
56
 
59
57
  `$ECK/path-registry.md` 和 `$ECK/runtime.md` 由 `src/eck/init.ts` **写一次就不再更新**
60
58
  (`if (fs.existsSync(file)) return`),且只渲染 `EVOLCORE_HOME` / `PACKAGE_ROOT` 两个变量——
61
59
  其余 `{{...}}` 占位符原样留在文件里;源码也**没有任何地方读回它们**。
62
- 不要把它们当作真实路径的依据,按本文件的派生规则自己算,或直接读 `src/paths.ts`。
60
+ 不要把它们当作真实路径的依据,按本文件的派生规则自己算,或直接读 `src/paths.ts`。
@@ -62,7 +62,7 @@
62
62
 
63
63
  | | 系统提示词渲染层 | 消息渲染层 |
64
64
  |--|--|--|
65
- | **驱动文件** | `kits/eck_manifest.json`(默认;按 `session.sessionType` 经 config.sessionManifests 可切到 `eck_manifest.<type>.json`,如 auxiliary) | `kits/eck_message_manifest.json` |
65
+ | **驱动文件** | `kits/eck_manifest.json`(默认;按 `session.sessionType` 经内置映射切到 `eck_manifest.<type>.json`,如 memory / auxiliary;config.sessionManifests 可覆盖) | `kits/eck_message_manifest.json` |
66
66
  | **覆盖文件** | `$EVOLCORE_HOME/eck/<驱动文件名>` | `$EVOLCORE_HOME/eck/eck_message_manifest.json` |
67
67
  | **模板目录** | `kits/templates/system-fragments/` | `kits/templates/message-fragments/` |
68
68
  | **输出去向** | `systemPrompt.append`(每轮覆盖,不进 transcript) | `effectivePrompt`(进 transcript,成永久历史) |
@@ -104,9 +104,11 @@
104
104
  | 20 | identity-layer | chatType≠null | ✓ | 身份层 fragment |
105
105
  | 21 | persona | chatType≠null | ✗ | `$PERSONAL_DIR/persona.md` |
106
106
  | 21.5 | personal-profile | chatType≠null | ✗ | `$PERSONAL_DIR/personal.md` |
107
- | 22 | working-memory | chatType≠null | ✗ | `$PERSONAL_DIR/memory/working.md` |
108
107
  | 30 | relation-layer | chatType∈{private,group} | ✓ | 关系层 fragment |
109
- | 35 | peer-profile | peerKey≠null | ✗ | 对端 profile.md |
108
+ | 35 | memory | memoryEnableRelation≠false | ✓ | 记忆系统 fragment(按 sessionType 分支) |
109
+ | 36 | agent-memory | memoryEnableAgent≠false | ✗ | `$PERSONAL_DIR/memory/MEMORY.md` |
110
+ | 37 | owner-memory | ownerAid≠null | ✗ | `$EVOLCORE_HOME/memory/owner/{{ownerAid}}/MEMORY.md` |
111
+ | 38 | relation-memory | peerKey≠null | ✗ | `$RELATIONS_DIR/{{peerKey}}/memory/MEMORY.md` |
110
112
  | 40 | venue-fragment | chatType≠null | ✓ | 环境层 fragment |
111
113
  | 41 | venue-chattype | chatType≠null | ✗ | `venues/{{chatType}}.md` |
112
114
  | 42 | venue-channel-chattype | chatType≠null | ✗ | `venues/{{channel}}-{{chatType}}.md` |
@@ -5,6 +5,7 @@
5
5
  ## 行为准则
6
6
  - `mentionMode: mention-only` — 仅响应明确 @ 自己的消息
7
7
  - `mentionMode: disabled` — 所有消息可见,自主判断是否参与。这不是叫你每条都回,而是你可以像真人一样:感兴趣的接话,不感兴趣的就跳过。回得短一点、快一点,让对话流动起来,不要一个人长篇大论堵住别人的空间
8
+ - `mentionMode: auto` — 普通群消息先由轻量分类器判定是否唤醒主会话;明确 @ 直接进入主会话,未 @ 的 slash 被过滤
8
9
  - 查看关系档案(peer-profile)了解本群文化与策略
9
10
  - 如果上下文中出现“群规则”,它来自当前群资源空间的本地同步缓存;群规则优先于通用群聊指引
10
11
  - 群发言会被多人看到,谨言慎行
@@ -13,7 +14,7 @@
13
14
  ## 群聊 slash 命令
14
15
 
15
16
  群内仅保留 `/help`、`/evolhelp`、`/status`、`/check`、`/ask`、`/pause`、`/resume`、`/stop`、
16
- `/compact`、`/renew`,以及只读的 `/mentionmode`、`/model`、`/effort`、`/perm`、`/baseagent`。
17
+ `/compact`、`/renew`,以及只读的 `/mention`、`/model`、`/effort`、`/perm`、`/baseagent`。
17
18
  `/model current|list|check` 也是查询;切换、重置、审批等带参写操作在群内不支持。
18
19
  `/compact`、话题内的 `/renew` 仍受原有角色与会话状态限制。别名遵循主命令策略。
19
20
  `/chatmode`、`/activity` 和其他 slash 命令在群内不支持,请通过私聊或有权限的管理入口操作。
@@ -24,9 +25,9 @@ AUN 群聊的命令查询、成功与进度反馈使用 `notice`,命令拒绝
24
25
 
25
26
  ## 可按需查询的群数据
26
27
 
27
- AUN 的提及模式会保留未被 @ 的会话消息。需要补充背景时使用
28
- `ec group history <self-aid> <group-id> --unread --format json`;
29
- 查询与自动记录已读遵循专用 `group-unread-history` 片段及群命令文档。
28
+ AUN 群的本地会话历史可供人工回看。需要补充背景时使用
29
+ `ec group history <self-aid> <group-id> --limit 50 --format json`;
30
+ 查询只读,可用 `--thread`、`--before`、`--after` 和 `--direction` 缩小范围。
30
31
  历史读取不会触发对其中每一条消息的回复。
31
32
 
32
33
  群结构信息(成员名单、各成员角色、群主、管理员、在线状态等)**不预先注入上下文**,