pi-courier 0.1.22 → 0.1.24

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 (42) hide show
  1. package/README.md +28 -1
  2. package/README.zh-CN.md +32 -0
  3. package/deploy/docker/Dockerfile +1 -1
  4. package/dist/auth/challenge-auth.d.ts +6 -0
  5. package/dist/auth/challenge-auth.d.ts.map +1 -1
  6. package/dist/auth/challenge-auth.js +35 -14
  7. package/dist/auth/challenge-auth.js.map +1 -1
  8. package/dist/rpc/command-map.d.ts +15 -0
  9. package/dist/rpc/command-map.d.ts.map +1 -1
  10. package/dist/rpc/command-map.js +238 -0
  11. package/dist/rpc/command-map.js.map +1 -1
  12. package/dist/rpc/message-router.d.ts +6 -2
  13. package/dist/rpc/message-router.d.ts.map +1 -1
  14. package/dist/rpc/message-router.js +121 -20
  15. package/dist/rpc/message-router.js.map +1 -1
  16. package/dist/rpc/pi-rpc.d.ts +2 -0
  17. package/dist/rpc/pi-rpc.d.ts.map +1 -1
  18. package/dist/rpc/pi-rpc.js +11 -0
  19. package/dist/rpc/pi-rpc.js.map +1 -1
  20. package/dist/rpc/project-manager.d.ts +56 -0
  21. package/dist/rpc/project-manager.d.ts.map +1 -0
  22. package/dist/rpc/project-manager.js +136 -0
  23. package/dist/rpc/project-manager.js.map +1 -0
  24. package/dist/setup.d.ts.map +1 -1
  25. package/dist/setup.js +29 -0
  26. package/dist/setup.js.map +1 -1
  27. package/dist/standalone.d.ts.map +1 -1
  28. package/dist/standalone.js +13 -0
  29. package/dist/standalone.js.map +1 -1
  30. package/dist/transports/interface.d.ts +8 -0
  31. package/dist/transports/interface.d.ts.map +1 -1
  32. package/dist/transports/manager.d.ts +8 -0
  33. package/dist/transports/manager.d.ts.map +1 -1
  34. package/dist/transports/manager.js +27 -0
  35. package/dist/transports/manager.js.map +1 -1
  36. package/dist/transports/matrix.d.ts +8 -0
  37. package/dist/transports/matrix.d.ts.map +1 -1
  38. package/dist/transports/matrix.js +48 -1
  39. package/dist/transports/matrix.js.map +1 -1
  40. package/dist/types.d.ts +14 -0
  41. package/dist/types.d.ts.map +1 -1
  42. package/package.json +1 -1
package/README.md CHANGED
@@ -167,7 +167,34 @@ You are now a trusted user (the first trusted user also becomes admin). Any user
167
167
 
168
168
  **Anything else** starting with `/` passes through to pi directly — extension commands, `/skill:name`, prompt templates. Plain text is a normal conversation turn.
169
169
 
170
- **Group chats**: enable the room first with `/enable <roomId> all` (in a DM to the bot).
170
+ **Group chats**: rooms with **more than 2 members** are silent by default — the bot posts a one-time hint when invited, then answers nothing until enabled. **Enable without the room ID**: send `/enable <all|mentions|trusted-only>` right in the group (trusted users only, defaults to `trusted-only`), or in a DM with `/enable <roomId> <mode>` (or add it during `setup`). Two-person rooms (you + the bot) answer automatically. Room IDs look like `!xxx:server`.
171
+
172
+ ### Multi-project rooms (project isolation)
173
+
174
+ One bot account can serve multiple projects — each project gets its own private room (named after the project), its own pi process, working directory and conversation history.
175
+
176
+ - **DM = management room**: the first DM to the bot is auto-renamed to "项目管理" and a usage guide is sent. It serves the default project (`workdir`, usually `~/Projects`).
177
+ - **Create a project** (in the DM):
178
+ ```
179
+ /pmctl new <name> <path>
180
+ ```
181
+ **Paths can be relative** (resolved against the project root, i.e. the setup-time `workdir` — `myapp` → `~/Projects/myapp`) or absolute. The bot creates a private room named after the project, invites the admin, writes the mapping to `pi-courier.json` (`projects`), and confirms. Talk to the project in its own room — context and bash working directory are fully isolated.
182
+ - **Project management commands** (`/pmctl`, **management room only**; project rooms are for conversation):
183
+ ```
184
+ /pmctl list List projects
185
+ /pmctl show <name|roomId> Project details
186
+ /pmctl rm <name|roomId> Remove a project (stops process, un-maps; room kept)
187
+ /pmctl mv <name> <newPath> Move the working directory (session restarts)
188
+ /pmctl rename <name> <new> Rename (also renames the room)
189
+ ```
190
+ Legacy aliases still work: `/newproject`, `/projects`.
191
+ - Manual setup is also possible: edit `pi-courier.json` and add a `projects` map:
192
+ ```json
193
+ "projects": {
194
+ "!roomid:server": { "workdir": "/home/you/Projects/myapp" }
195
+ }
196
+ ```
197
+ - Each project room lazily starts its own pi process (~300MB RAM each) with `--session-dir <workdir>/.pi-session`, so sessions survive restarts per project.
171
198
 
