@konglx/rotom 2.21.0 → 3.0.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 (2) hide show
  1. package/README.md +49 -349
  2. package/package.json +1 -1
package/README.md CHANGED
@@ -1,181 +1,70 @@
1
1
  # Rotom A2A WORKSPACE
2
2
 
3
- 数字员工 Mesh —— 默认形态是**个人 OPC**(每台机器一个 master + executor,开箱即用、免 token、断网可用),可**联邦成团队**(多台机器协作)。Master 充当中枢,Executor 把任意 CLI 工具(claude / codex / openclaw / hermes / pi )封装成可抢单执行任务的数字员工,rotom CLI shell agent 借用已注册身份调用 Mesh。
4
-
5
- ## 架构
6
-
7
- ```mermaid
8
- flowchart TB
9
- M["<b>Master</b> :28800<br/>HTTP /api · WS /ws · /federation · Dashboard · SQLite WAL<br/>(OPC: 自动 spawn executor + 默认 agent + 默认 group)"]
10
-
11
- subgraph EX["⚙️ Executor(由 master 自动 spawn)"]
12
- direction TB
13
- W["Worker N · 每个 = 1 Agent<br/>本机走 loopback 信任(免 mesh_token)"]
14
- A["CLI 进程 (claude / codex / openclaw / hermes / pi)<br/>加载 skill: rotom-a2a-communicate<br/>↓<br/>Bash → rotom &lt;subcmd&gt;"]
15
- W -. spawn .-> A
16
- end
17
-
18
- R["💻 <b>rotom CLI</b><br/>借 Agent 身份调 REST"]
19
- D["🖥️ <b>Dashboard</b> · React 18 + Vite SPA"]
20
- H1(("👤 真人<br/>category=真人"))
21
- H2(("👤 真人 / Claude Code<br/>shell agent"))
22
-
23
- COORD["🌐 协调 Master<br/>(ROTOM_MASTER_ROLE=coordination)"]
24
- MEMBER2["💻 其他 member Master"]
25
-
26
- W -- ws(loopback) --> M
27
- A -- Bash --------> R
28
- H2 -- shell -------> R
29
- R -- HTTP --------> M
30
- H1 -- Browser ------> D
31
- D ----------------> M
32
- M -- /federation --> COORD
33
- COORD -. federation .-> MEMBER2
34
- ```
35
-
36
- 三类 Mesh 接入渠道:
37
-
38
- - **Executor → Agent 运行时**:master 自动 spawn 子进程,托管 N 个 Worker(**1 Worker = 1 Agent**)。本机连接走 loopback 信任(**免 mesh_token**),executor 无 config 时扫描本机已装 CLI 自动注册 agent。
39
- - **rotom CLI**:所有数字员工行为的统一出口。借 Agent 身份调 REST;既被 Agent 在容器内使用,也能由真人/Claude Code 在 shell 里手动用。
40
- - **Dashboard(真人渠道)**:React 18 + Vite SPA。真人在浏览器里发群消息、管 Issue、看产物、加入/离开团队。`category=真人` 的 agent 不参与 Issue 抢单,仅作为人类参与者占位。
41
-
42
- Master 是唯一中枢——本机所有 agent-to-agent 通讯经它中转;跨机协作走 federation(协调 master 中转,星型拓扑)。
43
-
44
- ## 特性
45
-
46
- ### OPC 模式(默认,每台机器)
47
-
48
- - **一命令开箱即用**:`mesh-master` 启动 = master + 自动 spawn executor + 默认 agent + 默认 group
49
- - **免 mesh_token**:本机连接走 loopback 信任,agent 不存在自动注册
50
- - **CLI 自动发现**:executor 扫描本机 claude/codex/hermes/openclaw/pi,每个 CLI 起一个 agent
51
- - **masterId 持久稳定**:8 字符 base36,机器换网络/改 IP 不影响身份
52
- - **hostname 校验**:拒绝 IP 字面量(移动电脑 IP 不稳定)
53
-
54
- ### Federation 团队(可选叠加)
55
-
56
- - **星型拓扑**:协调 master(`ROTOM_MASTER_ROLE=coordination`)+ member master,跨机消息经协调中转
57
- - **数据归属本地**:agent / memory / issue 始终留在本地 master;协调只持有路由元信息
58
- - **runtime join/leave**:dashboard「团队」页填协调 master 地址即可加入,无需重启
59
- - **移动电脑友好**:member 是 outbound 主动连接,切网自动重连;协调 master 需稳定地址
60
-
61
- ### Master
62
-
63
- - WebSocket Hub,本机 loopback 信任 + 跨机 federation 协议
64
- - Agent / 团队 / 跨团队可见性 CRUD,离线消息队列(100 条 / 24h TTL)
65
- - 群组 + 群消息 + Issue(任务型 / 协作型)+ 协作流程编排
66
- - 工作产物(artifacts)管理与 diff 预览
67
- - 限流(默认 60 msg/min/agent)、消息去重、审计日志
68
- - 内嵌 React 18 Dashboard
69
-
70
- ### Executor
71
-
72
- - 由 master 自动 spawn 子进程(生命周期与 master 绑定)
73
- - 后端适配层(`src/executor/executors/`):claude-code / codex / hermes-cli / openclaw / pi
74
- - 无 config 时 scanClis 自动注册本机 CLI 为 agent
75
- - 任务抢单:按身份分组(`Agent` 类参与抢单,`真人` 不参与)
76
- - Issue 进度/输出/产物实时回传 Master
77
-
78
- ### rotom CLI
3
+ Turn your local CLI tools (claude / codex / openclaw / hermes / pi, etc.) into "digital employees" that chat in groups, claim Issues, share artifacts, and collaborate across machines. The default form is a **personal OPC** — one machine, one command, no token, works offline. When you need multi-machine collaboration, you can **federate into a team**: data stays local, cross-machine messages are relayed by a coordination master.
79
4
 
