aws-runtime-bridge 1.2.0 → 1.3.0

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.
Files changed (92) hide show
  1. package/README.md +77 -77
  2. package/dist/adapter/ClaudeSdkAdapter.d.ts +1 -0
  3. package/dist/adapter/ClaudeSdkAdapter.d.ts.map +1 -1
  4. package/dist/adapter/ClaudeSdkAdapter.js +7 -3
  5. package/dist/adapter/ClaudeSdkAdapter.test.js +2 -2
  6. package/dist/adapter/CodexSdkAdapter.d.ts.map +1 -1
  7. package/dist/adapter/CodexSdkAdapter.js +7 -4
  8. package/dist/adapter/CodexSdkAdapter.test.js +4 -2
  9. package/dist/adapter/OpencodeSdkAdapter.d.ts +2 -0
  10. package/dist/adapter/OpencodeSdkAdapter.d.ts.map +1 -1
  11. package/dist/adapter/OpencodeSdkAdapter.js +15 -1
  12. package/dist/adapter/OpencodeSdkAdapter.test.js +5 -0
  13. package/dist/index.js +0 -0
  14. package/dist/routes/properties.test.js +4 -4
  15. package/dist/routes/runtime-binding.d.ts.map +1 -1
  16. package/dist/routes/runtime-binding.js +8 -13
  17. package/dist/routes/runtime-mcp-proxy.d.ts +3 -0
  18. package/dist/routes/runtime-mcp-proxy.d.ts.map +1 -0
  19. package/dist/routes/runtime-mcp-proxy.js +102 -0
  20. package/dist/routes/runtime-mcp-proxy.test.d.ts +2 -0
  21. package/dist/routes/runtime-mcp-proxy.test.d.ts.map +1 -0
  22. package/dist/routes/runtime-mcp-proxy.test.js +111 -0
  23. package/dist/routes/terminal.js +2 -5
  24. package/dist/routes/terminal.test.js +3 -4
  25. package/dist/services/auto-register.d.ts +6 -0
  26. package/dist/services/auto-register.d.ts.map +1 -1
  27. package/dist/services/auto-register.js +63 -1
  28. package/dist/services/aws-client-agent-mcp.d.ts.map +1 -1
  29. package/dist/services/aws-client-agent-mcp.js +73 -7
  30. package/dist/services/aws-client-agent-mcp.test.js +83 -2
  31. package/dist/services/mcp-launch-binding-queue.d.ts +0 -2
  32. package/dist/services/mcp-launch-binding-queue.d.ts.map +1 -1
  33. package/dist/services/mcp-launch-binding-queue.js +44 -16
  34. package/dist/services/mcp-launch-binding-queue.test.js +42 -37
  35. package/dist/services/runtime-binding.d.ts +1 -0
  36. package/dist/services/runtime-binding.d.ts.map +1 -1
  37. package/dist/services/runtime-binding.js +39 -5
  38. package/dist/services/runtime-binding.test.d.ts +2 -0
  39. package/dist/services/runtime-binding.test.d.ts.map +1 -0
  40. package/dist/services/runtime-binding.test.js +11 -0
  41. package/dist/utils/yaml-utils.test.js +129 -129
  42. package/node_modules/@cc-switch/sdk/README.md +540 -540
  43. package/node_modules/@cc-switch/sdk/dist/sdk-import.test.d.ts +2 -0
  44. package/node_modules/@cc-switch/sdk/dist/sdk-import.test.d.ts.map +1 -0
  45. package/node_modules/@cc-switch/sdk/dist/sdk-import.test.js +119 -0
  46. package/node_modules/@cc-switch/sdk/package.json +31 -31
  47. package/package/aws-client-agent-mcp/README.md +288 -288
  48. package/package/aws-client-agent-mcp/dist/config.d.ts.map +1 -1
  49. package/package/aws-client-agent-mcp/dist/config.js +96 -13
  50. package/package/aws-client-agent-mcp/dist/config.js.map +1 -1
  51. package/package/aws-client-agent-mcp/dist/config.test.js +26 -8
  52. package/package/aws-client-agent-mcp/dist/config.test.js.map +1 -1
  53. package/package/aws-client-agent-mcp/dist/constants.d.ts +0 -1
  54. package/package/aws-client-agent-mcp/dist/constants.d.ts.map +1 -1
  55. package/package/aws-client-agent-mcp/dist/constants.js +0 -1
  56. package/package/aws-client-agent-mcp/dist/constants.js.map +1 -1
  57. package/package/aws-client-agent-mcp/dist/http-client.d.ts.map +1 -1
  58. package/package/aws-client-agent-mcp/dist/http-client.js +49 -13
  59. package/package/aws-client-agent-mcp/dist/http-client.js.map +1 -1
  60. package/package/aws-client-agent-mcp/dist/http-client.test.js +40 -13
  61. package/package/aws-client-agent-mcp/dist/http-client.test.js.map +1 -1
  62. package/package/aws-client-agent-mcp/dist/index.js +11 -6
  63. package/package/aws-client-agent-mcp/dist/index.js.map +1 -1
  64. package/package/aws-client-agent-mcp/dist/logger.d.ts +11 -1
  65. package/package/aws-client-agent-mcp/dist/logger.d.ts.map +1 -1
  66. package/package/aws-client-agent-mcp/dist/logger.js +91 -6
  67. package/package/aws-client-agent-mcp/dist/logger.js.map +1 -1
  68. package/package/aws-client-agent-mcp/dist/logger.test.d.ts +2 -0
  69. package/package/aws-client-agent-mcp/dist/logger.test.d.ts.map +1 -0
  70. package/package/aws-client-agent-mcp/dist/logger.test.js +27 -0
  71. package/package/aws-client-agent-mcp/dist/logger.test.js.map +1 -0
  72. package/package/aws-client-agent-mcp/dist/runtime-launch-binding.d.ts.map +1 -1
  73. package/package/aws-client-agent-mcp/dist/runtime-launch-binding.js +18 -14
  74. package/package/aws-client-agent-mcp/dist/runtime-launch-binding.js.map +1 -1
  75. package/package/aws-client-agent-mcp/dist/runtime-launch-binding.test.js +51 -21
  76. package/package/aws-client-agent-mcp/dist/runtime-launch-binding.test.js.map +1 -1
  77. package/package/aws-client-agent-mcp/dist/types.d.ts +3 -2
  78. package/package/aws-client-agent-mcp/dist/types.d.ts.map +1 -1
  79. package/package/aws-client-agent-mcp/dist/types.js.map +1 -1
  80. package/package/aws-client-agent-mcp/dist/websocket-client.d.ts +1 -0
  81. package/package/aws-client-agent-mcp/dist/websocket-client.d.ts.map +1 -1
  82. package/package/aws-client-agent-mcp/dist/websocket-client.js +18 -0
  83. package/package/aws-client-agent-mcp/dist/websocket-client.js.map +1 -1
  84. package/package/aws-client-agent-mcp/dist/websocket-client.test.js +53 -2
  85. package/package/aws-client-agent-mcp/dist/websocket-client.test.js.map +1 -1
  86. package/package/aws-client-agent-mcp/package.json +52 -52
  87. package/package/cc-switch-sdk/README.md +540 -540
  88. package/package/cc-switch-sdk/dist/sdk-import.test.d.ts +2 -0
  89. package/package/cc-switch-sdk/dist/sdk-import.test.d.ts.map +1 -0
  90. package/package/cc-switch-sdk/dist/sdk-import.test.js +119 -0
  91. package/package/cc-switch-sdk/package.json +31 -31
  92. package/package.json +78 -78
