wezard 2.5.1 → 2.6.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 (113) hide show
  1. package/.claude-plugin/plugin.json +1 -1
  2. package/CLAUDE.md +3 -0
  3. package/README.md +43 -1
  4. package/cli/wezard.sh +5 -0
  5. package/config.example.jsonc +22 -5
  6. package/dist/cli/codex-hook.js +91 -0
  7. package/dist/cli/codex-hook.js.map +1 -0
  8. package/dist/cli/codex-sync.js +64 -0
  9. package/dist/cli/codex-sync.js.map +1 -0
  10. package/dist/cli/init.js +7 -3
  11. package/dist/cli/init.js.map +1 -1
  12. package/dist/cli/sync.js +16 -5
  13. package/dist/cli/sync.js.map +1 -1
  14. package/dist/daemon/aibot-media.js +6 -2
  15. package/dist/daemon/aibot-media.js.map +1 -1
  16. package/dist/daemon/approval.js +44 -21
  17. package/dist/daemon/approval.js.map +1 -1
  18. package/dist/daemon/bot-mux.js +157 -0
  19. package/dist/daemon/bot-mux.js.map +1 -0
  20. package/dist/daemon/cc-session.js +8 -1
  21. package/dist/daemon/cc-session.js.map +1 -1
  22. package/dist/daemon/cfg-sync.js +1 -0
  23. package/dist/daemon/cfg-sync.js.map +1 -1
  24. package/dist/daemon/claim.js +45 -1
  25. package/dist/daemon/claim.js.map +1 -1
  26. package/dist/daemon/config-api.js +59 -23
  27. package/dist/daemon/config-api.js.map +1 -1
  28. package/dist/daemon/detail.js +4 -0
  29. package/dist/daemon/detail.js.map +1 -1
  30. package/dist/daemon/http.js +9 -0
  31. package/dist/daemon/http.js.map +1 -1
  32. package/dist/daemon/inbound.js +54 -28
  33. package/dist/daemon/inbound.js.map +1 -1
  34. package/dist/daemon/index.js +181 -139
  35. package/dist/daemon/index.js.map +1 -1
  36. package/dist/daemon/jobs.js +1 -1
  37. package/dist/daemon/jobs.js.map +1 -1
  38. package/dist/daemon/last-response.js +12 -6
  39. package/dist/daemon/last-response.js.map +1 -1
  40. package/dist/daemon/mirror-bridge.js +351 -144
  41. package/dist/daemon/mirror-bridge.js.map +1 -1
  42. package/dist/daemon/peers.js +12 -16
  43. package/dist/daemon/peers.js.map +1 -1
  44. package/dist/daemon/picker-policy.js +46 -0
  45. package/dist/daemon/picker-policy.js.map +1 -0
  46. package/dist/daemon/quota.js +10 -7
  47. package/dist/daemon/quota.js.map +1 -1
  48. package/dist/daemon/reach.js +5 -1
  49. package/dist/daemon/reach.js.map +1 -1
  50. package/dist/daemon/receipts.js +1 -1
  51. package/dist/daemon/receipts.js.map +1 -1
  52. package/dist/daemon/route.js +67 -26
  53. package/dist/daemon/route.js.map +1 -1
  54. package/dist/daemon/session-scan.js +31 -7
  55. package/dist/daemon/session-scan.js.map +1 -1
  56. package/dist/daemon/spawn-tmux.js +167 -73
  57. package/dist/daemon/spawn-tmux.js.map +1 -1
  58. package/dist/daemon/steward-model.js +24 -0
  59. package/dist/daemon/steward-model.js.map +1 -0
  60. package/dist/daemon/subagent-tail.js +5 -0
  61. package/dist/daemon/subagent-tail.js.map +1 -1
  62. package/dist/daemon/task-registry.js +6 -1
  63. package/dist/daemon/task-registry.js.map +1 -1
  64. package/dist/daemon/tasks.js +1 -1
  65. package/dist/daemon/tasks.js.map +1 -1
  66. package/dist/daemon/tips.js +1 -1
  67. package/dist/daemon/tips.js.map +1 -1
  68. package/dist/daemon/wizard-memory.js +12 -6
  69. package/dist/daemon/wizard-memory.js.map +1 -1
  70. package/dist/daemon/wizard.js +7 -5
  71. package/dist/daemon/wizard.js.map +1 -1
  72. package/dist/daemon/ws.js +79 -10
  73. package/dist/daemon/ws.js.map +1 -1
  74. package/dist/mcp/server.js +19 -18
  75. package/dist/mcp/server.js.map +1 -1
  76. package/dist/shared/chat-http.js +63 -29
  77. package/dist/shared/chat-http.js.map +1 -1
  78. package/dist/shared/chat-view.js +10 -3
  79. package/dist/shared/chat-view.js.map +1 -1
  80. package/dist/shared/cli-backends.js +11 -0
  81. package/dist/shared/cli-backends.js.map +1 -1
  82. package/dist/shared/codex-approval.js +57 -0
  83. package/dist/shared/codex-approval.js.map +1 -0
  84. package/dist/shared/codex-hooks.js +134 -0
  85. package/dist/shared/codex-hooks.js.map +1 -0
  86. package/dist/shared/codex.js +125 -0
  87. package/dist/shared/codex.js.map +1 -0
  88. package/dist/shared/config.js +85 -21
  89. package/dist/shared/config.js.map +1 -1
  90. package/dist/shared/detail-render.js +24 -16
  91. package/dist/shared/detail-render.js.map +1 -1
  92. package/dist/shared/detail-store.js +11 -10
  93. package/dist/shared/detail-store.js.map +1 -1
  94. package/dist/shared/modal-pane.js +19 -1
  95. package/dist/shared/modal-pane.js.map +1 -1
  96. package/dist/shared/model-tier-migration.js +43 -0
  97. package/dist/shared/model-tier-migration.js.map +1 -0
  98. package/dist/shared/model-tiers.js +35 -0
  99. package/dist/shared/model-tiers.js.map +1 -0
  100. package/dist/shared/reminder.js +19 -4
  101. package/dist/shared/reminder.js.map +1 -1
  102. package/dist/shared/session-label.js +27 -2
  103. package/dist/shared/session-label.js.map +1 -1
  104. package/dist/shared/tool-hints.js +144 -0
  105. package/dist/shared/tool-hints.js.map +1 -0
  106. package/dist/shared/workspace-trust.js +69 -0
  107. package/dist/shared/workspace-trust.js.map +1 -0
  108. package/dist/shared/world.js +5 -4
  109. package/dist/shared/world.js.map +1 -1
  110. package/dist/svr/index.js +3 -0
  111. package/dist/svr/index.js.map +1 -1
  112. package/hooks/pre-tool-use.sh +1 -1
  113. package/package.json +6 -1
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "wezard",
3
- "version": "1.1.0",
3
+ "version": "2.6.0",
4
4
  "description": "Remote-control Claude Code from WeCom via WebSocket smart bot. Cards for tool approval, skills for doc r/w.",