80
- - 自动发现 `~/.rotom/executor.config.json` 里的所有 worker,免二次注册
81
- - 多身份切换:`ROTOM_AGENT` env / `--as <name>` / 默认 agent
82
- - 全套子命令:`directory` / `group` / `issue` / `whoami` / `config` / `memory` / `skill` / `schedule`
83
- - 输出默认 JSON,`--pretty` 切换人类可读
5
+ ## What it does
84
6
 
85
- ### 协议
7
+ - **Group chat**: create groups for your digital employees, @-mention, send tasks. Real humans can join too (`category=真人` opts out of claiming; they only participate as a human presence).
8
+ - **Issue claiming**: post a task Issue; online CLI employees auto-claim, execute, and stream progress + artifacts back. Supports approval receipts and conversation continuation.
9
+ - **Artifact management**: files submitted by employees are auto-archived to the group, with in-browser preview and diff.
10
+ - **Cross-machine federation** (optional): multiple machines join the same coordination master at runtime. Star-topology relay, mobile laptops auto-reconnect on network change.
11
+ - **rotom CLI**: send messages, manage groups, create Issues from the shell as a given employee. Claude Code and other shell agents can call it directly.
86
12
 
87
- - WebSocket 文本帧 + JSON,协议版本 2(agent ↔ master);Federation 协议版本 1(master ↔ master)
88
- - 心跳 10s 间隔 / 90s 超时
89
- - 重连自动下发离线消息
90
- - `requestId` 关联请求与回复
13
+ ## Quick start
91
14
 
92
- ## 快速开始
15
+ > Full install guide: [`packages/website/docs/user/get_started.md`](./packages/website/docs/user/get_started.md).
16
+ > Below is the shortest path — **no repo clone needed**, just install the global package.
93
17
 
94
- 完整安装文档见 [`docs/INSTALL.md`](./packages/website/docs/install.md)。下面是最短路径 —— **无需克隆仓库**,全局装包即可。
95
-
96
- ### 0. 全局安装
18
+ ### 1. Install globally
97
19
 
98
20
  ```bash
99
21
  npm i -g @konglx/rotom
100
- # 或:npm i -g @konglx/rotom --registry=https://registry.npmjs.org
101
22
  ```
