@sleep2agi/agent-network 0.0.1 → 0.0.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.
Files changed (3) hide show
  1. package/README.md +83 -79
  2. package/dist/bin/cli.js +18 -18
  3. package/package.json +1 -1
package/README.md CHANGED
@@ -1,55 +1,85 @@
1
- # @sleep2agi/agent-network (anet)
1
+ # @sleep2agi/agent-network
2
2
 
3
- AI Agent 通信网络 — Server + Client + Setup,一个包搞定。
3
+ AI Agent 通信网络 — AI Agent 互相发消息、派任务、协作。
4
+
5
+ Server + Client + CLI,一个包搞定。
4
6
 
5
7
  ## 安装
6
8
 
7
9
  ```bash
8
- npm install @sleep2agi/agent-network
9
- # 或全局安装 CLI
10
+ # 全局安装(提供 anet 命令)
10
11
  npm install -g @sleep2agi/agent-network
12
+
13
+ # 或作为项目依赖(使用 SDK)
14
+ npm install @sleep2agi/agent-network
11
15
  ```
12
16
 
13
- ## CLI 命令
17
+ ## 快速开始
14
18
 
15
- ### 启动 Server
19
+ ### 1. 启动 Server(中心节点,需要 Bun)
16
20
 
17
21
  ```bash
18
- anet server --port 9200 --token my-secret
22
+ # 从源码启动(推荐)
23
+ git clone https://github.com/sleep2agi/agent-comm-hub.git
24
+ cd agent-comm-hub/server && bun install && bun run start
25
+ # CommHub 运行在 http://localhost:9200
19
26
  ```
20
27
 
21
- | 参数 | 说明 | 默认值 |
22
- |------|------|--------|
23
- | `--port, -p` | 监听端口 | 9200 |
24
- | `--token, -t` | Auth token | 无(开放模式) |
25
- | `--db` | SQLite 数据库路径 | ~/.commhub/commhub.db |
26
- | `--cors` | CORS origins(逗号分隔) | localhost |
28
+ ### 2. 配置 Agent 加入网络
27
29
 
28
- ### 配置新 Agent
30
+ ```bash
31
+ cd /path/to/your/project
32
+ anet setup --hub http://YOUR_COMMHUB_IP:9200 --alias 我的Agent
33
+ ```
34
+
35
+ 自动完成:
36
+ - 测试连接
37
+ - 写入全局配置 `~/.anet/config.json`(hub URL)
38
+ - 写入项目配置 `.anet/config.json`(alias)
39
+ - 输出对应启动命令
40
+
41
+ ### 3. 运行 Agent
29
42
 
30
43
  ```bash
31
- anet setup --hub http://YOUR_IP:9200 --alias 开发马 --type claude-code
44
+ # 自动从 .anet/config.json 读取配置
45
+ anet run
46
+
47
+ # 或显式指定
48
+ anet run --alias 我的Agent --hub http://YOUR_COMMHUB_IP:9200
32
49
  ```
33
50
 
34
- | 参数 | 说明 |
35
- |------|------|
36
- | `--hub` | CommHub Server URL |
37
- | `--alias` | Agent 别名 |
38
- | `--type` | claude-code / sdk / opencode |
51
+ Agent 启动后:自动注册 SSE 长连接监听 → 收到任务自动回复 → 3 分钟心跳。
39
52
 
40
- 自动完成:测试连接 创建 Channel 目录 → 写 .env → 输出启动命令。
53
+ ## CLI 命令
54
+
55
+ ```
56
+ anet setup 配置 Agent 加入网络
57
+ anet run 运行独立 Agent(SSE 实时监听)
58
+ anet server 启动 CommHub Server(需要 Bun + @sleep2agi/commhub-server)
59
+ anet --help 帮助
60
+ ```
41
61
 
42
- ### 运行独立 Agent
62
+ ### anet setup
43
63
 
44
64
  ```bash
45
- anet run --hub http://YOUR_IP:9200 --alias SDK马
65
+ anet setup --hub <url> --alias <name> [--type claude-code|sdk]
46
66
  ```
47
67
 
48
- SSE 长连接监听任务,收到后自动回复。可配 `--handler script.ts` 自定义处理逻辑。
68
+ | 参数 | 说明 | 默认值 |
69
+ |------|------|--------|
70
+ | `--hub` | CommHub Server URL | 从 ~/.anet/config.json 读 |
71
+ | `--alias` | Agent 别名 | 必填 |
72
+ | `--type` | claude-code 或 sdk | claude-code |
73
+
74
+ ### anet run
49
75
 
50
- ## 代码引用
76
+ ```bash
77
+ anet run [--alias <name>] [--hub <url>] [--handler <script>]
78
+ ```
51
79
 
52
- ### Client(加入网络)
80
+ 参数自动从 `.anet/config.json` 读取,setup 过的项目直接 `anet run` 即可。
81
+
82
+ ## SDK 代码引用
53
83
 
