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