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
package/kits/schemas/_meta.json
CHANGED
|
@@ -2,9 +2,9 @@
|
|
|
2
2
|
"schemas": {
|
|
3
3
|
"daemon": { "currentVersion": 1 },
|
|
4
4
|
"defaults": { "currentVersion": 1 },
|
|
5
|
-
"agent-config": { "currentVersion":
|
|
6
|
-
"relation-config": { "currentVersion":
|
|
7
|
-
"contact-book": { "currentVersion":
|
|
5
|
+
"agent-config": { "currentVersion": 6 },
|
|
6
|
+
"relation-config": { "currentVersion": 5 },
|
|
7
|
+
"contact-book": { "currentVersion": 2 },
|
|
8
8
|
"single-session": { "currentVersion": 1 },
|
|
9
9
|
"role-registry": { "currentVersion": 1 },
|
|
10
10
|
"role-config": { "currentVersion": 1 }
|
|
@@ -24,6 +24,9 @@
|
|
|
24
24
|
{ "schema": "contact-book", "version": 1, "date": "2026-07-10", "description": "agent contact aliases for cross-channel identity mapping" },
|
|
25
25
|
{ "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']" },
|
|
26
26
|
{ "schema": "role-registry", "version": 1, "date": "2026-07-22", "description": "registered role ids and private/group defaults" },
|
|
27
|
-
{ "schema": "role-config", "version": 1, "date": "2026-07-22", "description": "standalone role policy definition" }
|
|
27
|
+
{ "schema": "role-config", "version": 1, "date": "2026-07-22", "description": "standalone role policy definition" },
|
|
28
|
+
{ "schema": "agent-config", "version": 6, "date": "2026-07-23", "description": "move admin identities into AUN private relation role and reject admins[]" },
|
|
29
|
+
{ "schema": "contact-book", "version": 2, "date": "2026-07-24", "description": "AID display names, full-channelKey aliases, and extensible contact status" },
|
|
30
|
+
{ "schema": "relation-config", "version": 5, "date": "2026-07-23", "description": "restore authoritative private/group relation role; allow admin and forbid owner" }
|
|
28
31
|
]
|
|
29
32
|
}
|
|
@@ -0,0 +1,322 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "agent-config.schema.6.json",
|
|
4
|
+
"title": "AgentConfig v6 (agents/{aid}/config.json)",
|
|
5
|
+
"description": "Agent v6 主配置。owner 保留为安全锚点,admin 已迁移到 AUN 私聊 relation。",
|
|
6
|
+
"x-logical-name": "agent-config",
|
|
7
|
+
"x-scope": "agent",
|
|
8
|
+
"type": "object",
|
|
9
|
+
"additionalProperties": true,
|
|
10
|
+
"not": {
|
|
11
|
+
"description": "禁止旧权限字段和已迁移到 relation role 的 admins。",
|
|
12
|
+
"anyOf": [
|
|
13
|
+
{
|
|
14
|
+
"description": "禁止旧版顶层 permissionMode;权限模式由独立角色策略决定。",
|
|
15
|
+
"required": [
|
|
16
|
+
"permissionMode"
|
|
17
|
+
]
|
|
18
|
+
},
|
|
19
|
+
{
|
|
20
|
+
"description": "禁止旧版内嵌 roles;角色定义和默认角色已迁移到独立 roles/ 配置域。",
|
|
21
|
+
"required": [
|
|
22
|
+
"roles"
|
|
23
|
+
]
|
|
24
|
+
},
|
|
25
|
+
{
|
|
26
|
+
"description": "admin 关系身份由 AUN 私聊 relation role 管理。",
|
|
27
|
+
"required": [
|
|
28
|
+
"admins"
|
|
29
|
+
]
|
|
30
|
+
}
|
|
31
|
+
]
|
|
32
|
+
},
|
|
33
|
+
"required": [
|
|
34
|
+
"aid",
|
|
35
|
+
"channels"
|
|
36
|
+
],
|
|
37
|
+
"properties": {
|
|
38
|
+
"$schema_version": {
|
|
39
|
+
"type": "number",
|
|
40
|
+
"const": 6,
|
|
41
|
+
"default": 6,
|
|
42
|
+
"x-merge": "scalar",
|
|
43
|
+
"description": "配置 Schema 版本;v6 将 admin 身份移入 AUN 私聊 relation"
|
|
44
|
+
},
|
|
45
|
+
"aid": {
|
|
46
|
+
"type": "string",
|
|
47
|
+
"x-merge": "scalar",
|
|
48
|
+
"description": "Agent 的全局唯一身份标识"
|
|
49
|
+
},
|
|
50
|
+
"enabled": {
|
|
51
|
+
"type": "boolean",
|
|
52
|
+
"default": true,
|
|
53
|
+
"x-merge": "scalar",
|
|
54
|
+
"description": "是否启用 Agent;缺省按启用处理"
|
|
55
|
+
},
|
|
56
|
+
"lifecycle": {
|
|
57
|
+
"type": "string",
|
|
58
|
+
"enum": [
|
|
59
|
+
"created",
|
|
60
|
+
"bootstrapping",
|
|
61
|
+
"active"
|
|
62
|
+
],
|
|
63
|
+
"x-merge": "scalar",
|
|
64
|
+
"description": "agent 生命周期状态",
|
|
65
|
+
"x-enumDescriptions": {
|
|
66
|
+
"created": "已创建,尚未进入引导流程",
|
|
67
|
+
"bootstrapping": "引导中(初始化配置/身份)",
|
|
68
|
+
"active": "已激活,正常运行"
|
|
69
|
+
}
|
|
70
|
+
},
|
|
71
|
+
"initialized": {
|
|
72
|
+
"type": "boolean",
|
|
73
|
+
"x-merge": "scalar",
|
|
74
|
+
"description": "是否已完成 Agent 初始化流程"
|
|
75
|
+
},
|
|
76
|
+
"owners": {
|
|
77
|
+
"type": "array",
|
|
78
|
+
"items": {
|
|
79
|
+
"type": "string",
|
|
80
|
+
"description": "一个 Agent owner 的身份标识,通常为 AID。"
|
|
81
|
+
},
|
|
82
|
+
"uniqueItems": true,
|
|
83
|
+
"x-merge": "list",
|
|
84
|
+
"description": "Agent 所有者身份列表;用于 owner 级控制和通知"
|
|
85
|
+
},
|
|
86
|
+
"channels": {
|
|
87
|
+
"type": "array",
|
|
88
|
+
"items": {
|
|
89
|
+
"type": "object",
|
|
90
|
+
"description": "一个渠道实例配置;具体字段由渠道类型及其适配器定义。"
|
|
91
|
+
},
|
|
92
|
+
"x-merge": "list",
|
|
93
|
+
"description": "Agent 绑定的消息渠道实例列表"
|
|
94
|
+
},
|
|
95
|
+
"aun": {
|
|
96
|
+
"type": "object",
|
|
97
|
+
"x-merge": "dict",
|
|
98
|
+
"description": "Agent 级 AUN 通信配置"
|
|
99
|
+
},
|
|
100
|
+
"models": {
|
|
101
|
+
"type": "object",
|
|
102
|
+
"x-merge": "dict",
|
|
103
|
+
"description": "Agent 级模型别名、注册表或模型覆盖配置"
|
|
104
|
+
},
|
|
105
|
+
"active_baseagent": {
|
|
106
|
+
"type": "string",
|
|
107
|
+
"x-merge": "scalar",
|
|
108
|
+
"description": "默认使用的 base agent 标识,例如 claude 或 codex"
|
|
109
|
+
},
|
|
110
|
+
"baseagents": {
|
|
111
|
+
"type": "object",
|
|
112
|
+
"x-merge": "dict",
|
|
113
|
+
"description": "各 base agent 的模型、推理强度及运行参数"
|
|
114
|
+
},
|
|
115
|
+
"projects": {
|
|
116
|
+
"type": "object",
|
|
117
|
+
"x-merge": "dict",
|
|
118
|
+
"description": "Agent 可用项目路径和项目选择配置"
|
|
119
|
+
},
|
|
120
|
+
"capabilities": {
|
|
121
|
+
"type": "object",
|
|
122
|
+
"x-merge": "dict",
|
|
123
|
+
"description": "Agent 能力开关及能力参数"
|
|
124
|
+
},
|
|
125
|
+
"debug": {
|
|
126
|
+
"type": "object",
|
|
127
|
+
"x-merge": "dict",
|
|
128
|
+
"description": "Agent 级调试和诊断配置"
|
|
129
|
+
},
|
|
130
|
+
"observable": {
|
|
131
|
+
"type": "boolean",
|
|
132
|
+
"default": false,
|
|
133
|
+
"x-merge": "scalar",
|
|
134
|
+
"description": "是否将 Agent 的入站和出站消息转发给 owners;默认关闭"
|
|
135
|
+
},
|
|
136
|
+
"chatmode": {
|
|
137
|
+
"type": "object",
|
|
138
|
+
"x-merge": "dict",
|
|
139
|
+
"default": {
|
|
140
|
+
"private": "interactive",
|
|
141
|
+
"group": "proactive",
|
|
142
|
+
"nothuman": "proactive"
|
|
143
|
+
},
|
|
144
|
+
"properties": {
|
|
145
|
+
"private": {
|
|
146
|
+
"enum": [
|
|
147
|
+
"interactive",
|
|
148
|
+
"proactive"
|
|
149
|
+
],
|
|
150
|
+
"description": "人类私聊场景的投递方式",
|
|
151
|
+
"x-enumDescriptions": {
|
|
152
|
+
"interactive": "同步交互:输出即回复",
|
|
153
|
+
"proactive": "主动推送:CLI 回复 + 思考投影"
|
|
154
|
+
}
|
|
155
|
+
},
|
|
156
|
+
"group": {
|
|
157
|
+
"enum": [
|
|
158
|
+
"interactive",
|
|
159
|
+
"proactive"
|
|
160
|
+
],
|
|
161
|
+
"description": "群聊场景的投递方式",
|
|
162
|
+
"x-enumDescriptions": {
|
|
163
|
+
"interactive": "同步交互:输出即回复",
|
|
164
|
+
"proactive": "主动推送:CLI 回复 + 思考投影"
|
|
165
|
+
}
|
|
166
|
+
},
|
|
167
|
+
"nothuman": {
|
|
168
|
+
"enum": [
|
|
169
|
+
"interactive",
|
|
170
|
+
"proactive"
|
|
171
|
+
],
|
|
172
|
+
"description": "非人类(agent)私聊场景的投递方式",
|
|
173
|
+
"x-enumDescriptions": {
|
|
174
|
+
"interactive": "同步交互:输出即回复",
|
|
175
|
+
"proactive": "主动推送:CLI 回复 + 思考投影"
|
|
176
|
+
}
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
"additionalProperties": false,
|
|
180
|
+
"description": "chatmode 场景默认表;出厂默认值即此 default(agent 级改默认,关系级按键覆盖)。键封闭 private/group/nothuman,值枚举 interactive/proactive"
|
|
181
|
+
},
|
|
182
|
+
"mentionMode": {
|
|
183
|
+
"type": "string",
|
|
184
|
+
"enum": [
|
|
185
|
+
"disabled",
|
|
186
|
+
"mention-only"
|
|
187
|
+
],
|
|
188
|
+
"default": "disabled",
|
|
189
|
+
"x-merge": "scalar",
|
|
190
|
+
"description": "@ 处理策略(顶层通用参数)",
|
|
191
|
+
"x-enumDescriptions": {
|
|
192
|
+
"disabled": "处理所有消息",
|
|
193
|
+
"mention-only": "只处理被 @ 的消息,未 @ 作引用上下文"
|
|
194
|
+
}
|
|
195
|
+
},
|
|
196
|
+
"model": {
|
|
197
|
+
"type": "string",
|
|
198
|
+
"x-merge": "scalar",
|
|
199
|
+
"description": "主会话模型(顶层通用参数);无默认值,缺省时由响应模式/全局默认决定"
|
|
200
|
+
},
|
|
201
|
+
"responseMode": {
|
|
202
|
+
"type": "string",
|
|
203
|
+
"x-merge": "scalar",
|
|
204
|
+
"description": "响应模式 id(标量);候选清单/默认值来自注册表,非 schema。关系级>agent级>注册表首选"
|
|
205
|
+
},
|
|
206
|
+
"responseModeParams": {
|
|
207
|
+
"type": "object",
|
|
208
|
+
"x-merge": "dict",
|
|
209
|
+
"description": "响应模式特有参数字典,按模式 id 分桶:{ [modeId]: {...} }"
|
|
210
|
+
},
|
|
211
|
+
"flush_delay": {
|
|
212
|
+
"type": "number",
|
|
213
|
+
"minimum": 0,
|
|
214
|
+
"default": 3,
|
|
215
|
+
"x-merge": "scalar",
|
|
216
|
+
"description": "流式出站消息的批量刷新间隔,单位为秒;默认 3 秒"
|
|
217
|
+
},
|
|
218
|
+
"debounce": {
|
|
219
|
+
"type": "number",
|
|
220
|
+
"minimum": 0,
|
|
221
|
+
"default": 0,
|
|
222
|
+
"x-merge": "scalar",
|
|
223
|
+
"description": "入站消息合并窗口,单位为秒;0 表示不合并,默认 0"
|
|
224
|
+
},
|
|
225
|
+
"show_activities": {
|
|
226
|
+
"type": "string",
|
|
227
|
+
"enum": [
|
|
228
|
+
"all",
|
|
229
|
+
"text",
|
|
230
|
+
"none"
|
|
231
|
+
],
|
|
232
|
+
"default": "all",
|
|
233
|
+
"x-merge": "scalar",
|
|
234
|
+
"description": "中间输出展示范围(仅对 interactive 私聊有意义)",
|
|
235
|
+
"x-enumDescriptions": {
|
|
236
|
+
"all": "文本 + activity",
|
|
237
|
+
"text": "仅文本",
|
|
238
|
+
"none": "全部静默"
|
|
239
|
+
}
|
|
240
|
+
},
|
|
241
|
+
"session_renew": {
|
|
242
|
+
"type": "object",
|
|
243
|
+
"x-merge": "dict",
|
|
244
|
+
"additionalProperties": false,
|
|
245
|
+
"description": "会话超时后的续接判定",
|
|
246
|
+
"properties": {
|
|
247
|
+
"enabled": {
|
|
248
|
+
"type": "boolean",
|
|
249
|
+
"default": false,
|
|
250
|
+
"description": "是否启用超时后的会话连续性判定"
|
|
251
|
+
},
|
|
252
|
+
"after_hours": {
|
|
253
|
+
"type": "number",
|
|
254
|
+
"exclusiveMinimum": 0,
|
|
255
|
+
"default": 24,
|
|
256
|
+
"description": "距最后一条有效对话超过该小时数才触发判定"
|
|
257
|
+
},
|
|
258
|
+
"effort": {
|
|
259
|
+
"type": "string",
|
|
260
|
+
"enum": [
|
|
261
|
+
"low",
|
|
262
|
+
"medium",
|
|
263
|
+
"high",
|
|
264
|
+
"xhigh",
|
|
265
|
+
"max"
|
|
266
|
+
],
|
|
267
|
+
"default": "low",
|
|
268
|
+
"description": "续接判定的推理强度",
|
|
269
|
+
"x-enumDescriptions": {
|
|
270
|
+
"low": "低",
|
|
271
|
+
"medium": "中",
|
|
272
|
+
"high": "高",
|
|
273
|
+
"xhigh": "很高",
|
|
274
|
+
"max": "最高"
|
|
275
|
+
}
|
|
276
|
+
},
|
|
277
|
+
"fallback_action": {
|
|
278
|
+
"type": "string",
|
|
279
|
+
"enum": [
|
|
280
|
+
"continue",
|
|
281
|
+
"new"
|
|
282
|
+
],
|
|
283
|
+
"default": "continue",
|
|
284
|
+
"description": "无法判定时的兜底动作",
|
|
285
|
+
"x-enumDescriptions": {
|
|
286
|
+
"continue": "继续沿用当前会话",
|
|
287
|
+
"new": "开启新会话"
|
|
288
|
+
}
|
|
289
|
+
}
|
|
290
|
+
}
|
|
291
|
+
},
|
|
292
|
+
"group_venue_sync": {
|
|
293
|
+
"type": "object",
|
|
294
|
+
"x-merge": "dict",
|
|
295
|
+
"description": "AUN 群资源同步配置;控制规则文件路径、资源索引路径、条目/字节限制及刷新间隔。"
|
|
296
|
+
},
|
|
297
|
+
"render": {
|
|
298
|
+
"type": "object",
|
|
299
|
+
"x-merge": "dict",
|
|
300
|
+
"description": "私聊、群聊及注入内容使用的渲染器标识配置。"
|
|
301
|
+
},
|
|
302
|
+
"sessionManifests": {
|
|
303
|
+
"type": "object",
|
|
304
|
+
"x-merge": "dict",
|
|
305
|
+
"description": "会话类型到 manifest 文件的映射,用于选择对应的系统提示词清单。"
|
|
306
|
+
},
|
|
307
|
+
"enable_rich_content": {
|
|
308
|
+
"type": "boolean",
|
|
309
|
+
"x-merge": "scalar",
|
|
310
|
+
"description": "是否允许渠道使用富内容消息;未设置时由渠道能力和运行时默认决定"
|
|
311
|
+
},
|
|
312
|
+
"extra_backup": {
|
|
313
|
+
"type": "array",
|
|
314
|
+
"items": {
|
|
315
|
+
"type": "object",
|
|
316
|
+
"description": "一个额外备份规则,包含相对 path 和可选的文件匹配 pattern。"
|
|
317
|
+
},
|
|
318
|
+
"x-merge": "list",
|
|
319
|
+
"description": "配置快照需要额外包含的文件声明;不得指向 .env。"
|
|
320
|
+
}
|
|
321
|
+
}
|
|
322
|
+
}
|
|
@@ -0,0 +1,43 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "contact-book.schema.2.json",
|
|
4
|
+
"title": "ContactBook v2 (agents/{aid}/contact.json)",
|
|
5
|
+
"x-logical-name": "contact-book",
|
|
6
|
+
"x-scope": "contact",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"additionalProperties": false,
|
|
9
|
+
"required": ["$schema_version", "contacts"],
|
|
10
|
+
"properties": {
|
|
11
|
+
"$schema_version": { "type": "number", "const": 2, "default": 2, "x-merge": "scalar" },
|
|
12
|
+
"contacts": {
|
|
13
|
+
"type": "object",
|
|
14
|
+
"x-merge": "dict",
|
|
15
|
+
"description": "AID 联系人字典;群和无 AID 对端不进入 Contact Book",
|
|
16
|
+
"propertyNames": {
|
|
17
|
+
"pattern": "^([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?\\.){2,}[A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?$"
|
|
18
|
+
},
|
|
19
|
+
"additionalProperties": {
|
|
20
|
+
"type": "object",
|
|
21
|
+
"additionalProperties": false,
|
|
22
|
+
"properties": {
|
|
23
|
+
"displayName": { "type": "string", "description": "显示名" },
|
|
24
|
+
"aliases": {
|
|
25
|
+
"type": "array",
|
|
26
|
+
"description": "跨渠道身份映射,格式 <channelKey>:<urlEncode(peerId)>",
|
|
27
|
+
"items": {
|
|
28
|
+
"type": "string",
|
|
29
|
+
"pattern": "^[A-Za-z0-9_-]+#([A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?\\.){2,}[A-Za-z0-9]([A-Za-z0-9-]*[A-Za-z0-9])?#[A-Za-z0-9_-]+:[^:]+$"
|
|
30
|
+
},
|
|
31
|
+
"uniqueItems": true
|
|
32
|
+
},
|
|
33
|
+
"status": {
|
|
34
|
+
"type": "string",
|
|
35
|
+
"enum": ["active", "blocked", "pending"],
|
|
36
|
+
"default": "active",
|
|
37
|
+
"description": "AID 联系状态;blocked 只阻断该 AID 的 AUN 私聊"
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
}
|
|
42
|
+
}
|
|
43
|
+
}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
{
|
|
2
|
+
"$schema": "http://json-schema.org/draft-07/schema#",
|
|
3
|
+
"$id": "relation-config.schema.5.json",
|
|
4
|
+
"title": "RelationConfig v5 (agents/{aid}/relations/{peerKey}/config.json)",
|
|
5
|
+
"x-logical-name": "relation-config",
|
|
6
|
+
"x-scope": "relation",
|
|
7
|
+
"type": "object",
|
|
8
|
+
"additionalProperties": true,
|
|
9
|
+
"not": {
|
|
10
|
+
"anyOf": [
|
|
11
|
+
{ "required": ["permissionMode"] },
|
|
12
|
+
{ "required": ["roles"] }
|
|
13
|
+
]
|
|
14
|
+
},
|
|
15
|
+
"properties": {
|
|
16
|
+
"$schema_version": { "type": "number", "const": 5, "default": 5, "x-merge": "scalar" },
|
|
17
|
+
"targetKind": { "type": "string", "enum": ["private", "group"], "x-merge": "scalar" },
|
|
18
|
+
"role": { "type": ["string", "null"], "pattern": "^(?!owner$)[a-z0-9_-]+$", "x-merge": "scalar", "description": "关系角色;允许 admin/member/visitor/自定义角色,禁止 owner" },
|
|
19
|
+
"active_baseagent": { "type": "string", "x-merge": "scalar" },
|
|
20
|
+
"models": { "type": "object", "x-merge": "dict" },
|
|
21
|
+
"baseagents": { "type": "object", "x-merge": "dict" },
|
|
22
|
+
"chatmode": { "type": "object", "x-merge": "dict", "properties": { "private": { "enum": ["interactive", "proactive"] }, "group": { "enum": ["interactive", "proactive"] }, "nothuman": { "enum": ["interactive", "proactive"] } }, "additionalProperties": false },
|
|
23
|
+
"mentionMode": { "type": "string", "enum": ["disabled", "mention-only"], "x-merge": "scalar" },
|
|
24
|
+
"model": { "type": "string", "x-merge": "scalar" },
|
|
25
|
+
"responseMode": { "type": "string", "x-merge": "scalar" },
|
|
26
|
+
"responseModeParams": { "type": "object", "x-merge": "dict" },
|
|
27
|
+
"flush_delay": { "type": "number", "x-merge": "scalar" },
|
|
28
|
+
"debounce": { "type": "number", "x-merge": "scalar" },
|
|
29
|
+
"show_activities": { "type": "string", "enum": ["all", "text", "none"], "x-merge": "scalar" },
|
|
30
|
+
"enable_rich_content": { "type": "boolean", "x-merge": "scalar" },
|
|
31
|
+
"session_renew": {
|
|
32
|
+
"type": "object",
|
|
33
|
+
"x-merge": "dict",
|
|
34
|
+
"additionalProperties": false,
|
|
35
|
+
"properties": {
|
|
36
|
+
"enabled": { "type": "boolean" },
|
|
37
|
+
"after_hours": { "type": "number", "exclusiveMinimum": 0 },
|
|
38
|
+
"effort": { "type": "string", "enum": ["low", "medium", "high", "xhigh", "max"] },
|
|
39
|
+
"fallback_action": { "type": "string", "enum": ["continue", "new"] }
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"group_venue_sync": { "type": "object", "x-merge": "dict" },
|
|
43
|
+
"render": { "type": "object", "x-merge": "dict" },
|
|
44
|
+
"sessionManifests": { "type": "object", "x-merge": "dict" },
|
|
45
|
+
"extra_backup": { "type": "array", "items": { "type": "object" }, "x-merge": "list" }
|
|
46
|
+
}
|
|
47
|
+
}
|
|
@@ -23,6 +23,7 @@
|
|
|
23
23
|
"properties": {
|
|
24
24
|
"$schema_version": { "type": "number", "const": 1, "default": 1, "description": "角色配置 Schema 版本,固定为 1。" },
|
|
25
25
|
"description": { "type": "string", "description": "角色的用途、信任级别和授权边界说明。" },
|
|
26
|
+
"rank": { "type": "integer", "enum": [100, 300, 500, 700, 900], "description": "角色排序系数;内置角色固定,自定义角色固定为 500。旧文件缺省时由角色加载器补齐。" },
|
|
26
27
|
"allowAccess": { "type": "boolean", "default": true, "description": "是否允许该角色访问 Agent;缺省为 true。" },
|
|
27
28
|
"permissions": {
|
|
28
29
|
"type": "object",
|
|
@@ -26,8 +26,8 @@
|
|
|
26
26
|
"default": { "private": null, "group": null },
|
|
27
27
|
"description": "未显式分配角色时,私聊和群聊分别采用的默认角色;null 表示不自动授予角色。",
|
|
28
28
|
"properties": {
|
|
29
|
-
"private": { "type": ["string", "null"], "pattern": "^[a-z0-9_-]+$", "default": null, "description": "
|
|
30
|
-
"group": { "type": ["string", "null"], "pattern": "^[a-z0-9_-]+$", "default": null, "description": "
|
|
29
|
+
"private": { "type": ["string", "null"], "pattern": "^(?!owner$)[a-z0-9_-]+$", "default": null, "description": "私聊默认角色;必须已注册且不能为 owner。" },
|
|
30
|
+
"group": { "type": ["string", "null"], "pattern": "^(?!owner$)[a-z0-9_-]+$", "default": null, "description": "群聊默认角色;必须已注册且不能为 owner。" }
|
|
31
31
|
},
|
|
32
32
|
"x-merge": "dict"
|
|
33
33
|
}
|
|
@@ -6,7 +6,7 @@ ec model 模型与推理强度管理(切模型/列模型/当前模型/模型
|
|
|
6
6
|
ec response 响应模式管理(切换响应模式/列响应模式/看当前模式/改响应配置) $KITS_DOCS/evolcore/response.md
|
|
7
7
|
ec stats Token 用量与费用统计(用量/费用/统计/预算/token/cost) $KITS_DOCS/evolcore/stats.md
|
|
8
8
|
ec config 读配置/查字段/看生效值(get/show/list/effective/fields/history/diff/current/boots/validate);set/unset 权限由 API 层控制 $KITS_DOCS/evolcore/config.md
|
|
9
|
-
ec trigger
|
|
9
|
+
ec trigger 定时与事件触发器管理(create/update/list/run/enable/disable/delete;set 仅为 create 兼容别名)。需要写操作的无人值守任务用 --permission bypass;单个 trigger 可用 --model/--effort 覆盖执行模型/强度 $KITS_DOCS/evolcore/trigger.md
|
|
10
10
|
ec aid 身份/证书/名片/探测对端 $KITS_DOCS/evolcore/aid.md
|
|
11
11
|
ec fs AUN 文件系统统一入口(ls/stat/cat/cp/mv/rm/mkdir/ln/chmod/setfacl/getfacl/token/find/df/mount/approve/reject/umount;个人/群空间同一入口;没有 ec group fs) $KITS_DOCS/evolcore/fs.md
|
|
12
12
|
ec storage 文件上传/下载/配额(底层调试入口,日常优先 ec fs) $KITS_DOCS/evolcore/storage.md
|
|
@@ -19,8 +19,10 @@ ec group 群聊收发与群管理(群发/建群/查群/邀请/踢人/角色/
|
|
|
19
19
|
{{/}}
|
|
20
20
|
{{?peerRole=owner}}
|
|
21
21
|
ec agent EvolAgent 生命周期(创建/启停/热重载/改配置)。ec agent reload 仅对配置/persona/memory 生效,改源码无效 $KITS_DOCS/evolcore/agent.md
|
|
22
|
+
ec contact 联系人与访问控制(拉黑/解除拉黑/查拉黑;显式 --self) $KITS_DOCS/evolcore/contact.md
|
|
22
23
|
{{/}}
|
|
23
24
|
{{?peerRole=admin}}
|
|
24
25
|
ec agent EvolAgent 生命周期(创建/启停/热重载/改配置)。ec agent reload 仅对配置/persona/memory 生效,改源码无效 $KITS_DOCS/evolcore/agent.md
|
|
26
|
+
ec contact 联系人与访问控制(拉黑/解除拉黑/查拉黑;显式 --self) $KITS_DOCS/evolcore/contact.md
|
|
25
27
|
{{/}}
|
|
26
28
|
完整命令集目录(含触发词与适用场景):$KITS_DOCS/evolcore/INDEX.md
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "evolcore",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.3",
|
|
4
4
|
"description": "AI Agent gateway connecting multiple backends (Claude, Codex, Gemini) to messaging channels (Feishu, WeChat, AUN, QQ) with multi-project session management",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -9,9 +9,9 @@
|
|
|
9
9
|
},
|
|
10
10
|
"files": [
|
|
11
11
|
"dist/",
|
|
12
|
+
"!dist/cli/mode.js",
|
|
12
13
|
"bin/",
|
|
13
|
-
"assets
|
|
14
|
-
"!assets/wechat-group-qr.jpeg",
|
|
14
|
+
"assets/.env.template",
|
|
15
15
|
"!dist/experimental/",
|
|
16
16
|
"kits/",
|
|
17
17
|
"!kits/.kits-version",
|
|
@@ -47,7 +47,7 @@
|
|
|
47
47
|
},
|
|
48
48
|
"optionalDependencies": {
|
|
49
49
|
"@larksuiteoapi/node-sdk": "^1.59.0",
|
|
50
|
-
"@wecom/aibot-node-sdk": "^1.0.
|
|
50
|
+
"@wecom/aibot-node-sdk": "^1.0.7",
|
|
51
51
|
"dingtalk-stream": "^2.1.6-beta.1",
|
|
52
52
|
"form-data": "^4.0.5",
|
|
53
53
|
"pure-qqbot": "^2.0.0"
|
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
# Evolcore Logo
|
|
2
|
-
|
|
3
|
-
The symbol combines three channel paths, an open circular system, and a central signal point. It represents multiple agents and messaging channels converging into one persistent core.
|
|
4
|
-
|
|
5
|
-
## Files
|
|
6
|
-
|
|
7
|
-
- `evolcore-logo.svg`: primary logo for light backgrounds
|
|
8
|
-
- `evolcore-logo-reverse.svg`: reverse logo for dark backgrounds
|
|
9
|
-
- `evolcore-mark.svg`: standalone transparent symbol
|
|
10
|
-
- `evolcore-app-icon.svg`: square app/avatar icon
|
|
11
|
-
- `evolcore-brand-board.svg`: identity concept overview
|
|
12
|
-
|
|
13
|
-
## Palette
|
|
14
|
-
|
|
15
|
-
- Core: `#091512`
|
|
16
|
-
- Signal: `#42E8B4`
|
|
17
|
-
- Cloud: `#F2F7F5`
|
|
18
|
-
|
|
19
|
-
Keep clear space around the logo equal to the diameter of the green core. Do not rotate, stretch, outline, or add effects to the mark.
|
|
Binary file
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 1024 1024" role="img" aria-labelledby="title desc">
|
|
2
|
-
<title id="title">Evolcore app icon</title>
|
|
3
|
-
<desc id="desc">Evolcore connected core symbol on a dark rounded square.</desc>
|
|
4
|
-
<rect width="1024" height="1024" rx="224" fill="#091512"/>
|
|
5
|
-
<g transform="translate(192 192) scale(5)">
|
|
6
|
-
<g fill="none" stroke="#F2F7F5" stroke-linecap="round" stroke-linejoin="round">
|
|
7
|
-
<path d="M91 34.5A39 39 0 1 0 91 93.5" stroke-width="11"/>
|
|
8
|
-
<path d="M105 35.5 73 56.5M111 64H74M105 92.5 73 71.5" stroke-width="9"/>
|
|
9
|
-
</g>
|
|
10
|
-
<circle cx="66" cy="64" r="10" fill="#42E8B4"/>
|
|
11
|
-
<circle cx="66" cy="64" r="3.5" fill="#091512"/>
|
|
12
|
-
</g>
|
|
13
|
-
</svg>
|
|
Binary file
|