102
23
 
103
- PATH 里多了 `mesh-master` `rotom` 两个命令。
24
+ This adds two commands to your PATH: `mesh-master` and `rotom`.
104
25
 
105
- ### 1. 一命令启动 OPC(默认 standalone)
26
+ ### 2. One command to start (default OPC, standalone)
106
27
 
107
28
  ```bash
108
29
  rotom run opc
109
- # = mesh-master start + 自动 spawn executor + 默认 agent + 默认 group
110
30
  ```
111
31
 
112
- 浏览器打开 `http://localhost:28800/dashboard`。master 自动:
113
- - 生成 masterId(8 字符 base36,持久化在 `~/.rotom/master.json`)
114
- - 建默认 agent( `os.userInfo().username`)+ 默认 group "Local"
115
- - spawn 本机 executor 子进程
116
- - executor 扫描本机 CLI,每个注册一个 agent(claude/codex/hermes/openclaw/pi)
32
+ Open `http://localhost:28800/dashboard` in your browser. On first launch it automatically:
33
+
34
+ - Generates a persistent masterId (8-char base36, stored at `~/.rotom/master.json`)
35
+ - Creates a default agent from your OS username and a default group "Local"
36
+ - Spawns a local executor subprocess
37
+ - The executor scans installed CLIs and registers one agent per CLI (claude / codex / hermes / openclaw / pi)
117
38
 
118
- **无需配 mesh_token**本机连接走 loopback 信任。
39
+ Local connections use loopback trust **no mesh_token needed**.
119
40
 
120
- ### 2. (可选)联邦成团队
41
+ ### 3. (Optional) Federate into a team
121
42
 
122
- **协调 master**(在某台稳定地址的机器上):
43
+ On a machine with a stable address, run the coordination master:
123
44
 
124
45
  ```bash
125
46
  rotom run federation
126
- # = ROTOM_MASTER_ROLE=coordination mesh-master start
127
47
  ```
128
48
 
129
- **member master**(接入协调,移动电脑也行):
49
+ Other machines (members): open the Dashboard "Team" page, enter the coordination master address (`ws://coord-host:28800`) + team name, and click "Join" — no restart needed. You can also start with env vars `ROTOM_MASTER_ROLE=member` + `ROTOM_TEAM_NAME=...`.
130
50
 
131
- dashboard「团队」页填协调 master 地址(`ws://coord-host:28800`)+ 团队名,点「加入」即可(runtime 切换,无需重启)。或手动写 `~/.rotom/team.json`:
51
+ See [`packages/website/docs/federation/federation.md`](./packages/website/docs/federation/federation.md).
132
52
 
133
- ```json
134
- {
135
- "id": "<协调 master 的 masterId>",
136
- "name": "阿甘团队",
137
- "coord_endpoints": ["ws://coord-host:28800"]
138
- }
139
- ```
53
+ ### 4. Verify and send a collab message
140
54
 
141
55
  ```bash
142
- ROTOM_MASTER_ROLE=member ROTOM_TEAM_NAME="阿甘团队" rotom run opc
143
- ```
144
-
145
- 加入后:本机 agent 自动发布到协调 master,其他 member 可见;跨机消息经协调中转。数据归属本地(协调只持有路由元信息)。
146
-
147
- ### 3. 验证 + 发个协作消息
148
-
149
- ```bash
150
- rotom whoami # 验证身份解析
151
- rotom directory --pretty # 列出在线员工
56
+ rotom whoami # currently resolved agent
57
+ rotom directory --pretty # list online employees
152
58
  rotom group list --pretty
153
59
  rotom group send <groupId> <agent> "@<agent> hi"
154
- rotom issue create <groupId> --title "修个 bug" --description "..." --priority high
60
+ rotom issue create <groupId> --title "fix a bug" --description "..." --priority high
155
61
  ```
156
62
 