54
84
  ```typescript
55
85
  import { CommHub } from '@sleep2agi/agent-network';
@@ -60,8 +90,8 @@ const hub = new CommHub({
60
90
  });
61
91
 
62
92
  hub.on('task', async (msg) => {
63
- console.log(`任务: ${msg.content}`);
64
- await hub.send(msg.from_session, '完成!');
93
+ console.log(`来自 ${msg.from_session}: ${msg.content}`);
94
+ await hub.send(msg.from_session, '任务完成!');
65
95
  });
66
96
  ```
67
97
 
@@ -72,80 +102,54 @@ const hub = new CommHub({ url: 'http://YOUR_COMMHUB_IP:9200', alias: '我的Agen
72
102
  hub.on('task', (msg) => console.log(msg));
73
103
  ```
74
104
 
75
- ### Client API
105
+ ### SDK API
76
106
 
77
107
  | 方法 | 说明 |
78
108
  |------|------|
79
109
  | `hub.send(alias, content, priority?)` | 发任务 |
80
110
  | `hub.message(alias, content)` | 发消息(无生命周期) |
81
- | `hub.reply(taskId, result, status?)` | 回复任务 |
111
+ | `hub.reply(taskId, text, status?)` | 回复任务 |
82
112
  | `hub.status(state, extra?)` | 更新状态 |
83
113
  | `hub.broadcast(content, filter?)` | 广播 |
84
- | `hub.getAllStatus()` | 查看所有 session |
85
114
  | `hub.disconnect()` | 断开 |
86
115
 
87
- ### Events
116
+ ### 事件
88
117
 
89
118
  | 事件 | 说明 |
90
119
  |------|------|
91
- | `task` | 收到任务/消息 |
120
+ | `task` | 收到任务(已自动 ACK) |
92
121
  | `connected` | SSE 连接成功 |
93
- | `disconnected` | SSE 断开 |
122
+ | `disconnected` | SSE 断开(自动重连) |
94
123
  | `error` | 错误 |
95
124
 
96
- ### Server(编程启动)
97
-
98
- ```typescript
99
- import { startServer } from '@sleep2agi/agent-network/server';
100
- await startServer({ port: 9200, token: 'my-secret' });
101
- ```
125
+ ## 配置文件
102
126
 
103
- ## Claude Agent SDK 结合
127
+ 优先级:环境变量 > 命令行参数 > 项目 `.anet/config.json` > 全局 `~/.anet/config.json`
104
128
 
105
- ```typescript
106
- import { CommHub } from '@sleep2agi/agent-network';
107
- import { query } from '@anthropic-ai/claude-agent-sdk';
108
-
109
- const hub = new CommHub({ url: 'http://YOUR_COMMHUB_IP:9200', alias: 'AI助手' });
129
+ **全局** `~/.anet/config.json`:
130
+ ```json
131
+ { "hub": "http://YOUR_COMMHUB_IP:9200", "token": "your-token" }
132
+ ```
110
133
 
111
- hub.on('task', async (msg) => {
112
- await hub.status('working', { task: msg.content.slice(0, 200) });
113
-
114
- let result = '';
115
- for await (const event of query({
116
- prompt: msg.content,
117
- options: { allowedTools: ['Read', 'Edit', 'Bash'] },
118
- })) {
119
- if (event.type === 'result' && event.subtype === 'success') {
120
- result = event.result;
121
- }
122
- }
123
-
124
- await hub.send(msg.from_session, result);
125
- await hub.status('idle');
126
- });
134
+ **项目** `.anet/config.json`:
135
+ ```json
136
+ { "alias": "我的Agent", "type": "claude-code" }
127
137
  ```
128
138
 
129
- ## 架构
139
+ ## 运行时要求
130
140
 
131
- ```
132
- anet server (:9200)
133
-
134
- ┌───────────────┼───────────────┐
135
- │ │ │
136
- Channel SSE SSE Client REST API
137
- │ │ │
138
- Claude Code SDK Agent 外部系统
139
- (推荐) (编程) (curl)
140
- ```
141
+ | 组件 | 运行时 |
142
+ |------|--------|
143
+ | anet setup / run / SDK | Node.js 18+ 或 Bun |
144
+ | anet server | Bun 1.2+(bun:sqlite) |
141
145
 
142
- ## 内部原理
146
+ ## 相关包
143
147
 
144
- - **SSE 长连接**:自动重连(指数退避 3s→60s)
145
- - **心跳**:每 3 分钟 report_status 防 offline
146
- - **MCP 协议**:Streamable HTTP,兼容 Claude Code / Codex / OpenCode
147
- - **SQLite WAL**:消息持久化,30+ 并发无压力
148
- - **零依赖**(client 端):只用 Node.js 内置模块
148
+ | | 说明 |
149
+ |---|------|
150
+ | @sleep2agi/agent-network | 合并包(推荐) |
151
+ | @sleep2agi/commhub-sdk | 仅客户端 SDK |
152
+ | @sleep2agi/commhub-server | 仅服务端 |
149
153
 
150
154
  ## License
151
155