5
5
  "author": {
6
6
  "name": "zyy"
package/CLAUDE.md CHANGED
@@ -108,3 +108,6 @@ Three processes, all coordinating via 127.0.0.1:17890 and `~/.wezard/`:
108
108
  - One function = one sentence. Helpers like `extractText`, `renderInput`, `decodeKey` are pure and testable in isolation; the IO-bearing functions wire them together.
109
109
  - Comments in source files lean toward "why" (subtle invariants like the dual `event_key` path in `approval.ts`, the 5s update window, the dedup ring buffer). Preserve them on edits.
110
110
  - Errors should never break the workflow: `approval.fallbackOnError` defaults to `ask`, every hook failure path emits `ask`, every WeCom send is wrapped in try/catch that logs and continues.
111
+
112
+
113
+ **Codex backend**: `shared/codex.ts` adapts response_item records and discovers date-partitioned rollouts using session_meta (cwd/id). `spawn-tmux.ts` prepares native threads through the installed Codex CLI's transient app-server (thread/start, resume or fork, then thread/name/set to persist without a turn), opens a tmux pane with codex resume, and binds the known id/path/pane immediately. SessionStart maintains identity after native session switches; never invent a Claude-style transcript path or send a bootstrap message. Long startup commands run through a private temporary script to avoid PTY input truncation. MCP and developer_instructions are invocation-local TOML overrides. `cli/codex-hook.ts` bridges PreToolUse and PermissionRequest to the shared IM approval engine. Native sandbox permissions always require their own card while approval is enabled; do not reuse tool windows/skip policies. Codex does not support PreToolUse ask: unavailable approval bridges deny ordinary tools, while PermissionRequest falls back to the native prompt. `wezard sync` owns only its exact handlers in Codex hooks.json and trust hashes in config.toml; preserve third-party hooks and never bypass all hook trust. Claude project config sync does not apply to Codex.
package/README.md CHANGED
@@ -22,7 +22,7 @@
22
22
 
23
23
  ![demo](images/demo.png)
24
24
 
25
- 1. 🪞 **远程控制本机 Agent CLI** — 企业微信里发的消息原样落进 CLI 输入框;Agent 的回复、工具调用、思考过程实时同步回聊天。回到电脑前 `tmux attach -t wezard` 接着干,对话一字不少。支持 `claude` / `claude-internal` / `codebuddy`。
25
+ 1. 🪞 **远程控制本机 Agent CLI** — 企业微信里发的消息原样落进 CLI 输入框;Agent 的回复、工具调用、思考过程实时同步回聊天。回到电脑前 `tmux attach -t wezard` 接着干,对话一字不少。支持 `claude` / `claude-internal` / `codebuddy` / `codex`。
26
26
  2. 🛎 **远程审批** — Agent 要跑 `Bash` / `Edit` 时审批卡直推 IM:`✅` 放行一次、`⏱` 一段时间内自动放行、`✅总是` 记成规则、`❌` 拒绝。危险操作(`rm` / 强推 / `DROP` / 敏感路径)每次都要单独确认;做完计划推计划卡(`✅同意` / `✏️继续改`),Agent 提的选择题变成投票卡。
27
27
  3. 🧙 **多 wizard** — 每个会话是一个有名字的 wizard,写作 `.name`,全局唯一,在任何群里都叫得到;有职责、有记忆,看得见彼此在干什么。克隆一个分身让它继承当前上下文,或者从白板新起一个;按活的难度挑档位(`mini` → `ultra`,从 haiku 到 opus·max)。
28
28
  4. 🎩 **管家分派** — 没点名的话落到聊天的默认 wizard:一两句能答完的它自己答,其余一步 `dispatch` 给对口的那个或新起一个;要 coder + reviewer 来回几轮的复杂活交给一个 lead 带队。管家有手闸,想自己埋头改代码会被拦下改去分派。
@@ -447,3 +447,45 @@ npm run dev:daemon # tsx 直跑 daemon,热迭代不用装
447
447
  ## License
448
448
 
449
449
  [MIT](LICENSE) © [guxi11](https://github.com/guxi11)
450
+
451
+
452
+ ## Codex backend
453
+
454
+ 安装 Codex CLI 并先在终端完成 `codex login` 和工作目录信任确认,然后设置 `~/.wezard/config.jsonc`:
455
+
456
+ ```jsonc
457
+ {
458
+ "wrc": {
459
+ "defaultCli": "codex",
460
+ "cliBackends": { "codex": { "bin": "codex" } },
461
+ "extraArgs": [],
462
+ "mirror": { "projectsDir": "" }
463
+ }
464
+ }
465
+ ```
466
+
467
+ 执行 `wezard reload` 后,企业微信 `/new` 使用配置的默认后端 Codex,即使该聊天之前绑定的是 Claude;`/new claude` 等显式参数可覆盖默认值。已有会话的恢复仍使用原后端。旧配置中的 Claude 模型档(opus / sonnet / haiku)不会作为 Codex 模型参数传入。`bin` 可以填写绝对路径,适合 launchd 的精简 PATH。
468
+
469
+ Codex 会话从 `~/.codex/sessions/YYYY/MM/DD/rollout-*.jsonl` 发现(支持 `CODEX_HOME`),按 `session_meta.cwd` 匹配工作目录。镜像支持用户消息、助手回复、工具调用与结果、公开的思考摘要;加密思考不展示。新会话的 UUID 由 Codex 分配,daemon 通过 Codex CLI 自带的临时 `app-server` 创建、恢复或克隆会话,并调用 `thread/name/set` 持久化日志,随后立即创建 tmux pane,运行 `codex resume <id>` 并绑定会话。无需初始化消息,不产生模型请求,也不需要额外 SDK 或常驻服务。已验证 Codex CLI 0.162.1,启动采用 `--no-daemon` 独立进程。模型使用 `--model`,推理强度和 wizard 身份使用 `-c` 配置覆盖。wezard 启动的 Codex 会话自动配置 wezard MCP server,无需写入全局 TOML。
470
+
471
+ Codex 支持企业微信工具审批卡:`PreToolUse` 使用 wezard 的审批策略,`PermissionRequest` 将 Codex 的沙箱 / 网络权限请求转成单独的确认卡。沙箱权限不会沿用普通工具的自动放行窗口或跳过开关;拒绝规则仍生效。允许与拒绝会回传给 Codex。守护进程断线或审批超时后,普通工具请求被拒绝,原生沙箱权限请求回到 Codex 的本地审批界面。Codex 的交互提问仍需在终端处理。
472
+
473
+ wezard 启动的会话自动装载审批 hook,并只信任当前 wezard hook 的精确哈希。手工启动 Codex 时,在 wezard 配置中添加同步目标并执行 `wezard sync`:
474
+
475
+ ```jsonc
476
+ "sync": {
477
+ "targets": [
478
+ { "kind": "codex", "settingsPath": "~/.codex/hooks.json", "scope": "user" }
479
+ ]
480
+ }
481
+ ```
482
+
483
+ 保留已有同步目标。使用 `CODEX_HOME` 时将路径改为该目录的 `hooks.json`。同步保留第三方 hook,使用 Codex 自身的配置接口更新 `config.toml` 中的精确信任记录;重复同步不会重复注册,`wezard unsync` 可移除 wezard 的注册。daemon 在 `/new` 时绑定已知的会话 ID、日志路径和 pane;SessionStart 更新原生会话切换后的身份,支持同目录多个会话。创建和恢复会话都不发送初始化消息。
484
+
485
+ 项目配置同步不将 Claude 的 commands / agents / memory 自动复制给 Codex。运行中的模型和推理强度切换请使用 Codex 终端的 `/model`;新开会话可指定 `model` 与 `effort`。Claude 专用的 `--disallowedTools` 参数在 Codex 启动时忽略,其余 `extraArgs` 必须使用 Codex 支持的参数。
486
+
487
+ `wezard status` 的 `wsConnected` 与 `ws.authenticated` 表示已完成企业微信认证;`ws.phase`、`ws.reconnectAttempts` 和 `ws.lastError` 显示连接阶段与最近错误。握手超时会触发重试;被重复机器人连接踢下线时显示 `kicked`。执行 `wezard reconnect` 可重建连接,保留运行中的会话与审批请求。
488
+
489
+ 连接认证成功不代表收件人有效。审批日志出现 `93006 invalid chatid` 时,检查 `defaultChat` 或本轮镜像频道的用户 / 群 ID,并在对应机器人会话中发送消息确认其可用;不要用放行配置绕过发送失败。
490
+
491
+ CLI 参数参考 [OpenAI 官方文档](https://developers.openai.com/codex/cli/reference),审批协议参考 [Codex hooks](https://learn.chatgpt.com/docs/hooks)。
package/cli/wezard.sh CHANGED
@@ -29,6 +29,7 @@ wezard <subcommand>
29
29
  migrate upgrade an existing weclaude install (state + daemon + plugin + settings.json)
30
30
  flags: --dry-run --force --purge -y
31
31
  status daemon health + connection state
32
+ reconnect reconnect WeCom without restarting sessions or pending approvals
32
33
  start load resident daemon (launchd/systemd)
33
34
  stop unload resident daemon
34
35
  restart stop + start
@@ -186,6 +187,10 @@ case "$cmd" in
186
187
  exit 1
187
188
  ;;
188
189
  start) ensure_up && echo "daemon: started" || { echo "daemon: start failed — 'wezard logs'" >&2; exit 1; } ;;
190
+ reconnect)
191
+ http_post /reconnect || exit 1
192
+ echo
193
+ ;;
189
194
  stop) graceful_stop >/dev/null 2>&1 || true; svc_unregister; echo "daemon: stopped" ;;