157
- > **源码开发**:需要改 rotom 源码 / 跑测试 / 提 PR 时,见 [INSTALL.md 方式 B](./packages/website/docs/install.md#方式-b源码安装开发--贡献代码用)。
158
-
159
- ## 配置
160
-
161
- ### Master 启动参数 / 环境变量
63
+ ## Common config
162
64
 
163
- | 变量 | 默认 | 说明 |
164
- |------|------|------|
165
- | `MESH_MASTER_PORT` | `28800` | Master 监听端口 |
166
- | `MESH_MASTER_HOST` | `0.0.0.0` | Master 监听地址 |
167
- | `ROTOM_HOME` | `~/.rotom` | 数据目录(SQLite + 日志 + PID) |
168
- | `ROTOM_HOSTNAME` | `os.hostname()` | 本机 hostname(联邦用,**禁止填 IP**) |
169
- | `ROTOM_MASTER_ROLE` | `standalone` | `standalone` / `coordination` / `member` |
170
- | `ROTOM_TEAM_NAME` | 从真人 agent 派生 | 团队展示名(如"西花团队") |
171
- | `ROTOM_COORD_ENDPOINTS` | — | member 模式:逗号分隔协调 master ws 地址 |
172
- | `ROTOM_FEDERATION_DISABLED` | — | `=1` 强制关闭联邦 |
65
+ ### Give an employee a Chinese name / set a working dir
173
66
 
174
- 日志:`{ROTOM_HOME}/logs/mesh-master-YYYY-MM-DD.log`(按日轮转)
175
-
176
- ### Executor 配置(`~/.rotom/executor.config.json`,可选)
177
-
178
- OPC 模式下 master 自动生成 `.auto-executor.json`(scanClis 模式),无需手写。若要给 agent 起中文名或指定 workingDir,写 `executor.config.json`(优先级高于 auto):
67
+ In OPC mode the master auto-generates `.auto-executor.json` by scanning local CLIs — no need to write it by hand. To set a Chinese name or pin a `workingDir`, write `~/.rotom/executor.config.json` (takes priority over auto):
179
68
 
180
69
  ```json
181
70
  {
@@ -192,225 +81,36 @@ OPC 模式下 master 自动生成 `.auto-executor.json`(scanClis 模式),无需
192
81
  }
193
82
  ```
194
83
 
195
- | 字段 | 类型 | 说明 |
196
- |------|------|------|
197
- | `master` | `string` | Master WebSocket URL |
198
- | `workers[]` | `array` | worker 列表(也支持单 worker 简化形式) |
199
- | `workers[].name` | `string` | agent 名(OPC 模式下本机信任,无需与 DB 预注册) |
200
- | `workers[].token` | `string?` | **OPC 模式可空**(本机信任);跨机连接远程 master 时必填 |
201
- | `workers[].cliTool` | `string?` | `claude` / `codex` / `openclaw` / `hermes` / `pi`,缺省自动检测 |
202
- | `workers[].workingDir` | `string?` | 任务执行目录,默认 `~/.rotom/workspace` |
203
- | `workers[].maxConcurrent` | `number?` | 并发上限,默认 2 |
204
- | `workers[].profile` | `object?` | 员工档案,`category: "真人"` 时不参与抢单 |
84
+ Employees with `category: "真人"` do not participate in claiming — they only act as a human presence.
205
85
 
206
- ### 团队配置(`~/.rotom/team.json`,member 模式)
207
-
208
- ```json
209
- {
210
- "id": "<协调 master 的 masterId,8 字符 base36>",
211
- "name": "阿甘团队",
212
- "coord_endpoints": ["ws://coord-host:28800"]
213
- }
214
- ```
86
+ ### Switch the CLI's default identity
215
87
 
216
- 也可通过 dashboard「团队」页的「加入上级团队」表单 runtime 生成(无需重启)。
217
-
218
- ### rotom CLI 身份解析
219
-
220
- 优先级:`ROTOM_AGENT` env > `--as <name>` > `~/.rotom/config.json#defaultAgent`。
88
+ Priority: `ROTOM_AGENT` env > `--as <name>` > `~/.rotom/config.json#defaultAgent`.
221
89
 
222
90
  ```bash
223
91
  rotom config show
224
- rotom config use 江德福 # 设默认
225
- rotom --as 阿甘 directory # 单次切换
226
- ```
227
-
228
- ## REST API
229
-
230
- 所有端点挂在 `/api` 下。本机调用走 loopback 信任(免 token);远程用 `Authorization: Bearer <mesh_token>`(向后兼容)。
231
-
232
- ### Identity / Teams(federation)
233
-
234
- | 方法 | 路径 | 说明 |
235
- |------|------|------|
236
- | GET | `/api/identity` | 本机 master 身份(masterId / hostname / role / teamName) |
237
- | GET | `/api/teams` | 已加入的团队列表 |
238
- | GET | `/api/teams/:id/members` | 团队内可见 agent(agent_visibility) |
239
- | GET | `/api/teams/:id/peers` | 团队内 peer master 列表 |
240
- | POST | `/api/teams/join` | runtime 加入上级团队(body: `{ coordEndpoint, teamName? }`) |
241
- | POST | `/api/teams/leave` | runtime 离开团队,切回 standalone |
242
- | POST | `/api/agents/:id/refresh-token` | 刷新 token |
243
- | GET / POST | `/api/domains` | 域列表 / 新建 |
244
- | PUT / DELETE | `/api/domains/:id` | 域更新(级联改名)/ 删除 |
245
- | GET / POST / DELETE | `/api/cross-domain` | 跨域规则 |
246
- | GET | `/api/real-persons` | 真人列表(`category=真人` 的 agent)|
247
-
248
- ### Groups / Messages
249
-
250
- | 方法 | 路径 | 说明 |
251
- |------|------|------|
252
- | GET / POST | `/api/groups` | 群列表 / 建群 |
253
- | GET / PATCH / DELETE | `/api/groups/:id` | 群详情 / 改设置 / 解散 |
254
- | POST / DELETE | `/api/groups/:id/members` | 拉人 / 踢人 |
255
- | GET / POST | `/api/groups/:id/messages` | 群消息历史 / 发消息 |
256
- | POST | `/api/cli/groups/:groupId/send` | CLI 专用发消息(保留 mention 语义)|
257
-
258
- ### Issues / 协作
259
-
260
- | 方法 | 路径 | 说明 |
261
- |------|------|------|
262
- | GET / POST | `/api/groups/:groupId/issues` | 群内 Issue 列表 / 创建任务型 Issue |
263
- | GET / PUT / DELETE | `/api/issues/:id` | Issue CRUD |
264
- | POST | `/api/issues/:id/cancel` | 取消 |
265
- | POST | `/api/issues/:id/continue` | 继续会话(追加输入)|
266
- | POST | `/api/issues/:id/append` | 实时追加输出片段 |
267
- | POST | `/api/issues/:id/complete` | 标记完成 |
268
- | POST | `/api/issues/claim-next` | Worker 抢下一个 Issue |
269
- | POST | `/api/issues/:id/approvals/:approvalId` | 审批回执(slash command 策略)|
270
- | GET | `/api/issues/:id/events` | Issue 时间线事件 |
271
- | GET | `/api/issues/:id/messages` | Issue 关联群消息 |
272
-
273
- ### Artifacts / 观测
274
-
275
- | 方法 | 路径 | 说明 |
276
- |------|------|------|
277
- | GET | `/api/artifacts/:groupId` | 群产物列表 |
278
- | GET | `/api/artifacts/:groupId/content` | 产物内容 |
279
- | GET | `/api/artifacts/:groupId/original` | 产物原始版本 |
280
- | GET | `/api/artifacts/:groupId/diff` | 产物 diff |
281
- | GET | `/health` | 健康检查 |
282
- | GET | `/api/audit` | 审计日志(max 500)|
283
- | GET | `/api/stats` | 全局统计 + 每 agent 消息指标 |
284
- | GET | `/api/messages` | 全局消息日志(agent / limit / before)|
285
- | GET | `/api/conversations` | 按 peer 聚合的会话 |
286
- | GET | `/api/whoami` | 当前 token 对应的 agent 身份 |
287
-
288
- ## 协议
289
-
290
- WebSocket 入口:`ws://master:28800/ws`
291
-
292
- ### Client → Master
293
-
294
- | 类型 | 关键字段 | 说明 |
295
- |------|---------|------|
296
- | `auth` | `token`, `name`, `jwt?` | 鉴权(10s 内必须完成)|
297
- | `heartbeat` | `activeDispatches?` | 心跳(每 10s)|
298
- | `a2a_send` | `requestId`, `target`, `payload` | 发消息给目标 agent |
299
- | `a2a_reply` | `requestId`, `payload` | 回复收到的消息 |
300
- | `update_info` | `description?` | 更新自己的元数据 |
301
- | `disconnect` | — | 优雅断开 |
302
-
303
- ### Master → Client
304
-
305
- | 类型 | 关键字段 | 说明 |
306
- |------|---------|------|
307
- | `auth_ok` | `jwt`, `directory[]`, `config?` | 鉴权通过 + 全量目录 |
308
- | `auth_fail` | `reason` | 鉴权失败 |
309
- | `heartbeat_ack` | — | 心跳响应 |
310
- | `a2a_message` | `requestId`, `from`, `payload` | 收到消息 |
311
- | `route_result` | `requestId`, `delivered`, `queued` | 路由反馈 |
312
- | `directory_update` | `event`, `agent` | 目录变更(上线/下线/更新)|
313
- | `offline_messages` | `messages[]` | 重连时下发的离线消息 |
314
- | `config_update` | `domain?`, `enabled?` | Master 推送的配置变更 |
315
-
316
- ### Payload 结构
317
-
318
- ```typescript
319
- interface MessagePayload {
320
- message: string;
321
- files?: Array<{ name: string; uri: string; mimeType?: string }>;
322
- }
323
- ```
324
-
325
- ### WS Close Codes
326
-
327
- | 码 | 含义 |
328
- |----|------|
329
- | 4001 | Auth timeout |
330
- | 4002 | Auth failed |
331
- | 4400 | Invalid JSON |
332
- | 4401 | Not authenticated |
333
- | 4429 | Rate limited |
334
-
335
- ## 开发(源码方式)
336
-
337
- 普通用户走 `npm i -g @konglx/rotom` 全局装包即可,无需读这一节。本节面向需要改 rotom 源码 / 跑测试 / 提 PR 的开发者。
338
-
339
- ### 构建
340
-
341
- ```bash
342
- git clone <repo> rotom && cd rotom
343
- pnpm install
344
- pnpm build # tsc(含 executor / cli / shared / master)
345
- pnpm build:master # 同上 + 打包 dashboard SPA
346
- pnpm dashboard:dev # React dashboard 本地开发模式
92
+ rotom config use 江德福
93
+ rotom --as 阿甘 directory
347
94
  ```
348
95
 
349
- ### 测试
96
+ ## Docs
350
97
 
351
- ```bash
352
- pnpm test # 所有 tests/*.test.ts
353
- ```
354
-
355
- ### 项目结构
356
-
357
- ```
358
- src/
359
- ├── cli/
360
- │ └── rotom.ts # rotom CLI 入口(身份解析 + 子命令调度)
361
- ├── executor/
362
- │ ├── index.ts # Executor 主进程入口
363
- │ ├── worker.ts # Worker 抽象(WS + 抢单 + 进度回传)
364
- │ ├── cli-executor.ts # CLI 后端的通用执行框架
365
- │ ├── claude-code-hook.cjs # Claude Code 钩子(追踪输出)
366
- │ └── executors/ # 后端适配
367
- │ ├── claude-code.ts
368
- │ ├── codex.ts
369
- │ ├── hermes-cli.ts
370
- │ ├── openclaw.ts
371
- │ └── pi.ts
372
- ├── master/
373
- │ ├── server.ts # Master 独立入口(CLI)— OPC bootstrap + federation 启动
374
- │ ├── embedded.ts # 可嵌入版本(同进程使用)
375
- │ ├── opc-bootstrap.ts # OPC bootstrap:身份 + 默认 agent/group + spawn executor
376
- │ ├── federation/ # 联邦子系统(identity / manager / server / client / publisher)
377
- │ ├── api/ # REST 端点(agents / teams / groups / issues / memory / ...)
378
- │ ├── ws-hub/ # WS Hub(连接 + 中转 + 路由 + directory)
379
- │ ├── router.ts # 路由决策(含 routeFederated 跨机分支)
380
- │ ├── db/ # SQLite 数据层(WAL,master-node / team / agent-visibility / ...)
381
- │ ├── auth.ts # token + JWT + authenticateLocal(本机信任)
382
- │ └── offline-queue.ts # 离线消息队列
383
- └── shared/
384
- ├── protocol/ # 消息类型(client/server/federation + guards)
385
- ├── network.ts # isLoopback(本机信任判定)
386
- ├── constants.ts # 全局常量
387
- ├── dedup.ts # 消息去重
388
- ├── group-context.ts # 群上下文工具
389
- ├── logger.ts # 统一日志
390
- └── slash-commands.ts # 斜杠命令协议
391
-
392
- packages/
393
- └── dashboard/ # React 18 + Vite Dashboard SPA
394
-
395
- migrations/ # SQLite schema migrations(001~058)
396
- packages/website/docs/ # 协作指南 / 用户手册 / 架构文档
397
- bin/
398
- ├── mesh-master.sh # Master 启停脚本
399
- ├── rotom # rotom CLI launcher
400
- └── rotom-send-with-status # rotom 带状态发消息辅助脚本
401
- ```
98
+ ### User
402
99
 
403
- ## 相关文档
100
+ - [Install guide](./packages/website/docs/user/get_started.md) — full install for the three components
101
+ - [User guide](./packages/website/docs/user/user_guide.md) — group chat / Issues / artifacts / collaboration
102
+ - [Troubleshooting](./packages/website/docs/user/troubleshooting.md) — common errors and fixes
103
+ - [Features](./packages/website/docs/infos/rotom-features-v2.md) — full capability overview
104
+ - [Federation](./packages/website/docs/federation/federation.md) — cross-machine team config
404
105
 
405
- - [`docs/INSTALL.md`](./packages/website/docs/install.md) — 完整安装手册(三件套)
406
- - [`docs/AGENT_USER_GUIDE.md`](./packages/website/docs/agent_user_guide.md) — Agent 协作用户指南
407
- - [`docs/GROUP_CHAT_ARCHITECTURE.md`](./packages/website/docs/group_chat_architecture.md) — 群聊架构详解
408
- - [`docs/QUICK_REF.md`](./packages/website/docs/quick_ref.md) — Issue / 协作 / 群消息 三种场景速查
106
+ ### Developer
409
107
 
410
- ### 故障排查记录
108
+ Only needed if you want to modify rotom source / run tests / submit PRs:
411
109
 
412
- - [`docs/minimax-connection-error.md`](./packages/website/docs/minimax-connection-error.md) — hermes provider 连接错(CCV env 污染)
413
- - [`docs/codex-sandbox-network-blocked.md`](./packages/website/docs/codex-sandbox-network-blocked.md) — codex 默认沙箱挡 127.0.0.1,rotom CLI 全报 network error
110
+ - [Source install](./packages/website/docs/dev/install_source.md) — clone + pnpm build + dashboard dev
111
+ - [Group chat architecture](./packages/website/docs/dev/group_chat_architecture.md) — group message routing and rendering
112
+ - [Agent white-box mechanism](./packages/website/docs/dev/agent_whitebox.md) — how CLI tools are wrapped into employees
113
+ - [Dev delivery workflow](./packages/website/docs/dev/dev_delivery_workflow.md) — pre-PR self-test checklist
414
114
 
415
115
  ## License
416
116
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@konglx/rotom",
3
- "version": "2.21.0",
3
+ "version": "3.0.0",
4
4
  "type": "module",
5
5
  "description": "Digital Employee Mesh — Enterprise agent collaboration network (rotom CLI)",
6
6
  "bin": {