172
199
  ### Managing the service
173
200
 
package/README.zh-CN.md CHANGED
@@ -91,6 +91,7 @@ Matrix homeserver URL (如 https://matrix.example.com): ← 输入,如 https:/
91
91
  [方式 2] 粘贴 access token (syt_...): ← 已有 token
92
92
  ✅ 登录成功,账号: @test3:matrix.example.com
93
93
  信任用户(管理员)MXID [默认 @test3:matrix.example.com]: ← 直接回车 = 只有 bot 自己可信;建议填你的账号,如 @barry:matrix.example.com
94
+ 信任房间 ID(可选,回车跳过;多个逗号分隔,如 !abc:server 或 !abc:server:mentions): ← 群聊用;默认模式 trusted-only;可跳过,之后用 /enable 添加
94
95
  启用 E2EE 加密? [y/N]: ← y/n(非加密房间选 y 也没问题)
95
96
  pi 工作目录 [默认 /home/你/Projects]: ← 回车或输入其他目录
96
97
 
@@ -99,8 +100,39 @@ pi 工作目录 [默认 /home/你/Projects]: ← 回车或输
99
100
  信任用户: @barry:...
100
101
  E2EE: 开启
101
102
  工作目录: /home/你/Projects
103
+ 设备 ID: PICOURIERXXXXXXXX(固定,重跑 setup 复用)
104
+ 信任房间: !abc:server (trusted-only) 或无(群聊默认不回应)
102
105
  ```
103
106
 
107
+ > **群聊**:**成员数 >2 的房间默认静默** —— bot 被拉进群时会发一条一次性提示,之后不回应任何消息,直到启用。**启用方式(无需房间 ID)**:直接在群里发 `/enable <all|mentions|trusted-only>`(信任用户,默认 trusted-only);或在 DM 里发 `/enable <房间ID> <模式>`。**2 人房间(你 + bot)自动回应**。房间 ID 形如 `!xxx:服务器`(日志可见)。
108
+
109
+ ### 多项目房间(项目隔离)
110
+
111
+ 同一个 bot 账号可以服务多个项目 —— 每个项目一个私有房间(房间名=项目名),有独立的 pi 进程、工作目录和会话历史。
112
+
113
+ - **DM = 管理房间**:首次私聊 bot 时,房间自动改名为"项目管理"并发送使用说明。DM 服务默认项目(`workdir`,通常 `~/Projects`)。
114
+ - **创建项目**(在 DM 里发):
115
+ ```
116
+ /pmctl new <项目名> <路径>
117
+ ```
118
+ **路径可用相对路径**(基于工程根,即 setup 时的 workdir,如 `myapp` → `~/Projects/myapp`)或绝对路径。bot 创建以项目命名的私有房间、邀请管理员进入、把映射写入 `pi-courier.json`(`projects` 字段)并回复确认。项目对话在新房间进行 —— 上下文和 bash 工作目录完全隔离。
119
+ - **项目管理命令**(`/pmctl`,**仅在管理房间可用**;项目房间只能对话):
120
+ ```
121
+ /pmctl list 项目列表
122
+ /pmctl show <名称|房间ID> 项目详情
123
+ /pmctl rm <名称|房间ID> 删除项目(停进程+解除映射,房间保留)
124
+ /pmctl mv <名称> <新路径> 迁移工作目录(会话重新开始)
125
+ /pmctl rename <名称> <新名> 重命名(同步改房间名)
126
+ ```
127
+ 旧命令别名仍可用:`/newproject`、`/projects`。
128
+ - **手动配置**也可以:直接编辑 `pi-courier.json` 加 `projects` 映射:
129
+ ```json
130
+ "projects": {
131
+ "!房间ID:服务器": { "workdir": "/home/你/Projects/myapp" }
132
+ }
133
+ ```
134
+ - 每个项目房间按需 lazy 启动自己的 pi 进程(约 300MB/项目),session 存于 `<workdir>/.pi-session`,重启后各项目会话独立恢复。
135
+
104
136
  向导会验证 token 并写入 `~/.pi/pi-courier.json`。不想用向导的话,手动创建这个文件也行 —— 格式见[常见问题](#4-常见问题)。
105
137
 
106
138
  ### 第 2 步 —— 启动
@@ -22,7 +22,7 @@ ENV https_proxy=${HTTPS_PROXY} \
22
22
 
23
23
  # pi-courier 版本:发新版本后更新此值 —— RUN 层指令文本随之变化,
24
24
  # docker 缓存自动失效,不会装到旧版(避免"升级了但镜像还是旧代码"的坑)
25
- ARG PI_COURIER_VERSION=0.1.22
25
+ ARG PI_COURIER_VERSION=0.1.23
26
26
 
27
27
  # 仅需要 ca-certificates(npm install 走 https;git 由 runtime 层负责)
28
28
  RUN apt-get update \
@@ -43,6 +43,12 @@ export declare class ChallengeAuth {
43
43
  * Handles challenge creation, validation, and channel authorization
44
44
  */
45
45
  checkAuthorization(userId: string, chatId: string, username: string, isGroupChat: boolean, wasMentioned: boolean, sendMessage?: (chatId: string, message: string) => Promise<void>, transport?: string): Promise<boolean>;
46
+ /** Whether a user is in the trusted list (per transport). */
47
+ isTrustedUser(userId: string, transport?: string): boolean;
48
+ /** Whether a group chat has been explicitly enabled by the admin. */
49
+ isChannelEnabled(chatId: string): boolean;
50
+ /** Enable a group chat with a mode (used by /enable in the room itself). */
51
+ enableChannel(chatId: string, mode: "all" | "mentions" | "trusted-only"): void;
46
52
  /**
47
53
  * Initiate or validate a challenge
48
54
  */
@@ -1 +1 @@
1
- {"version":3,"file":"challenge-auth.d.ts","sourceRoot":"","sources":["../../src/auth/challenge-auth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkBH;;GAEG;AACH,qBAAa,aAAa;IAQtB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,aAAa,CAAC;IACtB,OAAO,CAAC,UAAU,CAAC;IAVrB,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,WAAW,CAAC,CAAS;gBAGnB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,EACpD,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,KAAK,IAAI,EACzE,aAAa,CAAC,GAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,aAAA,EAClE,UAAU,CAAC,GAAE,MAAM,IAAI,aAAA;IAGjC;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE;QACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,IAAI,EAAE,KAAK,GAAG,UAAU,GAAG,cAAc,CAAA;SAAE,CAAC,CAAC;KAC5F,GAAG,IAAI;IAYR;;OAEG;IACH,YAAY,IAAI;QACd,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,IAAI,EAAE,KAAK,GAAG,UAAU,GAAG,cAAc,CAAA;SAAE,CAAC,CAAC;KAC3F;IAQD;;;OAGG;IACG,kBAAkB,CACtB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,OAAO,EACpB,YAAY,EAAE,OAAO,EACrB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,EAChE,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC;IAyDnB;;OAEG;YACW,iBAAiB;IAkD/B;;;OAGG;IACG,kBAAkB,CACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,EAC5C,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC;IAkHnB;;OAEG;YACW,iBAAiB;IAyC/B;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAmBnB;;OAEG;IACH,QAAQ,IAAI;QACV,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;KAC5C;CAmBF"}
1
+ {"version":3,"file":"challenge-auth.d.ts","sourceRoot":"","sources":["../../src/auth/challenge-auth.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAkBH;;GAEG;AACH,qBAAa,aAAa;IAQtB,OAAO,CAAC,UAAU;IAClB,OAAO,CAAC,QAAQ;IAChB,OAAO,CAAC,aAAa,CAAC;IACtB,OAAO,CAAC,UAAU,CAAC;IAVrB,OAAO,CAAC,UAAU,CAAoC;IACtD,OAAO,CAAC,YAAY,CAAqB;IACzC,OAAO,CAAC,WAAW,CAAkC;IACrD,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,WAAW,CAAC,CAAS;gBAGnB,UAAU,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,EACpD,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,SAAS,GAAG,OAAO,KAAK,IAAI,EACzE,aAAa,CAAC,GAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,aAAA,EAClE,UAAU,CAAC,GAAE,MAAM,IAAI,aAAA;IAGjC;;OAEG;IACH,cAAc,CAAC,MAAM,EAAE;QACrB,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;QACxB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,IAAI,EAAE,KAAK,GAAG,UAAU,GAAG,cAAc,CAAA;SAAE,CAAC,CAAC;KAC5F,GAAG,IAAI;IAYR;;OAEG;IACH,YAAY,IAAI;QACd,YAAY,EAAE,MAAM,EAAE,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE;YAAE,OAAO,EAAE,OAAO,CAAC;YAAC,IAAI,EAAE,KAAK,GAAG,UAAU,GAAG,cAAc,CAAA;SAAE,CAAC,CAAC;KAC3F;IAQD;;;OAGG;IACG,kBAAkB,CACtB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,MAAM,EAChB,WAAW,EAAE,OAAO,EACpB,YAAY,EAAE,OAAO,EACrB,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,EAChE,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC;IAyDnB,6DAA6D;IAC7D,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,CAAC,EAAE,MAAM,GAAG,OAAO;IAK1D,qEAAqE;IACrE,gBAAgB,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO;IAIzC,4EAA4E;IAC5E,aAAa,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,KAAK,GAAG,UAAU,GAAG,cAAc,GAAG,IAAI;IAK9E;;OAEG;YACW,iBAAiB;IAkD/B;;;OAGG;IACG,kBAAkB,CACtB,IAAI,EAAE,MAAM,EACZ,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,WAAW,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,EAC5C,SAAS,CAAC,EAAE,MAAM,GACjB,OAAO,CAAC,OAAO,CAAC;IAkHnB;;OAEG;YACW,iBAAiB;IAyC/B;;OAEG;IACH,OAAO,CAAC,YAAY;IAIpB;;OAEG;IACH,OAAO,CAAC,WAAW;IAyBnB;;OAEG;IACH,QAAQ,IAAI;QACV,YAAY,EAAE,MAAM,CAAC;QACrB,QAAQ,EAAE,MAAM,CAAC;QACjB,gBAAgB,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC,CAAC;KAC5C;CAmBF"}
@@ -99,6 +99,21 @@ export class ChallengeAuth {
99
99
  return false;
100
100
  }
101
101
  }
102
+ /** Whether a user is in the trusted list (per transport). */
103
+ isTrustedUser(userId, transport) {
104
+ const namespaced = transport ? `${transport}:${userId}` : userId;
105
+ return this.trustedUsers.has(namespaced);
106
+ }
107
+ /** Whether a group chat has been explicitly enabled by the admin. */
108
+ isChannelEnabled(chatId) {
109
+ return this.channelAuth.get(chatId)?.enabled === true;
110
+ }
111
+ /** Enable a group chat with a mode (used by /enable in the room itself). */
112
+ enableChannel(chatId, mode) {
113
+ this.channelAuth.set(chatId, { enabled: true, mode });
114
+ if (this.onSaveAuth)
115
+ this.onSaveAuth();
116
+ }
102
117
  /**
103
118
  * Initiate or validate a challenge
104
119
  */
@@ -295,22 +310,28 @@ export class ChallengeAuth {
295
310
  * Get help text for admin commands
296
311
  */
297
312
  getHelpText() {
298
- return `**Admin Commands**
313
+ return `**管理命令**
314
+
315
+ *仅私聊(DM):*
316
+ • \`/help\` — 显示本帮助
317
+ • \`/trusted\` — 查看信任用户列表
318
+ • \`/revoke <userId>\` — 撤销用户的信任
319
+ • \`/channels\` — 查看已启用房间
320
+ • \`/enable [chatId] <模式>\` — 启用房间(群里发:无需 chatId,启用当前房间)
321
+ 模式: \`all\`(所有人)、\`mentions\`(仅 @我)、\`trusted-only\`(仅信任用户)
322
+ • \`/disable <chatId>\` — 停用房间
323
+ • \`/toggletools\` — 切换回复中是否显示工具调用
299
324
 
300
- *DM Only:*
301
- • \`/help\` Show this help
302
- • \`/trusted\` — List trusted users
303
- • \`/revoke <userId>\`Revoke trust for a user
304
- \`/channels\` — List enabled channels
305
- • \`/enable <chatId> <mode>\` — Enable a channel
306
- Modes: \`all\`, \`mentions\`, \`trusted-only\`
307
- • \`/disable <chatId>\` — Disable a channel
308
- • \`/toggletools\` — Toggle tool call visibility in replies
325
+ *项目管理(仅管理房间):*
326
+ • \`/pmctl new <名称> <路径>\` — 创建项目
327
+ • \`/pmctl list\` — 项目列表
328
+ • \`/pmctl show|rm|mv|rename ...\` 项目详情/删除/迁移/重命名
329
+ (在管理房间发 /help 查看完整说明)
309
330
 
310
- *Authentication:*
311
- First DM to bot → 6-digit code shown in terminal
312
- Enter code in chat become trusted
313
- First trusted user = admin`;
331
+ *认证:*
332
+ 首次私聊 bot → 终端显示 6 位验证码
333
+ 在聊天里输入验证码成为信任用户
334
+ 第一个信任用户 = 管理员`;
314
335
  }
315
336
  /**
316
337
  * Get current stats with detailed user info
@@ -1 +1 @@
1
- {"version":3,"file":"challenge-auth.js","sourceRoot":"","sources":["../../src/auth/challenge-auth.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"challenge-auth.js","sourceRoot":"","sources":["../../src/auth/challenge-auth.ts"],"names":[],"mappings":"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"}
@@ -9,10 +9,25 @@
9
9
  * 4. Unknown commands get a helpful error listing what is available
10
10
  */
11
11
  import type { PiRpc } from "./pi-rpc.js";
12
+ import type { ProjectManager } from "./project-manager.js";
12
13
  export interface SlashCommandContext {
13
14
  rpc: PiRpc;
14
15
  /** Send a reply back to the originating chat */
15
16
  reply: (text: string) => Promise<void>;
17
+ /** Multi-project management (project rooms). Optional. */
18
+ projectManager?: ProjectManager;
19
+ /** Create a private room + invite a user (Matrix). Optional. */
20
+ createProjectRoom?: (name: string, inviteUserId: string) => Promise<string | null>;
21
+ /** Admin user MXID (invite target for /pmctl new), e.g. matrix:@barry:server. */
22
+ adminUserId?: string;
23
+ /** The room this command came from. */
24
+ chatId?: string;
25
+ /** Whether this room is the management room (first paired DM). */
26
+ isManagementRoom?: boolean;
27
+ /** Rename a room via the Matrix transport (optional). */
28
+ setRoomName?: (roomId: string, name: string) => Promise<void>;
29
+ /** Have the bot actively leave a room (used by /pmctl rm after confirm). */
30
+ leaveRoom?: (roomId: string, reason?: string) => Promise<void>;
16
31
  }
17
32
  /** Returns true if the command was handled (something was done / replied). */
18
33
  export declare function handleSlashCommand(text: string, ctx: SlashCommandContext): Promise<boolean>;
@@ -1 +1 @@
1
- {"version":3,"file":"command-map.d.ts","sourceRoot":"","sources":["../../src/rpc/command-map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,KAAK,CAAC;IACX,gDAAgD;IAChD,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CACxC;AAED,8EAA8E;AAC9E,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,mBAAmB,GACvB,OAAO,CAAC,OAAO,CAAC,CAoLlB"}
1
+ {"version":3,"file":"command-map.d.ts","sourceRoot":"","sources":["../../src/rpc/command-map.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAKH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAa3D,MAAM,WAAW,mBAAmB;IAClC,GAAG,EAAE,KAAK,CAAC;IACX,gDAAgD;IAChD,KAAK,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IACvC,0DAA0D;IAC1D,cAAc,CAAC,EAAE,cAAc,CAAC;IAChC,gEAAgE;IAChE,iBAAiB,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC,CAAC;IACnF,iFAAiF;IACjF,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,uCAAuC;IACvC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,kEAAkE;IAClE,gBAAgB,CAAC,EAAE,OAAO,CAAC;IAC3B,yDAAyD;IACzD,WAAW,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9D,4EAA4E;IAC5E,SAAS,CAAC,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;CAChE;AASD,8EAA8E;AAC9E,wBAAsB,kBAAkB,CACtC,IAAI,EAAE,MAAM,EACZ,GAAG,EAAE,mBAAmB,GACvB,OAAO,CAAC,OAAO,CAAC,CA6YlB"}
@@ -1,6 +1,37 @@
1
+ /**
2
+ * Slash command map — turns `/command args` messages from messengers into RPC calls.
3
+ *
4
+ * Layer ordering (matches previous extension behaviour, minus the conflicts):
5
+ * 1. Bridge admin commands (/help, /trusted, ...) are handled by ChallengeAuth before this module
6
+ * 2. Builtin pi commands that have a dedicated RPC command are mapped here
7
+ * 3. Everything else starting with "/" is forwarded via prompt: extension commands,
8
+ * skill commands (/skill:name) and prompt templates (/template) are expanded by pi itself
9
+ * 4. Unknown commands get a helpful error listing what is available
10
+ */
11
+ import * as os from "node:os";
12
+ import * as path from "node:path";
13
+ import { loadConfig } from "../config.js";
14
+ /**
15
+ * Resolve a project path: absolute paths are used as-is; relative paths are
16
+ * resolved against the project root (config.workdir, the setup-time default
17
+ * project directory) — so `/pmctl new myapp myapp` lands in ~/Projects/myapp.
18
+ */
19
+ function resolveProjectPath(p) {
20
+ if (p.startsWith("/"))
21
+ return p;
22
+ const root = loadConfig().workdir ?? path.join(os.homedir(), "Projects");
23
+ return path.join(root, p);
24
+ }
25
+ /**
26
+ * Pending /pmctl rm confirmation, keyed by the chat that issued the request.
27
+ * A first `/pmctl rm <target>` only arms the delete; the same command issued
28
+ * again in the same chat confirms it.
29
+ */
30
+ const pendingRm = new Map();
1
31
  /** Returns true if the command was handled (something was done / replied). */
2
32
  export async function handleSlashCommand(text, ctx) {
3
33
  const { rpc, reply } = ctx;
34
+ const chatId = ctx.chatId ?? "";
4
35
  const trimmed = text.trim();
5
36
  if (!trimmed.startsWith("/"))
6
37
  return false;
@@ -44,6 +75,197 @@ export async function handleSlashCommand(text, ctx) {
44
75
  }
45
76
  return true;
46
77
  }
78
+ // --- Project management (/pmctl, management room only) ------------------
79
+ case "/pmctl":
80
+ case "/newproject":
81
+ case "/projects": {
82
+ // Management commands are only available in the management room
83
+ // (the first paired DM). Project rooms are for conversation only.
84
+ if (!ctx.isManagementRoom) {
85
+ await reply("❌ /pmctl 仅可在管理房间(与 bot 的私聊)使用");
86
+ return true;
87
+ }
88
+ if (!ctx.projectManager || !ctx.createProjectRoom) {
89
+ await reply("❌ /pmctl 不可用(仅 Matrix 部署支持)");
90
+ return true;
91
+ }
92
+ const pm = ctx.projectManager;
93
+ const legacyNewProject = name === "/newproject";
94
+ const legacyProjects = name === "/projects";
95
+ // Resolve the sub-command.
96
+ let op;
97
+ let rest = args;
98
+ if (legacyNewProject) {
99
+ op = "new";
100
+ }
101
+ else if (legacyProjects) {
102
+ op = "list";
103
+ }
104
+ else {
105
+ const sp = args.indexOf(" ");
106
+ op = (sp === -1 ? args : args.slice(0, sp)).trim() || "list";
107
+ rest = (sp === -1 ? "" : args.slice(sp + 1)).trim();
108
+ }
109
+ switch (op) {
110
+ case "new": {
111
+ const sp = rest.indexOf(" ");
112
+ const pname = (sp === -1 ? rest : rest.slice(0, sp)).trim();
113
+ const workdirArg = (sp === -1 ? "" : rest.slice(sp + 1)).trim();
114
+ if (!pname) {
115
+ await reply("用法: /pmctl new <项目名> [路径]\n" +
116
+ "路径可选:缺省为工程根下同名目录(如 newapp → ~/Projects/newapp);" +
117
+ "也可用相对路径或绝对路径。");
118
+ return true;
119
+ }
120
+ // Path is optional: default to <project root>/<name>.
121
+ const resolvedWorkdir = workdirArg
122
+ ? resolveProjectPath(workdirArg)
123
+ : resolveProjectPath(pname);
124
+ const inviteMxid = (ctx.adminUserId ?? "").replace(/^matrix:/, "");
125
+ if (!inviteMxid) {
126
+ await reply("❌ 缺少邀请对象(未配置信任用户)");
127
+ return true;
128
+ }
129
+ try {
130
+ const roomId = await ctx.createProjectRoom(pname, inviteMxid);
131
+ if (!roomId) {
132
+ await reply("❌ 房间创建失败(Matrix 未连接?)");
133
+ return true;
134
+ }
135
+ pm.registerProject(roomId, resolvedWorkdir, pname);
136
+ await reply(`✅ 项目「${pname}」创建完成!\n\n` +
137
+ `• 房间: ${roomId}\n` +
138
+ `• 工作目录: ${resolvedWorkdir}\n` +
139
+ `• 已邀请你进入新房间\n\n` +
140
+ `项目对话请到新房间进行(独立上下文与工作目录)。`);
141
+ }
142
+ catch (err) {
143
+ await reply(`❌ 创建项目失败: ${err.message}`);
144
+ }
145
+ return true;
146
+ }
147
+ case "list": {
148
+ await reply(pmctlListText(pm));
149
+ return true;
150
+ }
151
+ case "show": {
152
+ const target = rest.trim();
153
+ if (!target) {
154
+ await reply("用法: /pmctl show <项目名|房间ID>");
155
+ return true;
156
+ }
157
+ const found = pm.listProjects().find(([roomId, p]) => p.name === target || roomId === target);
158
+ if (!found) {
159
+ await reply(`❌ 未找到项目: ${target}(用 /pmctl list 查看)`);
160
+ return true;
161
+ }
162
+ const [roomId, entry] = found;
163
+ await reply(`📁 项目: ${entry.name ?? roomId}\n` +
164
+ `• 房间: ${roomId}\n` +
165
+ `• 工作目录: ${entry.workdir}\n` +
166
+ `• 状态: ${pm.isRunning(roomId) ? "✅ 运行中" : "⏸️ 未启动(lazy)"}\n` +
167
+ `• 会话: ${entry.workdir}/.pi-session`);
168
+ return true;
169
+ }
170
+ case "rm": {
171
+ const target = rest.trim();
172
+ if (!target) {
173
+ await reply("用法: /pmctl rm <项目名|房间ID>");
174
+ return true;
175
+ }
176
+ // cancel: 清除待确认状态
177
+ if (target === "cancel" || target === "no" || target === "取消") {
178
+ const had = pendingRm.delete(chatId);
179
+ await reply(had ? "✅ 已取消删除" : "当前没有待确认的删除操作");
180
+ return true;
181
+ }
182
+ const found = pm.listProjects().find(([roomId, p]) => p.name === target || roomId === target);
183
+ if (!found) {
184
+ pendingRm.delete(chatId);
185
+ await reply(`❌ 未找到项目: ${target}(用 /pmctl list 查看)`);
186
+ return true;
187
+ }
188
+ const [roomId, entry] = found;
189
+ // A pending confirmation expires after 60s to avoid a stale
190
+ // confirmation silently deleting a project much later.
191
+ const pending = pendingRm.get(chatId);
192
+ if (pending && pending.ts && Date.now() - pending.ts > 60_000) {
193
+ pendingRm.delete(chatId); // expired — treat as a fresh rm
194
+ await reply(`⏳ 上次确认已超时(60 秒),需重新确认。`);
195
+ }
196
+ const pendingCurrent = pendingRm.get(chatId);
197
+ if (pendingCurrent && pendingCurrent.roomId === roomId) {
198
+ pendingRm.delete(chatId);
199
+ await pm.removeProject(roomId);
200
+ await reply(`🗑️ 项目「${entry.name ?? roomId}」已删除\n` +
201
+ `• 已解除映射并停止进程\n` +
202
+ `• 工作目录保留: ${entry.workdir}(如需删除请自行处理)\n` +
203
+ `• 正在主动退出房间…`);
204
+ if (ctx.leaveRoom) {
205
+ try {
206
+ await ctx.leaveRoom(roomId, "项目已删除");
207
+ }
208
+ catch (err) {
209
+ await reply(`⚠️ 房间退出失败(可手动退出): ${err.message}`);
210
+ }
211
+ }
212
+ return true;
213
+ }
214
+ // 第一次:仅要求确认,不删除
215
+ pendingRm.set(chatId, { roomId, name: entry.name ?? roomId, ts: Date.now() });
216
+ await reply(`⚠️ 确认删除项目「${entry.name ?? roomId}」?\n\n` +
217
+ `再次发送 \`/pmctl rm ${entry.name ?? roomId}\` 确认删除。\n` +
218
+ `确认后我会停止进程并主动退出该房间。\n` +
219
+ `(发送 \`/pmctl rm cancel\` 取消)`);
220
+ return true;
221
+ }
222
+ case "mv": {
223
+ const sp = rest.indexOf(" ");
224
+ const target = (sp === -1 ? rest : rest.slice(0, sp)).trim();
225
+ const newWorkdir = (sp === -1 ? "" : rest.slice(sp + 1)).trim();
226
+ if (!target || !newWorkdir) {
227
+ await reply("用法: /pmctl mv <项目名|房间ID> <新路径>(相对路径基于工程根)");
228
+ return true;
229
+ }
230
+ const resolvedWorkdir = resolveProjectPath(newWorkdir);
231
+ const found = pm.listProjects().find(([roomId, p]) => p.name === target || roomId === target);
232
+ if (!found) {
233
+ await reply(`❌ 未找到项目: ${target}(用 /pmctl list 查看)`);
234
+ return true;
235
+ }
236
+ const [roomId, entry] = found;
237
+ pm.updateProjectWorkdir(roomId, resolvedWorkdir);
238
+ await reply(`🚚 项目「${entry.name ?? roomId}」已迁移\n` +
239
+ `• 新工作目录: ${resolvedWorkdir}\n` +
240
+ `• 会话将重新开始(旧会话保留在旧目录 .pi-session)`);
241
+ return true;
242
+ }
243
+ case "rename": {
244
+ const sp = rest.indexOf(" ");
245
+ const target = (sp === -1 ? rest : rest.slice(0, sp)).trim();
246
+ const newName = (sp === -1 ? "" : rest.slice(sp + 1)).trim();
247
+ if (!target || !newName) {
248
+ await reply("用法: /pmctl rename <项目名|房间ID> <新名称>");
249
+ return true;
250
+ }
251
+ const found = pm.listProjects().find(([roomId, p]) => p.name === target || roomId === target);
252
+ if (!found) {
253
+ await reply(`❌ 未找到项目: ${target}(用 /pmctl list 查看)`);
254
+ return true;
255
+ }
256
+ const [roomId] = found;
257
+ pm.renameProject(roomId, newName);
258
+ if (ctx.setRoomName) {
259
+ await ctx.setRoomName(roomId, newName).catch(() => { });
260
+ }
261
+ await reply(`✏️ 项目已重命名为「${newName}」`);
262
+ return true;
263
+ }
264
+ default:
265
+ await reply(`❌ 未知操作: ${op}\n可用操作: new / list / show / rm / mv / rename`);
266
+ return true;
267
+ }
268
+ }
47
269
  // --- Model / thinking --------------------------------------------------
