evolcore 0.0.2 → 0.0.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +44 -793
- package/dist/agents/claude-runner.js +197 -17
- package/dist/agents/codex-runner.js +46 -3
- package/dist/aun/outbox.js +8 -0
- package/dist/channels/aun.js +21 -4
- package/dist/channels/contact-bind-code.js +134 -0
- package/dist/channels/dingtalk.js +979 -149
- package/dist/channels/feishu.js +130 -54
- package/dist/channels/wecom-card.js +101 -0
- package/dist/channels/wecom-onboarding.js +82 -0
- package/dist/channels/wecom-state.js +191 -0
- package/dist/channels/wecom.js +755 -163
- package/dist/cli/agent-command.js +2 -1
- package/dist/cli/aun-commands.js +88 -33
- package/dist/cli/bench.js +2 -2
- package/dist/cli/contact.js +71 -0
- package/dist/cli/ctl-command.js +2 -2
- package/dist/cli/daemon-commands.js +77 -214
- package/dist/cli/handoff-command.js +2 -2
- package/dist/cli/help.js +9 -5
- package/dist/cli/index.js +132 -116
- package/dist/cli/init-channel.js +92 -97
- package/dist/cli/init.js +63 -26
- package/dist/cli/model.js +2 -1
- package/dist/cli/net-check.js +2 -2
- package/dist/cli/queue-command.js +30 -6
- package/dist/cli/raw-key-input.js +25 -0
- package/dist/cli/response.js +5 -6
- package/dist/cli/restart-monitor.js +25 -1
- package/dist/cli/stats.js +6 -4
- package/dist/cli/trigger-command.js +55 -15
- package/dist/cli/version.js +6 -1
- package/dist/config/builtin-role-templates.js +22 -10
- package/dist/config/builtin-roles.js +7 -1
- package/dist/config/config-manager.js +221 -17
- package/dist/config/contact-alias.js +68 -0
- package/dist/config/contact-book-store.js +454 -0
- package/dist/config/contact-book-v2-startup.js +35 -0
- package/dist/config/contact-book.js +156 -303
- package/dist/config/contact-operation-service.js +110 -0
- package/dist/config/peer-role-resolver.js +133 -54
- package/dist/config/role-ranks.js +18 -0
- package/dist/config/role-service.js +16 -19
- package/dist/config/role-store.js +16 -5
- package/dist/config/roles.js +10 -1
- package/dist/config-store.js +0 -2
- package/dist/core/auth/authorization-audit.js +10 -1
- package/dist/core/auth/operation-authorizer.js +2 -0
- package/dist/core/auth/operation-catalog.js +56 -0
- package/dist/core/command/command-handler.js +105 -10
- package/dist/core/command/connect-menu.js +374 -0
- package/dist/core/command/menu-handler.js +114 -16
- package/dist/core/command/role-menu.js +128 -29
- package/dist/core/command/slash-handler.js +28 -18
- package/dist/core/daemon-file-cache.js +12 -6
- package/dist/core/event-catalog.js +70 -0
- package/dist/core/evolagent-registry.js +0 -1
- package/dist/core/evolagent.js +20 -9
- package/dist/core/message/im-renderer.js +2 -0
- package/dist/core/message/message-bridge.js +79 -8
- package/dist/core/message/message-queue.js +10 -0
- package/dist/core/message/message-utils.js +8 -2
- package/dist/core/message/response-engine.js +269 -25
- package/dist/core/message/send-receipt.js +24 -0
- package/dist/core/message/stream-debouncer.js +11 -2
- package/dist/core/permission/tool-policy.js +47 -15
- package/dist/core/protected-paths.js +2 -0
- package/dist/core/session/session-fs-store.js +44 -3
- package/dist/core/session/session-manager.js +61 -5
- package/dist/index.js +62 -6
- package/dist/ipc.js +34 -5
- package/dist/stats/billing.js +20 -8
- package/dist/trigger/manager.js +3 -0
- package/dist/trigger/parser.js +77 -2
- package/dist/trigger/patch.js +8 -1
- package/dist/trigger/scheduler.js +3 -1
- package/dist/trigger/validation.js +13 -0
- package/dist/utils/aid-bind.js +43 -29
- package/dist/utils/instance-registry.js +14 -7
- package/dist/utils/log-writer.js +46 -0
- package/dist/utils/media-cache.js +4 -1
- package/dist/utils/model-prices.jsonl +6 -3
- package/dist/utils/restart-safety.js +31 -0
- package/dist/utils/system-memory.js +62 -0
- package/kits/docs/INDEX.md +2 -1
- package/kits/docs/evolcore/INDEX.md +5 -3
- package/kits/docs/evolcore/agent.md +9 -1
- package/kits/docs/evolcore/aid.md +5 -2
- package/kits/docs/evolcore/contact.md +57 -0
- package/kits/docs/evolcore/fs.md +9 -0
- package/kits/docs/evolcore/group.md +12 -3
- package/kits/docs/evolcore/model.md +4 -1
- package/kits/docs/evolcore/msg.md +9 -3
- package/kits/docs/evolcore/response.md +16 -21
- package/kits/docs/evolcore/rpc.md +2 -0
- package/kits/docs/evolcore/stats.md +15 -2
- package/kits/docs/evolcore/storage.md +1 -0
- package/kits/docs/evolcore/trigger.md +17 -2
- package/kits/eck_manifest.json +12 -0
- package/kits/migrations/migrate-contact-book-v2.mjs +747 -0
- package/kits/schemas/_meta.json +7 -4
- package/kits/schemas/agent-config.schema.6.json +322 -0
- package/kits/schemas/contact-book.schema.2.json +43 -0
- package/kits/schemas/relation-config.schema.5.json +47 -0
- package/kits/schemas/role-config.schema.1.json +1 -0
- package/kits/schemas/role-registry.schema.1.json +2 -2
- package/kits/templates/roles/admin.json +1 -0
- package/kits/templates/roles/member.json +1 -0
- package/kits/templates/roles/owner.json +1 -0
- package/kits/templates/roles/visitor.json +1 -0
- package/kits/templates/system-fragments/commands.md +3 -1
- package/package.json +4 -4
- package/assets/brand/evolcore/README.md +0 -19
- package/assets/brand/evolcore/evolcore-app-icon.png +0 -0
- package/assets/brand/evolcore/evolcore-app-icon.svg +0 -13
- package/assets/brand/evolcore/evolcore-brand-board.png +0 -0
- package/assets/brand/evolcore/evolcore-brand-board.svg +0 -126
- package/assets/brand/evolcore/evolcore-logo-kit.zip +0 -0
- package/assets/brand/evolcore/evolcore-logo-reverse.png +0 -0
- package/assets/brand/evolcore/evolcore-logo-reverse.svg +0 -14
- package/assets/brand/evolcore/evolcore-logo.png +0 -0
- package/assets/brand/evolcore/evolcore-logo.svg +0 -14
- package/assets/brand/evolcore/evolcore-mark.png +0 -0
- package/assets/brand/evolcore/evolcore-mark.svg +0 -10
|
@@ -16,6 +16,9 @@ ec msg send <from> <to> --text-from-file <path>
|
|
|
16
16
|
# 文本(密文 E2EE)
|
|
17
17
|
ec msg send <from> <to> "<text>" --encrypt
|
|
18
18
|
|
|
19
|
+
# 强制明文(同时出现时优先于 --encrypt)
|
|
20
|
+
ec msg send <from> <to> "<text>" --no-encrypt
|
|
21
|
+
|
|
19
22
|
# 文件:--as 可选 image|video|voice|file(默认按扩展名推断)
|
|
20
23
|
ec msg send <from> <to> --file <path> [--as <type>]
|
|
21
24
|
|
|
@@ -29,7 +32,9 @@ ec msg send <from> <to> --payload '<json>'
|
|
|
29
32
|
发送相关选项:
|
|
30
33
|
- `--text-from-file <path>` — 从文件读取文本(UTF-8),用于超长消息或避免 Shell 转义
|
|
31
34
|
- `--encrypt` — 端到端加密
|
|
35
|
+
- `--no-encrypt` — 强制明文发送,优先于 `--encrypt`
|
|
32
36
|
- `--thread <id>` — 指定话题 ID(多话题路由)
|
|
37
|
+
- `--return <required|none>` — 跨会话回流策略;跨会话默认 `required`
|
|
33
38
|
- `--content-type <mime>` — 显式覆盖 MIME(仅 `--file`)
|
|
34
39
|
- `--text <说>` — 附件说明文字(仅 `--file`)
|
|
35
40
|
- `--transcript <text>` — 语音转写(仅 `--as voice`)
|
|
@@ -107,10 +112,11 @@ ec msg history <self-aid> <target-aid> \
|
|
|
107
112
|
|
|
108
113
|
`sessionId` 是 EvolCore 本地逻辑会话 ID,不是 Claude/Codex 等后端的会话 ID。
|
|
109
114
|
|
|
110
|
-
##
|
|
115
|
+
## 共享选项
|
|
111
116
|
|
|
112
|
-
- `--format json` —
|
|
113
|
-
- `--app <name>` —
|
|
117
|
+
- `--format json` — 对支持结构化结果的子命令输出 JSON
|
|
118
|
+
- `--app <name>` — 仅 `pull` / `ack` 指定独立消费 slot
|
|
119
|
+
- `--aun-path <path>` — 指定 AUN keystore 根
|
|
114
120
|
|
|
115
121
|
## 自主回复策略
|
|
116
122
|
|
|
@@ -9,7 +9,7 @@
|
|
|
9
9
|
|
|
10
10
|
```bash
|
|
11
11
|
# 列出所有响应模式(含适用场景)
|
|
12
|
-
ec response list
|
|
12
|
+
ec response list
|
|
13
13
|
|
|
14
14
|
# 显示当前作用域生效的默认模式 + 配置
|
|
15
15
|
ec response current [--self <aid>] [--peer <X>]
|
|
@@ -17,10 +17,10 @@ ec response current [--self <aid>] [--peer <X>]
|
|
|
17
17
|
# 查看单个模式详情(场景/配置参数)
|
|
18
18
|
ec response info <mode-id>
|
|
19
19
|
|
|
20
|
-
#
|
|
21
|
-
ec response set <mode-id> --self <aid> [--peer <X>]
|
|
20
|
+
# 设置当前作用域的响应模式
|
|
21
|
+
ec response set <mode-id> --self <aid> [--peer <X>]
|
|
22
22
|
|
|
23
|
-
# 清除指定作用域的
|
|
23
|
+
# 清除指定作用域的 responseMode 和 responseModeParams 设置
|
|
24
24
|
ec response reset --self <aid> [--peer <X>]
|
|
25
25
|
|
|
26
26
|
# 查看模式配置参数
|
|
@@ -30,39 +30,34 @@ ec response config [<mode-id>] [--self <aid>] [--peer <X>]
|
|
|
30
30
|
ec response config set <key> <value> --mode <mode-id> --self <aid> [--peer <X>]
|
|
31
31
|
```
|
|
32
32
|
|
|
33
|
-
##
|
|
33
|
+
## 内置模式
|
|
34
34
|
|
|
35
35
|
| 模式 id | 显示名 | 场景 | 用途 |
|
|
36
36
|
|---------|--------|------|------|
|
|
37
|
-
| `
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
| `workflow` | 工作流模式 | 群聊 | 顺序处理任务,任务群 |
|
|
42
|
-
| `context-enhanced` | 上下文增强 | 群聊 | 注入群规则文档,工作群 |
|
|
43
|
-
| `batch-processing` | 批量处理 | 群聊 | 攒批节省资源,低优先级群 |
|
|
44
|
-
| `selective-response` | 选择性响应 | 群聊 | 白名单/关键词过滤 |
|
|
45
|
-
| `rate-limited` | 速率限制 | 私聊/群聊 | 控制响应频率,防刷屏 |
|
|
46
|
-
| `autonomous` | 自主模式 | 私聊/群聊 | 触发器驱动,定时任务 |
|
|
37
|
+
| `single-session` | 单会话模式 | 私聊/群聊 | 单会话直接处理;具体投递方式由 `chatmode` 的 `interactive` / `proactive` 决定 |
|
|
38
|
+
|
|
39
|
+
当前注册表只内置 `single-session`。历史的 `interactive` / `proactive` 已合并为该模式下的
|
|
40
|
+
`chatmode` 流程,不再是可传给 `ec response set` 的 mode id。
|
|
47
41
|
|
|
48
42
|
## 作用域(越具体越优先:关系 > agent > 全局)
|
|
49
43
|
|
|
50
44
|
| 参数 | 作用域 | 落盘 |
|
|
51
45
|
|------|--------|------|
|
|
52
|
-
| `--self <aid>` | agent 级 | `config.json` 的
|
|
53
|
-
| `--self <aid> --peer <X>` | 关系级 | `relations/<peerKey>/config.json` 的
|
|
46
|
+
| `--self <aid>` | agent 级 | `config.json` 的 `responseMode` / `responseModeParams` |
|
|
47
|
+
| `--self <aid> --peer <X>` | 关系级 | `relations/<peerKey>/config.json` 的 `responseMode` / `responseModeParams` |
|
|
54
48
|
|
|
55
49
|
`--peer` 取 `channelType#channelId` 或裸 aid(裸 aid 视为 `aun#<aid>`)。
|
|
56
50
|
|
|
57
|
-
> **写操作必须 --self
|
|
51
|
+
> **写操作必须 --self**:响应模式是行为参数,从 agent 级起步,全局默认(defaults)不承载。
|
|
58
52
|
> 读操作(list/info/current/config 查看)无此限制。
|
|
59
53
|
|
|
60
54
|
## 解析优先级
|
|
61
55
|
|
|
62
56
|
```
|
|
63
|
-
1.
|
|
64
|
-
2.
|
|
65
|
-
3.
|
|
57
|
+
1. relation `responseMode`
|
|
58
|
+
2. agent `responseMode`
|
|
59
|
+
3. defaults `responseMode`
|
|
60
|
+
4. 注册表首选模式
|
|
66
61
|
```
|
|
67
62
|
|
|
68
63
|
## 权限
|
|
@@ -15,6 +15,8 @@ ec rpc --as <aid> --params <params>
|
|
|
15
15
|
- 单行 JSON(以 `{` 开头)→ 单次调用
|
|
16
16
|
- 多行 JSONL → 逐行执行,失败即停
|
|
17
17
|
- 文件路径(文件存在)→ 读取文件内容作为 JSONL
|
|
18
|
+
- `--app <name>` — 指定独立消费 slot,仅对 `message.pull` / `group.pull` 等消费类方法有意义
|
|
19
|
+
- `--aun-path <path>` — 指定 AUN keystore 根
|
|
18
20
|
|
|
19
21
|
每行 JSON 格式:`{"method":"<namespace.method>","params":{...}}`
|
|
20
22
|
|
|
@@ -15,7 +15,7 @@ ec stats --today
|
|
|
15
15
|
ec stats --hour # 最近 24h,按小时分组
|
|
16
16
|
ec stats --week # 本周
|
|
17
17
|
ec stats --month # 本月
|
|
18
|
-
ec stats --
|
|
18
|
+
ec stats --from 2026-05-01 --to 2026-06-01 # 任意区间
|
|
19
19
|
```
|
|
20
20
|
|
|
21
21
|
## 按维度过滤(可组合)
|
|
@@ -51,6 +51,19 @@ ec stats --traffic --by peer # 按对端分组流量
|
|
|
51
51
|
ec stats --traffic --week # 本周流量
|
|
52
52
|
```
|
|
53
53
|
|
|
54
|
+
## 运维与结构化视图
|
|
55
|
+
|
|
56
|
+
```bash
|
|
57
|
+
ec stats --peers [--limit 50]
|
|
58
|
+
ec stats --groups [--limit 50]
|
|
59
|
+
ec stats --summary
|
|
60
|
+
ec stats --peer-detail <aid|peer-key>
|
|
61
|
+
ec stats --task-calls <task-id>
|
|
62
|
+
ec stats --session-calls <session-id>
|
|
63
|
+
ec stats --session <session-id> --last
|
|
64
|
+
ec stats --rebuild
|
|
65
|
+
```
|
|
66
|
+
|
|
54
67
|
## 直接 SQL 查询
|
|
55
68
|
|
|
56
69
|
```bash
|
|
@@ -67,4 +80,4 @@ ec stats --sql "SELECT model, COUNT(*) AS cnt FROM usage_events GROUP BY model"
|
|
|
67
80
|
## 通用选项
|
|
68
81
|
|
|
69
82
|
- `--help`, `-h`:显示帮助
|
|
70
|
-
- `--format json
|
|
83
|
+
- `--format json`:本命令的 JSON 输出
|
|
@@ -34,6 +34,16 @@ ec trigger history [triggerId] --limit 500 --json
|
|
|
34
34
|
|
|
35
35
|
## 创建
|
|
36
36
|
|
|
37
|
+
创建操作统一使用 `create`:
|
|
38
|
+
|
|
39
|
+
| 入口 | 正式命令 | 兼容别名 |
|
|
40
|
+
| --- | --- | --- |
|
|
41
|
+
| CLI | `ec trigger create ...` | `ec trigger set ...` |
|
|
42
|
+
| Slash | `/trigger create ...` | `/trigger set ...` |
|
|
43
|
+
| Menu Protocol | `menu.action name=trigger action=create` | `action=set` |
|
|
44
|
+
|
|
45
|
+
新调用只使用 `create`;`set` 仅用于兼容旧脚本和旧客户端。三种入口最终都映射到内部操作 `trigger.create`。
|
|
46
|
+
|
|
37
47
|
Flag 模式适合 agent 现场创建常规 trigger:
|
|
38
48
|
|
|
39
49
|
```bash
|
|
@@ -147,9 +157,12 @@ script trigger 返回 `[[NOOP]]` 或 `outcome: "noop"` 时走 noop 分支;默
|
|
|
147
157
|
```bash
|
|
148
158
|
--model <模型>
|
|
149
159
|
--effort <low|medium|high|xhigh|max>
|
|
160
|
+
--baseagent <claude|codex|gemini>
|
|
150
161
|
```
|
|
151
162
|
|
|
152
|
-
`--model` / `--effort` 只覆盖本 trigger 执行时传给 base agent 的模型与推理强度。
|
|
163
|
+
`--model` / `--effort` 只覆盖本 trigger 执行时传给 base agent 的模型与推理强度。
|
|
164
|
+
`--baseagent` 仅支持 `--exec trigger-session`,用于给该 trigger 会话单独选择 base agent;
|
|
165
|
+
`script` 和 `target-session` 不接受该参数。未设置时沿用 trigger 所属 agent 当前 active baseagent。
|
|
153
166
|
|
|
154
167
|
无人值守 trigger 不适合 `request`。需要写文件、git、安装升级、重启服务、管理 trigger 时应显式使用:
|
|
155
168
|
|
|
@@ -157,7 +170,7 @@ script trigger 返回 `[[NOOP]]` 或 `outcome: "noop"` 时走 noop 分支;默
|
|
|
157
170
|
--permission bypass
|
|
158
171
|
```
|
|
159
172
|
|
|
160
|
-
owner/admin 通过 `/trigger
|
|
173
|
+
owner/admin 通过 `/trigger create` 创建时默认使用 `bypass`;非 admin 默认 `readonly`,不能提权到 `bypass`,也不能跨渠道或跨会话指定 target。历史 `/trigger set` 仍是兼容别名。
|
|
161
174
|
|
|
162
175
|
## 执行边界
|
|
163
176
|
|
|
@@ -177,6 +190,8 @@ ec trigger enable <triggerId>
|
|
|
177
190
|
ec trigger disable <triggerId>
|
|
178
191
|
ec trigger cancel <triggerId> # disable 的兼容别名
|
|
179
192
|
ec trigger delete <triggerId>
|
|
193
|
+
ec trigger remove <triggerId> # delete 的兼容别名
|
|
194
|
+
ec trigger rm <triggerId> # delete 的兼容别名
|
|
180
195
|
```
|
|
181
196
|
|
|
182
197
|
语义区别:
|
package/kits/eck_manifest.json
CHANGED
|
@@ -55,6 +55,18 @@
|
|
|
55
55
|
] },
|
|
56
56
|
"description": "当前关注(working memory)"
|
|
57
57
|
},
|
|
58
|
+
{
|
|
59
|
+
"id": "preferences",
|
|
60
|
+
"type": "file",
|
|
61
|
+
"file": "$PERSONAL_DIR/preferences/active-preferences.md",
|
|
62
|
+
"order": 23,
|
|
63
|
+
"needsInjection": false,
|
|
64
|
+
"when": { "and": [
|
|
65
|
+
{ "var": "chatType", "eq": "private" },
|
|
66
|
+
{ "var": "lifecycle", "neq": "bootstrapping" }
|
|
67
|
+
] },
|
|
68
|
+
"description": "用户偏好(自动记忆,仅私聊注入)"
|
|
69
|
+
},
|
|
58
70
|
{
|
|
59
71
|
"id": "relation-layer",
|
|
60
72
|
"type": "file",
|