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.
- package/CHANGELOG.md +607 -565
- package/LICENSE +21 -21
- package/README.md +455 -455
- package/bin/codex-managed-acl.ps1 +160 -160
- package/bin/codex-managed-hook.mjs +208 -208
- package/bin/ec-safe-output.js +327 -327
- package/bin/ec.js +40 -29
- package/bin/install-codex-managed-hooks.mjs +582 -555
- package/dist/agents/baseagent.js +96 -46
- package/dist/agents/claude-runner.js +50 -12
- package/dist/agents/codex/app-server-client.js +13 -5
- package/dist/agents/codex/catalog.js +1 -1
- package/dist/agents/codex/diagnostics.js +34 -1
- package/dist/agents/codex-runner.js +121 -38
- package/dist/agents/ecagent-runner.js +4 -9
- package/dist/agents/gemini-runner.js +2 -7
- package/dist/agents/runner-types.js +25 -17
- package/dist/aun/aid/agentmd.js +81 -8
- package/dist/aun/aid/client.js +1 -1
- package/dist/aun/aid/identity.js +1 -1
- package/dist/aun/aid/index.js +1 -1
- package/dist/aun/aid/store.js +17 -13
- package/dist/aun/menu-client.js +74 -0
- package/dist/aun/msg/group.js +1 -1
- package/dist/aun/msg/managed-operation.js +1 -1
- package/dist/aun/msg/p2p.js +6 -1
- package/dist/aun/msg/upload.js +30 -22
- package/dist/channels/aun.js +329 -94
- package/dist/cli/agent-command.js +105 -84
- package/dist/cli/agent-create.js +112 -10
- package/dist/cli/agent.js +16 -5
- package/dist/cli/aun-commands.js +297 -296
- package/dist/cli/bench.js +20 -20
- package/dist/cli/config.js +47 -28
- package/dist/cli/contact.js +70 -13
- package/dist/cli/ctl-command.js +22 -22
- package/dist/cli/daemon-commands.js +105 -40
- package/dist/cli/diag.js +31 -0
- package/dist/cli/fs-command.js +67 -67
- package/dist/cli/handoff-command.js +41 -9
- package/dist/cli/index.js +83 -77
- package/dist/cli/link-rules.js +21 -21
- package/dist/cli/managed-command-guard.js +3 -0
- package/dist/cli/menu-client.js +46 -31
- package/dist/cli/net-check.js +22 -22
- package/dist/cli/queue-command.js +29 -29
- package/dist/cli/response.js +30 -30
- package/dist/cli/restart-monitor.js +87 -40
- package/dist/cli/stats.js +51 -51
- package/dist/cli/trigger-command.js +56 -56
- package/dist/config/builtin-roles.js +1 -0
- package/dist/config/config-operation-service.js +145 -0
- package/dist/config/contact-operation-service.js +96 -7
- package/dist/config/resolved-config-op.js +27 -7
- package/dist/core/agent-application-service.js +2 -1
- package/dist/core/auth/authorization-audit.js +20 -12
- package/dist/core/auth/operation-authorizer.js +25 -4
- package/dist/core/auth/operation-catalog.js +35 -4
- package/dist/core/auth/remote-access-store.js +40 -1
- package/dist/core/bootstrap-service.js +1 -1
- package/dist/core/command/command-handler.js +83 -26
- package/dist/core/command/diag-service.js +118 -0
- package/dist/core/command/menu-catalog.js +12 -3
- package/dist/core/command/menu-handler.js +47 -26
- package/dist/core/command/menu-protocol.js +5 -0
- package/dist/core/command/menu-token-store.js +41 -8
- package/dist/core/command/slash-gate.js +34 -4
- package/dist/core/command/slash-handler.js +86 -21
- package/dist/core/handoff/runtime.js +205 -27
- package/dist/core/handoff/store.js +193 -4
- package/dist/core/message/im-renderer.js +72 -21
- package/dist/core/message/message-bridge.js +69 -9
- package/dist/core/message/message-queue.js +26 -0
- package/dist/core/message/message-utils.js +1 -0
- package/dist/core/message/response-engine.js +47 -28
- package/dist/core/model/catalog-service.js +79 -49
- package/dist/core/model/context-window-suffix.js +33 -0
- package/dist/core/model/model-catalog.js +1 -1
- package/dist/core/model/model-permission.js +12 -3
- package/dist/core/permission/ec-command-parser.js +51 -12
- package/dist/core/permission/sandbox-runtime.js +36 -14
- package/dist/core/permission/tool-policy.js +2 -1
- package/dist/index.js +280 -163
- package/dist/ipc.js +54 -2
- package/dist/response-system/engines/v1/proactive-flow.js +59 -2
- package/dist/stats/billing.js +41 -15
- package/dist/stats/db.js +159 -159
- package/dist/stats/eck-vars.js +9 -9
- package/dist/stats/price-resolver.js +28 -10
- package/dist/stats/query.js +139 -139
- package/dist/stats/role-budget.js +6 -6
- package/dist/stats/writer.js +51 -51
- package/dist/utils/cross-platform.js +30 -1
- package/dist/utils/error-dict.json +160 -160
- package/dist/utils/error-utils.js +21 -0
- package/dist/utils/evolcore-version.js +129 -0
- package/dist/utils/logger.js +3 -1
- package/dist/utils/macos-autostart.js +22 -22
- package/dist/utils/model-prices.jsonl +23 -23
- package/dist/utils/npm-ops.js +176 -35
- package/dist/utils/welcome.js +22 -22
- package/ecagent/LICENSE +21 -21
- package/ecagent/NOTICE +11 -11
- package/ecagent/README.md +61 -61
- package/ecagent/dist/harness/compaction/branch-summarization.js +30 -30
- package/ecagent/dist/harness/compaction/compaction.js +83 -83
- package/ecagent/dist/harness/messages.js +7 -7
- package/kits/docs/GUIDE.md +20 -20
- package/kits/docs/INDEX.md +66 -66
- package/kits/docs/aun/CHEATSHEET.md +19 -19
- package/kits/docs/aun/SYNC_PROTOCOL.md +15 -15
- package/kits/docs/channels/aun.md +56 -56
- package/kits/docs/channels/feishu.md +56 -56
- package/kits/docs/context-assembly.md +364 -364
- package/kits/docs/eck_templates/GUIDE.template.md +22 -22
- package/kits/docs/eck_templates/INDEX.template.md +28 -28
- package/kits/docs/eck_templates/path-registry.template.md +33 -33
- package/kits/docs/eck_templates/runtime.template.md +19 -19
- package/kits/docs/evolcore/INDEX.md +71 -71
- package/kits/docs/evolcore/agent-create.md +170 -165
- package/kits/docs/evolcore/agent.md +66 -66
- package/kits/docs/evolcore/aid.md +60 -60
- package/kits/docs/evolcore/codex-windows-sandbox.md +146 -146
- package/kits/docs/evolcore/config.md +202 -195
- package/kits/docs/evolcore/contact.md +75 -68
- package/kits/docs/evolcore/ctl.md +46 -46
- package/kits/docs/evolcore/event.md +216 -216
- package/kits/docs/evolcore/fs-architecture.md +1215 -1215
- package/kits/docs/evolcore/fs.md +110 -110
- package/kits/docs/evolcore/group-collaboration.md +243 -243
- package/kits/docs/evolcore/group-fs.md +17 -17
- package/kits/docs/evolcore/group-rules.md +251 -251
- package/kits/docs/evolcore/group.md +152 -152
- package/kits/docs/evolcore/menu-client.md +42 -34
- package/kits/docs/evolcore/model.md +50 -50
- package/kits/docs/evolcore/msg.md +166 -165
- package/kits/docs/evolcore/response.md +75 -75
- package/kits/docs/evolcore/rpc.md +37 -37
- package/kits/docs/evolcore/self-summary.md +29 -29
- package/kits/docs/evolcore/stats.md +83 -83
- package/kits/docs/evolcore/storage.md +50 -50
- package/kits/docs/evolcore/trigger.md +575 -575
- package/kits/docs/identity/AID_PROFILE_SPEC.md +26 -26
- package/kits/docs/identity/PATH_OPS.md +16 -16
- package/kits/docs/identity/ROLE_DETAIL.md +25 -25
- package/kits/docs/identity/identity-tools.md +26 -26
- package/kits/docs/path-registry.md +62 -62
- package/kits/docs/prompt-loading-architecture.md +269 -269
- package/kits/docs/venues/aun-group.md +45 -45
- package/kits/docs/venues/aun-private.md +10 -10
- package/kits/docs/venues/client-desktop.md +10 -10
- package/kits/docs/venues/client-mobile.md +10 -10
- package/kits/docs/venues/feishu-group.md +13 -13
- package/kits/docs/venues/feishu-private.md +9 -9
- package/kits/docs/venues/group.md +37 -25
- package/kits/docs/venues/private.md +10 -10
- package/kits/eck_manifest.auxiliary.json +43 -43
- package/kits/eck_manifest.json +190 -190
- package/kits/eck_message_manifest.json +74 -74
- package/kits/migrations/README-role-config-v4.md +32 -32
- package/kits/migrations/migrate-contact-book-v2.mjs +748 -748
- package/kits/migrations/migrate-role-config-v4.mjs +614 -614
- package/kits/migrations/migrate-role-config-v5.mjs +365 -365
- package/kits/migrations/rename-config-file.mjs +99 -99
- package/kits/rules/01-overview.md +162 -162
- package/kits/rules/02-navigation.md +96 -96
- package/kits/rules/03-identity.md +36 -36
- package/kits/rules/04-relation.md +75 -75
- package/kits/rules/05-venue.md +60 -60
- package/kits/rules/06-channel.md +63 -63
- package/kits/schemas/_meta.json +53 -53
- package/kits/schemas/agent-config.schema.1.json +177 -177
- package/kits/schemas/agent-config.schema.10.json +395 -395
- package/kits/schemas/agent-config.schema.11.json +421 -421
- package/kits/schemas/agent-config.schema.12.json +427 -427
- package/kits/schemas/agent-config.schema.2.json +239 -239
- package/kits/schemas/agent-config.schema.3.json +119 -119
- package/kits/schemas/agent-config.schema.4.json +208 -208
- package/kits/schemas/agent-config.schema.5.json +326 -326
- package/kits/schemas/agent-config.schema.6.json +322 -322
- package/kits/schemas/agent-config.schema.7.json +303 -303
- package/kits/schemas/agent-config.schema.8.json +304 -304
- package/kits/schemas/agent-config.schema.9.json +364 -364
- package/kits/schemas/contact-book.schema.1.json +36 -36
- package/kits/schemas/contact-book.schema.2.json +43 -43
- package/kits/schemas/contact-book.schema.3.json +67 -67
- package/kits/schemas/daemon.schema.1.json +91 -91
- package/kits/schemas/daemon.schema.2.json +101 -101
- package/kits/schemas/daemon.schema.3.json +123 -123
- package/kits/schemas/daemon.schema.4.json +136 -136
- package/kits/schemas/daemon.schema.5.json +135 -135
- package/kits/schemas/daemon.schema.6.json +131 -131
- package/kits/schemas/defaults.schema.1.json +81 -81
- package/kits/schemas/defaults.schema.2.json +85 -85
- package/kits/schemas/defaults.schema.3.json +73 -73
- package/kits/schemas/defaults.schema.4.json +107 -107
- package/kits/schemas/defaults.schema.5.json +119 -119
- package/kits/schemas/menu-exec-schema-commands.md +208 -208
- package/kits/schemas/migrations/README.md +30 -30
- package/kits/schemas/relation-config.schema.1.json +158 -158
- package/kits/schemas/relation-config.schema.2.json +73 -73
- package/kits/schemas/relation-config.schema.3.json +50 -50
- package/kits/schemas/relation-config.schema.4.json +47 -47
- package/kits/schemas/relation-config.schema.5.json +47 -47
- package/kits/schemas/relation-config.schema.6.json +46 -46
- package/kits/schemas/relation-config.schema.7.json +59 -59
- package/kits/schemas/relation-config.schema.8.json +103 -103
- package/kits/schemas/role-config.schema.1.json +201 -201
- package/kits/schemas/role-registry.schema.1.json +35 -35
- package/kits/schemas/single-session.schema.1.json +31 -31
- package/kits/schemas/single-session.schema.2.json +57 -57
- package/kits/schemas/single-session.schema.3.json +32 -32
- package/kits/templates/bootstrap-welcome.md +17 -17
- package/kits/templates/message-fragments/handoff-context-to-target.md +9 -9
- package/kits/templates/message-fragments/handoff-request-to-target.md +19 -19
- package/kits/templates/message-fragments/handoff-response-to-origin.md +9 -9
- package/kits/templates/message-fragments/inject-default.md +2 -2
- package/kits/templates/message-fragments/item.md +2 -2
- package/kits/templates/roles/admin.json +92 -92
- package/kits/templates/roles/member.json +96 -96
- package/kits/templates/roles/owner.json +9 -9
- package/kits/templates/roles/visitor.json +85 -85
- package/kits/templates/system-fragments/baseagent.md +14 -14
- package/kits/templates/system-fragments/bootstrap.md +31 -29
- package/kits/templates/system-fragments/channel.md +64 -64
- package/kits/templates/system-fragments/commands.md +28 -28
- package/kits/templates/system-fragments/identity.md +13 -13
- package/kits/templates/system-fragments/relation.md +19 -19
- package/kits/templates/system-fragments/session.md +59 -59
- package/kits/templates/system-fragments/venue.md +31 -31
- package/package.json +100 -98
|
@@ -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,42 @@
|
|
|
1
|
-
# ec menu-client — 远程 Daemon Menu 客户端
|
|
2
|
-
|
|
3
|
-
向另一台主机的 EvolCore Control AID
|
|
4
|
-
|
|
5
|
-
##
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
- `
|
|
22
|
-
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
1
|
+
# ec menu-client — 远程 Daemon Menu 客户端
|
|
2
|
+
|
|
3
|
+
向另一台主机的 EvolCore Control AID 发送标准 `menu.*` 请求。独立终端使用 AUN 短连接完成发送、拉取、匹配和 ACK;EvolCore 托管 Agent 自动通过当前 daemon 的委托入口与现有 AUN 连接完成调用。
|
|
4
|
+
|
|
5
|
+
## 托管会话边界
|
|
6
|
+
|
|
7
|
+
托管调用必须使用当前 self AID,并拥有 `ec.menu.request` 的 relation 权限。daemon 校验当前 session、委托和角色,按目标 AID 与 request ID 匹配加密响应;普通角色的聊天权限不自动授予远程 Menu 调用能力。
|
|
8
|
+
|
|
9
|
+
托管模式不接受 `--app`、`--aun-path`、`--no-encrypt`,也不创建独立连接或清理 daemon 的消息。`--request-file` 由 daemon 校验后读取,须为当前项目或本会话 `$TMPDIR` 内不受保护的普通文件,最大 128 KiB;也可用 `--request-json`。目标是否允许具体操作,仍由远端 Control Menu 的 Token/Owner 鉴权决定。
|
|
10
|
+
|
|
11
|
+
## 用法
|
|
12
|
+
|
|
13
|
+
```bash
|
|
14
|
+
ec menu-client request <from-aid> <daemon-aid> \
|
|
15
|
+
--request-file "$TMPDIR/menu-request.json" \
|
|
16
|
+
--timeout 15s \
|
|
17
|
+
--encrypt \
|
|
18
|
+
--format json
|
|
19
|
+
```
|
|
20
|
+
|
|
21
|
+
- `--request-file` 与 `--request-json` 二选一,内容是现有 Menu request;缺少 `id` 时自动生成 UUID。
|
|
22
|
+
- 默认使用 E2EE,并发送 `client_name=ec-menu-client` 和本机 EvolCore `client_version`。
|
|
23
|
+
- 独立终端默认 slot 是 `evolcore-menu-client`;`--app <slot>` 可覆盖,但会切换消费游标,调用方须自行串行化。托管模式使用 daemon 的现有连接和 ACK 路径。
|
|
24
|
+
- 默认授权是远端 `daemon.json.owners` 对发送 AID 的校验。
|
|
25
|
+
- `--remote-token <token>` 使用 daemon 签发的远程访问 token,权限与 daemon-owner 一致。CLI 审计日志不会记录 token 明文。
|
|
26
|
+
- `system/paircode` 例外:仅接受加密的 daemon-owner 请求,已有 remote token 不能换取新配对码。
|
|
27
|
+
- `--ecweb-token <token>` 是 `--remote-token` 的兼容别名。
|
|
28
|
+
- `menu.query` / `menu.options` 等待响应超时时自动重发一次相同 request id;写操作不自动重试。
|
|
29
|
+
- 成功时 stdout 是完整 `menu.response` JSON。远端业务错误仍在响应的 `error` 字段中;本地传输/超时错误退出码非 0。独立终端的 ACK 错误也以非零退出码返回;托管模式由 daemon 的正常消费路径处理 ACK。
|
|
30
|
+
|
|
31
|
+
## 常用请求
|
|
32
|
+
|
|
33
|
+
```json
|
|
34
|
+
{"type":"menu.query","id":"status-1","name":"system","args":{"view":"status"}}
|
|
35
|
+
{"type":"menu.query","id":"monitor-1","name":"system","args":{"view":"monitor"}}
|
|
36
|
+
{"type":"menu.query","id":"logs-1","name":"system","args":{"view":"logs","source":"daemon","limit":200}}
|
|
37
|
+
{"type":"menu.action","id":"paircode-1","name":"system","action":"paircode"}
|
|
38
|
+
{"type":"menu.options","id":"config-options-1","name":"config","args":{"option":"rawFile"}}
|
|
39
|
+
{"type":"menu.query","id":"config-1","name":"config","args":{"view":"rawFile","resource":"daemon"}}
|
|
40
|
+
```
|
|
41
|
+
|
|
42
|
+
先用 `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 探测。
|