190
195
  restart) graceful_stop >/dev/null 2>&1 || true; svc_unregister; ensure_up && echo "daemon: restarted" || { echo "daemon: restart failed — 'wezard logs'" >&2; exit 1; } ;;
191
196
  reload)
@@ -30,9 +30,11 @@
30
30
  // "all" = allow everyone (use with care).
31
31
  "allowFrom": [], // ["user:zhangsan", "chat:wcXXXX", "all"]
32
32
  "claudeBin": "claude",
33
- // CLI backend selection. Three built-ins: "claude" / "claude-internal" /
34
- // "codebuddy". Empty/omitted → inferred from claudeBin basename (back-compat).
33
+ // CLI backend selection. Four built-ins: "claude" / "claude-internal" /
34
+ // "codebuddy" / "codex". Empty/omitted → inferred from claudeBin basename (back-compat).
35
35
  "defaultCli": "claude",
36
+ // Codex uses ~/.codex/sessions (or $CODEX_HOME/sessions), with native resume/fork.
37
+ // For Codex set extraArgs: []; PreToolUse approval cards are not supported.
36
38
  // Per-backend binary overrides (when the executable isn't on $PATH under
37
39
  // its canonical name). Missing entry → built-in default.
38
40
  // "cliBackends": {
@@ -130,7 +132,7 @@
130
132
  },
