evolclaw 3.1.4 → 3.1.5
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 +10 -0
- package/dist/agents/claude-runner.js +348 -156
- package/dist/agents/kit-renderer.js +176 -21
- package/dist/aun/aid/agentmd.js +68 -103
- package/dist/aun/aid/client.js +1 -29
- package/dist/aun/aid/identity.js +105 -64
- package/dist/aun/aid/index.js +2 -1
- package/dist/aun/aid/store.js +74 -0
- package/dist/aun/msg/p2p.js +26 -2
- package/dist/aun/rpc/connection.js +23 -30
- package/dist/channels/aun.js +77 -88
- package/dist/channels/dingtalk.js +1 -0
- package/dist/channels/feishu.js +270 -190
- package/dist/channels/qqbot.js +1 -0
- package/dist/channels/wechat.js +1 -0
- package/dist/channels/wecom.js +1 -0
- package/dist/cli/agent.js +11 -5
- package/dist/cli/bench.js +40 -23
- package/dist/cli/index.js +170 -44
- package/dist/cli/init-channel.js +5 -1
- package/dist/cli/model.js +324 -0
- package/dist/cli/net-check.js +133 -50
- package/dist/cli/watch-msg.js +7 -7
- package/dist/cli/watch-web/debug-log.js +18 -0
- package/dist/cli/watch-web/server.js +306 -0
- package/dist/cli/watch-web/sources/aid.js +63 -0
- package/dist/cli/watch-web/sources/msg.js +70 -0
- package/dist/cli/watch-web/sources/session.js +638 -0
- package/dist/cli/watch-web/sources/types.js +10 -0
- package/dist/cli/watch-web/static/app.js +546 -0
- package/dist/cli/watch-web/static/index.html +54 -0
- package/dist/cli/watch-web/static/style.css +247 -0
- package/dist/core/channel-loader.js +7 -4
- package/dist/core/command-handler.js +81 -86
- package/dist/core/evolagent-registry.js +1 -1
- package/dist/core/evolagent.js +4 -4
- package/dist/core/interaction-router.js +59 -0
- package/dist/core/message/message-bridge.js +6 -6
- package/dist/core/message/message-log.js +2 -2
- package/dist/core/message/message-processor.js +86 -101
- package/dist/core/message/stream-idle-monitor.js +21 -0
- package/dist/core/model/model-catalog.js +215 -0
- package/dist/core/model/model-scope.js +250 -0
- package/dist/core/relation/peer-identity.js +40 -49
- package/dist/core/relation/peer-key.js +16 -0
- package/dist/core/session/session-fs-store.js +34 -55
- package/dist/core/session/session-key.js +24 -0
- package/dist/core/session/session-manager.js +308 -251
- package/dist/core/session/session-mapper.js +9 -4
- package/dist/core/trigger/manager.js +3 -3
- package/dist/core/trigger/scheduler.js +2 -1
- package/dist/index.js +6 -2
- package/dist/ipc.js +22 -0
- package/kits/docs/GUIDE.md +2 -2
- package/kits/docs/INDEX.md +11 -7
- package/kits/docs/channels/aun.md +56 -17
- package/kits/docs/channels/feishu.md +41 -12
- package/kits/docs/context-assembly.md +181 -0
- package/kits/docs/evolclaw/agent.md +49 -0
- package/kits/docs/evolclaw/aid.md +49 -0
- package/kits/docs/evolclaw/ctl.md +46 -0
- package/kits/docs/evolclaw/group.md +82 -0
- package/kits/docs/evolclaw/msg.md +86 -0
- package/kits/docs/evolclaw/rpc.md +35 -0
- package/kits/docs/evolclaw/storage.md +49 -0
- package/kits/docs/venues/aun-group.md +10 -0
- package/kits/docs/venues/aun-private.md +10 -0
- package/kits/docs/venues/client-desktop.md +10 -0
- package/kits/docs/venues/client-mobile.md +10 -0
- package/kits/docs/venues/feishu-group.md +13 -0
- package/kits/docs/venues/feishu-private.md +9 -0
- package/kits/docs/venues/group.md +11 -0
- package/kits/docs/venues/private.md +10 -0
- package/kits/eck_manifest.json +72 -36
- package/kits/rules/01-overview.md +20 -10
- package/kits/rules/06-channel.md +30 -27
- package/kits/templates/system-fragments/session.md +10 -3
- package/kits/templates/system-fragments/venue.md +9 -0
- package/package.json +11 -6
- package/dist/aun/aid/lifecycle-log.js +0 -33
- package/dist/utils/aid-lifecycle-log.js +0 -33
- package/kits/docs/evolclaw/AGENT_CMD.md +0 -31
- package/kits/docs/evolclaw/MSG_GROUP.md +0 -30
- package/kits/docs/evolclaw/MSG_PRIVATE.md +0 -72
- package/kits/docs/evolclaw/tools.md +0 -25
package/kits/rules/06-channel.md
CHANGED
|
@@ -6,45 +6,41 @@
|
|
|
6
6
|
|
|
7
7
|
| 位置 | 内容 |
|
|
8
8
|
|------|------|
|
|
9
|
-
| `$KITS_DOCS/channels/` |
|
|
9
|
+
| `$KITS_DOCS/channels/` | 各渠道的**知识文档**:配置、参数、特有机制(只读,按需加载) |
|
|
10
10
|
| `$AGENT_DIR/channels/` | 各渠道的运行时数据(可写) |
|
|
11
11
|
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
与其他主体通信时,**必须调用 CLI 命令**发消息,不要把输出当成发送给对方的内容。
|
|
12
|
+
> 运行时"当前渠道怎么发消息"由动态注入的 `[channel]` 段决定(见下方通信规则);
|
|
13
|
+
> `$KITS_DOCS/channels/` 是**不依赖当前渠道**的知识库,任意会话都可按需 Read 任意渠道文档。
|
|
15
14
|
|
|
16
|
-
|
|
15
|
+
## 通信规则
|
|
17
16
|
|
|
18
|
-
|
|
17
|
+
与其他主体通信**必须调用 CLI 命令**(首选 `ec msg send <self-aid> <peer-id> "<text>"`),
|
|
18
|
+
不要把模型输出当成发送给对方的内容。当前渠道的发消息命令已在上下文中注入(见 `[aun]` 或对应渠道块)。
|
|
19
19
|
|
|
20
|
-
|
|
21
|
-
ec
|
|
22
|
-
ec ctl send
|
|
23
|
-
```
|
|
20
|
+
> proactive 模式尤其注意:你直接输出的普通文本会被投影成"思考过程"实时展示给用户,
|
|
21
|
+
> 它可见、但不入消息历史、也不是发给对端的回复。只有显式调用 `ec msg send` 对端才真正收到。
|
|
22
|
+
> 拿不到 self-aid 时才退回 `ec ctl send "<text>"`(自动继承当前会话的 AID 和对端)。
|
|
24
23
|
|
|
25
24
|
### 命令返回值
|
|
26
25
|
|
|
27
26
|
- 成功:`ok` 或包含 `✓ 已发送 ...` 的输出(exit 0)
|
|
28
27
|
- 失败:`✗ ...` 错误信息(exit 非零)
|
|
29
28
|
|
|
30
|
-
发送成功后**继续后续处理**。一次任务可能发 0
|
|
31
|
-
|
|
32
|
-
## Agent 管理命令
|
|
29
|
+
发送成功后**继续后续处理**。一次任务可能发 0 到多条消息不要因为看到"已发送"就反复发送同一条消息。
|
|
33
30
|
|
|
34
|
-
|
|
31
|
+
## 命令集
|
|
35
32
|
|
|
36
|
-
|
|
33
|
+
所有命令以 `ec` 为前缀,以自己的 AID 为发送者。详细用法按需 Read 对应文档。
|
|
37
34
|
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
`
|
|
43
|
-
|
|
44
|
-
|
|
|
45
|
-
|
|
46
|
-
|
|
|
47
|
-
| group | `$KITS_DOCS/evolclaw/MSG_GROUP.md` |
|
|
35
|
+
| 命令集 | 用途 | 触发词 | 详细文档 |
|
|
36
|
+
|--------|------|--------|----------|
|
|
37
|
+
| `ec msg` | 私聊收发消息 | 回复/发消息/拉取/撤回 | `$KITS_DOCS/evolclaw/msg.md` |
|
|
38
|
+
| `ec group` | 群聊收发与群管理 | 群发/建群/邀请/踢人 | `$KITS_DOCS/evolclaw/group.md` |
|
|
39
|
+
| `ec agent` | EvolAgent 生命周期 | 创建/启用禁用/热重载/改配置 | `$KITS_DOCS/evolclaw/agent.md` |
|
|
40
|
+
| `ec aid` | AID 身份管理 | 身份/证书/名片/探测对端 | `$KITS_DOCS/evolclaw/aid.md` |
|
|
41
|
+
| `ec storage` | 文件存储 | 上传/下载/配额 | `$KITS_DOCS/evolclaw/storage.md` |
|
|
42
|
+
| `ec ctl` | 会话运行时自管理 | 切模型/推理强度/压缩/重启 | `$KITS_DOCS/evolclaw/ctl.md` |
|
|
43
|
+
| `ec rpc` | 底层 AUN RPC(逃生通道) | 直接调协议方法 | `$KITS_DOCS/evolclaw/rpc.md` |
|
|
48
44
|
|
|
49
45
|
共同约定:
|
|
50
46
|
- 以自己的 AID 为发送者
|
|
@@ -52,6 +48,13 @@ ec ctl send --encrypt "<text>"
|
|
|
52
48
|
- `--format json` 所有命令通用
|
|
53
49
|
- `--app <name>` 指定应用 slot
|
|
54
50
|
|
|
55
|
-
##
|
|
51
|
+
## 各渠道知识文档(按需加载)
|
|
52
|
+
|
|
53
|
+
`$KITS_DOCS/channels/` 下每个渠道一份知识文档,内容是该渠道的**配置、参数、特有机制**——
|
|
54
|
+
属于知识性内容,**不依赖**当前注入的渠道类型。需要了解某渠道怎么配置、有哪些参数、
|
|
55
|
+
有哪些特别机制时,按需 Read 对应文档(在 aun 会话里也可查飞书,反之亦然)。
|
|
56
56
|
|
|
57
|
-
|
|
57
|
+
| 渠道 | 文档 | 触发词 |
|
|
58
|
+
|------|------|--------|
|
|
59
|
+
| AUN | `$KITS_DOCS/channels/aun.md` | aun 怎么配置/网关/E2EE/群 ID 格式/证书链 |
|
|
60
|
+
| 飞书 | `$KITS_DOCS/channels/feishu.md` | 飞书怎么配置/appId/合并转发/卡片/user_id |
|
|
@@ -2,11 +2,17 @@
|
|
|
2
2
|
project: {{project}} # 项目目录名
|
|
3
3
|
CURRENT_PROJECT: {{CURRENT_PROJECT}} # 项目完整路径
|
|
4
4
|
sessionId: {{sessionId}} # evolclaw 会话 ID
|
|
5
|
+
{{?sessionKey}}
|
|
6
|
+
sessionKey: {{sessionKey}} # 会话路由键(channelType#urlEncode(channelId)#urlEncode(threadId))
|
|
7
|
+
{{/}}
|
|
5
8
|
{{?sessionName}}
|
|
6
9
|
sessionName: {{sessionName}}
|
|
7
10
|
{{/}}
|
|
8
11
|
sessionCreatedAt: {{sessionCreatedAt}}
|
|
9
12
|
chatMode: {{chatMode}} # interactive=同步对话 / proactive=主动推送(输出静默)
|
|
13
|
+
{{?permissionMode}}
|
|
14
|
+
permissionMode: {{permissionMode}} # auto / bypass / request / edit / plan / noask / readonly
|
|
15
|
+
{{/}}
|
|
10
16
|
{{?threadId}}
|
|
11
17
|
threadId: {{threadId}} # 同一会话内的子话题 ID(多话题路由时)
|
|
12
18
|
{{/}}
|
|
@@ -14,7 +20,8 @@ threadId: {{threadId}} # 同一会话内的子话题 ID(多话题路由时)
|
|
|
14
20
|
readonly: true — 禁止修改项目文件,如需生成文件请写入 .evolclaw/tmp/
|
|
15
21
|
{{/}}
|
|
16
22
|
{{?chatMode=proactive}}
|
|
17
|
-
# proactive
|
|
18
|
-
|
|
19
|
-
proactive-
|
|
23
|
+
# proactive 模式:你的普通文本会作为"思考过程"实时展示给用户(可见,但不入消息历史、不是回复)。
|
|
24
|
+
# 要正式回复对端,必须显式调用发送命令(命令集见 06-channel)。
|
|
25
|
+
proactive-send: ec msg send {{selfAid}} {{peerId}} "<text>" # 拿不到 self-aid 时退回 ec ctl send "<text>"
|
|
26
|
+
proactive-file: ec msg send {{selfAid}} {{peerId}} --file <path> --as <image|video|voice|file>
|
|
20
27
|
{{/}}
|
|
@@ -5,3 +5,12 @@ PACKAGE_ROOT: {{PACKAGE_ROOT}} # evolclaw 安装目录(kits/rules/docs)
|
|
|
5
5
|
{{?venueUid}}
|
|
6
6
|
venueUid: {{venueUid}}
|
|
7
7
|
{{/}}
|
|
8
|
+
{{?dispatch}}
|
|
9
|
+
dispatch: {{dispatch}} # 群分发模式:mention(被@才响应) / broadcast(所有消息都响应)
|
|
10
|
+
{{/}}
|
|
11
|
+
{{?clientType}}
|
|
12
|
+
clientType: {{clientType}} # 客户端类型:desktop / web / mobile
|
|
13
|
+
{{/}}
|
|
14
|
+
{{?groupId}}
|
|
15
|
+
groupId: {{groupId}}
|
|
16
|
+
{{/}}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "evolclaw",
|
|
3
|
-
"version": "3.1.
|
|
3
|
+
"version": "3.1.5",
|
|
4
4
|
"description": "Lightweight AI Agent gateway connecting Claude Agent SDK to messaging channels (Feishu, ACP) with multi-project session management",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -22,20 +22,24 @@
|
|
|
22
22
|
],
|
|
23
23
|
"scripts": {
|
|
24
24
|
"dev": "tsx watch src/index.ts",
|
|
25
|
-
"build": "tsc && node -e \"const f='dist/cli/index.js',c=require('fs').readFileSync(f,'utf8');if(!c.startsWith('#!'))require('fs').writeFileSync(f,'#!/usr/bin/env node\\n'+c)\" && node -e \"try{require('child_process').execFileSync('chmod',['+x','dist/cli/index.js'])}catch{}\" && node -e \"require('fs').mkdirSync('dist/data',{recursive:true});require('fs').copyFileSync('src/data/error-dict.json','dist/data/error-dict.json')\"",
|
|
25
|
+
"build": "tsc && node -e \"const f='dist/cli/index.js',c=require('fs').readFileSync(f,'utf8');if(!c.startsWith('#!'))require('fs').writeFileSync(f,'#!/usr/bin/env node\\n'+c)\" && node -e \"try{require('child_process').execFileSync('chmod',['+x','dist/cli/index.js'])}catch{}\" && node -e \"require('fs').mkdirSync('dist/data',{recursive:true});require('fs').copyFileSync('src/data/error-dict.json','dist/data/error-dict.json')\" && node -e \"require('fs').cpSync('src/cli/watch-web/static','dist/cli/watch-web/static',{recursive:true})\"",
|
|
26
26
|
"start": "node dist/index.js",
|
|
27
|
-
"test": "
|
|
27
|
+
"test": "vitest run",
|
|
28
28
|
"test:watch": "vitest",
|
|
29
29
|
"test:hooks": "tsx test-sdk-hooks.ts",
|
|
30
30
|
"prepublishOnly": "npm run build && npm test"
|
|
31
31
|
},
|
|
32
32
|
"dependencies": {
|
|
33
|
-
"@agentunion/fastaun": "^0.
|
|
34
|
-
"@anthropic-ai/claude-agent-sdk": "^0.
|
|
33
|
+
"@agentunion/fastaun": "^0.4.7",
|
|
34
|
+
"@anthropic-ai/claude-agent-sdk": "^0.3.156",
|
|
35
|
+
"@anthropic-ai/sdk": "^0.100.1",
|
|
36
|
+
"@modelcontextprotocol/sdk": "^1.29.0",
|
|
35
37
|
"cron-parser": "^5.5.0",
|
|
36
38
|
"dotenv": "^17.4.2",
|
|
37
39
|
"image-type": "^6.0.0",
|
|
38
|
-
"qrcode-terminal": "^0.12.0"
|
|
40
|
+
"qrcode-terminal": "^0.12.0",
|
|
41
|
+
"ws": "^8.21.0",
|
|
42
|
+
"zod": "^4.0.0"
|
|
39
43
|
},
|
|
40
44
|
"optionalDependencies": {
|
|
41
45
|
"@larksuiteoapi/node-sdk": "^1.59.0",
|
|
@@ -49,6 +53,7 @@
|
|
|
49
53
|
"@types/form-data": "^2.2.1",
|
|
50
54
|
"@types/node": "^25.5.0",
|
|
51
55
|
"@types/qrcode-terminal": "^0.12.2",
|
|
56
|
+
"@types/ws": "^8.18.1",
|
|
52
57
|
"@vitest/coverage-v8": "^4.1.0",
|
|
53
58
|
"tsx": "^4.19.0",
|
|
54
59
|
"typescript": "^5.6.0",
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
import path from 'path';
|
|
3
|
-
import { resolvePaths } from '../../paths.js';
|
|
4
|
-
function ensureDir(dir) {
|
|
5
|
-
fs.mkdirSync(dir, { recursive: true });
|
|
6
|
-
}
|
|
7
|
-
function logPath(aid) {
|
|
8
|
-
const aidName = aid.startsWith('@') ? aid.slice(1) : aid;
|
|
9
|
-
return path.join(resolvePaths().aidLogsDir, `${aidName}.jsonl`);
|
|
10
|
-
}
|
|
11
|
-
export function appendAidLifecycle(event) {
|
|
12
|
-
const filePath = logPath(event.aid);
|
|
13
|
-
ensureDir(path.dirname(filePath));
|
|
14
|
-
fs.appendFileSync(filePath, JSON.stringify(event) + '\n');
|
|
15
|
-
}
|
|
16
|
-
export function readAidLifecycle(aid, lastN = 50) {
|
|
17
|
-
const filePath = logPath(aid);
|
|
18
|
-
try {
|
|
19
|
-
const content = fs.readFileSync(filePath, 'utf-8');
|
|
20
|
-
const lines = content.trim().split('\n').filter(Boolean);
|
|
21
|
-
const events = [];
|
|
22
|
-
for (const line of lines.slice(-lastN)) {
|
|
23
|
-
try {
|
|
24
|
-
events.push(JSON.parse(line));
|
|
25
|
-
}
|
|
26
|
-
catch { }
|
|
27
|
-
}
|
|
28
|
-
return events;
|
|
29
|
-
}
|
|
30
|
-
catch {
|
|
31
|
-
return [];
|
|
32
|
-
}
|
|
33
|
-
}
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import fs from 'fs';
|
|
2
|
-
import path from 'path';
|
|
3
|
-
import { resolvePaths } from '../paths.js';
|
|
4
|
-
function ensureDir(dir) {
|
|
5
|
-
fs.mkdirSync(dir, { recursive: true });
|
|
6
|
-
}
|
|
7
|
-
function logPath(aid) {
|
|
8
|
-
const aidName = aid.startsWith('@') ? aid.slice(1) : aid;
|
|
9
|
-
return path.join(resolvePaths().aidLogsDir, `${aidName}.jsonl`);
|
|
10
|
-
}
|
|
11
|
-
export function appendAidLifecycle(event) {
|
|
12
|
-
const filePath = logPath(event.aid);
|
|
13
|
-
ensureDir(path.dirname(filePath));
|
|
14
|
-
fs.appendFileSync(filePath, JSON.stringify(event) + '\n');
|
|
15
|
-
}
|
|
16
|
-
export function readAidLifecycle(aid, lastN = 50) {
|
|
17
|
-
const filePath = logPath(aid);
|
|
18
|
-
try {
|
|
19
|
-
const content = fs.readFileSync(filePath, 'utf-8');
|
|
20
|
-
const lines = content.trim().split('\n').filter(Boolean);
|
|
21
|
-
const events = [];
|
|
22
|
-
for (const line of lines.slice(-lastN)) {
|
|
23
|
-
try {
|
|
24
|
-
events.push(JSON.parse(line));
|
|
25
|
-
}
|
|
26
|
-
catch { }
|
|
27
|
-
}
|
|
28
|
-
return events;
|
|
29
|
-
}
|
|
30
|
-
catch {
|
|
31
|
-
return [];
|
|
32
|
-
}
|
|
33
|
-
}
|
|
@@ -1,31 +0,0 @@
|
|
|
1
|
-
# EvolClaw 可用命令
|
|
2
|
-
|
|
3
|
-
通过 `evolclaw ctl <command> [args]` 管理运行时配置。仅在 evolclaw 托管环境中可用。
|
|
4
|
-
|
|
5
|
-
## 查询类(所有用户)
|
|
6
|
-
- `evolclaw ctl help` — 显示帮助
|
|
7
|
-
- `evolclaw ctl status` — 显示会话状态
|
|
8
|
-
- `evolclaw ctl check` — 检查渠道健康状态
|
|
9
|
-
|
|
10
|
-
## 配置类(管理员)
|
|
11
|
-
- `evolclaw ctl model` — 查看当前模型和可选列表
|
|
12
|
-
- `evolclaw ctl model <model-id>` — 切换模型(如 `opus`, `sonnet`, `haiku`)
|
|
13
|
-
- `evolclaw ctl effort` — 查看当前推理强度
|
|
14
|
-
- `evolclaw ctl effort <low|medium|high|max>` — 切换推理强度
|
|
15
|
-
- `evolclaw ctl compact` — 压缩当前会话上下文
|
|
16
|
-
|
|
17
|
-
## 权限类
|
|
18
|
-
- `evolclaw ctl perm` — 查看当前权限模式(管理员)
|
|
19
|
-
- `evolclaw ctl perm <mode>` — 切换权限模式(仅 owner)
|
|
20
|
-
|
|
21
|
-
## 运维类(仅 owner)
|
|
22
|
-
- `evolclaw ctl activity <all|dm|owner|none>` — 查看/控制中间输出显示模式
|
|
23
|
-
- `evolclaw ctl send [channel] <message>` — 发送消息
|
|
24
|
-
- `evolclaw ctl file <path>` — 发送文件
|
|
25
|
-
- `evolclaw ctl restart` — 重启服务
|
|
26
|
-
- `evolclaw ctl restart <channel>` — 重连指定渠道
|
|
27
|
-
- `evolclaw ctl agentmd` — 查看当前 agent.md
|
|
28
|
-
- `evolclaw ctl agentmd put` — 发布本地 agent.md
|
|
29
|
-
- `evolclaw ctl agentmd set <内容>` — 直接设置 agent.md 内容
|
|
30
|
-
- `evolclaw ctl aid` — 列出所有 AUN 实例及连接状态
|
|
31
|
-
- `evolclaw ctl aid new <aid>` — 创建新 AID 并热加载
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
# 群聊消息命令
|
|
2
|
-
|
|
3
|
-
<!-- TODO: 填充群聊消息命令详细参考 -->
|
|
4
|
-
|
|
5
|
-
## 发送群消息
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
evolclaw group send <from-aid> <group-id> "<message>"
|
|
9
|
-
```
|
|
10
|
-
|
|
11
|
-
## 拉取群消息
|
|
12
|
-
|
|
13
|
-
```bash
|
|
14
|
-
evolclaw group pull <self-aid> <group-id> --app <app-name>
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## 群管理
|
|
18
|
-
|
|
19
|
-
```bash
|
|
20
|
-
evolclaw group create <owner-aid> --name "<group-name>"
|
|
21
|
-
evolclaw group list <self-aid>
|
|
22
|
-
evolclaw group info <self-aid> <group-id>
|
|
23
|
-
evolclaw group invite <self-aid> <group-id> <target-aid>
|
|
24
|
-
evolclaw group kick <self-aid> <group-id> <target-aid>
|
|
25
|
-
evolclaw group members <self-aid> <group-id>
|
|
26
|
-
```
|
|
27
|
-
|
|
28
|
-
## 自主回复策略
|
|
29
|
-
|
|
30
|
-
群聊中被 @ 才默认响应,可通过 venue policy 配置其他触发条件。
|
|
@@ -1,72 +0,0 @@
|
|
|
1
|
-
# 私聊消息命令
|
|
2
|
-
|
|
3
|
-
## 发送消息
|
|
4
|
-
|
|
5
|
-
### 以指定 AID 发送(首选)
|
|
6
|
-
|
|
7
|
-
```bash
|
|
8
|
-
# 明文
|
|
9
|
-
ec msg send <from-aid> <to-aid> "<message>"
|
|
10
|
-
|
|
11
|
-
# 密文(E2EE)
|
|
12
|
-
ec msg send <from-aid> <to-aid> "<message>" --encrypt
|
|
13
|
-
```
|
|
14
|
-
|
|
15
|
-
### 发送文件
|
|
16
|
-
|
|
17
|
-
```bash
|
|
18
|
-
ec msg send <from-aid> <to-aid> --file <path>
|
|
19
|
-
ec msg send <from-aid> <to-aid> --file <path> --as image
|
|
20
|
-
ec msg send <from-aid> <to-aid> --file <path> --encrypt
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
`--as` 可选值:`image` | `video` | `voice` | `file`(默认按扩展名推断)
|
|
24
|
-
|
|
25
|
-
## 拉取消息
|
|
26
|
-
|
|
27
|
-
```bash
|
|
28
|
-
ec msg pull <self-aid> --app <app-name>
|
|
29
|
-
ec msg pull <self-aid> --app <app-name> --after-seq <N> --limit <N>
|
|
30
|
-
```
|
|
31
|
-
|
|
32
|
-
## 确认消息已读
|
|
33
|
-
|
|
34
|
-
```bash
|
|
35
|
-
ec msg ack <self-aid> <seq> --app <app-name>
|
|
36
|
-
```
|
|
37
|
-
|
|
38
|
-
`--app` 必须传,否则会污染 daemon 游标。
|
|
39
|
-
|
|
40
|
-
## 撤回消息
|
|
41
|
-
|
|
42
|
-
```bash
|
|
43
|
-
ec msg recall <self-aid> <message-id>
|
|
44
|
-
```
|
|
45
|
-
|
|
46
|
-
## 查询在线状态
|
|
47
|
-
|
|
48
|
-
```bash
|
|
49
|
-
ec msg online <self-aid> <target-aid>
|
|
50
|
-
```
|
|
51
|
-
|
|
52
|
-
## 自主回复策略
|
|
53
|
-
|
|
54
|
-
收到消息 ≠ 必须回复。是否回复、怎么回复、何时回复由 agent 自主决定。
|
|
55
|
-
|
|
56
|
-
加密策略:
|
|
57
|
-
- 对端发来密文消息时,回复也应使用 `--encrypt`(保持对话加密一致性)
|
|
58
|
-
- 对端发来明文消息时,默认明文回复
|
|
59
|
-
|
|
60
|
-
## 在当前会话中快速回复(备选)
|
|
61
|
-
|
|
62
|
-
仅当无法使用 `ec msg send` 时(如不知道自己的 AID),可用 `ec ctl send`:
|
|
63
|
-
|
|
64
|
-
```bash
|
|
65
|
-
# 明文
|
|
66
|
-
ec ctl send "<text>"
|
|
67
|
-
|
|
68
|
-
# 密文
|
|
69
|
-
ec ctl send --encrypt "<text>"
|
|
70
|
-
```
|
|
71
|
-
|
|
72
|
-
`ec ctl send` 自动继承当前会话的 AID 和对端,无需指定。
|
|
@@ -1,25 +0,0 @@
|
|
|
1
|
-
# EvolClaw 可用工具
|
|
2
|
-
|
|
3
|
-
evolclaw 托管环境下,baseagent 可通过 Bash 工具调用以下命令:
|
|
4
|
-
|
|
5
|
-
## 消息发送
|
|
6
|
-
- `evolclaw ctl send "<消息>"` — 发送文本消息给当前对话方
|
|
7
|
-
- `evolclaw ctl file <路径>` — 发送项目内文件
|
|
8
|
-
|
|
9
|
-
## 运行时查询
|
|
10
|
-
- `evolclaw ctl status` — 当前会话状态
|
|
11
|
-
- `evolclaw ctl model` — 当前模型信息
|
|
12
|
-
- `evolclaw ctl effort` — 当前推理强度
|
|
13
|
-
- `evolclaw ctl check` — 渠道健康检查
|
|
14
|
-
- `evolclaw ctl aid` — AUN 连接状态
|
|
15
|
-
|
|
16
|
-
## 运行时配置
|
|
17
|
-
- `evolclaw ctl model <id>` — 切换模型
|
|
18
|
-
- `evolclaw ctl effort <level>` — 切换推理强度
|
|
19
|
-
- `evolclaw ctl compact` — 压缩上下文
|
|
20
|
-
- `evolclaw ctl perm <mode>` — 切换权限模式
|
|
21
|
-
|
|
22
|
-
## agent.md 管理
|
|
23
|
-
- `evolclaw ctl agentmd` — 查看当前 agent.md
|
|
24
|
-
- `evolclaw ctl agentmd put` — 发布到 AUN 网络
|
|
25
|
-
- `evolclaw ctl agentmd set <内容>` — 直接设置内容
|