wezard 1.4.2 → 2.0.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.
Files changed (89) hide show
  1. package/.claude-plugin/marketplace.json +1 -1
  2. package/.claude-plugin/plugin.json +1 -1
  3. package/CLAUDE.md +17 -13
  4. package/README.md +130 -77
  5. package/cli/wezard.sh +0 -62
  6. package/config.example.jsonc +3 -9
  7. package/dist/cli/init.js +12 -21
  8. package/dist/cli/init.js.map +1 -1
  9. package/dist/daemon/approval.js +11 -7
  10. package/dist/daemon/approval.js.map +1 -1
  11. package/dist/daemon/cc-session.js +136 -0
  12. package/dist/daemon/cc-session.js.map +1 -0
  13. package/dist/daemon/chat-name.js +8 -18
  14. package/dist/daemon/chat-name.js.map +1 -1
  15. package/dist/daemon/detail.js +54 -13
  16. package/dist/daemon/detail.js.map +1 -1
  17. package/dist/daemon/graph.js +5 -7
  18. package/dist/daemon/graph.js.map +1 -1
  19. package/dist/daemon/inbound.js +188 -254
  20. package/dist/daemon/inbound.js.map +1 -1
  21. package/dist/daemon/index.js +459 -258
  22. package/dist/daemon/index.js.map +1 -1
  23. package/dist/daemon/jobs.js +2 -2
  24. package/dist/daemon/memory-steward.js +82 -0
  25. package/dist/daemon/memory-steward.js.map +1 -0
  26. package/dist/daemon/mirror-bridge.js +370 -170
  27. package/dist/daemon/mirror-bridge.js.map +1 -1
  28. package/dist/daemon/mirror-store.js.map +1 -1
  29. package/dist/daemon/model-select.js +74 -0
  30. package/dist/daemon/model-select.js.map +1 -0
  31. package/dist/daemon/peers.js +10 -16
  32. package/dist/daemon/peers.js.map +1 -1
  33. package/dist/daemon/session-name.js +4 -27
  34. package/dist/daemon/session-name.js.map +1 -1
  35. package/dist/daemon/spawn-tmux.js +61 -16
  36. package/dist/daemon/spawn-tmux.js.map +1 -1
  37. package/dist/daemon/task-gate.js +97 -0
  38. package/dist/daemon/task-gate.js.map +1 -0
  39. package/dist/daemon/task-registry.js +132 -0
  40. package/dist/daemon/task-registry.js.map +1 -0
  41. package/dist/daemon/tasks.js +126 -54
  42. package/dist/daemon/tasks.js.map +1 -1
  43. package/dist/daemon/wizard-memory.js +52 -0
  44. package/dist/daemon/wizard-memory.js.map +1 -0
  45. package/dist/daemon/wizard.js +107 -41
  46. package/dist/daemon/wizard.js.map +1 -1
  47. package/dist/mcp/server.js +181 -209
  48. package/dist/mcp/server.js.map +1 -1
  49. package/dist/shared/chat-http.js +187 -108
  50. package/dist/shared/chat-http.js.map +1 -1
  51. package/dist/shared/chat-render.js +25 -34
  52. package/dist/shared/chat-render.js.map +1 -1
  53. package/dist/shared/chat-view.js +14 -2
  54. package/dist/shared/chat-view.js.map +1 -1
  55. package/dist/shared/cli-backends.js +2 -7
  56. package/dist/shared/cli-backends.js.map +1 -1
  57. package/dist/shared/config.js +26 -9
  58. package/dist/shared/config.js.map +1 -1
  59. package/dist/shared/detail-render.js +12 -6
  60. package/dist/shared/detail-render.js.map +1 -1
  61. package/dist/shared/detail-store.js +1 -1
  62. package/dist/shared/detail-store.js.map +1 -1
  63. package/dist/shared/role-render.js +55 -0
  64. package/dist/shared/role-render.js.map +1 -0
  65. package/dist/shared/role-view.js +228 -0
  66. package/dist/shared/role-view.js.map +1 -0
  67. package/dist/shared/schedule-spec.js +92 -116
  68. package/dist/shared/schedule-spec.js.map +1 -1
  69. package/dist/shared/session-label.js +103 -72
  70. package/dist/shared/session-label.js.map +1 -1
  71. package/dist/shared/std.js +3 -0
  72. package/dist/shared/std.js.map +1 -1
  73. package/dist/shared/task-file.js +120 -0
  74. package/dist/shared/task-file.js.map +1 -0
  75. package/dist/shared/trigger.js +232 -0
  76. package/dist/shared/trigger.js.map +1 -0
  77. package/dist/shared/world.js +17 -5
  78. package/dist/shared/world.js.map +1 -1
  79. package/dist/svr/index.js +67 -2
  80. package/dist/svr/index.js.map +1 -1
  81. package/hooks/pre-tool-use.sh +4 -4
  82. package/package.json +1 -2
  83. package/web/chat.css +424 -212
  84. package/web/chat.js +953 -323
  85. package/commands/wrc.md +0 -7
  86. package/dist/daemon/cc-bridge.js +0 -183
  87. package/dist/daemon/cc-bridge.js.map +0 -1
  88. package/dist/daemon/sessions.js +0 -4
  89. package/dist/daemon/sessions.js.map +0 -1