131
133
 
132
134
  // ── 按难度分档的模型 ─────────────────────────────────────────────
133
- // spawn_wizard / clone_wizard 的 `tier` 落到这里; 显式给的 model / effort / cli 压过档位。
135
+ // spawn_wizard / clone_wizard 按 wrc.defaultCli 选后端档位; 显式 model / effort 优先。
134
136
  // steward = 各群管家 (群的默认会话) 用哪一档, 按群覆盖写 chatPolicy.<chat>.steward。省略整段 = 下面这组默认值。
135
137
  "models": {
136
138
  "tiers": {
@@ -138,13 +140,27 @@
138
140
  "standard": { "model": "sonnet", "effort": "medium" },
139
141
  "hard": { "model": "opus", "effort": "high" }
140
142
  },
143
+ "backends": {
144
+ // 各后端可独立配置 tiers; Claude 系未配置时兼容上面的旧 tiers。
145
+ // Codex 模型留空使用 CLI 默认, 也可逐档填写模型 ID。
146
+ "codex": {
147
+ "tiers": {
148
+ "mini": { "model": "", "effort": "low" },
149
+ "light": { "model": "", "effort": "medium" },
150
+ "standard": { "model": "", "effort": "medium" },
151
+ "hard": { "model": "", "effort": "high" },
152
+ "ultra": { "model": "", "effort": "xhigh" }
153
+ }
154
+ }
155
+ },
141
156
  "steward": "light"
142
157
  },
143
158
 
144
- // ── claude / codebuddy wrapper sync ───────────────────────────────
159
+ // ── CLI hook / MCP sync ──────────────────────────────────────────
145
160
  // `wezard sync` writes hooks/MCP/permissions into every target settings.json