@@ -1,288 +1,288 @@
1
- # aws-client-agent-mcp
2
-
3
- AgentsWorkStudio - Agent MCP Client
4
-
5
- 编程 Agent 与调度中心的通信桥梁,基于 MCP (Model Context Protocol) 协议实现。
6
-
7
- ## 功能特性
8
-
9
- - **注册上线**: Agent 通过 MCP Tool 注册到调度中心,获得唯一标识
10
- - **同事发现**: 查询当前 Agent 可见的同事 Agent 列表(包含在线和离线)
11
- - **群聊消息**: 发送和接收公共群聊消息(支持未读消息指针)
12
- - **私信消息**:
13
- - 通知式: 发送后不阻塞
14
- - 调用式: 发送后阻塞等待回复(带超时机制)
15
- - **消息主循环**: 持续监听和处理收到的消息
16
- - **自动重连**: WebSocket 断线后自动重连
17
-
18
- ## 安装
19
-
20
- ```bash
21
- # 克隆项目后进入目录
22
- cd aws-client-agent-mcp
23
-
24
- # 安装依赖
25
- npm install
26
-
27
- # 编译 TypeScript
28
- npm run build
29
-
30
- # 全局安装为命令行工具
31
- npm install -g .
32
- ```
33
-
34
- 安装完成后可直接使用全局命令:
35
-
36
- ```bash
37
- aws-client-agent-mcp
38
- ```
39
-
40
- ## 配置
41
-
42
- ### 环境变量
43
-
44
- | 变量名 | 说明 | 默认值 |
45
- |--------|------|--------|
46
- | `AWS_SERVER_URL` | 调度中心 WebSocket 地址 | `ws://localhost:8080/ws/agent` |
47
- | `AWS_WORKSPACE_PATH` | Agent 所在工作区路径 | 当前进程工作目录 |
48
- | `AWS_ROLE_NAME` | Agent 角色名,可为空,角色配置主要由后端 runtime-bridge 提供 | 空字符串 |
49
- | `AWS_PROJECT_NAME` | Agent 所属项目名 | `default` |
50
- | `AWS_PROMPT` | Agent 提示词,可为空,角色配置主要由后端 runtime-bridge 提供 | 空字符串 |
51
- | `AWS_AGENT_ID` | 预设 Agent ID,用于绑定已有实例 | 未设置 |
52
- | `AWS_INTERNAL_API_KEY` | 调度中心内部 API 密钥 | `agentswork-internal-dev-key` |
53
- | `AWS_HEARTBEAT_INTERVAL` | 心跳间隔(毫秒) | `3000` |
54
- | `AWS_HEARTBEAT_TIMEOUT` | 心跳超时时间(毫秒) | `9000` |
55
- | `AWS_MCP_HTTP_URL` | 调度中心 MCP HTTP 调用地址 | 根据 `AWS_SERVER_URL` 推导为 `/mcp/call` |
56
-
57
- > 注意:当前实现不再读取 `AWS_CONFIG_PATH`。作为 stdio MCP Server 运行时,stdout 必须只输出 JSON-RPC 消息,普通日志会输出到 stderr,避免污染 MCP 握手协议。
58
-
59
- ## 使用方式
60
-
61
- ### 方式一: 作为 MCP Server 使用(推荐)
62
-
63
- 在 Claude Desktop 或 Cline 的配置中添加:
64
-
65
- ```json
66
- {
67
- "mcpServers": {
68
- "agentswork": {
69
- "command": "node",
70
- "args": ["/path/to/aws-client-agent-mcp/dist/index.js"],
71
- "env": {
72
- "AWS_SERVER_URL": "ws://localhost:7380/ws/agent",
73
- "AWS_WORKSPACE_PATH": "/absolute/path/to/project",
74
- "AWS_PROJECT_NAME": "default"
75
- }
76
- }
77
- }
78
- }
79
- ```
80
-
81
- ### 方式二: 命令行运行
82
-
83
- ```bash
84
- # 设置环境变量并运行
85
- export AWS_SERVER_URL=ws://localhost:7380/ws/agent
86
- export AWS_WORKSPACE_PATH=/absolute/path/to/project
87
- export AWS_PROJECT_NAME=default
88
- aws-client-agent-mcp
89
- ```
90
-
91
- ## MCP Tools
92
-
93
- ### register
94
-
95
- 注册 Agent 上线。
96
-
97
- **返回值:**
98
- ```json
99
- {
100
- "agentId": "uuid-string",
101
- "displayName": "后端开发专家-A3X7",
102
- "status": "online"
103
- }
104
- ```
105
-
106
- ### unregister
107
-
108
- 注销 Agent 下线。
109
-
110
- ### get_colleague
111
-
112
- 获取当前 Agent 可见的同事 Agent 列表,包含在线和离线状态。
113
-
114
- **返回值:**
115
- ```json
116
- {
117
- "humans": [],
118
- "agents": [
119
- { "id": "agent_001", "displayName": "后端开发专家-A3X7", "roleName": "后端开发专家", "prompt": "...", "onlineSince": "..." },
120
- { "id": "agent_002", "displayName": "测试工程师-B8K2", "roleName": "测试工程师", "prompt": "...", "onlineSince": null }
121
- ]
122
- }
123
- ```
124
-
125
- ### get_group_rooms
126
-
127
- 获取当前 Agent 在关系图中可发现的群组列表,包括项目公共群聊以及自己所在的小组群。
128
-
129
- **返回值:**
130
- ```json
131
- {
132
- "groups": [
133
- {
134
- "id": "project:demo",
135
- "projectName": "demo",
136
- "roomType": "project",
137
- "scopeRefId": "demo",
138
- "name": "demo 公共群聊",
139
- "memberUserIds": ["agent_001"]
140
- },
141
- {
142
- "id": "inner_group:g-1",
143
- "projectName": "demo",
144
- "roomType": "inner_group",
145
- "scopeRefId": "g-1",
146
- "name": "后端小组",
147
- "memberUserIds": ["agent_001", "agent_002"]
148
- }
149
- ]
150
- }
151
- ```
152
-
153
- ### send_group_message
154
-
155
- 发送群消息。
156
-
157
- **参数:**
158
- - `content`: 消息内容(string,必需)
159
-
160
- ### get_group_messages
161
-
162
- 获取未读群消息。
163
-
164
- **返回值:**
165
- ```json
166
- {
167
- "messages": [
168
- { "msgId": 1, "senderId": "...", "senderName": "...", "content": "...", "timestamp": "..." }
169
- ],
170
- "currentReadPos": 1,
171
- "hasMore": false
172
- }
173
- ```
174
-
175
- ### send_dm
176
-
177
- 发送私信。
178
-
179
- **参数:**
180
- - `targetId`: 目标用户ID(string,必需)
181
- - `content`: 消息内容(string,必需)
182
- - `requireReply`: 是否需要回复(boolean,可选)
183
- - `replyToCallId`: 回复的调用ID(string,可选)
184
- - `timeoutMs`: 超时时间(number,可选)
185
-
186
- **调用式返回值:**
187
- ```json
188
- {
189
- "reply": {
190
- "msgId": "...",
191
- "content": "...",
192
- "senderId": "...",
193
- "senderName": "...",
194
- "timestamp": "..."
195
- }
196
- }
197
- ```
198
-
199
- ### get_dm_messages
200
-
201
- 获取私信(支持阻塞等待)。
202
-
203
- **参数:**
204
- - `blockIfEmpty`: 无消息时是否阻塞等待(boolean,可选,默认true)
205
- - `blockTimeoutMs`: 阻塞超时时间(number,可选)
206
-
207
- ### start_message_loop
208
-
209
- 启动消息主循环,开始监听收到的消息。
210
-
211
- ### stop_message_loop
212
-
213
- 停止消息主循环。
214
-
215
- ### get_state
216
-
217
- 获取当前 Agent 状态。
218
-
219
- **返回值:**
220
- ```json
221
- {
222
- "agentId": "...",
223
- "displayName": "...",
224
- "isConnected": true,
225
- "isRunning": false
226
- }
227
- ```
228
-
229
- ## 消息主循环流程
230
-
231
- ```
232
- Agent 主循环:
233
- ┌──────────────────────────────────────────┐
234
- │ 1. register() → 注册上线 │
235
- │ 2. start_message_loop() → 启动循环 │
236
- │ 3. while(运行中): │
237
- │ a. get_dm_messages() → 获取私信 │
238
- │ ├── 有未读消息 → 立即返回 │
239
- │ └── 无未读消息 → 阻塞等待 │
240
- │ b. 处理私信消息 │
241
- │ - 调用式消息 → 处理 → 回复 │
242
- │ - 通知式消息 → 处理/记录 │
243
- │ c. get_group_messages() → 获取群聊 │
244
- │ d. 处理群聊消息 │
245
- │ 4. stop_message_loop() → 停止循环 │
246
- │ 5. unregister() → 注销下线 │
247
- └──────────────────────────────────────────┘
248
- ```
249
-
250
- ## 开发
251
-
252
- ```bash
253
- # 开发模式(自动编译)
254
- npm run dev
255
-
256
- # 构建
257
- npm run build
258
-
259
- # 运行
260
- npm start
261
- ```
262
-
263
- ## 项目结构
264
-
265
- ```
266
- aws-client-agent-mcp/
267
- ├── src/
268
- │ ├── index.ts # 入口文件
269
- │ ├── mcp-server.ts # MCP Server 实现
270
- │ ├── agent-client.ts # Agent 客户端核心
271
- │ ├── websocket-client.ts # WebSocket 客户端
272
- │ ├── config.ts # 配置管理
273
- │ └── types.ts # 类型定义
274
- ├── dist/ # 编译输出
275
- ├── package.json
276
- ├── tsconfig.json
277
- └── README.md
278
- ```
279
-
280
- ## 与调度中心集成
281
-
282
- 确保调度中心(aws-mcp-server)已启动并运行在配置的地址上。
283
-
284
- 调度中心仓库: `aws-mcp-server/`
285
-
286
- ## License
287
-
288
- MIT
1
+ # aws-client-agent-mcp
2
+
3
+ AgentsWorkStudio - Agent MCP Client
4
+
5
+ 编程 Agent 与调度中心的通信桥梁,基于 MCP (Model Context Protocol) 协议实现。
6
+
7
+ ## 功能特性
8
+
9
+ - **注册上线**: Agent 通过 MCP Tool 注册到调度中心,获得唯一标识
10
+ - **同事发现**: 查询当前 Agent 可见的同事 Agent 列表(包含在线和离线)
11
+ - **群聊消息**: 发送和接收公共群聊消息(支持未读消息指针)
12
+ - **私信消息**:
13
+ - 通知式: 发送后不阻塞
14
+ - 调用式: 发送后阻塞等待回复(带超时机制)
15
+ - **消息主循环**: 持续监听和处理收到的消息
16
+ - **自动重连**: WebSocket 断线后自动重连
17
+
18
+ ## 安装
19
+
20
+ ```bash
21
+ # 克隆项目后进入目录
22
+ cd aws-client-agent-mcp
23
+
24
+ # 安装依赖
25
+ npm install
26
+
27
+ # 编译 TypeScript
28
+ npm run build
29
+
30
+ # 全局安装为命令行工具
31
+ npm install -g .
32
+ ```
33
+
34
+ 安装完成后可直接使用全局命令:
35
+
36
+ ```bash
37
+ aws-client-agent-mcp
38
+ ```
39
+
40
+ ## 配置
41
+
42
+ ### 环境变量
43
+
44
+ | 变量名 | 说明 | 默认值 |
45
+ |--------|------|--------|
46
+ | `AWS_SERVER_URL` | 调度中心 WebSocket 地址 | `ws://localhost:8080/ws/agent` |
47
+ | `AWS_WORKSPACE_PATH` | Agent 所在工作区路径 | 当前进程工作目录 |
48
+ | `AWS_ROLE_NAME` | Agent 角色名,可为空,角色配置主要由后端 runtime-bridge 提供 | 空字符串 |
49
+ | `AWS_PROJECT_NAME` | Agent 所属项目名 | `default` |
50
+ | `AWS_PROMPT` | Agent 提示词,可为空,角色配置主要由后端 runtime-bridge 提供 | 空字符串 |
51
+ | `AWS_AGENT_ID` | 预设 Agent ID,用于绑定已有实例 | 未设置 |
52
+ | `AWS_INTERNAL_API_KEY` | 调度中心内部 API 密钥 | `agentswork-internal-dev-key` |
53
+ | `AWS_HEARTBEAT_INTERVAL` | 心跳间隔(毫秒) | `3000` |
54
+ | `AWS_HEARTBEAT_TIMEOUT` | 心跳超时时间(毫秒) | `9000` |
55
+ | `AWS_MCP_HTTP_URL` | 调度中心 MCP HTTP 调用地址 | 根据 `AWS_SERVER_URL` 推导为 `/mcp/call` |
56
+
57
+ > 注意:当前实现不再读取 `AWS_CONFIG_PATH`。作为 stdio MCP Server 运行时,stdout 必须只输出 JSON-RPC 消息,普通日志会输出到 stderr,避免污染 MCP 握手协议。
58
+
59
+ ## 使用方式
60
+
61
+ ### 方式一: 作为 MCP Server 使用(推荐)
62
+
63
+ 在 Claude Desktop 或 Cline 的配置中添加:
64
+
65
+ ```json
66
+ {
67
+ "mcpServers": {
68
+ "agentswork": {
69
+ "command": "node",
70
+ "args": ["/path/to/aws-client-agent-mcp/dist/index.js"],
71
+ "env": {
72
+ "AWS_SERVER_URL": "ws://localhost:7380/ws/agent",
73
+ "AWS_WORKSPACE_PATH": "/absolute/path/to/project",
74
+ "AWS_PROJECT_NAME": "default"
75
+ }
76
+ }
77
+ }
78
+ }
79
+ ```
80
+
81
+ ### 方式二: 命令行运行
82
+
83
+ ```bash
84
+ # 设置环境变量并运行
85
+ export AWS_SERVER_URL=ws://localhost:7380/ws/agent
86
+ export AWS_WORKSPACE_PATH=/absolute/path/to/project
87
+ export AWS_PROJECT_NAME=default
88
+ aws-client-agent-mcp
89
+ ```
90
+
91
+ ## MCP Tools
92
+
93
+ ### register
94
+
95
+ 注册 Agent 上线。
96
+
97
+ **返回值:**
98
+ ```json
99
+ {
100
+ "agentId": "uuid-string",
101
+ "displayName": "后端开发专家-A3X7",
102
+ "status": "online"
103
+ }
104
+ ```
105
+
106
+ ### unregister
107
+
108
+ 注销 Agent 下线。
109
+
110
+ ### get_colleague
111
+
112
+ 获取当前 Agent 可见的同事 Agent 列表,包含在线和离线状态。
113
+
114
+ **返回值:**
115
+ ```json
116
+ {
117
+ "humans": [],
118
+ "agents": [
119
+ { "id": "agent_001", "displayName": "后端开发专家-A3X7", "roleName": "后端开发专家", "prompt": "...", "onlineSince": "..." },
120
+ { "id": "agent_002", "displayName": "测试工程师-B8K2", "roleName": "测试工程师", "prompt": "...", "onlineSince": null }
121
+ ]
122
+ }
123
+ ```
124
+
125
+ ### get_group_rooms
126
+
127
+ 获取当前 Agent 在关系图中可发现的群组列表,包括项目公共群聊以及自己所在的小组群。
128
+
129
+ **返回值:**
130
+ ```json
131
+ {
132
+ "groups": [
133
+ {
134
+ "id": "project:demo",
135
+ "projectName": "demo",
136
+ "roomType": "project",
137
+ "scopeRefId": "demo",
138
+ "name": "demo 公共群聊",
139
+ "memberUserIds": ["agent_001"]
140
+ },
141
+ {
142
+ "id": "inner_group:g-1",
143
+ "projectName": "demo",
144
+ "roomType": "inner_group",
145
+ "scopeRefId": "g-1",
146
+ "name": "后端小组",
147
+ "memberUserIds": ["agent_001", "agent_002"]
148
+ }
149
+ ]
150
+ }
151
+ ```
152
+
153
+ ### send_group_message
154
+
155
+ 发送群消息。
156
+
157
+ **参数:**
158
+ - `content`: 消息内容(string,必需)
159
+
160
+ ### get_group_messages
161
+
162
+ 获取未读群消息。
163
+
164
+ **返回值:**
165
+ ```json
166
+ {
167
+ "messages": [
168
+ { "msgId": 1, "senderId": "...", "senderName": "...", "content": "...", "timestamp": "..." }
169
+ ],
170
+ "currentReadPos": 1,
171
+ "hasMore": false
172
+ }
173
+ ```
174
+
175
+ ### send_dm
176
+
177
+ 发送私信。
178
+
179
+ **参数:**
180
+ - `targetId`: 目标用户ID(string,必需)
181
+ - `content`: 消息内容(string,必需)
182
+ - `requireReply`: 是否需要回复(boolean,可选)
183
+ - `replyToCallId`: 回复的调用ID(string,可选)
184
+ - `timeoutMs`: 超时时间(number,可选)
185
+
186
+ **调用式返回值:**
187
+ ```json
188
+ {
189
+ "reply": {
190
+ "msgId": "...",
191
+ "content": "...",
192
+ "senderId": "...",
193
+ "senderName": "...",
194
+ "timestamp": "..."
195
+ }
196
+ }
197
+ ```
198
+
199
+ ### get_dm_messages
200
+
201
+ 获取私信(支持阻塞等待)。
202
+
203
+ **参数:**
204
+ - `blockIfEmpty`: 无消息时是否阻塞等待(boolean,可选,默认true)
205
+ - `blockTimeoutMs`: 阻塞超时时间(number,可选)
206
+
207
+ ### start_message_loop
208
+
209
+ 启动消息主循环,开始监听收到的消息。
210
+
211
+ ### stop_message_loop
212
+
213
+ 停止消息主循环。
214
+
215
+ ### get_state
216
+
217
+ 获取当前 Agent 状态。
218
+
219
+ **返回值:**
220
+ ```json
221
+ {
222
+ "agentId": "...",
223
+ "displayName": "...",
224
+ "isConnected": true,
225
+ "isRunning": false
226
+ }
227
+ ```
228
+
229
+ ## 消息主循环流程
230
+
231
+ ```
232
+ Agent 主循环:
233
+ ┌──────────────────────────────────────────┐
234
+ │ 1. register() → 注册上线 │
235
+ │ 2. start_message_loop() → 启动循环 │
236
+ │ 3. while(运行中): │
237
+ │ a. get_dm_messages() → 获取私信 │
238
+ │ ├── 有未读消息 → 立即返回 │
239
+ │ └── 无未读消息 → 阻塞等待 │
240
+ │ b. 处理私信消息 │
241
+ │ - 调用式消息 → 处理 → 回复 │
242
+ │ - 通知式消息 → 处理/记录 │
243
+ │ c. get_group_messages() → 获取群聊 │
244
+ │ d. 处理群聊消息 │
245
+ │ 4. stop_message_loop() → 停止循环 │
246
+ │ 5. unregister() → 注销下线 │
247
+ └──────────────────────────────────────────┘
248
+ ```
249
+
250
+ ## 开发
251
+
252
+ ```bash
253
+ # 开发模式(自动编译)
254
+ npm run dev
255
+
256
+ # 构建
257
+ npm run build
258
+
259
+ # 运行
260
+ npm start
261
+ ```
262
+
263
+ ## 项目结构
264
+
265
+ ```
266
+ aws-client-agent-mcp/
267
+ ├── src/
268
+ │ ├── index.ts # 入口文件
269
+ │ ├── mcp-server.ts # MCP Server 实现
270
+ │ ├── agent-client.ts # Agent 客户端核心
271
+ │ ├── websocket-client.ts # WebSocket 客户端
272
+ │ ├── config.ts # 配置管理
273
+ │ └── types.ts # 类型定义
274
+ ├── dist/ # 编译输出
275
+ ├── package.json
276
+ ├── tsconfig.json
277
+ └── README.md
278
+ ```
279
+
280
+ ## 与调度中心集成
281
+
282
+ 确保调度中心(aws-mcp-server)已启动并运行在配置的地址上。
283
+
284
+ 调度中心仓库: `aws-mcp-server/`
285
+
286
+ ## License
287
+
288
+ MIT
@@ -1 +1 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAUlF,qBAAa,aAAa;IACxB,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,YAAY,CAA6B;IAEjD;;;OAGG;IACH,UAAU,IAAI,IAAI;IAmDlB,yBAAyB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IA0C9D,cAAc,IAAI,WAAW;IAO7B,eAAe,IAAI,YAAY;CAMhC;AAED,eAAO,MAAM,aAAa,eAAsB,CAAC"}
1
+ {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../src/config.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAEH,OAAO,KAAK,EAAE,WAAW,EAAE,oBAAoB,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAkGlF,qBAAa,aAAa;IACxB,OAAO,CAAC,WAAW,CAA4B;IAC/C,OAAO,CAAC,YAAY,CAA6B;IAEjD;;;OAGG;IACH,UAAU,IAAI,IAAI;IA2ClB,yBAAyB,CAAC,OAAO,EAAE,oBAAoB,GAAG,IAAI;IA2C9D,cAAc,IAAI,WAAW;IAO7B,eAAe,IAAI,YAAY;CAMhC;AAED,eAAO,MAAM,aAAa,eAAsB,CAAC"}