package/cli/wezard.sh CHANGED
@@ -33,7 +33,6 @@ wezard <subcommand>
33
33
  stop unload resident daemon
34
34
  restart stop + start
35
35
  reload quick: shutdown via HTTP + kickstart
36
- mirror [chat] attach current Claude session for mirror push (target overrides config)
37
36
  mirror-status show current mirror attachment
38
37
  send <chat> <text> proactive markdown message
39
38
  pending list outstanding approval req_ids
@@ -336,67 +335,6 @@ case "$cmd" in
336
335
  fi
337
336
  echo "[wezard] safe to 'npm uninstall -g wezard' now"
338
337
  ;;
339
- mirror)
340
- cwd="${CLAUDE_PROJECT_DIR:-${CODEBUDDY_PROJECT_DIR:-$(pwd)}}"
341
- # claude-internal stores under ~/.claude-internal/projects/, official claude
342
- # under ~/.claude/projects/, codebuddy under ~/.codebuddy/projects/. Walk up
343
- # parent dirs — caller may be in a subdirectory of the cwd the CLI was
344
- # launched in (e.g. monorepo subpackage). Encoding differs: claude keeps a
345
- # leading `-` ([/.]→-), codebuddy trims it first (no leading `-`).
346
- # Prioritize the base matching the active CLI (detected via env vars) so a
347
- # codebuddy session doesn't fall through to a stale claude project dir.
348
- if [[ -n "${CODEBUDDY_SESSION_ID:-}" ]]; then
349
- bases=("$HOME/.codebuddy/projects" "$HOME/.claude-internal/projects" "$HOME/.claude/projects")
350
- else
351
- bases=("$HOME/.claude-internal/projects" "$HOME/.claude/projects" "$HOME/.codebuddy/projects")
352
- fi
353
- proj=""
354
- probe="$cwd"
355
- while [[ -z "$proj" && -n "$probe" ]]; do
356
- for base in "${bases[@]}"; do
357
- if [[ "$base" == *codebuddy* ]]; then
358
- enc="$(printf %s "$probe" | sed 's|^[/]*||; s|[/.]|-|g')"
359
- else
360
- enc="$(printf %s "$probe" | sed 's|[/.]|-|g')"
361
- fi
362
- if [[ -d "$base/$enc" ]]; then proj="$base/$enc"; break; fi
363
- done
364
- [[ "$probe" == "/" ]] && break
365
- probe="$(dirname "$probe")"
366
- done
367
- if [[ -z "$proj" ]]; then
368
- echo "no claude/codebuddy project dir for cwd: $cwd (or any ancestor)"
369
- echo "tried encodings up to $HOME/.claude{,-internal}/projects/ + $HOME/.codebuddy/projects/<encoded-ancestor>"
370
- exit 1
371
- fi
372
- # Resolve the *calling* session via env var the CLI injects into every
373
- # child process. Both Claude Code and CodeBuddy export CLAUDE_SESSION_ID
374
- # (back-compat); CODEBUDDY_SESSION_ID is the codebuddy-native name.
375
- sid="${CLAUDE_CODE_SESSION_ID:-${CLAUDE_SESSION_ID:-${CODEBUDDY_SESSION_ID:-}}}"
376
- latest=""
377
- if [[ -n "$sid" && -f "$proj/$sid.jsonl" ]]; then
378
- latest="$proj/$sid.jsonl"
379
- fi
380
- # Fallback for setups that don't propagate the env var: most-recent mtime.
381
- [[ -z "$latest" ]] && latest=$(ls -t "$proj"/*.jsonl 2>/dev/null | head -1)
382
- if [[ -z "$latest" ]]; then
383
- echo "no .jsonl under $proj"; exit 1
384
- fi
385
- sid="$(basename "$latest" .jsonl)"
386
- # Accept user-friendly prefixes: vid:<id> → user:<id>, chatid:<id> → chat:<id>.
387
- # Pass anything else through (already in user:/chat:/group: form, or empty).
388
- raw="${1:-}"
389
- case "$raw" in
390
- vid:*) target="user:${raw#vid:}" ;;
391
- chatid:*) target="chat:${raw#chatid:}" ;;
392
- *) target="$raw" ;;
393
- esac
394
- body=$(jq -nc --arg s "$sid" --arg p "$latest" --arg t "$target" --arg tp "${TMUX_PANE:-}" \
395
- '{sessionId:$s, jsonlPath:$p}
396
- + (if $t == "" then {} else {target:$t} end)
397
- + (if $tp == "" then {} else {tmuxPane:$tp} end)')
398
- http_post /mirror/attach "$body" | jq . 2>/dev/null || true
399
- ;;
400
338
  mirror-status)
401
339
  http_get /mirror/status | jq . 2>/dev/null || http_get /mirror/status
402
340
  ;;
@@ -24,16 +24,11 @@
24
24
  "logLevel": "info" // trace|debug|info|warn|error
25
25
  },
26
26
 
27
- // ── /wrc remote-control behavior ──────────────────────────────────
27
+ // ── remote-control behavior ──────────────────────────────────────
28
28
  "wrc": {
29
29
  // Allow which WeCom users / chats to drive CC. Empty = deny all.
30
30
  // "all" = allow everyone (use with care).
31
31
  "allowFrom": [], // ["user:zhangsan", "chat:wcXXXX", "all"]
32
- // headless: spawn `claude -p` per msg with per-principal session map.
33
- // mirror : attach to an existing interactive `claude` session by injecting
34
- // via `claude --resume <sid> -p` AND tailing the same session
35
- // jsonl, pushing live assistant output to WeCom.
36
- "mode": "headless",
37
32
  "claudeBin": "claude",
38
33
  // CLI backend selection. Three built-ins: "claude" / "claude-internal" /
39
34
  // "codebuddy". Empty/omitted → inferred from claudeBin basename (back-compat).
@@ -43,9 +38,8 @@
43
38
  // "cliBackends": {
44
39
  // "codebuddy": { "bin": "/usr/local/bin/codebuddy" }
45
40
  // },
46
- "cwd": "~", // workdir (mirror: must match the running claude's cwd)
47
- "sessionMapFile": "~/.wezard/sessions.json",
48
- "extraArgs": [], // appended to `claude -p`
41
+ "cwd": "~", // default workdir for a new chat's first session
42
+ "extraArgs": [], // appended to the spawned CLI command line
49
43
  "mirror": {
50
44
  // Pin a session id; empty → auto-pick latest .jsonl mtime under
51
45
  // ~/.claude/projects/<encoded(cwd)>/.
package/dist/cli/init.js CHANGED
@@ -7,12 +7,12 @@
7
7
  // install resident daemon.
8
8
  // 4. Arm bootstrap claim. Wait for the user to send a magic phrase in IM.
9
9
  // That message bypasses allowFrom, sets defaultChat, and adds the sender.
10
- // 5. Mirror 模式下:拉起 tmux+claude pane,提示用户在 WeCom 发首条消息。
10
+ // 5. 拉起 tmux+claude pane,提示用户在 WeCom 发首条消息。
11
11
  import { existsSync, readFileSync } from "node:fs";
12
12
  import { spawnSync } from "node:child_process";
13
13
  import { dirname, resolve as pathResolve } from "node:path";
14
14
  import { fileURLToPath } from "node:url";
15
- import { input, password, select, confirm, checkbox } from "@inquirer/prompts";
15
+ import { input, password, confirm, checkbox } from "@inquirer/prompts";
16
16
  import { parse as parseJsonc } from "jsonc-parser";
17
17
  import { appendUnique, patchJsonc } from "../shared/config-writer.js";
18
18
  import { mapClaudePermissions, readClaudePermissions } from "../shared/claude-permissions.js";
@@ -155,7 +155,7 @@ const warnIfLanBlocked = async (base, ip) => {
155
155
  };
156
156
  // Register the local repo as a Claude Code marketplace and install the
157
157
  // `wezard` plugin from it. This is what wires up `hooks/hooks.json` (so
158
- // `${CLAUDE_PLUGIN_ROOT}` resolves) + `commands/wrc.md` + the MCP server
158
+ // `${CLAUDE_PLUGIN_ROOT}` resolves) + `commands/*.md` + the MCP server
159
159
  // declared in `.claude-plugin/plugin.json`. Idempotent: marketplace add
160
160
  // re-uses the existing entry, install upgrades in place.
161
161
  //
@@ -234,10 +234,16 @@ const importClaudePerms = async (settingsPath, interactive) => {
234
234
  if (m.skipped.length)
235
235
  log(c.dim(` 跳过: ${m.skipped.join(", ")}`));
236
236
  };
237
+ // 会话全部跑在 tmux pane 里 —— 没有 tmux 就没有任何入口, 早退比装完 daemon 才发现强。
238
+ const hasTmux = () => spawnSync("tmux", ["-V"], { stdio: "ignore" }).status === 0;
237
239
  // ── Main flow ────────────────────────────────────────────────────────
238
240
  const main = async () => {
239
241
  log(c.bold("\nwezard · 新用户引导\n"));
240
242
  log(c.dim(" 目标:3 步内完成 → IM 授权转发 + 远程 CC 控制可用。\n"));
243
+ if (!hasTmux()) {
244
+ log(c.red(" ✗ 未找到 tmux —— wezard 的会话都跑在 tmux pane 里, 请先安装 (macOS: `brew install tmux`; Debian/Ubuntu: `apt install tmux`) 再重跑 `wezard init`。"));
245
+ process.exit(1);
246
+ }
241
247
  if (existsSync(expandHome(CONFIG))) {
242
248
  const ok = await confirm({
243
249
  message: `检测到已有 ${CONFIG},覆盖关键字段后继续?`,
@@ -274,20 +280,6 @@ const main = async () => {
274
280
  required: true,
275
281
  loop: false,
276
282
  }));
277
- const wrcMode = (await select({
278
- message: "选择 wrc 模式:",
279
- choices: [
280
- {
281
- name: "mirror (推荐:远程消息注入到本地 tmux 里的 Agent 会话,CLI 可见双向同步)",
282
- value: "mirror",
283
- },
284
- {
285
- name: "headless (远程消息触发新的 `claude -p` 子进程,CLI 不可见)",
286
- value: "headless",
287
- },
288
- ],
289
- default: "mirror",
290
- }));
291
283
  const enableHook = await confirm({
292
284
  message: "开启 PreToolUse 授权拦截 hook?(IM 按钮卡片授权)",
293
285
  default: true,
@@ -319,7 +311,6 @@ const main = async () => {
319
311
  patchJsonc(CONFIG, [
320
312
  { path: ["bot", "websocketUrl"], value: "wss://openws.work.weixin.qq.com" },
321
313
  { path: ["defaultChat"], value: "" },
322
- { path: ["wrc", "mode"], value: wrcMode },
323
314
  { path: ["wrc", "claudeBin"], value: claudeBin },
324
315
  { path: ["wrc", "defaultCli"], value: backendNameFor(primary) },
325
316
  { path: ["wrc", "cwd"], value: "~/.wezard/workspace" },
@@ -386,14 +377,14 @@ const main = async () => {
386
377
  log(c.green(`\n ✓ 已绑定: ${c.bold(claimed)}`));
387
378
  // ── Step 3: spin up mirror pane ────────────────────────────────
388
379
  step(3, "拉起 mirror 会话");
389
- if (!enableHook || wrcMode !== "mirror") {
380
+ if (!enableHook) {
390
381
  log(c.green("\n✅ 引导完成。后续可用 `wezard status` / `wezard logs -f` 观察。"));
391
382
  return;
392
383
  }
393
- // Mirror 路径:拉起 tmux+claude pane,然后让用户在 WeCom 发首条消息。
384
+ // 拉起 tmux+claude pane,然后让用户在 WeCom 发首条消息。
394
385
  // 首条 inbound 走完整 dispatch 链路:openStream → 注入 tmux → tail 回流为
395
386
  // 打字机气泡。比 frame-less /mirror/inject 体验好得多(后者无 liveStream)。
396
- log(c.dim(" 正在拉起 tmux+claude pane (mirror 模式) ..."));
387
+ log(c.dim(" 正在拉起 tmux+claude pane ..."));
397
388
  const r = (await post("/mirror/spawn", { target: claimed }));
398
389
  if (!r.ok) {
399
390
  log(c.red(` ✗ /mirror/spawn 失败: ${r.reason ?? "unknown"}`));
@@ -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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"}
@@ -11,11 +11,17 @@ import { json, readBody } from "./http.js";
11
11
  import { tagBadge, withTagHeader } from "../shared/session-label.js";
12
12
  import { sessionNameFor } from "./session-name.js";
13
13
  // ── Routing helpers ────────────────────────────────────────────────────
14
- const targetChatId = (principal) => {
14
+ // 卡片跟着本轮的频道走: 人在群 B 里 `.fix` 叫住在 A 的 wizard, 这一轮的审批/提问卡
15
+ // 要出现在 B —— 等着点的人在那儿。`principal` (chatKey) 仍是 wizard 自己的 key,
16
+ // 头、缓存、⏱窗口都按它; 只有「发到哪个 chatid」这一步换成频道。mirror 在启动时装上。
17
+ let cardChannel;
18
+ export const bindCardChannel = (fn) => { cardChannel = fn; };
19
+ const targetChatId = (key) => {
15
20
  // "user:abc" → "abc" (DM chatid == userid for aibot)
16
21
  // "chat:wc..." → "wc..."
17
22
  // "user:abc#tag" → "abc" (drop the routing tag; WeCom SDK only knows chatids)
18
23
  // raw fallthrough
24
+ const principal = cardChannel?.(key) || key;
19
25
  const i = principal.indexOf(":");
20
26
  const rest = i >= 0 ? principal.slice(i + 1) : principal;
21
27
  const h = rest.indexOf("#");
@@ -859,7 +865,7 @@ export const buildAskqChatDriveActions = (q) => [
859
865
  { kind: "text", text: "聊聊这个" },
860
866
  { kind: "confirm_submit" },
861
867
  ];
862
- export const runMirrorAskqFlow = async ({ log, client, sessionId, chatKey, toolInput, voteTimeoutMs, drive }) => {
868
+ export const runMirrorAskqFlow = async ({ cfg, log, client, sessionId, chatKey, toolInput, voteTimeoutMs, drive }) => {
863
869
  const questions = parseAskqInput(toolInput);
864
870
  if (!questions || questions.length === 0)
865
871
  return;
@@ -1013,7 +1019,7 @@ export const mootMirrorPlan = (sessionId) => {
1013
1019
  resolvePending(s.reqId, "moot");
1014
1020
  mirrorPlanSlots.delete(sessionId);
1015
1021
  };
1016
- export const runMirrorPlanFlow = async ({ log, client, sessionId, chatKey, cwd, jsonlPath, voteTimeoutMs, sendKey }) => {
1022
+ export const runMirrorPlanFlow = async ({ cfg, log, client, sessionId, chatKey, cwd, jsonlPath, voteTimeoutMs, sendKey }) => {
1017
1023
  if (!client.isConnected)
1018
1024
  return;
1019
1025
  const target = targetChatId(chatKey);
@@ -1621,11 +1627,9 @@ export const makeApproveHandler = ({ cfg, log, client, sourcePath, getMirrorTarg
1621
1627
  return;
1622
1628
  }
1623
1629
  // 子代理请求归属修正 (见 subagentParentOf): 带 agent 标记、且 session_id 本身解析不到
1624
- // 任何会话归属 (mirror 未绑定 / headless 无记录) 时, 用 transcript_path 反推父会话改写
1630
+ // 任何会话归属 (mirror 未绑定) 时, 用 transcript_path 反推父会话改写
1625
1631
  // —— 让 skipAll/卡片/⏱窗口/缓存 与父会话一致, 而不是落到无人可点的 ask。
1626
1632
  // 主会话 / 已解析到归属的子代理请求 (CC/CodeBuddy 都上报父 id) 完全不受影响。
1627
- // 不 gate 在 mirror: headless 下 getMirrorTarget 同样是「session → 归属 chat」的解析
1628
- // (由 index.ts 注入 sessions store 反查), 父归属逻辑对两种模式统一生效。
1629
1633
  // agent 标记之外, subagents/ 转录布局同样是子代理证据 (部分 CodeBuddy 版本
1630
1634
  // 两个标记都不带) —— 否则这类请求按主会话处理, no-approver 时挂进无人能点的 ask。
1631
1635
  const fromSubagent = Boolean(body.agent_id || body.agent_type)
@@ -1660,7 +1664,7 @@ export const makeApproveHandler = ({ cfg, log, client, sourcePath, getMirrorTarg
1660
1664
  // 它自己的原生确认框, 那个框不过 hook —— 规则一放行就是"不发卡 + pane 阻塞"的
1661
1665
  // 静默死锁。命中且该 session 有活 pane 可代按时强制发卡 (压过 allowRules /
1662
1666
  // ⏱窗口 / 会话缓存), 批准后 settleClaudeConfigModal 去把框按掉。
1663
- // 没有活 pane (headless / 未镜像的本地会话) → 不介入: 那种情形用户就在键盘前,
1667
+ // 没有活 pane (未镜像的本地会话) → 不介入: 那种情形用户就在键盘前,
1664
1668
  // 自己按掉即可, 拦下来只是挡工作。
1665
1669
  const guardHit = cfg.approval.claudeConfigGuard ? claudeConfigWrite(toolName, toolInput) : undefined;
1666
1670
  const guardActive = Boolean(guardHit && nativeModal?.hasPane(sessionId));