146
161
  // listed below. Multi-CLI setups (claude + codebuddy 同时装) 列多项即可。
147
- // kind: "claude" (含 claude-internal 等 fork) | "codebuddy"
162
+ // kind: "claude" (含 claude-internal 等 fork) | "codebuddy" | "codex"
163
+ // Codex uses hooks.json and exact trust hashes in config.toml, not settings.json.
148
164
  // • claude-internal 通过 settingsPath: "~/.claude-internal/settings.json" 表达
149
165
  "sync": {
150
166
  "targets": [
@@ -155,6 +171,7 @@
155
171
  }
156
172
  // 多 CLI 并存示例 (取消注释即可):
157
173
  // ,{ "kind": "codebuddy", "settingsPath": "~/.codebuddy/settings.json", "scope": "user" }
174
+ // ,{ "kind": "codex", "settingsPath": "~/.codex/hooks.json", "scope": "user" }
158
175
  // ,{ "kind": "claude", "settingsPath": "~/.claude-internal/settings.json", "scope": "user" }
159
176
  ]
160
177
  },
@@ -0,0 +1,91 @@
1
+ #!/usr/bin/env node
2
+ // Codex's supported hook protocol → wezard's shared approval engine.
3
+ import { loadConfig } from "../shared/config.js";
4
+ import { codexApprovalRequest, codexHookOutput, codexSelfCallBypass } from "../shared/codex-approval.js";
5
+ import { sleep } from "../shared/std.js";
6
+ import { recordCodexPaneSession } from "../shared/codex.js";
7
+ const requestApproval = async (input) => {
8
+ const { config: cfg } = loadConfig();
9
+ if (!cfg.approval.enabled)
10
+ return { decision: "ask", reason: "approval_disabled" };
11
+ const base = process.env.WEZARD_DAEMON_BASE ?? `http://127.0.0.1:${cfg.daemon.port}`;
12
+ // Loopback fetch does not use HTTP_PROXY; do not send hook inputs off-machine.
13
+ const url = new URL("/approve", base);
14
+ if (!["127.0.0.1", "localhost", "[::1]"].includes(url.hostname))
15
+ throw new Error("Codex approval bridge must use loopback");
16
+ const deadline = Date.now() + cfg.approval.hookTimeoutSec * 1000;
17
+ let resumeId;
18
+ let outageSince;
19
+ while (Date.now() < deadline) {
20
+ try {
21
+ const resp = await fetch(url, {
22
+ method: "POST", headers: { "content-type": "application/json" },
23
+ body: JSON.stringify({ ...codexApprovalRequest(input), ...(resumeId ? { resume_req_id: resumeId } : {}) }),
24
+ signal: AbortSignal.timeout(Math.max(1, deadline - Date.now())),
25
+ });
26
+ if (!resp.ok)
27
+ throw new Error(`approval HTTP ${resp.status}`);
28
+ const reply = await resp.json();
29
+ outageSince = undefined;
30
+ if (reply.decision !== "retry")
31
+ return reply;
32
+ if (!reply.req_id)
33
+ throw new Error("reload response has no request id");
34
+ resumeId = reply.req_id;
35
+ await sleep(1000);
36
+ }
37
+ catch (e) {
38
+ // Restoring hundreds of mirrors can outlast two retries during reload.
39
+ // Keep the pending card id and bound each outage by the hook budget / 60s.
40
+ outageSince ??= Date.now();
41
+ const remaining = Math.min(deadline, outageSince + 60_000) - Date.now();
42
+ if (remaining <= 0) {
43
+ const error = e;
44
+ const cause = error.cause?.code ?? error.cause?.message;
45
+ return { decision: "ask", reason: `bridge unavailable (${url.origin}): ${error.message}${cause ? `: ${cause}` : ""}` };
46
+ }
47
+ await sleep(Math.min(1000, remaining));
48
+ }
49
+ }
50
+ return { decision: "ask", reason: "approval timeout" };
51
+ };
52
+ const main = async () => {
53
+ let event = "PreToolUse";
54
+ let sessionStart = false;
55
+ try {
56
+ const chunks = [];
57
+ for await (const chunk of process.stdin)
58
+ chunks.push(Buffer.from(chunk));
59
+ const input = JSON.parse(Buffer.concat(chunks).toString("utf8"));
60
+ if (input.hook_event_name === "SessionStart") {
61
+ sessionStart = true;
62
+ const { config: cfg } = loadConfig();
63
+ if (input.session_id && input.transcript_path && input.cwd)
64
+ recordCodexPaneSession({
65
+ sessionId: input.session_id, jsonlPath: input.transcript_path, cwd: input.cwd,
66
+ pane: process.env.TMUX_PANE ?? "", startedAt: Date.now(),
67
+ }, cfg.daemon.stateDir);
68
+ console.log("{}");
69
+ return;
70
+ }
71
+ if (input.hook_event_name !== "PreToolUse" && input.hook_event_name !== "PermissionRequest")
72
+ throw new Error("unsupported Codex hook event");
73
+ event = input.hook_event_name;
74
+ if (!input.session_id || !input.tool_name)
75
+ throw new Error("missing session_id or tool_name");
76
+ const bypass = codexSelfCallBypass(input);
77
+ if (bypass) {
78
+ console.log(JSON.stringify(codexHookOutput(event, { decision: "allow", reason: bypass })));
79
+ return;
80
+ }
81
+ const { config: cfg } = loadConfig();
82
+ const reply = await requestApproval(input);
83
+ // Disabled hooks should not block ordinary tools, nor approve escalations.
84
+ console.log(JSON.stringify(!cfg.approval.enabled ? {} : codexHookOutput(event, reply)));
85
+ }
86
+ catch (e) {
87
+ console.log(JSON.stringify(sessionStart ? { systemMessage: `wezard session registration failed: ${e.message}` } : codexHookOutput(event, { decision: "ask", reason: e.message })));
88
+ }
89
+ };
90
+ await main();
91
+ //# sourceMappingURL=codex-hook.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-hook.js","sourceRoot":"","sources":["../../cli/codex-hook.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,64 @@
1
+ import { existsSync, mkdirSync, readFileSync, writeFileSync, realpathSync } from "node:fs";
2
+ import { basename, dirname, join } from "node:path";
3
+ import { parse } from "jsonc-parser";
4
+ import { patchJsonc } from "../shared/config-writer.js";
5
+ import { codexRequest, inspectCodexHooks, isWezardCodexHook } from "../shared/codex-hooks.js";
6
+ const EVENTS = ["PreToolUse", "PermissionRequest", "SessionStart"];
7
+ /** Own only wezard handlers and their exact trust hashes in Codex's hooks.json. */
8
+ export const syncCodexHooks = async (path, bin, cwd, command, timeout, remove) => {
9
+ if (basename(path) !== "hooks.json")
10
+ throw new Error("Codex sync target must be hooks.json, not config.toml/settings.json");
11
+ mkdirSync(dirname(path), { recursive: true });
12
+ const canonicalPath = join(realpathSync(dirname(path)), basename(path));
13
+ const original = existsSync(path) ? readFileSync(path, "utf8") : "{}\n";
14
+ const doc = parse(original);
15
+ if (!doc || typeof doc !== "object")
16
+ throw new Error("Invalid Codex hooks.json");
17
+ const current = await inspectCodexHooks(bin, cwd, [], dirname(path));
18
+ const own = current.filter((h) => h.sourcePath === canonicalPath && isWezardCodexHook(h.command));
19
+ const configPath = join(dirname(path), "config.toml");
20
+ const read = await codexRequest(bin, cwd, "config/read", { includeLayers: true, cwd }, [], dirname(path));
21
+ const userLayer = read.layers.find((l) => l.name.type === "user" && !l.name.profile);
22
+ const previousState = userLayer?.config.hooks?.state ?? {};
23
+ const cleanedState = Object.fromEntries(Object.entries(previousState).filter(([key, value]) => !own.some((h) => h.key === key && h.currentHash === value.trusted_hash)));
24
+ const writeTrust = async (state) => {
25
+ await codexRequest(bin, cwd, "config/batchWrite", {
26
+ filePath: configPath, expectedVersion: userLayer?.version,
27
+ edits: [{ keyPath: "hooks.state", value: state, mergeStrategy: "replace" }],
28
+ }, [], dirname(path));
29
+ };
30
+ const groups = EVENTS.map((event) => {
31
+ const others = (doc.hooks?.[event] ?? []).flatMap((group) => {
32
+ const hooks = (group.hooks ?? []).filter((h) => !isWezardCodexHook(h.command));
33
+ return hooks.length ? [{ ...group, hooks }] : [];
34
+ });
35
+ return { path: ["hooks", event], value: remove ? others : [...others, {
36
+ matcher: ".*", hooks: [{ type: "command", command, timeout: event === "SessionStart" ? 10 : timeout, statusMessage: event === "SessionStart" ? "登记 wezard 会话" : "等待企业微信审批" }],
37
+ }] };
38
+ });
39
+ patchJsonc(path, [
40
+ ...groups,
41
+ ...own.filter((h) => doc.state?.[h.key]?.trusted_hash === h.currentHash).map((h) => ({ path: ["state", h.key], value: undefined })),
42
+ ]);
43
+ try {
44
+ if (remove) {
45
+ if (own.length)
46
+ await writeTrust(cleanedState);
47
+ return;
48
+ }
49
+ const added = (await inspectCodexHooks(bin, cwd, [], dirname(path))).filter((h) => h.sourcePath === canonicalPath && h.command === command);
50
+ if (added.length !== EVENTS.length)
51
+ throw new Error("Codex did not load the wezard session/approval hooks");
52
+ // Trust state belongs in config.toml, not hooks.json; use Codex's writer to
53
+ // preserve TOML and update only exact reviewed definitions, never all hooks.
54
+ await writeTrust({ ...cleanedState, ...Object.fromEntries(added.map((h) => [h.key, { enabled: true, trusted_hash: h.currentHash }])) });
55
+ const verified = (await inspectCodexHooks(bin, cwd, [], dirname(path))).filter((h) => h.sourcePath === canonicalPath && h.command === command);
56
+ if (verified.length !== EVENTS.length || verified.some((h) => h.trustStatus !== "trusted"))
57
+ throw new Error("Codex did not trust the exact wezard hook definitions");
58
+ }
59
+ catch (err) {
60
+ writeFileSync(path, original);
61
+ throw err;
62
+ }
63
+ };
64
+ //# sourceMappingURL=codex-sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"codex-sync.js","sourceRoot":"","sources":["../../cli/codex-sync.ts"],"names":[],"mappings":"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"}
package/dist/cli/init.js CHANGED
@@ -45,19 +45,22 @@ const settingsPathFor = (kind) => {
45
45
  switch (kind) {
46
46
  case "claude": return "~/.claude/settings.json";
47
47
  case "claude-internal": return "~/.claude-internal/settings.json";
48
+ case "codex": return `${process.env.CODEX_HOME ?? "~/.codex"}/hooks.json`;
48
49
  case "codebuddy": return "~/.codebuddy/settings.json";
49
50
  }
50
51
  };
