@keyou007/agent-bot 0.1.13-alpha.1 → 0.1.13-alpha.2
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 +6 -0
- package/README.md +106 -103
- package/README.zh.md +76 -73
- package/dist/acp/AcpProcessManager.js +8 -3
- package/dist/acp/AcpProcessManager.js.map +1 -1
- package/dist/acp/AcpSessionManager.js +15 -0
- package/dist/acp/AcpSessionManager.js.map +1 -1
- package/dist/cli/help.js +4 -2
- package/dist/cli/help.js.map +1 -1
- package/dist/cli/serverStatus.js +27 -0
- package/dist/cli/serverStatus.js.map +1 -1
- package/dist/cli/taskListOutput.js +72 -0
- package/dist/cli/taskListOutput.js.map +1 -0
- package/dist/cli.js +49 -54
- package/dist/cli.js.map +1 -1
- package/dist/codex/CodexProcessManager.js +34 -4
- package/dist/codex/CodexProcessManager.js.map +1 -1
- package/dist/codex/CodexRuntime.js +3 -0
- package/dist/codex/CodexRuntime.js.map +1 -1
- package/dist/feishu/CardRenderer.js +43 -2
- package/dist/feishu/CardRenderer.js.map +1 -1
- package/dist/feishu/FeishuConnector.js +16 -5
- package/dist/feishu/FeishuConnector.js.map +1 -1
- package/dist/index.js +23 -4
- package/dist/index.js.map +1 -1
- package/dist/proxy/ProxySessionController.js +157 -59
- package/dist/proxy/ProxySessionController.js.map +1 -1
- package/dist/runtime/AcpRuntimeAdapter.js +3 -0
- package/dist/runtime/AcpRuntimeAdapter.js.map +1 -1
- package/dist/runtime/agentEnvironment.js +24 -4
- package/dist/runtime/agentEnvironment.js.map +1 -1
- package/dist/runtime/createAgentRuntimeRegistry.js +7 -3
- package/dist/runtime/createAgentRuntimeRegistry.js.map +1 -1
- package/dist/state/StateStore.js +12 -9
- package/dist/state/StateStore.js.map +1 -1
- package/docs/technical-reference.md +9 -3
- package/docs/technical-reference.zh.md +9 -3
- package/npm-shrinkwrap.json +2 -2
- package/package.json +1 -1
- package/skills/agent-bot/SKILL.md +53 -22
- package/src/acp/AcpProcessManager.ts +16 -3
- package/src/acp/AcpSessionManager.ts +14 -0
- package/src/cli/help.ts +4 -2
- package/src/cli/serverStatus.ts +28 -0
- package/src/cli/taskListOutput.ts +91 -0
- package/src/cli.ts +66 -51
- package/src/codex/CodexProcessManager.ts +38 -3
- package/src/codex/CodexRuntime.ts +6 -0
- package/src/feishu/CardRenderer.ts +61 -1
- package/src/feishu/FeishuConnector.ts +13 -4
- package/src/index.ts +35 -3
- package/src/proxy/ProxySessionController.ts +186 -59
- package/src/runtime/AcpRuntimeAdapter.ts +5 -0
- package/src/runtime/agentEnvironment.ts +41 -3
- package/src/runtime/createAgentRuntimeRegistry.ts +18 -3
- package/src/runtime/types.ts +5 -0
- package/src/state/StateStore.ts +12 -9
package/README.zh.md
CHANGED
|
@@ -30,7 +30,7 @@ Agent Bot 运行在你的电脑上,把飞书机器人连接到本机编程 Age
|
|
|
30
30
|
|
|
31
31
|
检查已安装的 Agent 和登录状态:
|
|
32
32
|
|
|
33
|
-
```
|
|
33
|
+
```bash
|
|
34
34
|
codex --version
|
|
35
35
|
codex login status
|
|
36
36
|
traex --version
|
|
@@ -41,114 +41,123 @@ Codex 或 TraeX 中任意一个准备完成后即可继续初始化。`agentbot
|
|
|
41
41
|
|
|
42
42
|
### 安装
|
|
43
43
|
|
|
44
|
-
```
|
|
44
|
+
```bash
|
|
45
|
+
# 安装正式版
|
|
45
46
|
npm install --global @keyou007/agent-bot
|
|
47
|
+
# 如果想要使用最新功能,可以安装 Alpha 版本
|
|
48
|
+
# npm install --global @keyou007/agent-bot@alpha
|
|
46
49
|
agentbot --version
|
|
47
50
|
agentbot --help
|
|
48
51
|
```
|
|
49
52
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
```powershell
|
|
53
|
-
npm install --global @keyou007/agent-bot@alpha
|
|
54
|
-
```
|
|
55
|
-
|
|
56
|
-
该命令会把 `agentbot` 安装为主命令。旧的 `agent-bot` 命令暂时保留,运行时会显示弃用警告,并将在后续版本中移除。命令行帮助、状态、进度、交互提示和错误会根据系统语言显示中文或英文;其他未支持语言统一回退英文。JSON 输出不做本地化并保持字段稳定。从源码安装的方法见[技术参考](docs/technical-reference.zh.md#开发与源码安装)。
|
|
53
|
+
从源码安装的方法见[技术参考](docs/technical-reference.zh.md#开发与源码安装)。
|
|
57
54
|
|
|
58
55
|
### 初始化
|
|
59
56
|
|
|
60
|
-
```
|
|
57
|
+
```bash
|
|
61
58
|
agentbot init
|
|
62
59
|
```
|
|
63
60
|
|
|
64
|
-
初始化会检测 Codex 和 TraeX,并显示已安装的版本。未安装或版本较旧的 Agent
|
|
61
|
+
初始化会检测 Codex 和 TraeX,并显示已安装的版本。未安装或版本较旧的 Agent 会汇总显示对应的安装或升级命令。Agent Bot 会把配置保存到 `~/.agent-bot/config.yaml` 中。
|
|
65
62
|
|
|
66
|
-
|
|
63
|
+
全新的初始化,终端通常会依次显示 3 轮二维码或链接。
|
|
67
64
|
|
|
68
|
-
|
|
65
|
+
1. **创建机器人。** 创建带有标准基础消息配置的飞书应用,并保存 App ID、App Secret 和授权用户。该步骤不能跳过,否则 Agent Bot 无法连接飞书。创建时已经提供的权限不再在下方重复列出。
|
|
66
|
+
2. **添加“接收所有群消息”权限。** 创建机器人后唯一需要额外处理的核心权限是 `im:message.group_msg`,用于接收未 @ 机器人的普通群消息。飞书要求用户在开发者后台手动添加该权限。可以输入 `Y` 跳过等待;缺少该权限时,私聊仍然可用,但群成员必须 @ 机器人才会响应。
|
|
67
|
+
3. **补充剩余事件和回调。** 创建机器人时使用的模板已经提供 Agent Bot 所需的其他权限,第三步实际只新增:
|
|
69
68
|
|
|
70
|
-
|
|
69
|
+
| 类型 | 事件或回调 | 功能 |
|
|
70
|
+
| ---- | ---------- | ------------------ |
|
|
71
|
+
| 事件 | `im.chat.updated_v1` | 检测群改名,把群名同步到 agent 任务标题。 |
|
|
72
|
+
| 回调 | `card.action.trigger` | 卡片按钮交互。 |
|
|
71
73
|
|
|
72
|
-
`
|
|
74
|
+
完成这些步骤后,即完成了 `~/.agent-bot` 目录的初始化。Agent Bot 会自动启动,并使用飞书机器人向你发送欢迎消息,你可以开始在飞书中使用 Agent Bot 了。
|
|
73
75
|
|
|
74
|
-
|
|
76
|
+
Agent Bot 自带保活机制,确保在 Agent Bot,Codex 或 TraeX 崩溃后能够自动重新连接。
|
|
75
77
|
|
|
76
|
-
|
|
77
|
-
| ---------------------- | ------------------------- |
|
|
78
|
-
| `--reset` | 备份并完整重置显式指定的 Profile |
|
|
79
|
-
| `--skip-feishu` | 仅初始化 Console 使用环境,不启动 Server |
|
|
80
|
-
| `--reconfigure-feishu` | 替换已有飞书凭据 |
|
|
81
|
-
| `--json` | 输出便于程序读取的结果 |
|
|
82
|
-
| `--profile <目录>` | 使用指定目录中的独立 Profile |
|
|
83
|
-
| `--config <路径>` | 使用指定配置文件 |
|
|
84
|
-
|
|
85
|
-
升级 Agent Bot 后,可以重新运行 `agentbot init` 刷新 Profile。它会保留现有 `config.yaml` 和 `.env` 中的值,补齐当前版本新增的配置项和环境变量,允许确认或更换默认 Agent,并重新检查 Agent 与机器人配置。如果 Server 已在运行,初始化会安排安全重启,在活动任务完成后加载当前 Agent Bot 版本和更新后的配置。非交互式终端无法询问选择,此时会保留配置中已有的默认 Agent。
|
|
78
|
+
### 启动与停止
|
|
86
79
|
|
|
87
|
-
|
|
80
|
+
启动服务:
|
|
88
81
|
|
|
89
|
-
```
|
|
90
|
-
agentbot
|
|
82
|
+
```bash
|
|
83
|
+
# agentbot init 会自动启动 Server,一般不需要手动启动。
|
|
84
|
+
agentbot server start
|
|
91
85
|
```
|
|
92
86
|
|
|
93
|
-
|
|
87
|
+
查看服务状态:
|
|
94
88
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
```powershell
|
|
89
|
+
```bash
|
|
98
90
|
agentbot server status
|
|
99
91
|
```
|
|
100
92
|
|
|
101
|
-
`agentbot init` 会自动启动 Server。之后如果手动停止了服务,可执行 `agentbot server start` 再次启动。仅在本地使用时,请通过 `--skip-feishu` 初始化并运行 `agentbot console`。
|
|
102
|
-
|
|
103
|
-
`Agent Bot 已启动` 启动卡片会显示当前正在运行的 Agent Bot 版本。每次都会发送到所有已知私聊、最近 1 分钟活跃的普通群,以及所有已加入本次安全重启通知范围的群;话题路由会折算到话题所属群的主会话。
|
|
104
|
-
|
|
105
|
-
打开飞书,找到机器人并发送消息。当前会话没有任务时,Agent Bot 会自动创建。
|
|
106
|
-
|
|
107
93
|
停止服务:
|
|
108
94
|
|
|
109
|
-
```
|
|
95
|
+
```bash
|
|
110
96
|
agentbot server stop
|
|
111
97
|
```
|
|
112
98
|
|
|
99
|
+
安全重启服务:
|
|
100
|
+
|
|
101
|
+
```bash
|
|
102
|
+
agentbot server restart
|
|
103
|
+
```
|
|
104
|
+
|
|
105
|
+
他会等待当前运行中的 Agent 任务完成后自动重启,确保所有任务都能正常执行。
|
|
106
|
+
|
|
113
107
|
### 更新或卸载
|
|
114
108
|
|
|
115
109
|
替换或移除全局包前,先停止正在运行的服务:
|
|
116
110
|
|
|
117
|
-
```
|
|
111
|
+
```bash
|
|
118
112
|
agentbot server stop
|
|
119
113
|
npm install --global @keyou007/agent-bot@latest
|
|
120
|
-
agentbot
|
|
114
|
+
agentbot init # 更新 Profile 并启动 Server
|
|
121
115
|
```
|
|
122
116
|
|
|
123
117
|
卸载:
|
|
124
118
|
|
|
125
|
-
```
|
|
119
|
+
```bash
|
|
126
120
|
agentbot server stop
|
|
127
121
|
npm uninstall --global @keyou007/agent-bot
|
|
128
122
|
```
|
|
129
123
|
|
|
130
124
|
卸载 npm 包不会删除 `~/.agent-bot` 中的用户数据。
|
|
131
125
|
|
|
132
|
-
|
|
126
|
+
### 多 Profile
|
|
133
127
|
|
|
134
|
-
|
|
128
|
+
多 Profile 支持在同一台设备上运行多个 Agent Bot 机器人,它们互相独立,互不干扰。
|
|
135
129
|
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
agentbot
|
|
130
|
+
使用以下命令创建新 Profile:
|
|
131
|
+
|
|
132
|
+
```bash
|
|
133
|
+
# 指定新 profile 目录,初始化新机器人
|
|
134
|
+
agentbot --profile ~/.agent-bot-rescue init
|
|
135
|
+
agentbot --profile ~/.agent-bot-rescue server start
|
|
136
|
+
agentbot --profile ~/.agent-bot-rescue server status
|
|
137
|
+
```
|
|
138
|
+
|
|
139
|
+
不指定 `--profile` 时使用位于 `~/.agent-bot` 的主 Profile。
|
|
140
|
+
|
|
141
|
+
每个 Profile 都在所选目录内保存自己的 `config.yaml`、`.env`、`data/` 和 `logs/`,飞书凭据与本地控制端点也相互隔离。
|
|
142
|
+
|
|
143
|
+
### 重置 Profile
|
|
144
|
+
|
|
145
|
+
如需完整重新配置一个现有 Profile,请先停止它的 Server,并显式指定 Profile:
|
|
146
|
+
|
|
147
|
+
```bash
|
|
148
|
+
agentbot --profile ~/.agent-bot server stop # 停止主 Profile 的 Server
|
|
149
|
+
agentbot --profile ~/.agent-bot init --reset # 重置主 Profile
|
|
141
150
|
```
|
|
142
151
|
|
|
143
|
-
|
|
152
|
+
重置会把当前 `config.yaml`、`.env`、`data/` 和 `logs/` 移入 `.reset-backups` 目录中,再创建干净的新文件和目录。已有备份会永久保留,不会被后续重置覆盖或清理。远端旧飞书应用不会被删除。
|
|
144
153
|
|
|
145
|
-
|
|
154
|
+
重置不会清理 Codex 或 TraeX 的聊天会话,只会重建飞书机器人以及清理 Agent Bot 的本地数据。
|
|
146
155
|
|
|
147
|
-
|
|
156
|
+
## 日常命令
|
|
148
157
|
|
|
149
|
-
### Console
|
|
158
|
+
### Console UI/TUI
|
|
150
159
|
|
|
151
|
-
```
|
|
160
|
+
```bash
|
|
152
161
|
agentbot console
|
|
153
162
|
```
|
|
154
163
|
|
|
@@ -156,8 +165,9 @@ Console UI 不需要飞书凭据。除非传入 `--force`,否则不会与正
|
|
|
156
165
|
|
|
157
166
|
### 任务管理
|
|
158
167
|
|
|
159
|
-
```
|
|
168
|
+
```bash
|
|
160
169
|
agentbot task list
|
|
170
|
+
agentbot task current [--json]
|
|
161
171
|
agentbot task status <任务>
|
|
162
172
|
agentbot task prompt <任务> "<prompt>"
|
|
163
173
|
agentbot task newgroup <任务> [标题] [--agent <标准名>] [--dir <路径> | --nodir]
|
|
@@ -166,13 +176,13 @@ agentbot task title <任务> "<标题>"
|
|
|
166
176
|
agentbot task stop <任务>
|
|
167
177
|
```
|
|
168
178
|
|
|
169
|
-
|
|
179
|
+
`task current` 会显示当前调用 CLI 的 Codex 或 TraeX 任务详情;JSON 输出包含 Agent Bot 的 `localSessionId` 和原生 `remoteSessionId`。`<任务>` 可以是 `task list` 中的序号、任务 ID 或唯一的任务 ID 前缀。运行 `agentbot --help` 可查看完整 CLI 参数。
|
|
170
180
|
|
|
171
181
|
`task newgroup` 会创建飞书群和新任务。默认继承源任务的 Agent 和运行设置;`--agent <标准名>` 可选择另一个已配置的 Agent,此时仍继承源任务的项目形态,但 Provider、模型、思考强度和权限模式使用目标 Agent 自己的 Runtime 默认值。`--dir` 可覆盖项目目录并支持 `~`,`--nodir` 会强制创建 Projectless App Server 任务。`task forkgroup` 从源任务最新可用的已完成 turn 创建分支,不会中断正在执行的 turn。两个命令都要求 Server 正在运行,邀请 Profile 中保存的授权用户,不会切换源会话的当前任务,并支持 `--json`。
|
|
172
182
|
|
|
173
183
|
## 飞书命令
|
|
174
184
|
|
|
175
|
-
|
|
185
|
+
在飞书聊天框直接输入 `/` 开头的消息会作为命令处理。
|
|
176
186
|
|
|
177
187
|
| 命令 | 作用 |
|
|
178
188
|
| --------------------------------------- | -------------------------- |
|
|
@@ -194,14 +204,11 @@ agentbot task stop <任务>
|
|
|
194
204
|
| `/newgroup [标题] [--dir <cwd> \| --nodir]` | 为新任务创建私有群 |
|
|
195
205
|
| `/forkgroup [标题]` | 将当前位置分支到私有群 |
|
|
196
206
|
| `/agent [名称]` | 打开 Agent 设置或切换默认 Agent |
|
|
197
|
-
| `! <命令>` | 在任务目录执行本地命令 |
|
|
198
207
|
| `/restart [--force]` | 默认安全重启;`--force` 立即重启 |
|
|
199
208
|
| `/help` | 显示聊天内帮助 |
|
|
200
209
|
|
|
201
210
|
斜杠命令支持任意唯一前缀,复合命令还支持首字母缩写:`/sess` 等同于 `/sessions`,`/fg` 等同于 `/forkgroup`,`/ng` 等同于 `/newgroup`,`/ns` 等同于 `/nosteer`。完整命令名优先;`/s`、`/f` 等匹配多个命令的前缀会被拒绝,并列出全部候选命令。
|
|
202
211
|
|
|
203
|
-
`/agent`、`/provider`、`/model`、`/thinking` 和 `/permissions` 在存在可选项时使用同一张运行设置卡片。配置了多个 Agent 时,卡片会增加 Agent tab,用于选择后续新任务使用的默认 Agent;即使当前聊天还没有任务,`/agent` 也能打开该 tab。只配置一个 Agent 时,`/agent` 直接显示当前 Agent,不打开卡片。现有任务仍保持原来的 Agent,使用不同 Agent 的任务可以相互独立地运行。`/agent <名称>` 继续支持直接选择。没有可切换的 Provider 时,`/provider` 同样只显示当前 Provider。其余四个命令激活各自对应的 tab,且不接受参数。没有可继承设置的新任务使用所选 Agent 的默认 Provider。
|
|
204
|
-
|
|
205
212
|
私聊、群正文和话题分别维护当前任务。可以单独发送图片,也可以同时发送文字和图片。任务运行中发送普通文字会追加指令;需要确保形成后续 turn 时使用 `/queue`(或 `/nosteer`)。
|
|
206
213
|
|
|
207
214
|
`/sessions` 卡片每页显示 5 个任务,通过 `Previous` 和 `Next` 原地翻页。每个任务都提供 `NewGroup` 和 `ForkGroup` 操作,可直接按所选任务创建同项目的新群,或把所选任务 Fork 到新群。
|
|
@@ -218,6 +225,12 @@ agentbot task stop <任务>
|
|
|
218
225
|
|
|
219
226
|
把已绑定任务的群改名为 `[agent] [project dir] title` 时,只会把 `title` 同步到当前任务;Agent 和工程目录前缀仅作为群元数据,不会写入任务标题。旧的 `[agent] title` 格式仍然兼容。
|
|
220
227
|
|
|
228
|
+
## 本地命令
|
|
229
|
+
|
|
230
|
+
在飞书聊天框直接输入 `!` 开头的消息会作为本地命令处理,命令会在当前任务目录执行。
|
|
231
|
+
|
|
232
|
+
比如 `! ls` 会列出当前目录下的文件,`! git status` 会显示当前 Git 仓库的状态。
|
|
233
|
+
|
|
221
234
|
## 配置与数据
|
|
222
235
|
|
|
223
236
|
Agent Bot 将用户相关文件保存在仓库之外:
|
|
@@ -231,19 +244,9 @@ Agent Bot 将用户相关文件保存在仓库之外:
|
|
|
231
244
|
|
|
232
245
|
可通过 `AGENT_BOT_HOME` 修改用户数据目录。配置示例见 [config.example.yaml](config.example.yaml)。
|
|
233
246
|
|
|
234
|
-
|
|
235
|
-
|
|
236
|
-
### 多 Profile
|
|
237
|
-
|
|
238
|
-
不指定 `--profile` 时使用位于 `~/.agent-bot` 的主 Profile。运行其他相互隔离的机器人时,需要在每次命令中显式指定其目录:
|
|
247
|
+
Agent 进程会继承普通父进程变量及其显式配置的 `agents.<name>.env`。启动 Agent 前,Agent Bot 会移除继承的 `FEISHU_*` 凭据和内部 `AGENT_BOT_*` 状态,再仅提供带命名空间的非敏感 Profile 与 Lark 身份上下文;`FEISHU_APP_SECRET` 永远不会传入 Agent 进程。
|
|
239
248
|
|
|
240
|
-
|
|
241
|
-
agentbot --profile ~/.agent-bot-rescue init
|
|
242
|
-
agentbot --profile ~/.agent-bot-rescue server start
|
|
243
|
-
agentbot --profile ~/.agent-bot-rescue server status
|
|
244
|
-
```
|
|
245
|
-
|
|
246
|
-
其他 Profile 不按名称注册,而是直接使用目录。每个 Profile 都在所选目录内保存自己的 `config.yaml`、`.env`、`data/` 和 `logs/`,飞书凭据与本地控制端点也相互隔离。`--profile` 不能和 `--config` 同时使用。
|
|
249
|
+
默认情况下,Agent Bot 会响应机器人所在群内的普通消息。将 `feishu.respondToAllGroupMessages` 设为 `false` 后,群消息必须 @ 当前机器人才会响应,私聊不受影响。初始化仍会申请完整的群消息权限,因此以后切换该配置无需重新授权。
|
|
247
250
|
|
|
248
251
|
## 常见问题
|
|
249
252
|
|
|
@@ -1,18 +1,23 @@
|
|
|
1
1
|
import readline from "node:readline";
|
|
2
2
|
import { AcpJsonRpcConnection } from "./AcpJsonRpcConnection.js";
|
|
3
|
-
import { agentBotEnvironment } from "../runtime/agentEnvironment.js";
|
|
3
|
+
import { agentBotEnvironment, } from "../runtime/agentEnvironment.js";
|
|
4
4
|
import { spawnStdioCommand } from "../utils/spawnCommand.js";
|
|
5
5
|
export class AcpProcessManager {
|
|
6
6
|
logger;
|
|
7
|
+
environmentContext;
|
|
7
8
|
processes = new Map();
|
|
8
|
-
constructor(logger) {
|
|
9
|
+
constructor(logger, environmentContext = () => ({})) {
|
|
9
10
|
this.logger = logger;
|
|
11
|
+
this.environmentContext = environmentContext;
|
|
10
12
|
}
|
|
11
13
|
start(processKey, agentName, agent) {
|
|
12
14
|
if (this.processes.has(processKey)) {
|
|
13
15
|
throw new Error(`ACP process already exists: ${processKey}`);
|
|
14
16
|
}
|
|
15
|
-
const child = spawnStdioCommand(agent.command, agent.args, agentBotEnvironment(process.env, agent.env
|
|
17
|
+
const child = spawnStdioCommand(agent.command, agent.args, agentBotEnvironment(process.env, agent.env, {
|
|
18
|
+
...this.environmentContext(),
|
|
19
|
+
agentName,
|
|
20
|
+
}));
|
|
16
21
|
const childLogger = this.logger.child({ processKey, agentName });
|
|
17
22
|
const connection = new AcpJsonRpcConnection(child, childLogger);
|
|
18
23
|
const managed = {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcpProcessManager.js","sourceRoot":"","sources":["../../src/acp/AcpProcessManager.ts"],"names":[],"mappings":"AACA,OAAO,QAAQ,MAAM,eAAe,CAAC;AAGrC,OAAO,EAAE,oBAAoB,EAAE,MAAM,2BAA2B,CAAC;AACjE,OAAO,
|
|
1
|
+
{"version":3,"file":"AcpProcessManager.js","sourceRoot":"","sources":["../../src/acp/AcpProcessManager.ts"],"names":[],"mappings":"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"}
|
|
@@ -7,6 +7,7 @@ export class AcpSessionManager {
|
|
|
7
7
|
sessions = new Map();
|
|
8
8
|
sessionsByAcpId = new Map();
|
|
9
9
|
processStart;
|
|
10
|
+
processVersion;
|
|
10
11
|
constructor(agentName, agent, processManager, logger) {
|
|
11
12
|
this.agentName = agentName;
|
|
12
13
|
this.agent = agent;
|
|
@@ -16,6 +17,15 @@ export class AcpSessionManager {
|
|
|
16
17
|
get(localSessionId) {
|
|
17
18
|
return this.sessions.get(localSessionId);
|
|
18
19
|
}
|
|
20
|
+
getProcessInfo() {
|
|
21
|
+
const pid = this.processManager.get(this.agentName)?.child.pid;
|
|
22
|
+
if (!pid)
|
|
23
|
+
return {};
|
|
24
|
+
return {
|
|
25
|
+
pid,
|
|
26
|
+
...(this.processVersion ? { version: this.processVersion } : {}),
|
|
27
|
+
};
|
|
28
|
+
}
|
|
19
29
|
async create(input) {
|
|
20
30
|
if (input.agentName !== this.agentName)
|
|
21
31
|
throw new Error(`Unexpected agent: ${input.agentName}`);
|
|
@@ -86,6 +96,7 @@ export class AcpSessionManager {
|
|
|
86
96
|
this.sessions.clear();
|
|
87
97
|
this.sessionsByAcpId.clear();
|
|
88
98
|
this.processStart = undefined;
|
|
99
|
+
this.processVersion = undefined;
|
|
89
100
|
this.processManager.stopAll();
|
|
90
101
|
}
|
|
91
102
|
async setMode(localSessionId, modeId) {
|
|
@@ -131,6 +142,7 @@ export class AcpSessionManager {
|
|
|
131
142
|
}
|
|
132
143
|
}
|
|
133
144
|
async startProcess() {
|
|
145
|
+
this.processVersion = undefined;
|
|
134
146
|
const managed = this.processManager.start(this.agentName, this.agentName, this.agent);
|
|
135
147
|
try {
|
|
136
148
|
const connection = managed.connection;
|
|
@@ -162,6 +174,9 @@ export class AcpSessionManager {
|
|
|
162
174
|
version: "0.1.0",
|
|
163
175
|
},
|
|
164
176
|
});
|
|
177
|
+
const version = initializeResult.agentInfo?.version?.trim();
|
|
178
|
+
if (version)
|
|
179
|
+
this.processVersion = version;
|
|
165
180
|
if (initializeResult.authMethods?.length) {
|
|
166
181
|
const method = initializeResult.authMethods[0];
|
|
167
182
|
this.logger.info({ methodId: method.id }, "Authenticating ACP agent with first advertised method.");
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"AcpSessionManager.js","sourceRoot":"","sources":["../../src/acp/AcpSessionManager.ts"],"names":[],"mappings":"AAAA,OAAO,IAAI,MAAM,WAAW,CAAC;AAsC7B,MAAM,OAAO,iBAAiB;
|
|
1
|
+
{"version":3,"file":"AcpSessionManager.js","sourceRoot":"","sources":["../../src/acp/AcpSessionManager.ts"],"names":[],"mappings":"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"}
|
package/dist/cli/help.js
CHANGED
|
@@ -12,10 +12,11 @@ export function renderCliHelp(version, language = cliLanguage) {
|
|
|
12
12
|
init --reset 重置并重新配置显式指定的 Profile
|
|
13
13
|
console 打开本地控制台
|
|
14
14
|
server start 在后台启动 Agent Bot
|
|
15
|
-
server status 显示服务、飞书 App ID
|
|
15
|
+
server status 显示服务、飞书 App ID、Agent 进程和安全重启状态
|
|
16
16
|
server restart [--task <任务>] 安排安全重启并将状态发回指定任务会话
|
|
17
17
|
server stop 停止 Agent Bot
|
|
18
18
|
task list 列出任务
|
|
19
|
+
task current [--json] 显示当前调用任务的详情
|
|
19
20
|
task status <任务> 显示任务状态
|
|
20
21
|
task chat <任务> 显示任务绑定的飞书会话
|
|
21
22
|
task prompt <任务> <提示词> 向任务发送提示词
|
|
@@ -64,10 +65,11 @@ Common commands:
|
|
|
64
65
|
init --reset Reset and reconfigure an explicit profile
|
|
65
66
|
console Open the local console
|
|
66
67
|
server start Start Agent Bot in the background
|
|
67
|
-
server status Show the server, Lark App ID, and safe-restart status
|
|
68
|
+
server status Show the server, Lark App ID, Agent processes, and safe-restart status
|
|
68
69
|
server restart [--task <task>] Schedule a safe restart and return status to the task's conversation
|
|
69
70
|
server stop Stop Agent Bot
|
|
70
71
|
task list List tasks
|
|
72
|
+
task current [--json] Show details for the task invoking the CLI
|
|
71
73
|
task status <task> Show task status
|
|
72
74
|
task chat <task> Show the task's Lark chat binding
|
|
73
75
|
task prompt <task> <prompt> Send a Prompt to a task
|
package/dist/cli/help.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAoB,MAAM,WAAW,CAAC;AAE1D,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,QAAQ,GAAgB,WAAW;IAChF,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO,aAAa,OAAO
|
|
1
|
+
{"version":3,"file":"help.js","sourceRoot":"","sources":["../../src/cli/help.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAoB,MAAM,WAAW,CAAC;AAE1D,MAAM,UAAU,aAAa,CAAC,OAAe,EAAE,QAAQ,GAAgB,WAAW;IAChF,IAAI,QAAQ,KAAK,IAAI,EAAE,CAAC;QACtB,OAAO,aAAa,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmD9B,CAAC;IACA,CAAC;IAED,OAAO,aAAa,OAAO;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAmD5B,CAAC;AACF,CAAC"}
|
package/dist/cli/serverStatus.js
CHANGED
|
@@ -22,17 +22,44 @@ export function formatServerStatus(data, language = cliLanguage) {
|
|
|
22
22
|
const safeRestart = value.safeRestartScheduled
|
|
23
23
|
? cliText(`pending (${String(value.safeRestartReason ?? "no reason provided")})`, `等待中(${String(value.safeRestartReason ?? "未提供原因")})`, language)
|
|
24
24
|
: cliText("not scheduled", "未计划", language);
|
|
25
|
+
const agents = formatAgentProcesses(value.agents, language);
|
|
25
26
|
return [
|
|
26
27
|
`${cliText("Agent Bot server: ", "Agent Bot 服务:", language)}${state}`,
|
|
27
28
|
`${cliText("Lark App ID: ", "飞书 App ID:", language)}${value.feishuAppId ?? cliText("not configured", "未配置", language)}`,
|
|
28
29
|
`${cliText("PID: ", "PID:", language)}${value.pid ?? "-"}`,
|
|
29
30
|
`${cliText("Started at: ", "启动时间:", language)}${value.startedAt ?? "-"}`,
|
|
30
31
|
`${cliText("Supervisor: ", "Supervisor:", language)}${value.supervised ? cliText("enabled", "已启用", language) : cliText("disabled", "未启用", language)}`,
|
|
32
|
+
...agents,
|
|
31
33
|
`${cliText("Running tasks: ", "运行中任务:", language)}${activity.runningSessions ?? 0}`,
|
|
32
34
|
`${cliText("Pending final deliveries: ", "待发送最终结果:", language)}${activity.pendingFinalDeliveries ?? 0}`,
|
|
33
35
|
`${cliText("Safe restart: ", "安全重启:", language)}${safeRestart}`,
|
|
34
36
|
"",
|
|
35
37
|
].join("\n");
|
|
36
38
|
}
|
|
39
|
+
function formatAgentProcesses(value, language) {
|
|
40
|
+
const agents = Array.isArray(value)
|
|
41
|
+
? value.filter((item) => Boolean(item) && typeof item === "object")
|
|
42
|
+
: [];
|
|
43
|
+
if (agents.length === 0) {
|
|
44
|
+
return [`${cliText("Agents: ", "Agent 进程:", language)}-`];
|
|
45
|
+
}
|
|
46
|
+
return [
|
|
47
|
+
cliText("Agents:", "Agent 进程:", language),
|
|
48
|
+
...agents.map((agent) => {
|
|
49
|
+
const name = typeof agent.name === "string" && agent.name.trim() ? agent.name.trim() : "-";
|
|
50
|
+
const title = typeof agent.title === "string" && agent.title.trim() ? agent.title.trim() : undefined;
|
|
51
|
+
const label = title && title !== name ? `${name} (${title})` : name;
|
|
52
|
+
const pid = typeof agent.pid === "number" && Number.isInteger(agent.pid) && agent.pid > 0
|
|
53
|
+
? String(agent.pid)
|
|
54
|
+
: "-";
|
|
55
|
+
const version = typeof agent.version === "string" && agent.version.trim()
|
|
56
|
+
? agent.version.trim()
|
|
57
|
+
: "-";
|
|
58
|
+
return language === "zh"
|
|
59
|
+
? ` ${label}:PID ${pid},版本 ${version}`
|
|
60
|
+
: ` ${label}: PID ${pid}, version ${version}`;
|
|
61
|
+
}),
|
|
62
|
+
];
|
|
63
|
+
}
|
|
37
64
|
import { cliLanguage, cliText } from "./i18n.js";
|
|
38
65
|
//# sourceMappingURL=serverStatus.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"serverStatus.js","sourceRoot":"","sources":["../../src/cli/serverStatus.ts"],"names":[],"mappings":"AAAA,MAAM,UAAU,yBAAyB,CACvC,IAAa,EACb,qBAA8B;IAE9B,MAAM,KAAK,GAAG,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ;QAC5C,CAAC,CAAC,IAA+B;QACjC,CAAC,CAAC,EAAE,CAAC;IACP,IAAI,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,aAAa,CAAC;QAAE,OAAO,KAAK,CAAC;IACtD,OAAO;QACL,GAAG,KAAK;QACR,WAAW,EAAE,qBAAqB,IAAI,IAAI;KAC3C,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,IAAa,EAAE,QAAQ,GAAgB,WAAW;IACnF,MAAM,KAAK,GAAG,IAAI,IAAI,OAAO,IAAI,KAAK,QAAQ,CAAC,CAAC,CAAC,IAA+B,CAAC,CAAC,CAAC,EAAE,CAAC;IACtF,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,IAAI,OAAO,KAAK,CAAC,QAAQ,KAAK,QAAQ;QACnE,CAAC,CAAC,KAAK,CAAC,QAAmC;QAC3C,CAAC,CAAC,EAAE,CAAC;IACP,MAAM,KAAK,GAAG,KAAK,CAAC,OAAO,KAAK,KAAK;QACnC,CAAC,CAAC,OAAO,CAAC,aAAa,EAAE,KAAK,EAAE,QAAQ,CAAC;QACzC,CAAC,CAAC,KAAK,CAAC,KAAK,KAAK,KAAK;YACrB,CAAC,CAAC,OAAO,CAAC,+BAA+B,EAAE,aAAa,EAAE,QAAQ,CAAC;YACnE,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC1C,MAAM,WAAW,GAAG,KAAK,CAAC,oBAAoB;QAC5C,CAAC,CAAC,OAAO,CACL,YAAY,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,oBAAoB,CAAC,GAAG,EACtE,OAAO,MAAM,CAAC,KAAK,CAAC,iBAAiB,IAAI,OAAO,CAAC,GAAG,EACpD,QAAQ,CACT;QACH,CAAC,CAAC,OAAO,CAAC,eAAe,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;IAC9C,OAAO;QACL,GAAG,OAAO,CAAC,oBAAoB,EAAE,eAAe,EAAE,QAAQ,CAAC,GAAG,KAAK,EAAE;QACrE,GAAG,OAAO,CAAC,eAAe,EAAE,YAAY,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,WAAW,IAAI,OAAO,CAAC,gBAAgB,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE;QACvH,GAAG,OAAO,CAAC,OAAO,EAAE,MAAM,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,GAAG,IAAI,GAAG,EAAE;QAC1D,GAAG,OAAO,CAAC,cAAc,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,SAAS,IAAI,GAAG,EAAE;QACxE,GAAG,OAAO,CAAC,cAAc,EAAE,aAAa,EAAE,QAAQ,CAAC,GAAG,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,OAAO,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,OAAO,CAAC,UAAU,EAAE,KAAK,EAAE,QAAQ,CAAC,EAAE;QACrJ,GAAG,OAAO,CAAC,iBAAiB,EAAE,QAAQ,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,eAAe,IAAI,CAAC,EAAE;QACnF,GAAG,OAAO,CAAC,4BAA4B,EAAE,UAAU,EAAE,QAAQ,CAAC,GAAG,QAAQ,CAAC,sBAAsB,IAAI,CAAC,EAAE;QACvG,GAAG,OAAO,CAAC,gBAAgB,EAAE,OAAO,EAAE,QAAQ,CAAC,GAAG,WAAW,EAAE;QAC/D,EAAE;KACH,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AACf,CAAC;AACD,OAAO,EAAE,WAAW,EAAE,OAAO,EAAoB,MAAM,WAAW,CAAC"}
|
|
1
|
+
{"version":3,"file":"serverStatus.js","sourceRoot":"","sources":["../../src/cli/serverStatus.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { cliLanguage, cliText } from "./i18n.js";
|
|
2
|
+
export function formatTaskList(sessions, language = cliLanguage, currentThreadIds = []) {
|
|
3
|
+
if (sessions.length === 0)
|
|
4
|
+
return cliText("No tasks.\n", "没有任务。\n", language);
|
|
5
|
+
const current = resolveCurrentTask(sessions, currentThreadIds);
|
|
6
|
+
const currentLocalSessionId = current.status === "found" ? current.session.localSessionId : undefined;
|
|
7
|
+
return sessions.map((session, index) => {
|
|
8
|
+
const title = session.title ?? cliText("Untitled task", "未命名任务", language);
|
|
9
|
+
const current = session.localSessionId === currentLocalSessionId
|
|
10
|
+
? ` [${cliText("Current", "当前任务", language)}]`
|
|
11
|
+
: "";
|
|
12
|
+
const nativeId = nativeTaskIdLabel(session, language);
|
|
13
|
+
return [
|
|
14
|
+
`${index + 1}.${current} [${taskStateLabel(session.status, language)}/${taskStateLabel(session.lastTurnStatus, language)}] ${title}`,
|
|
15
|
+
` ${cliText("Agent: ", "Agent:", language)}${session.agentName} · ${cliText("AgentBot task ID: ", "AgentBot 任务 ID:", language)}${session.localSessionId}`,
|
|
16
|
+
` ${nativeId ? `${nativeId} · ` : ""}${session.contextKey} · ${session.updatedAt}`,
|
|
17
|
+
].join("\n");
|
|
18
|
+
}).join("\n") + "\n";
|
|
19
|
+
}
|
|
20
|
+
export function currentAppServerThreadIds(env) {
|
|
21
|
+
return [...new Set([
|
|
22
|
+
env.CODEX_THREAD_ID?.trim(),
|
|
23
|
+
env.TRAECLI_THREAD_ID?.trim(),
|
|
24
|
+
].filter((value) => Boolean(value)))];
|
|
25
|
+
}
|
|
26
|
+
export function resolveCurrentTask(sessions, currentThreadIds) {
|
|
27
|
+
const threadIds = [...new Set(currentThreadIds.map((value) => value.trim()).filter(Boolean))];
|
|
28
|
+
if (threadIds.length === 0)
|
|
29
|
+
return { status: "missing-thread-id" };
|
|
30
|
+
const candidates = new Set(threadIds);
|
|
31
|
+
const matches = sessions.filter((session) => session.remoteSessionId && candidates.has(session.remoteSessionId));
|
|
32
|
+
if (matches.length === 0)
|
|
33
|
+
return { status: "not-found", threadIds };
|
|
34
|
+
if (matches.length === 1)
|
|
35
|
+
return { status: "found", session: matches[0] };
|
|
36
|
+
const running = matches.filter((session) => session.status === "running" || session.lastTurnStatus === "running");
|
|
37
|
+
if (running.length === 1)
|
|
38
|
+
return { status: "found", session: running[0] };
|
|
39
|
+
return { status: "ambiguous", sessions: matches, threadIds };
|
|
40
|
+
}
|
|
41
|
+
export function taskStateLabel(status, language = cliLanguage) {
|
|
42
|
+
if (!status)
|
|
43
|
+
return "-";
|
|
44
|
+
const chinese = {
|
|
45
|
+
starting: "启动中",
|
|
46
|
+
ready: "就绪",
|
|
47
|
+
running: "运行中",
|
|
48
|
+
closed: "已关闭",
|
|
49
|
+
failed: "失败",
|
|
50
|
+
completed: "已完成",
|
|
51
|
+
cancelled: "已取消",
|
|
52
|
+
interrupted: "已中断",
|
|
53
|
+
inProgress: "进行中",
|
|
54
|
+
active: "活动中",
|
|
55
|
+
idle: "空闲",
|
|
56
|
+
not_loaded: "未加载",
|
|
57
|
+
error: "错误",
|
|
58
|
+
};
|
|
59
|
+
return language === "zh" ? chinese[status] ?? status : status;
|
|
60
|
+
}
|
|
61
|
+
function nativeTaskIdLabel(session, language) {
|
|
62
|
+
if (session.runtimeKind === "acp" || session.acpSessionId) {
|
|
63
|
+
const sessionId = session.acpSessionId ?? session.remoteSessionId;
|
|
64
|
+
return sessionId
|
|
65
|
+
? `${cliText("ACP session ID: ", "ACP Session ID:", language)}${sessionId}`
|
|
66
|
+
: undefined;
|
|
67
|
+
}
|
|
68
|
+
return session.remoteSessionId
|
|
69
|
+
? `${cliText("App Server thread ID: ", "App Server 原生任务 ID(Thread ID):", language)}${session.remoteSessionId}`
|
|
70
|
+
: undefined;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=taskListOutput.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"taskListOutput.js","sourceRoot":"","sources":["../../src/cli/taskListOutput.ts"],"names":[],"mappings":"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"}
|