48
270
  case "/model": {
49
271
  if (!args) {
@@ -171,6 +393,18 @@ function parseModelArg(arg) {
171
393
  }
172
394
  return { provider: "", modelId: trimmed };
173
395
  }
396
+ /** Project list text: name, status, workdir, room id. */
397
+ function pmctlListText(pm) {
398
+ const projects = pm.listProjects();
399
+ if (projects.length === 0) {
400
+ return "暂无项目(用 /pmctl new <名称> <路径> 创建)";
401
+ }
402
+ const lines = projects.map(([roomId, p]) => {
403
+ const status = pm.isRunning(roomId) ? "✅ 运行中" : "⏸️ 未启动";
404
+ return `• ${p.name ?? roomId} — ${status}\n ${p.workdir} (${roomId})`;
405
+ });
406
+ return `**项目列表** (${projects.length}):\n${lines.join("\n")}`;
407
+ }
174
408
  function helpText() {
175
409
  return [
176
410
  "**Pi 命令**(通过 RPC 执行):",
@@ -186,6 +420,10 @@ function helpText() {
186
420
  "• `/bash <命令>` — 执行 shell 命令(写入上下文)",
187
421
  "• `/stop` — 立即停止所有任务(≈ TUI 的 Esc;别名 `/abort`)",
188
422
  "• `/reload` — 重启 pi 进程(装插件/改配置后使用)",
423
+ "• `/pmctl new <名称> <路径>` — 创建项目(管理房间)",
424
+ "• `/pmctl list` — 项目列表",
425
+ "• `/pmctl show|rm|mv|rename` — 项目详情/删除/迁移/重命名(管理房间;",
426
+ " rm 需二次确认,确认后停止进程并退出房间)",
189
427
  "",
190
428
  "**透传**: `/skill:名称`、提示词模板、扩展命令会直接执行;普通文本发给模型。",
191
429
  "**Bridge 管理命令**: `/help`(本帮助)、`/trusted`、`/revoke`、`/channels`、`/enable`、`/disable`、`/toggletools`",
@@ -1 +1 @@
1
- {"version":3,"file":"command-map.js","sourceRoot":"","sources":["../../src/rpc/command-map.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"command-map.js","sourceRoot":"","sources":["../../src/rpc/command-map.ts"],"names":[],"mappings":"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"}
@@ -9,8 +9,11 @@ import type { ChallengeAuth } from "../auth/challenge-auth.js";
9
9
  import type { TransportManager } from "../transports/manager.js";
10
10
  import type { ExternalMessage, PendingRemoteChat } from "../types.js";
11
11
  import type { PiRpc } from "./pi-rpc.js";
12
+ import type { ProjectManager } from "./project-manager.js";
12
13
  export interface MessageRouterDeps {
13
14
  rpc: PiRpc;
15
+ /** Multi-project routing: resolves the PiRpc for a room (default when unmapped). */
16
+ projectManager: ProjectManager;
14
17
  auth: ChallengeAuth;
15
18
  transportManager: TransportManager;
16
19
  /** Send a text reply to a chat via a transport (errors swallowed by caller) */
@@ -21,8 +24,9 @@ export interface MessageRouterDeps {
21
24
  export interface MessageRouter {
22
25
  /** Handle an incoming messenger message */
23
26
  handleIncoming(msg: ExternalMessage): Promise<void>;
24
- /** Handle an agent event (from pi RPC) */
25
- handleEvent(event: unknown): void;
27
+ /** Handle an agent event (from pi RPC). roomId = the room that owns the
28
+ * pi process (project rooms); omitted for the shared default Rpc. */
29
+ handleEvent(event: unknown, roomId?: string): void;
26
30
  /** Chat that the current/last turn belongs to */
27
31
  pendingRemoteChat: PendingRemoteChat | null;
28
32
  }
@@ -1 +1 @@
1
- {"version":3,"file":"message-router.d.ts","sourceRoot":"","sources":["../../src/rpc/message-router.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAS/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AAEzC,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,KAAK,CAAC;IACX,IAAI,EAAE,aAAa,CAAC;IACpB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,+EAA+E;IAC/E,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAClC,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD,0CAA0C;IAC1C,WAAW,CAAC,KAAK,EAAE,OAAO,GAAG,IAAI,CAAC;IAClC,iDAAiD;IACjD,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC7C;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,aAAa,CAkO1E"}
1
+ {"version":3,"file":"message-router.d.ts","sourceRoot":"","sources":["../../src/rpc/message-router.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAGH,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,2BAA2B,CAAC;AAS/D,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,iBAAiB,EAAE,MAAM,aAAa,CAAC;AAEtE,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACzC,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAE3D,MAAM,WAAW,iBAAiB;IAChC,GAAG,EAAE,KAAK,CAAC;IACX,oFAAoF;IACpF,cAAc,EAAE,cAAc,CAAC;IAC/B,IAAI,EAAE,aAAa,CAAC;IACpB,gBAAgB,EAAE,gBAAgB,CAAC;IACnC,+EAA+E;IAC/E,SAAS,EAAE,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC;IAC9E,GAAG,EAAE,CAAC,GAAG,IAAI,EAAE,OAAO,EAAE,KAAK,IAAI,CAAC;IAClC,KAAK,EAAE,OAAO,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,2CAA2C;IAC3C,cAAc,CAAC,GAAG,EAAE,eAAe,GAAG,OAAO,CAAC,IAAI,CAAC,CAAC;IACpD;0EACsE;IACtE,WAAW,CAAC,KAAK,EAAE,OAAO,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACnD,iDAAiD;IACjD,iBAAiB,EAAE,iBAAiB,GAAG,IAAI,CAAC;CAC7C;AAED,wBAAgB,mBAAmB,CAAC,IAAI,EAAE,iBAAiB,GAAG,aAAa,CA8S1E"}