@zhin.js/adapter-sandbox 1.0.30 → 1.0.32
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 +22 -0
- package/README.md +61 -55
- package/client/Sandbox.tsx +247 -762
- package/dist/index.js +7 -5
- package/package.json +8 -9
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,27 @@
|
|
|
1
1
|
# @zhin.js/adapter-process
|
|
2
2
|
|
|
3
|
+
## 1.0.32
|
|
4
|
+
|
|
5
|
+
### Patch Changes
|
|
6
|
+
|
|
7
|
+
- Updated dependencies [b27e633]
|
|
8
|
+
- @zhin.js/http@1.0.18
|
|
9
|
+
- @zhin.js/core@1.0.27
|
|
10
|
+
- zhin.js@1.0.27
|
|
11
|
+
- @zhin.js/console@1.0.23
|
|
12
|
+
|
|
13
|
+
## 1.0.31
|
|
14
|
+
|
|
15
|
+
### Patch Changes
|
|
16
|
+
|
|
17
|
+
- 106d357: fix: ai
|
|
18
|
+
- Updated dependencies [106d357]
|
|
19
|
+
- @zhin.js/console@1.0.22
|
|
20
|
+
- @zhin.js/http@1.0.17
|
|
21
|
+
- @zhin.js/client@1.0.9
|
|
22
|
+
- @zhin.js/core@1.0.26
|
|
23
|
+
- zhin.js@1.0.26
|
|
24
|
+
|
|
3
25
|
## 1.0.30
|
|
4
26
|
|
|
5
27
|
### Patch Changes
|
package/README.md
CHANGED
|
@@ -1,84 +1,90 @@
|
|
|
1
|
-
# @zhin.js/adapter-
|
|
1
|
+
# @zhin.js/adapter-sandbox
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
Zhin.js Sandbox 适配器,基于 WebSocket 的本地测试适配器,配合 Web 控制台提供浏览器端聊天窗口进行调试。
|
|
4
4
|
|
|
5
5
|
## 功能特性
|
|
6
6
|
|
|
7
|
-
-
|
|
8
|
-
-
|
|
9
|
-
-
|
|
10
|
-
-
|
|
11
|
-
-
|
|
7
|
+
- 基于 WebSocket 实时通信
|
|
8
|
+
- 浏览器端 React 聊天 UI
|
|
9
|
+
- 支持多客户端同时连接
|
|
10
|
+
- 无需第三方平台账号,即开即用
|
|
11
|
+
- 适合本地开发和插件调试
|
|
12
12
|
|
|
13
13
|
## 安装
|
|
14
14
|
|
|
15
15
|
```bash
|
|
16
|
-
|
|
16
|
+
pnpm add @zhin.js/adapter-sandbox
|
|
17
17
|
```
|
|
18
18
|
|
|
19
|
+
## 依赖
|
|
20
|
+
|
|
21
|
+
Sandbox 适配器需要以下服务插件:
|
|
22
|
+
|
|
23
|
+
- `@zhin.js/http` — HTTP 服务(提供 Router 和 WebSocket)
|
|
24
|
+
- `@zhin.js/console` — Web 控制台(提供前端 UI)
|
|
25
|
+
- `@zhin.js/client` — 控制台客户端框架
|
|
26
|
+
|
|
19
27
|
## 配置
|
|
20
28
|
|
|
21
|
-
```
|
|
22
|
-
|
|
23
|
-
|
|
29
|
+
```yaml
|
|
30
|
+
# zhin.config.yml
|
|
31
|
+
bots:
|
|
32
|
+
- context: sandbox
|
|
33
|
+
name: sandbox-bot
|
|
34
|
+
|
|
35
|
+
plugins:
|
|
36
|
+
- adapter-sandbox
|
|
37
|
+
- http
|
|
38
|
+
- console
|
|
39
|
+
```
|
|
40
|
+
|
|
41
|
+
或使用 TypeScript 配置:
|
|
42
|
+
|
|
43
|
+
```typescript
|
|
44
|
+
import { defineConfig } from 'zhin.js'
|
|
45
|
+
|
|
46
|
+
export default defineConfig({
|
|
24
47
|
bots: [
|
|
25
48
|
{
|
|
26
|
-
context: '
|
|
27
|
-
name: '
|
|
49
|
+
context: 'sandbox',
|
|
50
|
+
name: 'sandbox-bot',
|
|
28
51
|
}
|
|
52
|
+
],
|
|
53
|
+
plugins: [
|
|
54
|
+
'adapter-sandbox',
|
|
55
|
+
'http',
|
|
56
|
+
'console',
|
|
29
57
|
]
|
|
30
|
-
}
|
|
58
|
+
})
|
|
31
59
|
```
|
|
32
60
|
|
|
33
61
|
## 使用方式
|
|
34
62
|
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
$ npm run dev
|
|
39
|
-
> 你好
|
|
40
|
-
[Bot] 收到消息:你好
|
|
41
|
-
[Bot] 回复:Hello World!
|
|
42
|
-
```
|
|
43
|
-
|
|
44
|
-
## 消息处理
|
|
63
|
+
1. 启动机器人:`pnpm dev`
|
|
64
|
+
2. 打开浏览器访问 Web 控制台(默认 `http://localhost:8086`)
|
|
65
|
+
3. 在控制台的 Sandbox 聊天窗口中发送消息进行测试
|
|
45
66
|
|
|
46
|
-
|
|
47
|
-
- 将输入内容转换为标准消息格式
|
|
48
|
-
- 消息发送只会在日志中显示,不会输出到终端
|
|
67
|
+
每个浏览器客户端通过 WebSocket 连接后会自动创建一个 Sandbox Bot 实例,消息通过 JSON 格式在 WebSocket 上传输。
|
|
49
68
|
|
|
50
69
|
## 消息格式
|
|
51
70
|
|
|
52
|
-
|
|
53
|
-
- `id`: 基于时间戳的消息ID
|
|
54
|
-
- `sender.id`: 当前进程PID
|
|
55
|
-
- `sender.name`: 进程标题
|
|
56
|
-
- `channel.id`: 进程PID
|
|
57
|
-
- `channel.type`: 固定为 'private'
|
|
58
|
-
- `content`: 文本消息内容
|
|
59
|
-
- `timestamp`: 消息时间戳
|
|
60
|
-
|
|
61
|
-
## 适用场景
|
|
62
|
-
|
|
63
|
-
- 🧪 插件开发测试
|
|
64
|
-
- 🔍 功能调试
|
|
65
|
-
- 📚 学习和演示
|
|
66
|
-
- 🛠️ 开发环境验证
|
|
67
|
-
|
|
68
|
-
## 依赖项
|
|
71
|
+
Sandbox 使用 JSON 消息格式:
|
|
69
72
|
|
|
70
|
-
|
|
71
|
-
|
|
73
|
+
```json
|
|
74
|
+
{
|
|
75
|
+
"type": "message",
|
|
76
|
+
"id": "msg-001",
|
|
77
|
+
"content": "你好",
|
|
78
|
+
"timestamp": 1700000000000
|
|
79
|
+
}
|
|
80
|
+
```
|
|
72
81
|
|
|
73
|
-
##
|
|
82
|
+
## 适用场景
|
|
74
83
|
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
```
|
|
84
|
+
- 本地开发调试插件逻辑
|
|
85
|
+
- 测试命令和 AI 工具调用
|
|
86
|
+
- 不依赖外部平台的功能验证
|
|
79
87
|
|
|
80
|
-
##
|
|
88
|
+
## 许可证
|
|
81
89
|
|
|
82
|
-
|
|
83
|
-
- 不支持图片、文件等复杂消息类型
|
|
84
|
-
- 消息发送仅在日志中显示
|
|
90
|
+
MIT License
|