weacpx 0.2.2 → 0.3.1
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/README.md +254 -282
- package/dist/bridge/bridge-main.js +999 -322
- package/dist/cli.js +33551 -7214
- package/package.json +6 -3
package/README.md
CHANGED
|
@@ -1,341 +1,340 @@
|
|
|
1
|
-
#
|
|
1
|
+
# weacpx
|
|
2
2
|
|
|
3
|
-
|
|
3
|
+
> 用微信远程驱动 Codex、Claude Code 等 acpx 会话。
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/weacpx)
|
|
6
6
|
[](https://nodejs.org)
|
|
7
|
-
[](https://zread.ai/gadzan/weacpx)
|
|
8
8
|
[](./LICENSE)
|
|
9
9
|
|
|
10
10
|

|
|
11
11
|
|
|
12
|
-
##
|
|
12
|
+
## 这是什么
|
|
13
13
|
|
|
14
|
-
|
|
14
|
+
`weacpx` 是一个微信控制台。它把微信消息接到 `acpx` 会话上,让你直接在手机里:
|
|
15
15
|
|
|
16
|
-
|
|
16
|
+
- 新建和切换 Codex / Claude Code 会话
|
|
17
|
+
- 让 Agent 继续在指定项目目录里工作
|
|
18
|
+
- 查看流式回复、最终结果和工具调用摘要
|
|
19
|
+
- 调整权限策略
|
|
20
|
+
- 在需要时做最小可用的多 Agent 编排
|
|
17
21
|
|
|
18
|
-
|
|
22
|
+
如果你已经习惯在本地终端里用 `acpx`,`weacpx` 提供的是一个**远程入口**,而不是另一套全新的工作流。
|
|
19
23
|
|
|
20
|
-
|
|
24
|
+
## 适合谁
|
|
21
25
|
|
|
22
|
-
|
|
26
|
+
`weacpx` 适合已经在用 Codex、Claude Code 或其他 `acpx` driver 的开发者。你可以用微信盯任务、发指令、看结果,并在同一个聊天里管理多个会话。
|
|
23
27
|
|
|
24
|
-
|
|
28
|
+
它不是云端 IDE,也不是可视化编排平台。
|
|
25
29
|
|
|
26
|
-
##
|
|
30
|
+
## 5 分钟快速开始
|
|
27
31
|
|
|
28
|
-
|
|
32
|
+
### 前置条件
|
|
29
33
|
|
|
30
|
-
|
|
31
|
-
- Claude Code 或 Codex
|
|
32
|
-
- 装了微信的手机
|
|
34
|
+
开始前,你至少需要:
|
|
33
35
|
|
|
34
|
-
|
|
35
|
-
|
|
36
|
+
- Node.js 22+ 或 Bun
|
|
37
|
+
- 已可用的 Codex、Claude Code 或其他 `acpx` driver
|
|
38
|
+
- 一台装了微信的手机
|
|
36
39
|
|
|
37
|
-
|
|
40
|
+
> `weacpx` 基于 `weixin-agent-sdk` 和 `acpx` 工作。正常情况下,你不需要额外全局安装 `acpx`。
|
|
38
41
|
|
|
39
|
-
|
|
42
|
+
### 安装
|
|
40
43
|
|
|
41
44
|
```bash
|
|
42
|
-
# 使用 NPM 全局安装
|
|
43
45
|
npm install -g weacpx
|
|
44
|
-
#
|
|
46
|
+
# 或
|
|
45
47
|
bun add -g weacpx
|
|
46
48
|
```
|
|
47
49
|
|
|
48
|
-
|
|
50
|
+
### 登录微信
|
|
51
|
+
|
|
52
|
+
```bash
|
|
53
|
+
weacpx login
|
|
54
|
+
```
|
|
55
|
+
|
|
56
|
+
终端会显示二维码。你用微信扫码登录。
|
|
49
57
|
|
|
50
|
-
|
|
58
|
+
### 启动服务
|
|
59
|
+
|
|
60
|
+
```bash
|
|
61
|
+
weacpx start
|
|
62
|
+
```
|
|
51
63
|
|
|
52
|
-
|
|
53
|
-
2. 启动服务 `weacpx start`
|
|
54
|
-
3. 在微信里创建会话并开始对话
|
|
64
|
+
### 在微信里创建第一个会话
|
|
55
65
|
|
|
56
|
-
|
|
66
|
+
把下面两条消息发到微信:
|
|
57
67
|
|
|
58
68
|
```text
|
|
59
69
|
/ss codex -d /absolute/path/to/your/repo
|
|
60
|
-
|
|
61
70
|
/help
|
|
62
71
|
```
|
|
63
72
|
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
`/help` 查看帮助信息。
|
|
67
|
-
|
|
68
|
-
然后就可以直接发普通消息,例如:
|
|
73
|
+
然后直接发普通文本,例如:
|
|
69
74
|
|
|
70
75
|
```text
|
|
71
76
|
hello
|
|
72
77
|
```
|
|
73
78
|
|
|
74
|
-
|
|
79
|
+
如果一切正常,普通文本会进入当前会话,Agent 的回复会回到微信。
|
|
75
80
|
|
|
76
|
-
|
|
81
|
+
## 你的日常使用流程
|
|
77
82
|
|
|
78
|
-
|
|
83
|
+
最常见的使用顺序只有四步:
|
|
79
84
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
85
|
+
1. **启动后台服务**:`weacpx start`
|
|
86
|
+
2. **创建或切换会话**:`/ss ...`、`/use ...`
|
|
87
|
+
3. **直接发普通文本**:让当前会话继续工作
|
|
88
|
+
4. **必要时查看状态或取消**:`/status`、`/cancel`
|
|
89
|
+
|
|
90
|
+
### 1) 创建会话
|
|
91
|
+
|
|
92
|
+
最常用命令:
|
|
93
|
+
|
|
94
|
+
```text
|
|
95
|
+
/ss codex -d /absolute/path/to/your/repo
|
|
87
96
|
```
|
|
88
97
|
|
|
89
|
-
|
|
98
|
+
它会使用 `codex`,绑定这个目录,并自动切换到新会话。
|
|
90
99
|
|
|
91
|
-
|
|
100
|
+
### 2) 发普通消息
|
|
92
101
|
|
|
93
|
-
|
|
102
|
+
非 `/` 开头的文本,都会发送到当前会话。
|
|
94
103
|
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
- `weacpx start`
|
|
99
|
-
- `weacpx status`
|
|
100
|
-
- `weacpx stop`
|
|
101
|
-
- `weacpx doctor`
|
|
102
|
-
- `weacpx version`
|
|
104
|
+
```text
|
|
105
|
+
修一下最近这个接口超时问题
|
|
106
|
+
```
|
|
103
107
|
|
|
104
|
-
|
|
108
|
+
### 3) 看回复
|
|
105
109
|
|
|
106
|
-
|
|
107
|
-
- `start` 后台启动
|
|
108
|
-
- `status` 查看后台状态、PID、配置路径和日志路径
|
|
109
|
-
- `stop` 停止后台实例
|
|
110
|
-
- `logout` 清除本机已保存的微信登录凭证;如果当前没有已登录账号,会直接提示
|
|
111
|
-
- `doctor` 运行诊断,默认检查 config / runtime / daemon / wechat / acpx / bridge
|
|
112
|
-
- `version` 输出当前安装的 `weacpx` 版本号,可用于排查环境或确认升级是否生效
|
|
110
|
+
`weacpx` 支持三种常用回复模式:
|
|
113
111
|
|
|
114
|
-
|
|
112
|
+
- `stream`:默认,流式返回中间文本
|
|
113
|
+
- `final`:只返回最终结果
|
|
114
|
+
- `verbose`:在流式文本之外,额外显示工具调用摘要
|
|
115
115
|
|
|
116
|
-
|
|
116
|
+
例如 `verbose` 模式下,你会看到:
|
|
117
117
|
|
|
118
|
-
```
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
118
|
+
```text
|
|
119
|
+
📖 sed -n '1,220p' README.md
|
|
120
|
+
🔍 rg -n 'session new' src tests
|
|
121
|
+
💻 bun test tests/unit/main.test.ts
|
|
122
|
+
✏️ Edit parse-command.ts
|
|
123
123
|
```
|
|
124
124
|
|
|
125
|
-
|
|
125
|
+
### 4) 切换会话
|
|
126
126
|
|
|
127
|
-
|
|
128
|
-
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
- 如果不传 `--smoke`,相关 smoke 检查会被标记为 `SKIP`
|
|
127
|
+
```text
|
|
128
|
+
/ss
|
|
129
|
+
/use backend:codex
|
|
130
|
+
```
|
|
132
131
|
|
|
133
|
-
|
|
132
|
+
这样你可以在同一个微信聊天里切换不同项目、不同 agent 的会话。
|
|
134
133
|
|
|
135
|
-
|
|
134
|
+
## 常用 CLI 命令
|
|
135
|
+
|
|
136
|
+
这些命令在电脑终端里运行。
|
|
137
|
+
|
|
138
|
+
| 命令 | 说明 |
|
|
139
|
+
|------|------|
|
|
140
|
+
| `weacpx login` | 登录微信 |
|
|
141
|
+
| `weacpx logout` | 清除本机保存的微信登录凭证 |
|
|
142
|
+
| `weacpx run` | 前台运行,适合调试 |
|
|
143
|
+
| `weacpx start` | 后台启动服务 |
|
|
144
|
+
| `weacpx status` | 查看后台状态、PID、配置路径、日志路径 |
|
|
145
|
+
| `weacpx stop` | 停止后台实例 |
|
|
146
|
+
| `weacpx doctor` | 运行环境诊断 |
|
|
147
|
+
| `weacpx version` | 查看当前版本 |
|
|
148
|
+
| `weacpx workspace list` | 查看本机已注册的 workspace |
|
|
149
|
+
| `weacpx workspace add [name]` | 把当前目录注册成 workspace;不传 `name` 时使用当前目录名 |
|
|
150
|
+
| `weacpx workspace rm <name>` | 删除 workspace |
|
|
151
|
+
|
|
152
|
+
`workspace` 也可以简写为 `ws`:
|
|
136
153
|
|
|
137
154
|
```bash
|
|
138
|
-
weacpx
|
|
139
|
-
weacpx
|
|
140
|
-
weacpx
|
|
155
|
+
weacpx ws add
|
|
156
|
+
weacpx ws list
|
|
157
|
+
weacpx ws rm backend
|
|
141
158
|
```
|
|
142
159
|
|
|
143
|
-
|
|
160
|
+
### `workspace` CLI 怎么用
|
|
144
161
|
|
|
145
|
-
|
|
146
|
-
- 适合在升级后确认当前生效的是哪个版本
|
|
147
|
-
- 排查用户环境问题时,建议先附上这里输出的版本信息
|
|
162
|
+
`weacpx workspace` 用来在电脑本机维护 `~/.weacpx/config.json` 里的 `workspaces` 配置。它适合先在终端里注册常用项目目录,然后在微信里用 `--ws <name>` 直接引用。
|
|
148
163
|
|
|
149
|
-
|
|
164
|
+
| 命令 | 说明 |
|
|
165
|
+
|------|------|
|
|
166
|
+
| `weacpx workspace list` | 列出已注册的 workspace 及其路径 |
|
|
167
|
+
| `weacpx workspace add` | 把当前目录注册为 workspace,名称默认取当前目录名 |
|
|
168
|
+
| `weacpx workspace add <name>` | 把当前目录注册为指定名称 |
|
|
169
|
+
| `weacpx workspace rm <name>` | 删除指定 workspace |
|
|
150
170
|
|
|
151
|
-
|
|
171
|
+
常见用法:
|
|
152
172
|
|
|
153
|
-
|
|
154
|
-
|
|
173
|
+
```bash
|
|
174
|
+
cd /absolute/path/to/backend
|
|
175
|
+
weacpx workspace add backend
|
|
155
176
|
|
|
156
|
-
|
|
177
|
+
cd /absolute/path/to/frontend
|
|
178
|
+
weacpx ws add frontend
|
|
157
179
|
|
|
158
|
-
|
|
180
|
+
weacpx ws list
|
|
181
|
+
weacpx ws rm frontend
|
|
182
|
+
```
|
|
159
183
|
|
|
160
|
-
|
|
184
|
+
注册后,你可以在微信里直接使用:
|
|
161
185
|
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
166
|
-
| `/agent add claude` | 添加 claude agent |
|
|
167
|
-
| `/agent rm <name>` | 删除 agent |
|
|
186
|
+
```text
|
|
187
|
+
/ss codex --ws backend
|
|
188
|
+
/ss new claude --ws frontend
|
|
189
|
+
```
|
|
168
190
|
|
|
169
|
-
|
|
191
|
+
注意:`workspace add` 总是注册**当前终端所在目录**;如果不传名称,会用当前目录名作为 workspace 名称。
|
|
170
192
|
|
|
171
|
-
|
|
172
|
-
- 如果你接入的是自定义 agent,再考虑显式配置 `agent.command`
|
|
193
|
+
### `doctor` 怎么用
|
|
173
194
|
|
|
174
|
-
|
|
195
|
+
```bash
|
|
196
|
+
weacpx doctor
|
|
197
|
+
weacpx doctor --verbose
|
|
198
|
+
weacpx doctor --smoke
|
|
199
|
+
weacpx doctor --smoke --agent codex --workspace backend
|
|
200
|
+
```
|
|
175
201
|
|
|
176
|
-
|
|
177
|
-
|------|------|------|------|
|
|
178
|
-
| `driver` | `string` | 是 | agent 驱动类型,传递给 acpx 的第一位置参数 |
|
|
179
|
-
| `command` | `string` | 否 | 显式指定自定义 agent 的原始命令。不填则使用 acpx 默认行为 |
|
|
202
|
+
说明:
|
|
180
203
|
|
|
181
|
-
|
|
204
|
+
- `--verbose` 会展开每项检查的细节
|
|
205
|
+
- `--smoke` 会额外执行一次真实 transport 级别的最小 prompt 检查
|
|
206
|
+
- `--agent` / `--workspace` 只影响 `--smoke`
|
|
207
|
+
- 如果不传 `--smoke`,相关检查会显示为 `SKIP`
|
|
182
208
|
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
"my-agent": {
|
|
187
|
-
"driver": "codex",
|
|
188
|
-
"command": "/path/to/acpx codex --arg1 value1"
|
|
189
|
-
}
|
|
190
|
-
}
|
|
191
|
-
}
|
|
192
|
-
```
|
|
209
|
+
## 常用微信命令
|
|
210
|
+
|
|
211
|
+
下面这部分保留一份**中等长度**的日常手册。够你上手和日常使用,但不把 README 写成完整参考手册。
|
|
193
212
|
|
|
194
|
-
|
|
195
|
-
- `command` 主要用于自定义 agent,不建议给内置 driver 手写原始命令
|
|
196
|
-
- 旧版 `codex` raw command 配置会被自动忽略,回退为 `acpx codex ...`
|
|
213
|
+
完整微信命令参考见:[docs/commands.md](./docs/commands.md)。
|
|
197
214
|
|
|
198
|
-
###
|
|
215
|
+
### Agent 管理
|
|
199
216
|
|
|
200
217
|
| 命令 | 说明 |
|
|
201
218
|
|------|------|
|
|
202
|
-
| `/
|
|
203
|
-
| `/
|
|
204
|
-
| `/
|
|
219
|
+
| `/agents` | 查看 agent 列表 |
|
|
220
|
+
| `/agent add codex` | 添加 `codex` |
|
|
221
|
+
| `/agent add claude` | 添加 `claude` |
|
|
222
|
+
| `/agent rm <name>` | 删除 agent |
|
|
205
223
|
|
|
206
|
-
|
|
224
|
+
### Workspace 管理
|
|
207
225
|
|
|
208
|
-
|
|
209
|
-
|
|
226
|
+
| 命令 | 说明 |
|
|
227
|
+
|------|------|
|
|
228
|
+
| `/workspaces` / `/workspace` / `/ws` | 查看 workspace 列表 |
|
|
229
|
+
| `/ws new <name> -d <path>` | 添加 workspace,`path` 是电脑上的绝对路径 |
|
|
230
|
+
| `/workspace rm <name>` | 删除 workspace |
|
|
210
231
|
|
|
211
232
|
### Session 会话
|
|
212
233
|
|
|
213
234
|
| 命令 | 说明 |
|
|
214
235
|
|------|------|
|
|
215
|
-
| `/sessions` / `/session` / `/ss` |
|
|
216
|
-
| `/ss <agent> (-d <path>
|
|
217
|
-
| `/ss new <agent> (-d <path>
|
|
218
|
-
| `/ss new <alias> -a <name> --ws <name>` | 强制新建会话,并指定 agent 和 workspace |
|
|
219
|
-
| `/ss attach <alias> -a <name> --ws <name> --name <transport-session>` | 恢复已存在的会话 |
|
|
236
|
+
| `/sessions` / `/session` / `/ss` | 查看会话列表 |
|
|
237
|
+
| `/ss <agent> (-d <path> \| --ws <name>)` | 创建或复用当前最常用的会话 |
|
|
238
|
+
| `/ss new <agent> (-d <path> \| --ws <name>)` | 强制新建会话 |
|
|
220
239
|
| `/use <alias>` | 切换当前会话 |
|
|
221
240
|
| `/status` | 查看当前会话状态 |
|
|
222
|
-
| `/mode` |
|
|
223
|
-
| `/
|
|
224
|
-
| `/replymode` |
|
|
225
|
-
| `/replymode
|
|
226
|
-
| `/replymode final` |
|
|
227
|
-
| `/replymode reset` |
|
|
228
|
-
| `/session reset` |
|
|
241
|
+
| `/mode` / `/mode <id>` | 查看或设置底层 `acpx` mode |
|
|
242
|
+
| `/replymode` | 查看当前回复模式 |
|
|
243
|
+
| `/replymode stream` | 流式回复 |
|
|
244
|
+
| `/replymode verbose` | 流式 + 工具调用摘要 |
|
|
245
|
+
| `/replymode final` | 只返回最终结果 |
|
|
246
|
+
| `/replymode reset` | 回退到全局默认 reply mode |
|
|
247
|
+
| `/session reset` | 重置当前会话上下文 |
|
|
229
248
|
| `/clear` | `/session reset` 的快捷别名 |
|
|
230
|
-
| `/cancel` | 取消当前会话 |
|
|
231
|
-
| `/stop` | `/cancel` 的别名,用于取消当前会话 |
|
|
232
|
-
|
|
233
|
-
说明:
|
|
249
|
+
| `/cancel` / `/stop` | 取消当前会话 |
|
|
234
250
|
|
|
235
|
-
|
|
236
|
-
- `/ss <agent> --ws <name>` 会直接复用已注册 workspace,再创建或复用 session
|
|
237
|
-
- `/ss new <agent> (-d <path> | --ws <name>)` 表示强制新建 session
|
|
238
|
-
- `/use <alias>` 用来切换当前会话
|
|
239
|
-
- `/mode` 会显示当前逻辑会话里保存的 mode;如果还没设置过,会显示“未设置”
|
|
240
|
-
- `/mode <id>` 会把 mode 透传给底层 `acpx set-mode`,成功后再写回当前逻辑会话
|
|
241
|
-
- `/replymode` 修改的是**当前逻辑会话**的 reply mode override,不是底层 transport session 的全局属性
|
|
242
|
-
- `wechat.replyMode` 是全局默认值;`/replymode reset` 会回退到这个默认值
|
|
243
|
-
- `final` 只影响微信侧是否实时发送文本流式片段,不改变 acpx transport 本身的生成方式
|
|
244
|
-
- `/session reset` 和 `/clear` 会保留当前逻辑会话名,但重新创建一个新的后端 session,从空上下文重新开始
|
|
245
|
-
- 非 `/` 开头的文本会发送到当前 session
|
|
251
|
+
建议你优先记住这三个:
|
|
246
252
|
|
|
247
|
-
|
|
253
|
+
```text
|
|
254
|
+
/ss codex -d /absolute/path/to/repo
|
|
255
|
+
/use <alias>
|
|
256
|
+
/cancel
|
|
257
|
+
```
|
|
248
258
|
|
|
249
|
-
|
|
259
|
+
### 配置与权限
|
|
250
260
|
|
|
251
261
|
| 命令 | 说明 |
|
|
252
262
|
|------|------|
|
|
253
|
-
| `/config` |
|
|
254
|
-
| `/config set <path> <value>` |
|
|
263
|
+
| `/config` | 查看支持通过微信修改的配置路径 |
|
|
264
|
+
| `/config set <path> <value>` | 修改一个白名单配置项 |
|
|
265
|
+
| `/pm` / `/permission` | 查看当前权限模式 |
|
|
266
|
+
| `/pm set allow` | 切到 `approve-all` |
|
|
267
|
+
| `/pm set read` | 切到 `approve-reads` |
|
|
268
|
+
| `/pm set deny` | 切到 `deny-all` |
|
|
269
|
+
| `/pm auto` | 查看当前非交互权限策略 |
|
|
270
|
+
| `/pm auto deny` | 切到 `deny` |
|
|
271
|
+
| `/pm auto fail` | 切到 `fail` |
|
|
255
272
|
|
|
256
|
-
|
|
273
|
+
最常见例子:
|
|
257
274
|
|
|
258
275
|
```text
|
|
259
|
-
/config
|
|
260
276
|
/config set wechat.replyMode final
|
|
261
|
-
/
|
|
262
|
-
/
|
|
263
|
-
/config set workspaces.backend.description backend repo
|
|
277
|
+
/pm set read
|
|
278
|
+
/pm auto deny
|
|
264
279
|
```
|
|
265
280
|
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
- `/config` 只允许修改白名单字段,不支持任意路径写入
|
|
269
|
-
- `agents.<name>.*` / `workspaces.<name>.*` 这类动态路径要求目标已经存在,不会自动创建
|
|
270
|
-
- `/config set wechat.replyMode final` 修改的是**全局默认回复模式**
|
|
271
|
-
- `/replymode final` 修改的是**当前逻辑会话覆盖**
|
|
272
|
-
- 成功修改后会立即写回 `~/.weacpx/config.json`
|
|
273
|
-
- 更完整的边界和支持字段,请参考 [docs/config-command.md](./docs/config-command.md)
|
|
274
|
-
|
|
275
|
-
### 权限策略
|
|
281
|
+
### 多 Agent 编排
|
|
276
282
|
|
|
277
|
-
|
|
283
|
+
README 里只保留用户视角的最常用命令。
|
|
278
284
|
|
|
279
285
|
| 命令 | 说明 |
|
|
280
286
|
|------|------|
|
|
281
|
-
| `/
|
|
282
|
-
| `/
|
|
283
|
-
| `/
|
|
284
|
-
| `/
|
|
285
|
-
| `/
|
|
286
|
-
| `/
|
|
287
|
-
| `/
|
|
287
|
+
| `/dg <agent> <task>` | 快速委派一个子任务 |
|
|
288
|
+
| `/group new <title>` | 创建任务组 |
|
|
289
|
+
| `/group add <groupId> <agent> <task>` | 往任务组里加子任务 |
|
|
290
|
+
| `/groups` | 查看任务组列表 |
|
|
291
|
+
| `/group <id>` | 查看单个任务组 |
|
|
292
|
+
| `/group cancel <groupId>` | 取消组内未结束任务 |
|
|
293
|
+
| `/tasks` | 查看当前主线下的任务 |
|
|
294
|
+
| `/task <id>` | 查看单个任务详情 |
|
|
295
|
+
| `/task approve <id>` | 批准 `needs_confirmation` 任务 |
|
|
296
|
+
| `/task cancel <id>` | 取消任务 |
|
|
297
|
+
|
|
298
|
+
最常见例子:
|
|
299
|
+
|
|
300
|
+
```text
|
|
301
|
+
/dg claude 审查当前方案的 3 个高风险点
|
|
302
|
+
/group new review
|
|
303
|
+
/group add review claude 审查接口设计
|
|
304
|
+
/tasks
|
|
305
|
+
/task approve task_123
|
|
306
|
+
```
|
|
288
307
|
|
|
289
308
|
说明:
|
|
290
309
|
|
|
291
|
-
-
|
|
292
|
-
-
|
|
293
|
-
-
|
|
294
|
-
-
|
|
295
|
-
|
|
310
|
+
- 当前会话就是主控会话
|
|
311
|
+
- 被委派出去的是独立子任务会话
|
|
312
|
+
- agent 发起的委派请求默认需要人工确认
|
|
313
|
+
- group 适合把 2~3 个独立子任务并行派出去,再把结果汇总回主线
|
|
314
|
+
|
|
315
|
+
如果你想先理解什么时候该用 delegate、什么时候该开 group,请看:
|
|
296
316
|
|
|
297
|
-
|
|
317
|
+
- [docs/weacpx-group-usage-guide.md](./docs/weacpx-group-usage-guide.md)
|
|
298
318
|
|
|
299
|
-
|
|
319
|
+
## 常见场景
|
|
320
|
+
|
|
321
|
+
### 在手机上继续盯一个本地项目
|
|
300
322
|
|
|
301
323
|
```text
|
|
302
324
|
/ss codex -d /absolute/path/to/backend
|
|
303
|
-
|
|
325
|
+
看一下今天这个接口超时问题
|
|
304
326
|
```
|
|
305
327
|
|
|
306
|
-
|
|
328
|
+
### 同一个聊天里切换两个项目
|
|
307
329
|
|
|
308
330
|
```text
|
|
309
|
-
/ss
|
|
331
|
+
/ss codex -d /absolute/path/to/backend
|
|
332
|
+
/ss new codex -d /absolute/path/to/frontend
|
|
310
333
|
/ss
|
|
311
334
|
/use backend:codex
|
|
312
|
-
|
|
313
|
-
/use backend:codex-2
|
|
314
|
-
看一下前端报错
|
|
335
|
+
/use frontend:codex
|
|
315
336
|
```
|
|
316
337
|
|
|
317
|
-
删除不再需要的资源:
|
|
318
|
-
|
|
319
|
-
```text
|
|
320
|
-
/agent rm claude
|
|
321
|
-
/workspace rm old-repo
|
|
322
|
-
```
|
|
323
|
-
|
|
324
|
-
### 微信内置登录相关指令
|
|
325
|
-
|
|
326
|
-
除了 `weacpx login` / `weacpx logout` 这类 CLI 命令外,微信通道里还支持少量内置 slash 指令:
|
|
327
|
-
|
|
328
|
-
| 命令 | 说明 |
|
|
329
|
-
|------|------|
|
|
330
|
-
| `/clear` | 重置当前聊天绑定的会话上下文,效果等同于 `/session reset` |
|
|
331
|
-
| `/logout` | 清除当前机器上已保存的所有微信账号凭证 |
|
|
332
|
-
|
|
333
|
-
说明:
|
|
334
|
-
|
|
335
|
-
- `/logout` 的语义和 CLI 的 `weacpx logout` 一致,都是清凭证
|
|
336
|
-
- 如果当前没有已登录账号,会提示“当前没有已登录的账号”
|
|
337
|
-
- `/logout` 不会停止后台服务,也不会删除 `weacpx` 的工作区、agent、session 状态
|
|
338
|
-
|
|
339
338
|
## 配置与运行文件
|
|
340
339
|
|
|
341
340
|
默认文件位置:
|
|
@@ -344,97 +343,70 @@ weacpx -v
|
|
|
344
343
|
- 状态文件:`~/.weacpx/state.json`
|
|
345
344
|
- 运行日志:`~/.weacpx/runtime/app.log`
|
|
346
345
|
|
|
347
|
-
|
|
346
|
+
更多运行时文件会放在 `~/.weacpx/runtime/` 下。
|
|
348
347
|
|
|
349
|
-
|
|
350
|
-
- `~/.weacpx/runtime/status.json`
|
|
351
|
-
- `~/.weacpx/runtime/stdout.log`
|
|
352
|
-
- `~/.weacpx/runtime/stderr.log`
|
|
348
|
+
## 常见问题
|
|
353
349
|
|
|
354
|
-
###
|
|
350
|
+
### `/ss new` 失败怎么办?
|
|
355
351
|
|
|
356
|
-
|
|
352
|
+
如果你在微信里创建会话失败,最常见的情况不是 `weacpx` 命令格式错了,而是底层会话没有成功创建。
|
|
357
353
|
|
|
358
|
-
|
|
359
|
-
{
|
|
360
|
-
"transport": {
|
|
361
|
-
"type": "acpx-bridge",
|
|
362
|
-
"sessionInitTimeoutMs": 120000,
|
|
363
|
-
"permissionMode": "approve-all",
|
|
364
|
-
"nonInteractivePermissions": "deny"
|
|
365
|
-
}
|
|
366
|
-
}
|
|
367
|
-
```
|
|
354
|
+
你可以先试这两步:
|
|
368
355
|
|
|
369
|
-
|
|
356
|
+
1. 在终端里确认当前项目目录和 agent 本身可用
|
|
357
|
+
2. 如果你熟悉 `acpx`,先手动创建一个会话,再在微信里挂回去
|
|
370
358
|
|
|
371
|
-
|
|
372
|
-
- `nonInteractivePermissions`: `deny`、`fail`
|
|
373
|
-
- 默认值分别是 `approve-all` 和 `deny`
|
|
374
|
-
- 也可以直接在微信里通过 `/pm` 和 `/pm auto` 修改
|
|
359
|
+
例如,你可以先在本地创建一个会话:
|
|
375
360
|
|
|
376
|
-
|
|
361
|
+
```bash
|
|
362
|
+
./node_modules/.bin/acpx --verbose --cwd /absolute/workspace/path codex sessions new --name existing-demo
|
|
363
|
+
```
|
|
377
364
|
|
|
378
|
-
|
|
365
|
+
然后在微信里把它挂回来:
|
|
379
366
|
|
|
380
|
-
```
|
|
381
|
-
|
|
382
|
-
"logging": {
|
|
383
|
-
"level": "info",
|
|
384
|
-
"maxSizeBytes": 2097152,
|
|
385
|
-
"maxFiles": 5,
|
|
386
|
-
"retentionDays": 7
|
|
387
|
-
}
|
|
388
|
-
}
|
|
367
|
+
```text
|
|
368
|
+
/ss attach demo -a codex --ws backend --name existing-demo
|
|
389
369
|
```
|
|
390
370
|
|
|
391
|
-
|
|
371
|
+
### `/mode <id>` 里的 `<id>` 是什么?
|
|
392
372
|
|
|
393
|
-
|
|
394
|
-
- `maxSizeBytes`: 单个 `app.log` 文件达到上限后会轮转
|
|
395
|
-
- `maxFiles`: 最多保留多少个轮转文件
|
|
396
|
-
- `retentionDays`: 每次启动时会清理超过保留天数的旧轮转日志
|
|
373
|
+
`/mode` 的可用值取决于你当前使用的 agent,`weacpx` 不会替你统一转换这些值。
|
|
397
374
|
|
|
398
|
-
|
|
375
|
+
当前比较明确的已知值:
|
|
399
376
|
|
|
400
|
-
|
|
377
|
+
- `codex`: `plan`
|
|
378
|
+
- `cursor`: `agent`、`plan`、`ask`
|
|
401
379
|
|
|
402
|
-
|
|
403
|
-
这里的 `<id>` 不是 `weacpx` 或 `acpx` 统一规定的枚举,而是**各 adapter 自己定义**的值;填错时通常会收到 adapter 返回的 `Invalid params` 一类错误。
|
|
380
|
+
如果你不确定某个值能不能用,优先查对应 agent 的文档;如果填错,通常会直接收到无效参数之类的报错。
|
|
404
381
|
|
|
405
|
-
|
|
382
|
+
## 从源码运行
|
|
406
383
|
|
|
407
|
-
|
|
408
|
-
|------|------|------|
|
|
409
|
-
| `codex` | `plan` | `acpx` 自身示例明确使用过 `acpx codex set-mode plan`。`codex-acp` 还暴露了 `mode` 运行时配置项,但上游目前没有公开一份完整、稳定的 mode id 列表。 |
|
|
410
|
-
| `cursor` | `agent`、`plan`、`ask` | Cursor 官方文档/更新日志公开提到 `Plan mode`、`Ask mode`;Cursor 官方论坛在 ACP `session/configure` 示例中展示过 `availableModes` 为 `agent` / `plan` / `ask`。 |
|
|
411
|
-
| 其他内置 adapter | 暂无公开、稳定的 mode id 列表 | 包括 `claude`、`copilot`、`gemini`、`qoder`、`qwen`、`kimi`、`kiro`、`iflow`、`opencode`、`trae`、`droid`、`kilocode` 等。即使某些产品本身有“Ask / Agent / Plan”之类概念,其 ACP `set-mode` 可接受的精确字符串也往往没有在官方文档中写死。 |
|
|
384
|
+
如果你是从仓库源码直接使用:
|
|
412
385
|
|
|
413
|
-
|
|
386
|
+
```bash
|
|
387
|
+
bun install
|
|
388
|
+
bun run login
|
|
389
|
+
bun run dev
|
|
390
|
+
```
|
|
414
391
|
|
|
415
|
-
|
|
416
|
-
- 对 `cursor`,优先使用 `agent`、`plan`、`ask`。
|
|
417
|
-
- 对其他 adapter,不要在 `weacpx` 里写死候选值;最好把 `/mode <id>` 设计成透传,由 adapter 自己决定是否接受。
|
|
418
|
-
- 如果某个 adapter 后续补充了官方 mode 文档,再把它们补进这里。
|
|
392
|
+
## 更多文档
|
|
419
393
|
|
|
420
|
-
|
|
394
|
+
如果你现在要做的是下面这些事,可以直接从这里继续:
|
|
421
395
|
|
|
422
|
-
|
|
396
|
+
### 安装与配置
|
|
423
397
|
|
|
424
|
-
|
|
398
|
+
- 想看完整配置字段:[docs/config-reference.md](./docs/config-reference.md)
|
|
399
|
+
- 想在微信里改配置:[docs/config-command.md](./docs/config-command.md)
|
|
425
400
|
|
|
426
|
-
|
|
427
|
-
./node_modules/.bin/acpx --verbose --cwd /absolute/workspace/path codex sessions new --name existing-demo
|
|
428
|
-
```
|
|
401
|
+
### 日常使用
|
|
429
402
|
|
|
430
|
-
|
|
403
|
+
- 想查看完整微信命令参考:[docs/commands.md](./docs/commands.md)
|
|
404
|
+
- 想理解什么时候该用 delegate、什么时候该开 group:[docs/weacpx-group-usage-guide.md](./docs/weacpx-group-usage-guide.md)
|
|
431
405
|
|
|
432
|
-
|
|
433
|
-
/ss attach demo -a codex --ws backend --name existing-demo
|
|
434
|
-
```
|
|
406
|
+
### 排错与验证
|
|
435
407
|
|
|
436
|
-
|
|
408
|
+
- 想跑测试或了解测试分层:[docs/testing.md](./docs/testing.md)
|
|
409
|
+
|
|
410
|
+
### 开发与贡献
|
|
437
411
|
|
|
438
|
-
-
|
|
439
|
-
- 测试说明:[docs/testing.md](./docs/testing.md)
|
|
440
|
-
- 开发与贡献:[docs/development.md](./docs/development.md)
|
|
412
|
+
- 想从源码开发、调试或参与贡献:[docs/developments.md](./docs/developments.md)
|