51
52
  const claudeBinFor = (kind) => {
52
53
  if (kind === "claude-internal")
53
54
  return "claude-internal";
55
+ if (kind === "codex")
56
+ return "codex";
54
57
  if (kind === "codebuddy")
55
58
  return "codebuddy";
56
59
  return "claude";
57
60
  };
58
61
  // sync.targets[].kind: "claude-internal" 是 claude 家族的特例,
59
62
  // collapse 为 "claude" (settingsPath 已表达 internal 语义)。
60
- const syncKindFor = (kind) => kind === "codebuddy" ? "codebuddy" : "claude";
63
+ const syncKindFor = (kind) => kind === "codex" ? "codex" : kind === "codebuddy" ? "codebuddy" : "claude";
61
64
  // wrc.defaultCli: daemon active backend。与 sync.targets 多值独立。
62
65
  const backendNameFor = (kind) => kind;
63
66
  // ── HTTP helpers (talk to local daemon) ──────────────────────────────
@@ -272,11 +275,12 @@ const main = async () => {
272
275
  ? existing.secret
273
276
  : await password({ message: "机器人 secret:", mask: "•" });
274
277
  const agentKinds = (await checkbox({
275
- message: "选择 Claude agent (空格多选, 至少一个 — hook/MCP/env 会注入到每个选中项):",
278
+ message: "选择 Agent CLI (空格多选, 至少一个):",
276
279
  choices: [
277
280
  { name: "claude (Anthropic 官方)", value: "claude", checked: true },
278
281
  { name: "claude-internal (Tencent 内部)", value: "claude-internal" },
279
282
  { name: "codebuddy (Tencent CodeBuddy)", value: "codebuddy" },
283
+ { name: "codex (OpenAI; 支持企业微信审批卡)", value: "codex" },
280
284
  ],
281
285
  required: true,
282
286
  loop: false,
@@ -352,7 +356,7 @@ const main = async () => {
352
356
  // marketplace 插件只存在于 claude 家族; codebuddy 的 hook 由 sync 直接
353
357
  // 写进 ~/.codebuddy/settings.json (插件未发布到其市场), 装插件必然失败。
354
358
  if (enableHook) {
355
- const pluginBins = [...new Set(agentKinds.filter((k) => k !== "codebuddy").map(claudeBinFor))];
359
+ const pluginBins = [...new Set(agentKinds.filter((k) => k !== "codebuddy" && k !== "codex").map(claudeBinFor))];
356
360
  for (const bin of pluginBins)
357
361
  installPlugin(bin);
358
362
  }
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../cli/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../cli/init.ts"],"names":[],"mappings":"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"}
package/dist/cli/sync.js CHANGED
@@ -8,6 +8,8 @@ import { fileURLToPath } from "node:url";
8
8
  import { parse as parseJsonc } from "jsonc-parser";
9
9
  import { loadConfig } from "../shared/config.js";
10
10
  import { expandHome } from "../shared/paths.js";
11
+ import { codexHookCommand } from "../shared/codex-hooks.js";
12
+ import { syncCodexHooks } from "./codex-sync.js";
11
13
  // ── Plugin root resolution ────────────────────────────────────────────
12
14
  // dist/cli/sync.js → repo root is two `..` up.
13
15
  const here = dirname(fileURLToPath(import.meta.url));
@@ -191,12 +193,13 @@ const syncOne = (settingsPath, kind, opts, lock, env) => {
191
193
  }
192
194
  writeJson(abs, settings);
193
195
  };
194
- const main = () => {
196
+ const main = async () => {
195
197
  const argv = process.argv.slice(2);
196
198
  const remove = argv.includes("--remove") || argv.includes("--uninstall");
197
199
  const dryRun = argv.includes("--dry-run");
198
- const { config: cfg } = loadConfig();
199
- requireJq();
200
+ const { config: cfg, sourcePath } = loadConfig();
201
+ if (cfg.sync.targets.some((t) => t.kind !== "codex"))
202
+ requireJq();
200
203
  const targets = cfg.sync.targets;
201
204
  if (targets.length === 0) {
202
205
  // eslint-disable-next-line no-console
@@ -216,12 +219,20 @@ const main = () => {
216
219
  console.log(`[wezard-sync] ${action} ${t.kind} → ${t.settingsPath}`);
217
220
  if (dryRun)
218
221
  continue;
219
- syncOne(t.settingsPath, t.kind, { remove }, lock, envVals);
222
+ if (t.kind === "codex") {
223
+ await syncCodexHooks(expandHome(t.settingsPath), cfg.wrc.cliBackends.codex?.bin ?? "codex", process.cwd(), codexHookCommand(sourcePath, envVals.base, `${PLUGIN_ROOT}/dist/cli/codex-hook.js`), cfg.approval.hookTimeoutSec + 10, remove || !cfg.approval.enabled);
224
+ if (remove)
225
+ delete lock.targets[targetKey(t.settingsPath)];
226
+ else
227
+ lock.targets[targetKey(t.settingsPath)] = { wroteHooks: cfg.approval.enabled, wroteMcp: false, wroteEnv: [] };
228
+ }
229
+ else
230
+ syncOne(t.settingsPath, t.kind, { remove }, lock, envVals);
220
231
  }
221
232
  if (!dryRun)
222
233
  writeLock(lock);
223
234
  // eslint-disable-next-line no-console
224
235
  console.log(remove ? "[wezard-sync] removed." : "[wezard-sync] synced.");
225
236
  };
226
- main();
237
+ await main();
227
238
  //# sourceMappingURL=sync.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../cli/sync.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../cli/sync.ts"],"names":[],"mappings":"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"}
@@ -5,6 +5,7 @@ import { readFileSync } from "node:fs";
5
5
  import { baseOfKey } from "../shared/session-label.js";
6
6
  import { errText } from "./last-response.js";
7
7
  import { planMedia } from "./media.js";
8
+ import { connFor } from "./reach.js";
8
9
  // SDK 1.0.7 把每个回执的等待写死 5s (aibot-node-sdk #27), 大文件分片的回执常 6–8s 才到,
9
10
  // 被误判失败、重传又被服务端拒。上传期间放宽, 最后一个上传结束时还原 —— 期间别的发送
10
11
  // 也跟着宽限, 只是失败报得晚些, 无害。
@@ -29,13 +30,16 @@ const widenAck = (client) => {
29
30
  const ackState = new WeakMap();
30
31
  /** `chat:wr…#slot` → `wr…`: SDK 只认裸 chatid / userid。 */
31
32
  const chatIdOf = (target) => baseOfKey(target).replace(/^(user|chat|group):/, "");
32
- export const aibotSendMedia = (client, log) => async (target, spec) => {
33
+ export const aibotSendMedia = (face, log) => async (target, spec) => {
33
34
  const plan = planMedia(spec);
34
35
  if (!plan.ok)
35
36
  return plan;
36
37
  const chatId = chatIdOf(target);
37
38
  if (!chatId)
38
39
  return { ok: false, reason: `认不出收件聊天: ${target}` };
40
+ // 素材 id 归上传它的那个机器人: 上传走这个聊天归属的连接 (chatId 上的 `~<bot>`, 见 bot-mux),
41
+ // 推送交给 face —— 它按同一个后缀改道并剥掉后缀, 两步必落在同一条连接上。
42
+ const client = connFor(face, chatId);
39
43
  if (!client.isConnected)
40
44
  return { ok: false, reason: "企微长连接没连上, 稍后再试" };
41
45
  const { kind, name, bytes } = plan;
@@ -50,7 +54,7 @@ export const aibotSendMedia = (client, log) => async (target, spec) => {
50
54
  };
51
55
  try {
52
56
  const video = kind === "video" ? { title: spec.title, description: spec.description } : undefined;
53
- await client.sendMediaMessage(chatId, kind, await upload(), video);
57
+ await face.sendMediaMessage(chatId, kind, await upload(), video);
54
58
  log.info({ chatId, kind, name, bytes }, "tx media");
55
59
  return { ok: true, kind, name, bytes };
56
60
  }
@@ -1 +1 @@
1
- {"version":3,"file":"aibot-media.js","sourceRoot":"","sources":["../../daemon/aibot-media.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"aibot-media.js","sourceRoot":"","sources":["../../daemon/aibot-media.ts"],"names":[],"mappings":"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"}